@stenajs-webui/modal 20.14.2 → 20.16.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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/declarative-modals/DeclarativeModalSetup.ts","../src/declarative-modals/window/BaseWindow.tsx","../src/declarative-modals/drawer/Drawer.tsx","../src/declarative-modals/drawer/DrawerHeader.tsx","../src/declarative-modals/alert/Alert.tsx","../src/declarative-modals/modal/Modal.tsx","../src/declarative-modals/loading-modal/LoadingModal.tsx","../src/declarative-modals/window/WindowHeader.tsx","../src/declarative-modals/window/Window.tsx","../src/declarative-modals/window/WindowFooter.tsx","../src/dialog/DialogContext.ts","../src/dialog/UseDialog.tsx","../src/dialog/UseDialogPromise.ts","../src/dialog/alert/UseAlertDialog.ts","../src/dialog/drawer/UseDrawerDialog.ts","../src/dialog/modal/UseModalDialog.ts","../src/building-blocks/ModalHeading.tsx","../src/building-blocks/ModalActionButtons.tsx","../src/building-blocks/ModalBody.tsx","../src/ready-made-modals/InfoAlert.tsx","../src/building-blocks/ModalHeader.tsx"],"sourcesContent":["import ReactModal from \"react-modal\";\n\nexport const setupDeclarativeModals = (htmlElement: string | HTMLElement) => {\n ReactModal.setAppElement(htmlElement);\n};\n","import * as React from \"react\";\nimport { useRef } from \"react\";\nimport ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface BaseWindowProps extends ReactModal.Props {\n width?: string;\n maxWidth?: 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 BaseWindow: React.FC<BaseWindowProps> = ({\n width,\n maxWidth,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n const nodeRef = useRef(null);\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 nodeRef={nodeRef}\n >\n <div\n style={{\n [\"--swui-modal-width\" as string]: width,\n [\"--swui-modal-max-width\" as string]: maxWidth,\n }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n ref={nodeRef}\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\";\nimport {\n SlideFrom,\n SlideFromLeftRight,\n SlideFromTopBottom,\n} from \"../../common-types\";\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\n /**\n * When true, there will be a gap between the drawer and the viewport.\n */\n floating?: boolean;\n\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 floating,\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(\n styles.content,\n getClassNameForSlide(slideFrom),\n floating && styles.floating\n ),\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 { ReactNode } from \"react\";\nimport { Heading, Row, Space, Spacing } from \"@stenajs-webui/core\";\nimport { FlatButton, Icon, stenaTimes } from \"@stenajs-webui/elements\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\nexport interface DrawerHeaderProps {\n onRequestClose: () => void;\n header?: string;\n contentRight?: ReactNode;\n icon?: IconDefinition;\n}\n\nexport const DrawerHeader: React.FC<DrawerHeaderProps> = ({\n header,\n contentRight,\n onRequestClose,\n icon,\n}) => {\n return (\n <Spacing\n position={\"sticky\"}\n top={0}\n zIndex={100}\n background={cssColor(\"--lhds-color-ui-50\")}\n >\n <Row\n justifyContent={\"space-between\"}\n alignItems={\"center\"}\n height={\"48px\"}\n >\n <Row alignItems={\"center\"} gap={2}>\n <Space num={1} />\n {icon && <Icon icon={icon} size={24} />}\n <Heading variant={\"h4\"}>{header}</Heading>\n </Row>\n <Row gap={1}>\n {contentRight}\n <FlatButton\n leftIcon={stenaTimes}\n onClick={onRequestClose}\n variant={\"danger\"}\n />\n <Space num={0.5} />\n </Row>\n </Row>\n </Spacing>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Alert.module.css\";\n\nexport interface AlertProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Alert: React.FC<AlertProps> = ({\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 * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Modal: React.FC<ModalProps> = ({\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 shouldCloseOnOverlayClick = false,\n shouldCloseOnEsc = false,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n shouldCloseOnEsc={shouldCloseOnEsc}\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 { CloseButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseWindow\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface WindowHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const WindowHeader: React.FC<WindowHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--lhds-color-ui-300)\"}\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 <CloseButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseWindow, BaseWindowProps } from \"./BaseWindow\";\nimport { WindowHeader, WindowHeaderProps } from \"./WindowHeader\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface WindowProps extends BaseWindowProps, WindowHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: boolean;\n}\n\nexport const Window: React.FC<WindowProps> = ({\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 <BaseWindow\n {...props}\n onRequestClose={onRequestClose}\n draggable={draggable}\n >\n <WindowHeader\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 </BaseWindow>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface WindowFooterProps {\n children?: ReactNode;\n}\n\nexport const WindowFooter: React.FC<WindowFooterProps> = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n","import { createContext } from \"react\";\nimport { RejectCommand, ResolveCommand } from \"./DialogCommands\";\n\nexport interface DialogContextValue<TResolveValue> {\n resolve: ResolveCommand<TResolveValue>;\n reject: RejectCommand;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const DialogContext = createContext<DialogContextValue<any> | undefined>(\n undefined\n);\n","import cx from \"classnames\";\nimport React, {\n CSSProperties,\n ReactNode,\n RefObject,\n useCallback,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport { RejectCommand, ResolveCommand, ShowCommand } from \"./DialogCommands\";\nimport { DialogContext } from \"./DialogContext\";\n\ntype UseDialogCallbacks<TProps, TPromiseResolve> = {\n show: ShowCommand<TProps, TPromiseResolve>;\n reject: RejectCommand;\n};\n\nexport type UseDialogResult<TProps, TPromiseResolve> = [\n ReactNode,\n UseDialogCallbacks<TProps, TPromiseResolve>\n];\n\nexport interface DialogOptions {\n disableCloseOnClickOutside?: boolean;\n modal: boolean;\n className: string;\n closingClassName: string;\n contentWrapperClassName: string;\n contentWrapperStyle?: CSSProperties;\n dialogStyle?: CSSProperties;\n ref?: RefObject<HTMLDialogElement>;\n onResolve?: () => void;\n onReject?: () => void;\n}\n\nexport function useDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options: DialogOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n const localRef = useRef<HTMLDialogElement>(null);\n const currentRef = options.ref ?? localRef;\n const [key, forceRerender] = useReducer((x) => x + 1, 0);\n const promiseRef = useRef<Promise<TPromiseResolve | undefined>>();\n const resolveRef = useRef<ResolveCommand<TPromiseResolve> | undefined>();\n const modalComponentProps = useRef<TProps>();\n const rejectRef = useRef<RejectCommand | undefined>();\n const [contentVisible, setContentVisible] = useState(false);\n const [closing, setClosing] = useState(false);\n\n const Comp = component;\n\n const show = useCallback<ShowCommand<TProps, TPromiseResolve>>(\n (props?: TProps) => {\n promiseRef.current = new Promise<TPromiseResolve | undefined>(\n (resolve, reject) => {\n resolveRef.current = resolve;\n rejectRef.current = reject;\n }\n );\n setClosing(false);\n setContentVisible(true);\n forceRerender();\n modalComponentProps.current = props;\n if (options.modal) {\n currentRef.current?.showModal();\n } else {\n currentRef.current?.show();\n }\n return promiseRef.current;\n },\n [currentRef, options.modal]\n );\n\n const resolve = useCallback<ResolveCommand<TPromiseResolve>>(\n (value) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n options.onResolve?.();\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const reject = useCallback<RejectCommand>(\n (error) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n rejectRef.current?.(error);\n options.onReject?.();\n modalComponentProps.current = undefined;\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const dialogElement = useMemo<ReactNode>(\n () => (\n <DialogContext.Provider value={{ resolve, reject }}>\n <dialog\n onClick={\n options.disableCloseOnClickOutside ? undefined : () => reject()\n }\n ref={currentRef}\n className={cx(options.className, closing && options.closingClassName)}\n style={options.dialogStyle}\n >\n {options.disableCloseOnClickOutside ? (\n <>\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </>\n ) : (\n <div\n style={options.contentWrapperStyle}\n className={options.contentWrapperClassName}\n onClick={\n options.disableCloseOnClickOutside\n ? undefined\n : (ev) => ev.stopPropagation()\n }\n >\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </div>\n )}\n </dialog>\n </DialogContext.Provider>\n ),\n [\n resolve,\n reject,\n options.disableCloseOnClickOutside,\n options.className,\n options.closingClassName,\n options.dialogStyle,\n options.contentWrapperStyle,\n options.contentWrapperClassName,\n currentRef,\n closing,\n contentVisible,\n Comp,\n key,\n ]\n );\n\n return [dialogElement, { show, reject }];\n}\n","import { useContext } from \"react\";\nimport { DialogContext, DialogContextValue } from \"./DialogContext\";\n\nexport const useDialogPromise = <\n TResolveValue = void\n>(): DialogContextValue<TResolveValue> => {\n const context = useContext(DialogContext);\n if (context == null) {\n throw new Error(\"useDialogPromise is being used outside of dialog.\");\n }\n return context as DialogContextValue<TResolveValue>;\n};\n","import * as React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./AlertDialog.module.css\";\n\nexport function useAlertDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.alertDialog),\n });\n}\n","import * as React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./DrawerDialog.module.css\";\nimport { SlideFrom } from \"../../common-types\";\n\ninterface DrawerOptions\n extends Partial<Omit<DialogOptions, \"disableCloseOnClickOutside\">> {}\n\nexport function useDrawerDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n slideFrom: SlideFrom = \"left\",\n options?: DrawerOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n disableCloseOnClickOutside: true,\n modal: false,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.drawerDialog, styles[slideFrom]),\n });\n}\n","import * as React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./ModalDialog.module.css\";\n\nexport function useModalDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.modalDialog),\n });\n}\n","import * as React from \"react\";\nimport { Heading } from \"@stenajs-webui/core\";\n\nexport interface ModalHeadingProps {\n children: string;\n}\n\nexport const ModalHeading: React.FC<ModalHeadingProps> = ({ children }) => {\n return (\n <Heading variant={\"h3\"} as={\"h2\"}>\n {children}\n </Heading>\n );\n};\n","import * as React from \"react\";\nimport styles from \"./ModalActionButtons.module.css\";\nimport { ReactNode } from \"react\";\n\nexport interface ModalActionButtonsProps {\n buttons: ReactNode;\n}\n\nexport const ModalActionButtons: React.FC<ModalActionButtonsProps> = ({\n buttons,\n}) => {\n return <div className={styles.modalActionButtons}>{buttons}</div>;\n};\n","import * as React from \"react\";\nimport { Box, BoxProps } from \"@stenajs-webui/core\";\n\nexport interface ModalBodyProps extends Omit<BoxProps, \"indent\" | \"spacing\"> {}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({ gap = 2, ...props }) => {\n return <Box indent={4} spacing={4} gap={gap} {...props} />;\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport { Box, Spacing, Text } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"../building-blocks/ModalHeading\";\nimport { ModalActionButtons } from \"../building-blocks/ModalActionButtons\";\nimport { MediumIcon } from \"@stenajs-webui/elements\";\nimport { CircledIcon } from \"@stenajs-webui/elements\";\nimport { ModalBody } from \"../building-blocks/ModalBody\";\n\nexport interface InfoAlertProps extends PropsWithChildren {\n heading: string;\n text?: string;\n buttons?: ReactNode;\n icon?: MediumIcon;\n onRequestClose?: () => void;\n maxWidth?: string;\n minWidth?: string;\n}\n\nexport const InfoAlert: React.FC<InfoAlertProps> = ({\n icon,\n buttons,\n heading,\n text,\n children,\n maxWidth,\n minWidth,\n}) => {\n return (\n <ModalBody\n flexDirection={\"column\"}\n alignItems={\"center\"}\n maxWidth={maxWidth}\n minWidth={minWidth}\n >\n {icon && <CircledIcon icon={icon} size={\"large\"} />}\n <ModalHeading>{heading}</ModalHeading>\n {text && <Text textAlign={\"center\"}>{text}</Text>}\n {children}\n {buttons && (\n <>\n <Box width={\"100%\"}>\n <Spacing />\n <ModalActionButtons buttons={buttons} />\n </Box>\n </>\n )}\n </ModalBody>\n );\n};\n","import * as React from \"react\";\nimport { Row } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"./ModalHeading\";\nimport { CloseButton } from \"@stenajs-webui/elements\";\n\nexport interface ModalHeaderProps {\n heading?: string;\n onClickClose?: () => void;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n heading,\n onClickClose,\n}) => {\n return (\n <Row justifyContent={\"space-between\"}>\n {heading && <ModalHeading>{heading}</ModalHeading>}\n <CloseButton onClick={onClickClose} />\n </Row>\n );\n};\n"],"names":["setupDeclarativeModals","htmlElement","ReactModal","DRAGGABLE_HANDLE_CLASSNAME","DRAGGABLE_CANCEL_CLASSNAME","BaseWindow","width","maxWidth","draggable","children","reactModalProps","nodeRef","useRef","jsx","styles","Draggable","cx","Drawer","background","zIndex","slideFrom","portalTarget","floating","height","getClassNameForSlide","exhaustSwitchCase","DrawerHeader","header","contentRight","onRequestClose","icon","Spacing","cssColor","jsxs","Row","Space","Icon","Heading","FlatButton","stenaTimes","style","Alert","Modal","LoadingModal","headerIconLeft","headerText","shouldCloseOnOverlayClick","shouldCloseOnEsc","modalProps","Column","Box","Spinner","Fragment","Indent","WindowHeader","closeButtonClassName","Txt","CloseButton","Window","spacing","indent","footer","disableStickyFooter","props","WindowFooter","DialogContext","createContext","useDialog","component","options","localRef","currentRef","key","forceRerender","useReducer","x","promiseRef","resolveRef","modalComponentProps","rejectRef","contentVisible","setContentVisible","useState","closing","setClosing","Comp","show","useCallback","resolve","reject","_a","_b","value","_c","error","useMemo","createElement","ev","useDialogPromise","context","useContext","useAlertDialog","useDrawerDialog","useModalDialog","ModalHeading","ModalActionButtons","buttons","ModalBody","gap","InfoAlert","heading","text","minWidth","CircledIcon","Text","ModalHeader","onClickClose"],"mappings":";;;;;;;;AAEa,MAAAA,KAAyB,CAACC,MAAsC;AAC3E,EAAAC,EAAW,cAAcD,CAAW;AACtC;;;;;;;;;GCUaE,IAA6B,0BAC7BC,IAA6B,0BAE7BC,KAAwC,CAAC;AAAA,EACpD,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC;AAAA,EACA,GAAGC;AACL,MAAM;AACE,QAAAC,IAAUC,EAAO,IAAI;AAEzB,SAAA,gBAAAC;AAAA,IAACX;AAAA,IAAA;AAAA,MACC,kBAAkBY,EAAO;AAAA,MACzB,WAAWA,EAAO;AAAA,MACjB,GAAGJ;AAAA,MAEJ,UAAA,gBAAAG;AAAA,QAACE;AAAA,QAAA;AAAA,UACC,QAAQ,IAAIZ,CAA0B;AAAA,UACtC,QAAQ,IAAIC,CAA0B;AAAA,UACtC,QAAO;AAAA,UACP,UAAU,CAACI;AAAA,UACX,SAAAG;AAAA,UAEA,UAAA,gBAAAE;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAO;AAAA,gBACJ,sBAAiCP;AAAA,gBACjC,0BAAqCC;AAAA,cACxC;AAAA,cACA,WAAWS,EAAGF,EAAO,SAAS;AAAA,gBAC5B,CAACA,EAAO,WAAW,GAAGN;AAAA,cAAA,CACvB;AAAA,cACD,KAAKG;AAAA,cAEJ,UAAAF;AAAA,YAAA;AAAA,UACH;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA;AAGN;;;;;;;;;;;GCKaQ,KAAgC,CAAC;AAAA,EAC5C,YAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAV;AAAA,EACA,WAAAW,IAAY;AAAA,EACZ,cAAAC;AAAA,EACA,UAAAC;AAAA,EACA,GAAGZ;AACL,MAAM;AACE,QAAA,EAAE,QAAAa,GAAQ,OAAAjB,EAAU,IAAAI;AAGxB,SAAA,gBAAAG;AAAA,IAACX;AAAA,IAAA;AAAA,MACC,gBAAgB;AAAA,MAChB,iBAAiBY,EAAO;AAAA,MACxB,kBAAkB;AAAA,QAChB,MAAMA,EAAO;AAAA,QACb,WAAWA,EAAO;AAAA,QAClB,aAAaA,EAAO;AAAA,MACtB;AAAA,MACA,WAAW;AAAA,QACT,MAAME;AAAA,UACJF,EAAO;AAAA,UACPU,GAAqBJ,CAAS;AAAA,UAC9BE,KAAYR,EAAO;AAAA,QACrB;AAAA,QACA,WAAWA,EAAO;AAAA,QAClB,aAAaA,EAAO;AAAA,MACtB;AAAA,MACA,OAAO,EAAE,SAAS,EAAE,OAAAR,GAAO,QAAAiB,GAAQ,YAAAL,KAAc,SAAS,EAAE,QAAAC,IAAS;AAAA,MACrE,gBAAgBE,IAAe,MAAMA,IAAe;AAAA,MACnD,GAAGX;AAAA,MAEH,UAAAD;AAAA,IAAA;AAAA,EAAA;AAGP,GAEMe,KAAuB,CAACJ,MAAiC;AAC7D,UAAQA,GAAW;AAAA,IACjB,KAAK;AACH,aAAON,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB,KAAK;AACH,aAAOA,EAAO;AAAA,IAChB;AACS,aAAAW,GAAkBL,GAAWN,EAAO,aAAa;AAAA,EAC5D;AACF,GC/FaY,KAA4C,CAAC;AAAA,EACxD,QAAAC;AAAA,EACA,cAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,MAAAC;AACF,MAEI,gBAAAjB;AAAA,EAACkB;AAAA,EAAA;AAAA,IACC,UAAU;AAAA,IACV,KAAK;AAAA,IACL,QAAQ;AAAA,IACR,YAAYC,GAAS,oBAAoB;AAAA,IAEzC,UAAA,gBAAAC;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,gBAAgB;AAAA,QAChB,YAAY;AAAA,QACZ,QAAQ;AAAA,QAER,UAAA;AAAA,UAAA,gBAAAD,EAACC,GAAI,EAAA,YAAY,UAAU,KAAK,GAC9B,UAAA;AAAA,YAAC,gBAAArB,EAAAsB,GAAA,EAAM,KAAK,EAAG,CAAA;AAAA,YACdL,KAAQ,gBAAAjB,EAACuB,GAAK,EAAA,MAAAN,GAAY,MAAM,IAAI;AAAA,YACpC,gBAAAjB,EAAAwB,GAAA,EAAQ,SAAS,MAAO,UAAOV,GAAA;AAAA,UAAA,GAClC;AAAA,UACA,gBAAAM,EAACC,GAAI,EAAA,KAAK,GACP,UAAA;AAAA,YAAAN;AAAA,YACD,gBAAAf;AAAA,cAACyB;AAAA,cAAA;AAAA,gBACC,UAAUC;AAAA,gBACV,SAASV;AAAA,gBACT,SAAS;AAAA,cAAA;AAAA,YACX;AAAA,YACA,gBAAAhB,EAACsB,GAAM,EAAA,KAAK,IAAK,CAAA;AAAA,UAAA,GACnB;AAAA,QAAA;AAAA,MAAA;AAAA,IACF;AAAA,EAAA;AAAA;;;;;;;;;GCrCAK,KAAQ,EAAE,SAAS,EAAE,gBAAgB,SAAW,EAAA,GAEzCC,KAA8B,CAAC;AAAA,EAC1C,UAAAhC;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAG;AAAA,EAACX;AAAA,EAAA;AAAA,IACC,kBAAkBY,EAAO;AAAA,IACzB,WAAWA,EAAO;AAAA,IAAA,OAClB0B;AAAAA,IACC,GAAG9B;AAAA,IAEJ,UAAA,gBAAAG;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC,EAAO;AAAA,QAClB,OAAO,EAAG,sBAAiC,cAAc;AAAA,QAExD,UAAAL;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAAA;;;;;;;;;GClBA+B,KAAQ,EAAE,SAAS,EAAE,gBAAgB,SAAW,EAAA,GAEzCE,KAA8B,CAAC;AAAA,EAC1C,UAAAjC;AAAA,EACA,GAAGC;AACL,MAEI,gBAAAG;AAAA,EAACX;AAAA,EAAA;AAAA,IACC,kBAAkBY,EAAO;AAAA,IACzB,WAAWA,EAAO;AAAA,IAClB,OAAA0B;AAAA,IACC,GAAG9B;AAAA,IAEJ,UAAA,gBAAAG;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWC,EAAO;AAAA,QAClB,OAAO,EAAG,sBAAiC,cAAc;AAAA,QAExD,UAAAL;AAAA,MAAA;AAAA,IACH;AAAA,EAAA;AAAA;;;GCROkC,KAA4C,CAAC;AAAA,EACxD,gBAAAC;AAAA,EACA,YAAAC;AAAA,EACA,2BAAAC,IAA4B;AAAA,EAC5B,kBAAAC,IAAmB;AAAA,EACnB,GAAGC;AACL,MAEI,gBAAAnC;AAAA,EAACX;AAAA,EAAA;AAAA,IACE,GAAG8C;AAAA,IACJ,QAAM;AAAA,IACN,2BAAAF;AAAA,IACA,kBAAAC;AAAA,IACA,WAAWjC,EAAO;AAAA,IAClB,kBAAkBA,EAAO;AAAA,IAEzB,UAAC,gBAAAmB,EAAAgB,GAAA,EAAO,SAAS,GAAG,YAAY,UAC9B,UAAA;AAAA,MAAA,gBAAApC;AAAA,QAACqC;AAAA,QAAA;AAAA,UACC,YAAY;AAAA,UACZ,gBAAgB;AAAA,UAChB,OAAO;AAAA,UACP,QAAQ;AAAA,UACR,cAAc;AAAA,UACd,YAAY;AAAA,UACZ,QAAQ;AAAA,UAER,UAAA,gBAAArC,EAACsC,IAAQ,EAAA,MAAM,QAAS,CAAA;AAAA,QAAA;AAAA,MAC1B;AAAA,OACEP,KAAkBC,MAEhB,gBAAAZ,EAAAmB,GAAA,EAAA,UAAA;AAAA,QAAA,gBAAAvC,EAACkB,GAAQ,EAAA;AAAA,QACT,gBAAAE,EAACC,GAAI,EAAA,QAAQ,GACV,UAAA;AAAA,UAAAU,KAEG,gBAAAX,EAAAmB,GAAA,EAAA,UAAA;AAAA,YAAA,gBAAAvC,EAACuB,KAAK,MAAM,IAAI,MAAMQ,GAAgB,OAAO,SAAS;AAAA,8BACrDS,IAAO,EAAA;AAAA,UAAA,GACV;AAAA,UAEDR,KACE,gBAAAhC,EAAAwB,GAAA,EAAQ,SAAS,MAAM,OAAO,SAC5B,UACHQ,GAAA;AAAA,QAAA,GAEJ;AAAA,MAAA,GACF;AAAA,IAAA,GAEJ;AAAA,EAAA;AAAA,GCjDOS,KAA4C,CAAC;AAAA,EACxD,gBAAAzB;AAAA,EACA,QAAAF;AAAA,EACA,YAAAkB;AAAA,EACA,sBAAAU;AACF,MAEI,gBAAAtB;AAAA,EAACC;AAAA,EAAA;AAAA,IACC,SAAS;AAAA,IACT,QAAQ;AAAA,IACR,cAAc;AAAA,IACd,WAAW/B;AAAA,IAEX,UAAA;AAAA,MAAA,gBAAA8B,EAACC,KAAI,MAAM,GAAG,QAAM,IAAC,YAAY,UAC9B,UAAA;AAAA,QAAAW,uBACEW,IAAI,EAAA,WAAWpD,GAA4B,MAAM,SAC/C,UACHyC,GAAA;AAAA,QAEDlB;AAAA,MAAA,GACH;AAAA,MACA,gBAAAd,EAACqC,GAAI,EAAA,WAAW,cACd,UAAA,gBAAArC;AAAA,QAAC4C;AAAA,QAAA;AAAA,UACC,WAAWF;AAAA,UACX,SAAS1B;AAAA,QAAA;AAAA,MAAA,GAEb;AAAA,IAAA;AAAA,EAAA;AAAA,GC3BO6B,KAAgC,CAAC;AAAA,EAC5C,QAAA/B;AAAA,EACA,YAAAkB;AAAA,EACA,UAAApC;AAAA,EACA,SAAAkD;AAAA,EACA,QAAAC;AAAA,EACA,WAAApD,IAAY;AAAA,EACZ,gBAAAqB;AAAA,EACA,sBAAA0B;AAAA,EACA,QAAAM;AAAA,EACA,qBAAAC,IAAsB;AAAA,EACtB,GAAGC;AACL,MAKI,gBAAA9B;AAAA,EAAC5B;AAAA,EAAA;AAAA,IACE,GAAG0D;AAAA,IACJ,gBAAAlC;AAAA,IACA,WAAArB;AAAA,IAEA,UAAA;AAAA,MAAA,gBAAAK;AAAA,QAACyC;AAAA,QAAA;AAAA,UACC,gBAAAzB;AAAA,UACA,QAAAF;AAAA,UACA,YAAAkB;AAAA,UACA,sBAAAU;AAAA,QAAA;AAAA,MACF;AAAA,wBACCL,GAAI,EAAA,SAfa,OAAOS,KAAY,WAAWA,IAAU,GAe7B,QAdZ,OAAOC,KAAW,WAAWA,IAAS,GAepD,UAAAnD,GACH;AAAA,MACCoD,KACC,gBAAAhD;AAAA,QAACqC;AAAA,QAAA;AAAA,UACC,WAAWlC,EAAGF,EAAO,QAAQ;AAAA,YAC3B,CAACA,EAAO,YAAY,GAAG,CAACgD;AAAA,UAAA,CACzB;AAAA,UAEA,UAAAD;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAAA,GC7CKG,KAA4C,CAAC,EAAE,UAAAvD,EAAS,MAClE,gBAAAI,EAAAoC,GAAA,EAAO,QAAQ,GAAG,SAAS,GACzB,UAAAxC,EACH,CAAA,GCDWwD,IAAgBC;AAAA,EAC3B;AACF;ACyBgB,SAAAC,EACdC,GACAC,GAC0C;AACpC,QAAAC,IAAW1D,EAA0B,IAAI,GACzC2D,IAAaF,EAAQ,OAAOC,GAC5B,CAACE,GAAKC,CAAa,IAAIC,GAAW,CAACC,MAAMA,IAAI,GAAG,CAAC,GACjDC,IAAahE,KACbiE,IAAajE,KACbkE,IAAsBlE,KACtBmE,IAAYnE,KACZ,CAACoE,GAAgBC,CAAiB,IAAIC,EAAS,EAAK,GACpD,CAACC,GAASC,CAAU,IAAIF,EAAS,EAAK,GAEtCG,IAAOjB,GAEPkB,IAAOC;AAAA,IACX,CAACxB,MAAmB;;AAClB,aAAAa,EAAW,UAAU,IAAI;AAAA,QACvB,CAACY,GAASC,MAAW;AACnB,UAAAZ,EAAW,UAAUW,GACrBT,EAAU,UAAUU;AAAAA,QACtB;AAAA,MAAA,GAEFL,EAAW,EAAK,GAChBH,EAAkB,EAAI,GACRR,KACdK,EAAoB,UAAUf,GAC1BM,EAAQ,SACVqB,IAAAnB,EAAW,YAAX,QAAAmB,EAAoB,eAEpBC,IAAApB,EAAW,YAAX,QAAAoB,EAAoB,QAEff,EAAW;AAAA,IACpB;AAAA,IACA,CAACL,GAAYF,EAAQ,KAAK;AAAA,EAAA,GAGtBmB,IAAUD;AAAA,IACd,CAACK,MAAU;;AACT,MAAAR,EAAW,EAAI,IACfM,IAAAnB,EAAW,YAAX,QAAAmB,EAAoB;AAAA,QAClB;AAAA,QACA,MAAM;;AACJ,UAAAN,EAAW,EAAK,GAChBH,EAAkB,EAAK,IACvBS,IAAAnB,EAAW,YAAX,QAAAmB,EAAoB,UACpBC,IAAAd,EAAW,YAAX,QAAAc,EAAA,KAAAd,GAAqBe,IACrBd,EAAoB,UAAU,SAC9Be,IAAAxB,EAAQ,cAAR,QAAAwB,EAAA,KAAAxB;AAAA,QACF;AAAA,QACA,EAAE,MAAM,GAAK;AAAA;AAAA,IAEjB;AAAA,IACA,CAACE,GAAYF,CAAO;AAAA,EAAA,GAGhBoB,IAASF;AAAA,IACb,CAACO,MAAU;;AACT,MAAAV,EAAW,EAAI,IACfM,IAAAnB,EAAW,YAAX,QAAAmB,EAAoB;AAAA,QAClB;AAAA,QACA,MAAM;;AACJ,UAAAN,EAAW,EAAK,GAChBH,EAAkB,EAAK,IACvBS,IAAAnB,EAAW,YAAX,QAAAmB,EAAoB,UACpBC,IAAAZ,EAAU,YAAV,QAAAY,EAAA,KAAAZ,GAAoBe,KACpBD,IAAAxB,EAAQ,aAAR,QAAAwB,EAAA,KAAAxB,IACAS,EAAoB,UAAU;AAAA,QAChC;AAAA,QACA,EAAE,MAAM,GAAK;AAAA;AAAA,IAEjB;AAAA,IACA,CAACP,GAAYF,CAAO;AAAA,EAAA;AAuDtB,SAAO,CApDe0B;AAAA,IACpB,wBACG9B,EAAc,UAAd,EAAuB,OAAO,EAAE,SAAAuB,GAAS,QAAAC,KACxC,UAAA,gBAAA5E;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,SACEwD,EAAQ,6BAA6B,SAAY,MAAMoB,EAAO;AAAA,QAEhE,KAAKlB;AAAA,QACL,WAAWvD,EAAGqD,EAAQ,WAAWc,KAAWd,EAAQ,gBAAgB;AAAA,QACpE,OAAOA,EAAQ;AAAA,QAEd,UAAAA,EAAQ,6BACP,gBAAAxD,EAAAuC,GAAA,EACG,UACC4B,KAAA,gBAAAgB,EAACX,GAAM,EAAA,GAAIP,EAAoB,SAAoB,KAAAN,EAAU,CAAA,EAEjE,CAAA,IAEA,gBAAA3D;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAOwD,EAAQ;AAAA,YACf,WAAWA,EAAQ;AAAA,YACnB,SACEA,EAAQ,6BACJ,SACA,CAAC4B,MAAOA,EAAG,gBAAgB;AAAA,YAGhC,eACE,gBAAAD,EAAAX,GAAA,EAAM,GAAIP,EAAoB,SAAoB,KAAAN,GAAU;AAAA,UAAA;AAAA,QAEjE;AAAA,MAAA;AAAA,IAAA,GAGN;AAAA,IAEF;AAAA,MACEgB;AAAA,MACAC;AAAA,MACApB,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRA,EAAQ;AAAA,MACRE;AAAA,MACAY;AAAA,MACAH;AAAA,MACAK;AAAA,MACAb;AAAA,IACF;AAAA,EAAA,GAGqB,EAAE,MAAAc,GAAM,QAAAG,EAAQ,CAAA;AACzC;ACnKO,MAAMS,KAAmB,MAEU;AAClC,QAAAC,IAAUC,GAAWnC,CAAa;AACxC,MAAIkC,KAAW;AACP,UAAA,IAAI,MAAM,mDAAmD;AAE9D,SAAAA;AACT;;;;;;;;ACNgB,SAAAE,GACdjC,GACAC,GAC0C;AAC1C,SAAOF,EAAmCC,GAAW;AAAA,IACnD,GAAGC;AAAA,IACH,OAAO;AAAA,IACP,kBAAkBrD,EAAGqD,KAAA,gBAAAA,EAAS,kBAAkBvD,EAAO,OAAO;AAAA,IAC9D,yBAAyBE;AAAA,MACvBqD,KAAA,gBAAAA,EAAS;AAAA,MACTvD,EAAO;AAAA,IACT;AAAA,IACA,WAAWE,EAAGqD,KAAA,gBAAAA,EAAS,WAAWvD,EAAO,WAAW;AAAA,EAAA,CACrD;AACH;;;;;;;;;;;;;;;;;;ACVO,SAASwF,GACdlC,GACAhD,IAAuB,QACvBiD,GAC0C;AAC1C,SAAOF,EAAmCC,GAAW;AAAA,IACnD,GAAGC;AAAA,IACH,4BAA4B;AAAA,IAC5B,OAAO;AAAA,IACP,kBAAkBrD,EAAGqD,KAAA,gBAAAA,EAAS,kBAAkBvD,EAAO,OAAO;AAAA,IAC9D,yBAAyBE;AAAA,MACvBqD,KAAA,gBAAAA,EAAS;AAAA,MACTvD,EAAO;AAAA,IACT;AAAA,IACA,WAAWE,EAAGqD,KAAA,gBAAAA,EAAS,WAAWvD,EAAO,cAAcA,EAAOM,CAAS,CAAC;AAAA,EAAA,CACzE;AACH;;;;;;;;;;ACpBgB,SAAAmF,GACdnC,GACAC,GAC0C;AAC1C,SAAOF,EAAmCC,GAAW;AAAA,IACnD,GAAGC;AAAA,IACH,OAAO;AAAA,IACP,kBAAkBrD,EAAGqD,KAAA,gBAAAA,EAAS,kBAAkBvD,EAAO,OAAO;AAAA,IAC9D,yBAAyBE;AAAA,MACvBqD,KAAA,gBAAAA,EAAS;AAAA,MACTvD,EAAO;AAAA,IACT;AAAA,IACA,WAAWE,EAAGqD,KAAA,gBAAAA,EAAS,WAAWvD,EAAO,WAAW;AAAA,EAAA,CACrD;AACH;ACZO,MAAM0F,IAA4C,CAAC,EAAE,UAAA/F,0BAEvD4B,GAAQ,EAAA,SAAS,MAAM,IAAI,MACzB,UAAA5B,EACH,CAAA;;GCHSgG,KAAwD,CAAC;AAAA,EACpE,SAAAC;AACF,MACU,gBAAA7F,EAAA,OAAA,EAAI,WAAWC,GAAO,oBAAqB,UAAQ4F,EAAA,CAAA,GCNhDC,KAAsC,CAAC,EAAE,KAAAC,IAAM,GAAG,GAAG7C,QACzD,gBAAAlD,EAACqC,KAAI,QAAQ,GAAG,SAAS,GAAG,KAAA0D,GAAW,GAAG7C,EAAO,CAAA,GCa7C8C,KAAsC,CAAC;AAAA,EAClD,MAAA/E;AAAA,EACA,SAAA4E;AAAA,EACA,SAAAI;AAAA,EACA,MAAAC;AAAA,EACA,UAAAtG;AAAA,EACA,UAAAF;AAAA,EACA,UAAAyG;AACF,MAEI,gBAAA/E;AAAA,EAAC0E;AAAA,EAAA;AAAA,IACC,eAAe;AAAA,IACf,YAAY;AAAA,IACZ,UAAApG;AAAA,IACA,UAAAyG;AAAA,IAEC,UAAA;AAAA,MAAAlF,KAAS,gBAAAjB,EAAAoG,IAAA,EAAY,MAAAnF,GAAY,MAAM,SAAS;AAAA,MACjD,gBAAAjB,EAAC2F,KAAc,UAAQM,EAAA,CAAA;AAAA,MACtBC,KAAQ,gBAAAlG,EAACqG,IAAK,EAAA,WAAW,UAAW,UAAKH,GAAA;AAAA,MACzCtG;AAAA,MACAiG,KACC,gBAAA7F,EAAAuC,GAAA,EACE,UAAC,gBAAAnB,EAAAiB,GAAA,EAAI,OAAO,QACV,UAAA;AAAA,QAAA,gBAAArC,EAACkB,GAAQ,EAAA;AAAA,QACT,gBAAAlB,EAAC4F,MAAmB,SAAAC,GAAkB;AAAA,MAAA,EAAA,CACxC,EACF,CAAA;AAAA,IAAA;AAAA,EAAA;AAAA,GCnCKS,KAA0C,CAAC;AAAA,EACtD,SAAAL;AAAA,EACA,cAAAM;AACF,MAEI,gBAAAnF,EAACC,GAAI,EAAA,gBAAgB,iBAClB,UAAA;AAAA,EAAW4E,KAAA,gBAAAjG,EAAC2F,KAAc,UAAQM,EAAA,CAAA;AAAA,EACnC,gBAAAjG,EAAC4C,GAAY,EAAA,SAAS2D,EAAc,CAAA;AACtC,EAAA,CAAA;"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/declarative-modals/DeclarativeModalSetup.ts","../src/declarative-modals/window/BaseWindow.tsx","../src/declarative-modals/drawer/Drawer.tsx","../src/declarative-modals/drawer/DrawerHeader.tsx","../src/declarative-modals/alert/Alert.tsx","../src/declarative-modals/modal/Modal.tsx","../src/declarative-modals/loading-modal/LoadingModal.tsx","../src/declarative-modals/window/WindowHeader.tsx","../src/declarative-modals/window/Window.tsx","../src/declarative-modals/window/WindowFooter.tsx","../src/dialog/DialogContext.ts","../src/dialog/UseDialog.tsx","../src/dialog/UseDialogPromise.ts","../src/dialog/alert/UseAlertDialog.ts","../src/dialog/drawer/UseDrawerDialog.ts","../src/dialog/modal/UseModalDialog.ts","../src/building-blocks/ModalHeading.tsx","../src/building-blocks/ModalActionButtons.tsx","../src/building-blocks/ModalBody.tsx","../src/ready-made-modals/InfoAlert.tsx","../src/building-blocks/ModalContainer.tsx","../src/building-blocks/ModalHeader.tsx","../src/building-blocks/ModalFooter.tsx"],"sourcesContent":["import ReactModal from \"react-modal\";\n\nexport const setupDeclarativeModals = (htmlElement: string | HTMLElement) => {\n ReactModal.setAppElement(htmlElement);\n};\n","import * as React from \"react\";\nimport { useRef } from \"react\";\nimport ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface BaseWindowProps extends ReactModal.Props {\n width?: string;\n maxWidth?: 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 BaseWindow: React.FC<BaseWindowProps> = ({\n width,\n maxWidth,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n const nodeRef = useRef(null);\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 nodeRef={nodeRef}\n >\n <div\n style={{\n [\"--swui-modal-width\" as string]: width,\n [\"--swui-modal-max-width\" as string]: maxWidth,\n }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n ref={nodeRef}\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\";\nimport {\n SlideFrom,\n SlideFromLeftRight,\n SlideFromTopBottom,\n} from \"../../common-types\";\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\n /**\n * When true, there will be a gap between the drawer and the viewport.\n */\n floating?: boolean;\n\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 floating,\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(\n styles.content,\n getClassNameForSlide(slideFrom),\n floating && styles.floating\n ),\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 { ReactNode } from \"react\";\nimport { Heading, Row, Space, Spacing } from \"@stenajs-webui/core\";\nimport { FlatButton, Icon, stenaTimes } from \"@stenajs-webui/elements\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\nexport interface DrawerHeaderProps {\n onRequestClose: () => void;\n header?: string;\n contentRight?: ReactNode;\n icon?: IconDefinition;\n}\n\nexport const DrawerHeader: React.FC<DrawerHeaderProps> = ({\n header,\n contentRight,\n onRequestClose,\n icon,\n}) => {\n return (\n <Spacing\n position={\"sticky\"}\n top={0}\n zIndex={100}\n background={cssColor(\"--lhds-color-ui-50\")}\n >\n <Row\n justifyContent={\"space-between\"}\n alignItems={\"center\"}\n height={\"48px\"}\n >\n <Row alignItems={\"center\"} gap={2}>\n <Space num={1} />\n {icon && <Icon icon={icon} size={24} />}\n <Heading variant={\"h4\"}>{header}</Heading>\n </Row>\n <Row gap={1}>\n {contentRight}\n <FlatButton\n leftIcon={stenaTimes}\n onClick={onRequestClose}\n variant={\"danger\"}\n />\n <Space num={0.5} />\n </Row>\n </Row>\n </Spacing>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Alert.module.css\";\n\nexport interface AlertProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Alert: React.FC<AlertProps> = ({\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 * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Modal: React.FC<ModalProps> = ({\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 shouldCloseOnOverlayClick = false,\n shouldCloseOnEsc = false,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n shouldCloseOnEsc={shouldCloseOnEsc}\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 { CloseButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseWindow\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface WindowHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const WindowHeader: React.FC<WindowHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--lhds-color-ui-300)\"}\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 <CloseButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseWindow, BaseWindowProps } from \"./BaseWindow\";\nimport { WindowHeader, WindowHeaderProps } from \"./WindowHeader\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface WindowProps extends BaseWindowProps, WindowHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: boolean;\n}\n\nexport const Window: React.FC<WindowProps> = ({\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 <BaseWindow\n {...props}\n onRequestClose={onRequestClose}\n draggable={draggable}\n >\n <WindowHeader\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 </BaseWindow>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface WindowFooterProps {\n children?: ReactNode;\n}\n\nexport const WindowFooter: React.FC<WindowFooterProps> = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n","import { createContext } from \"react\";\nimport { RejectCommand, ResolveCommand } from \"./DialogCommands\";\n\nexport interface DialogContextValue<TResolveValue> {\n resolve: ResolveCommand<TResolveValue>;\n reject: RejectCommand;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const DialogContext = createContext<DialogContextValue<any> | undefined>(\n undefined\n);\n","import cx from \"classnames\";\nimport React, {\n CSSProperties,\n ReactNode,\n RefObject,\n useCallback,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport { RejectCommand, ResolveCommand, ShowCommand } from \"./DialogCommands\";\nimport { DialogContext } from \"./DialogContext\";\n\ntype UseDialogCallbacks<TProps, TPromiseResolve> = {\n show: ShowCommand<TProps, TPromiseResolve>;\n reject: RejectCommand;\n};\n\nexport type UseDialogResult<TProps, TPromiseResolve> = [\n ReactNode,\n UseDialogCallbacks<TProps, TPromiseResolve>\n];\n\nexport interface DialogOptions {\n disableCloseOnClickOutside?: boolean;\n modal: boolean;\n className: string;\n closingClassName: string;\n contentWrapperClassName: string;\n contentWrapperStyle?: CSSProperties;\n dialogStyle?: CSSProperties;\n ref?: RefObject<HTMLDialogElement>;\n onResolve?: () => void;\n onReject?: () => void;\n}\n\nexport function useDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options: DialogOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n const localRef = useRef<HTMLDialogElement>(null);\n const currentRef = options.ref ?? localRef;\n const [key, forceRerender] = useReducer((x) => x + 1, 0);\n const promiseRef = useRef<Promise<TPromiseResolve | undefined>>();\n const resolveRef = useRef<ResolveCommand<TPromiseResolve> | undefined>();\n const modalComponentProps = useRef<TProps>();\n const rejectRef = useRef<RejectCommand | undefined>();\n const [contentVisible, setContentVisible] = useState(false);\n const [closing, setClosing] = useState(false);\n\n const Comp = component;\n\n const show = useCallback<ShowCommand<TProps, TPromiseResolve>>(\n (props?: TProps) => {\n promiseRef.current = new Promise<TPromiseResolve | undefined>(\n (resolve, reject) => {\n resolveRef.current = resolve;\n rejectRef.current = reject;\n }\n );\n setClosing(false);\n setContentVisible(true);\n forceRerender();\n modalComponentProps.current = props;\n if (options.modal) {\n currentRef.current?.showModal();\n } else {\n currentRef.current?.show();\n }\n return promiseRef.current;\n },\n [currentRef, options.modal]\n );\n\n const resolve = useCallback<ResolveCommand<TPromiseResolve>>(\n (value) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n options.onResolve?.();\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const reject = useCallback<RejectCommand>(\n (error) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n rejectRef.current?.(error);\n options.onReject?.();\n modalComponentProps.current = undefined;\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const dialogElement = useMemo<ReactNode>(\n () => (\n <DialogContext.Provider value={{ resolve, reject }}>\n <dialog\n onClick={\n options.disableCloseOnClickOutside ? undefined : () => reject()\n }\n ref={currentRef}\n className={cx(options.className, closing && options.closingClassName)}\n style={options.dialogStyle}\n >\n {options.disableCloseOnClickOutside ? (\n <>\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </>\n ) : (\n <div\n style={options.contentWrapperStyle}\n className={options.contentWrapperClassName}\n onClick={\n options.disableCloseOnClickOutside\n ? undefined\n : (ev) => ev.stopPropagation()\n }\n >\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </div>\n )}\n </dialog>\n </DialogContext.Provider>\n ),\n [\n resolve,\n reject,\n options.disableCloseOnClickOutside,\n options.className,\n options.closingClassName,\n options.dialogStyle,\n options.contentWrapperStyle,\n options.contentWrapperClassName,\n currentRef,\n closing,\n contentVisible,\n Comp,\n key,\n ]\n );\n\n return [dialogElement, { show, reject }];\n}\n","import { useContext } from \"react\";\nimport { DialogContext, DialogContextValue } from \"./DialogContext\";\n\nexport const useDialogPromise = <\n TResolveValue = void\n>(): DialogContextValue<TResolveValue> => {\n const context = useContext(DialogContext);\n if (context == null) {\n throw new Error(\"useDialogPromise is being used outside of dialog.\");\n }\n return context as DialogContextValue<TResolveValue>;\n};\n","import * as React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./AlertDialog.module.css\";\n\nexport function useAlertDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.alertDialog),\n });\n}\n","import * as React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./DrawerDialog.module.css\";\nimport { SlideFrom } from \"../../common-types\";\n\ninterface DrawerOptions\n extends Partial<Omit<DialogOptions, \"disableCloseOnClickOutside\">> {}\n\nexport function useDrawerDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n slideFrom: SlideFrom = \"left\",\n options?: DrawerOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n disableCloseOnClickOutside: true,\n modal: false,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.drawerDialog, styles[slideFrom]),\n });\n}\n","import * as React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./ModalDialog.module.css\";\n\nexport function useModalDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.modalDialog),\n });\n}\n","import * as React from \"react\";\nimport { Heading } from \"@stenajs-webui/core\";\n\nexport interface ModalHeadingProps {\n children: string;\n}\n\nexport const ModalHeading: React.FC<ModalHeadingProps> = ({ children }) => {\n return (\n <Heading variant={\"h3\"} as={\"h2\"}>\n {children}\n </Heading>\n );\n};\n","import * as React from \"react\";\nimport styles from \"./ModalActionButtons.module.css\";\nimport { ReactNode } from \"react\";\nimport { Box, Spacing } from \"@stenajs-webui/core\";\n\nexport interface ModalActionButtonsProps {\n buttons: ReactNode;\n}\n\nexport const ModalActionButtons: React.FC<ModalActionButtonsProps> = ({\n buttons,\n}) => {\n return (\n <Box width={\"100%\"}>\n <Spacing />\n <div className={styles.modalActionButtons}>{buttons}</div>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { Box, BoxProps } from \"@stenajs-webui/core\";\n\nexport interface ModalBodyProps extends Omit<BoxProps, \"indent\" | \"spacing\"> {}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({ gap = 3, ...props }) => {\n return <Box indent={3} spacing={3} gap={gap} {...props} />;\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport { Text } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"../building-blocks/ModalHeading\";\nimport { ModalActionButtons } from \"../building-blocks/ModalActionButtons\";\nimport { CircledIcon, MediumIcon } from \"@stenajs-webui/elements\";\nimport { ModalBody } from \"../building-blocks/ModalBody\";\n\nexport interface InfoAlertProps extends PropsWithChildren {\n heading: string;\n text?: string;\n buttons?: ReactNode;\n icon?: MediumIcon;\n onRequestClose?: () => void;\n maxWidth?: string;\n minWidth?: string;\n}\n\nexport const InfoAlert: React.FC<InfoAlertProps> = ({\n icon,\n buttons,\n heading,\n text,\n children,\n maxWidth,\n minWidth,\n}) => {\n return (\n <ModalBody\n flexDirection={\"column\"}\n alignItems={\"center\"}\n maxWidth={maxWidth}\n minWidth={minWidth}\n >\n {icon && <CircledIcon icon={icon} size={\"large\"} />}\n <ModalHeading>{heading}</ModalHeading>\n {text && <Text textAlign={\"center\"}>{text}</Text>}\n {children}\n {buttons && <ModalActionButtons buttons={buttons} />}\n </ModalBody>\n );\n};\n","import * as React from \"react\";\nimport { Column } from \"@stenajs-webui/core\";\nimport { PropsWithChildren } from \"react\";\n\nexport interface ModalContainerProps extends PropsWithChildren {}\n\nexport const ModalContainer: React.FC<ModalContainerProps> = ({ children }) => {\n return (\n <Column flex={1} height={\"100%\"} justifyContent={\"space-between\"}>\n {children}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { Row } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"./ModalHeading\";\nimport { CloseButton } from \"@stenajs-webui/elements\";\n\nexport interface ModalHeaderProps {\n heading?: string;\n onClickClose?: () => void;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n heading,\n onClickClose,\n}) => {\n return (\n <Row justifyContent={\"space-between\"}>\n {heading && <ModalHeading>{heading}</ModalHeading>}\n <CloseButton onClick={onClickClose} />\n </Row>\n );\n};\n","import { Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport styles from \"./ModalFooter.module.css\";\nimport cx from \"classnames\";\n\nexport interface ModalFooterProps {\n children: ReactNode;\n sticky?: boolean;\n zIndex?: number;\n}\n\nexport const ModalFooter: React.FC<ModalFooterProps> = ({\n children,\n sticky,\n zIndex = 4,\n}) => {\n return (\n <Row\n className={cx(styles.modalFooter, sticky && styles.sticky)}\n shadow={\"var(--swui-sticky-footer-shadow)\"}\n zIndex={zIndex}\n >\n {children}\n </Row>\n );\n};\n"],"names":["setupDeclarativeModals","htmlElement","ReactModal","DRAGGABLE_HANDLE_CLASSNAME","DRAGGABLE_CANCEL_CLASSNAME","BaseWindow","width","maxWidth","draggable","children","reactModalProps","nodeRef","useRef","jsx","styles","Draggable","cx","Drawer","background","zIndex","slideFrom","portalTarget","floating","height","getClassNameForSlide","exhaustSwitchCase","DrawerHeader","header","contentRight","onRequestClose","icon","Spacing","cssColor","jsxs","Row","Space","Icon","Heading","FlatButton","stenaTimes","style","Alert","Modal","LoadingModal","headerIconLeft","headerText","shouldCloseOnOverlayClick","shouldCloseOnEsc","modalProps","Column","Box","Spinner","Fragment","Indent","WindowHeader","closeButtonClassName","Txt","CloseButton","Window","spacing","indent","footer","disableStickyFooter","props","WindowFooter","DialogContext","createContext","useDialog","component","options","localRef","currentRef","key","forceRerender","useReducer","x","promiseRef","resolveRef","modalComponentProps","rejectRef","contentVisible","setContentVisible","useState","closing","setClosing","Comp","show","useCallback","resolve","reject","_a","_b","value","_c","error","useMemo","createElement","ev","useDialogPromise","context","useContext","useAlertDialog","useDrawerDialog","useModalDialog","ModalHeading","ModalActionButtons","buttons","ModalBody","gap","InfoAlert","heading","text","minWidth","CircledIcon","Text","ModalContainer","ModalHeader","onClickClose","ModalFooter","sticky"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
- (function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode("._overlay_5x3op_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--swui-modal-max-width: 100%;--swui-modal-header-border-color: var(--lhds-color-ui-300);--swui-modal-shadow: var(--swui-shadow-modal);--swui-modal-footer-shadow: var(--swui-shadow-modal);position:fixed;z-index:10;top:0;left:0;right:0;bottom:0;background-color:var(--swui-modal-overlay-bg-color);overflow:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;animation:_fadeIn_5x3op_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_5x3op_1{background-color:#fff}}._overlay_5x3op_1 ._modal_5x3op_31{max-width:100%;outline:none;pointer-events:none}@media (max-width: 768px){._overlay_5x3op_1 ._modal_5x3op_31{width:100%}}._overlay_5x3op_1 ._content_5x3op_41{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);pointer-events:all;top:calc(var(--swui-metrics-space) * 2);width:var(--swui-modal-width);max-width:var(--swui-modal-max-width)}@media (max-width: 768px){._overlay_5x3op_1 ._content_5x3op_41{top:0;width:100%;max-width:100%}}._overlay_5x3op_1 ._content_5x3op_41{animation:_appear_5x3op_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_5x3op_1 ._content_5x3op_41{box-shadow:none;top:0}}._overlay_5x3op_1 ._content_5x3op_41 :focus{outline:0}._overlay_5x3op_1 ._content_5x3op_41._isDraggable_5x3op_70 .draggable-modal-handle{cursor:move}._overlay_5x3op_1 ._content_5x3op_41._isDraggable_5x3op_70 .draggable-modal-handle .draggable-modal-cancel,._overlay_5x3op_1 ._content_5x3op_41._isDraggable_5x3op_70 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_5x3op_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_5x3op_1{0%{opacity:0}to{opacity:1}}._footer_5x3op_101{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_5x3op_105{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_5x3op_105{position:static;box-shadow:none}}._portal_17ze5_1{--drawer-width: 370px}._portal_17ze5_1 ._overlay_17ze5_4{position:fixed;top:0;right:0;bottom:0;left:0}._portal_17ze5_1 ._content_17ze5_9{box-shadow:var(--swui-shadow-modal);background:#fff;position:absolute;transition:transform var(--swui-animation-time-medium) ease-in-out}._portal_17ze5_1 ._content_17ze5_9._floating_17ze5_15{margin:var(--swui-metrics-space);border-radius:var(--swui-border-radius)}@media (max-width: 768px){._portal_17ze5_1 ._content_17ze5_9._floating_17ze5_15{margin:0;border-radius:0}}._portal_17ze5_1 ._content_17ze5_9:focus-visible{outline:unset}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29,._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30{transform:translate(var(--translate-x-outside-screen, 0));overflow-y:auto;top:0;bottom:0}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29._afterOpen_17ze5_36,._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30._afterOpen_17ze5_36{transform:translate(0)}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29._beforeClose_17ze5_40,._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30._beforeClose_17ze5_40{transform:translate(var(--translate-x-outside-screen))}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45,._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46{transform:translateY(var(--translate-y-outside-screen, 0));overflow-x:auto;left:0;right:0}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45._afterOpen_17ze5_36,._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46._afterOpen_17ze5_36{transform:translateY(0)}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45._beforeClose_17ze5_40,._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46._beforeClose_17ze5_40{transform:translateY(var(--translate-y-outside-screen))}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29{--translate-x-outside-screen: -100%;width:var(--drawer-width);left:0}._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30{--translate-x-outside-screen: 100%;width:var(--drawer-width);right:0}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45{--translate-y-outside-screen: -100%;height:var(--drawer-width);top:0}._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46{--translate-y-outside-screen: 100%;height:var(--drawer-width);bottom:0}._overlay_r9tkq_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--swui-modal-max-width: 100%;--swui-modal-header-border-color: var(--lhds-color-ui-300);--swui-modal-shadow: var(--swui-shadow-modal);--swui-modal-footer-shadow: var(--swui-shadow-modal);position:fixed;z-index:10;top:0;left:0;right:0;bottom:0;background-color:var(--swui-modal-overlay-bg-color);overflow:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;animation:_fadeIn_r9tkq_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_r9tkq_1{background-color:#fff}}._overlay_r9tkq_1 ._modal_r9tkq_31{max-width:100%;outline:none;pointer-events:none;padding:var(--swui-metrics-space)}._overlay_r9tkq_1 ._content_r9tkq_38{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);border-radius:var(--swui-border-radius-large);pointer-events:all;width:var(--swui-modal-width);max-width:var(--swui-modal-max-width);animation:_appear_r9tkq_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_r9tkq_1 ._content_r9tkq_38{box-shadow:none;top:0}}._overlay_r9tkq_1 ._content_r9tkq_38 :focus{outline:0}._overlay_r9tkq_1 ._content_r9tkq_38._isDraggable_r9tkq_61 .draggable-modal-handle{cursor:move}._overlay_r9tkq_1 ._content_r9tkq_38._isDraggable_r9tkq_61 .draggable-modal-handle .draggable-modal-cancel,._overlay_r9tkq_1 ._content_r9tkq_38._isDraggable_r9tkq_61 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_r9tkq_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_r9tkq_1{0%{opacity:0}to{opacity:1}}._footer_r9tkq_92{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_r9tkq_96{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_r9tkq_96{position:static;box-shadow:none}}._overlay_1rolx_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--swui-modal-max-width: 100%;--swui-modal-header-border-color: var(--lhds-color-ui-300);--swui-modal-shadow: var(--swui-shadow-modal);--swui-modal-footer-shadow: var(--swui-shadow-modal);position:fixed;z-index:10;top:0;left:0;right:0;bottom:0;background-color:var(--swui-modal-overlay-bg-color);overflow:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;animation:_fadeIn_1rolx_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_1rolx_1{background-color:#fff}}._overlay_1rolx_1 ._modal_1rolx_31{max-width:100%;outline:none;pointer-events:none}@media (max-width: 768px){._overlay_1rolx_1 ._modal_1rolx_31{width:100%}}._overlay_1rolx_1 ._content_1rolx_41{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);border-radius:var(--swui-border-radius-large);pointer-events:all;width:var(--swui-modal-width);max-width:var(--swui-modal-max-width)}@media (max-width: 768px){._overlay_1rolx_1 ._content_1rolx_41{border-radius:0;width:100%;max-width:100%;height:100vh}}._overlay_1rolx_1 ._content_1rolx_41{animation:_appear_1rolx_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_1rolx_1 ._content_1rolx_41{box-shadow:none;top:0}}._overlay_1rolx_1 ._content_1rolx_41 :focus{outline:0}._overlay_1rolx_1 ._content_1rolx_41._isDraggable_1rolx_71 .draggable-modal-handle{cursor:move}._overlay_1rolx_1 ._content_1rolx_41._isDraggable_1rolx_71 .draggable-modal-handle .draggable-modal-cancel,._overlay_1rolx_1 ._content_1rolx_41._isDraggable_1rolx_71 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_1rolx_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_1rolx_1{0%{opacity:0}to{opacity:1}}._footer_1rolx_102{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_1rolx_106{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_1rolx_106{position:static;box-shadow:none}}._modal_4fwgb_1{display:flex;justify-content:center;align-items:center;position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent}._overlay_4fwgb_13{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--swui-overlay-bg-color)}._alertDialog_14t8t_1{border:0;outline:0;border-radius:var(--swui-border-radius-large);margin:auto;padding:0;overscroll-behavior:contain;opacity:0;pointer-events:none;box-shadow:#0003 0 0 10px 4px}._alertDialog_14t8t_1:not([open]){display:none}._alertDialog_14t8t_1[open]{opacity:1;pointer-events:auto;animation:_slideIn_14t8t_1 .25s forwards}._alertDialog_14t8t_1._closing_14t8t_22[open]{animation:_slideOut_14t8t_1 .25s forwards}._alertDialog_14t8t_1::backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0d0e1080;animation:_fadeIn_14t8t_1 .25s forwards}._alertDialog_14t8t_1._closing_14t8t_22::backdrop{animation:_fadeOut_14t8t_1 .25s forwards}@keyframes _fadeIn_14t8t_1{0%{opacity:0}to{opacity:1}}@keyframes _fadeOut_14t8t_1{0%{opacity:1}to{opacity:0}}@keyframes _slideIn_14t8t_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOut_14t8t_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}._drawerDialog_11g6r_1{max-height:100%;max-width:100%;border:0;outline:0;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain;box-shadow:#0003 0 0 10px 4px;position:fixed}._drawerDialog_11g6r_1._left_11g6r_13,._drawerDialog_11g6r_1._right_11g6r_14{height:100%;top:0;bottom:0}._drawerDialog_11g6r_1._left_11g6r_13 ._contentWrapper_11g6r_19,._drawerDialog_11g6r_1._right_11g6r_14 ._contentWrapper_11g6r_19{height:100%}@media (max-width: 768px){._drawerDialog_11g6r_1._left_11g6r_13,._drawerDialog_11g6r_1._right_11g6r_14{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}}._drawerDialog_11g6r_1._left_11g6r_13{left:0;right:unset}._drawerDialog_11g6r_1._left_11g6r_13[open]{animation:_slideInLeft_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._left_11g6r_13._closing_11g6r_36[open]{animation:_slideOutLeft_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._right_11g6r_14{left:unset;right:0}._drawerDialog_11g6r_1._right_11g6r_14[open]{animation:_slideInRight_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._right_11g6r_14._closing_11g6r_36[open]{animation:_slideOutRight_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._top_11g6r_54,._drawerDialog_11g6r_1._bottom_11g6r_55{width:100%;left:0;right:0}@media (max-width: 768px){._drawerDialog_11g6r_1._top_11g6r_54,._drawerDialog_11g6r_1._bottom_11g6r_55{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}}._drawerDialog_11g6r_1._top_11g6r_54{top:0;bottom:unset}._drawerDialog_11g6r_1._top_11g6r_54[open]{animation:_slideInTop_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._top_11g6r_54._closing_11g6r_36[open]{animation:_slideOutTop_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._bottom_11g6r_55{top:unset;bottom:0}._drawerDialog_11g6r_1._bottom_11g6r_55[open]{animation:_slideInBottom_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._bottom_11g6r_55._closing_11g6r_36[open]{animation:_slideOutBottom_11g6r_1 .25s forwards}._drawerDialog_11g6r_1[open]{opacity:1;pointer-events:auto}@keyframes _slideInLeft_11g6r_1{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _slideOutLeft_11g6r_1{0%{transform:translate(0);opacity:0}to{transform:translate(-100%);opacity:1}}@keyframes _slideInTop_11g6r_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOutTop_11g6r_1{0%{transform:translateY(0);opacity:0}to{transform:translateY(-100%);opacity:1}}@keyframes _slideInRight_11g6r_1{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _slideOutRight_11g6r_1{0%{transform:translate(0);opacity:0}to{transform:translate(100%);opacity:1}}@keyframes _slideInBottom_11g6r_1{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOutBottom_11g6r_1{0%{transform:translateY(0);opacity:0}to{transform:translateY(100%);opacity:1}}._modalDialog_6jugu_1{border:0;outline:0;margin:auto;padding:0;overscroll-behavior:contain;opacity:0;pointer-events:none;box-shadow:#0003 0 0 10px 4px}@media (min-width: 769px){._modalDialog_6jugu_1{border-radius:var(--swui-border-radius-large)}}._modalDialog_6jugu_1:not([open]){display:none}._modalDialog_6jugu_1[open]{opacity:1;pointer-events:auto;animation:_slideIn_6jugu_1 .25s forwards}._modalDialog_6jugu_1._closing_6jugu_25[open]{animation:_slideOut_6jugu_1 .25s forwards}@media (max-width: 768px){._modalDialog_6jugu_1{margin:0;width:100%;max-width:100%;height:100%;max-height:100%}}._modalDialog_6jugu_1::backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0d0e1080;animation:_fadeIn_6jugu_1 .25s forwards}._modalDialog_6jugu_1._closing_6jugu_25::backdrop{animation:_fadeOut_6jugu_1 .25s forwards}@keyframes _fadeIn_6jugu_1{0%{opacity:0}to{opacity:1}}@keyframes _fadeOut_6jugu_1{0%{opacity:1}to{opacity:0}}@keyframes _slideIn_6jugu_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOut_6jugu_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@media (max-width: 768px){._contentWrapper_6jugu_89{display:flex;height:100%}}._modalActionButtons_s27nj_1{display:flex;flex-direction:row;gap:16px;justify-content:center}@media (max-width: 768px){._modalActionButtons_s27nj_1{flex-direction:column;justify-content:stretch}}")),document.head.appendChild(o)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const N=require("react-modal"),t=require("react/jsx-runtime"),o=require("react"),V=require("react-draggable"),i=require("classnames"),a=require("@stenajs-webui/core"),h=require("@stenajs-webui/elements"),J=require("@stenajs-webui/theme"),K=s=>{N.setAppElement(s)},Q="_overlay_5x3op_1",U="_fadeIn_5x3op_1",X="_modal_5x3op_31",Y="_content_5x3op_41",Z="_appear_5x3op_1",ee="_isDraggable_5x3op_70",te="_footer_5x3op_101",se="_stickyFooter_5x3op_105",v={overlay:Q,fadeIn:U,modal:X,content:Y,appear:Z,isDraggable:ee,footer:te,stickyFooter:se},S="draggable-modal-handle",W="draggable-modal-cancel",z=({width:s,maxWidth:e,draggable:l=!1,children:n,...r})=>{const d=o.useRef(null);return t.jsx(N,{overlayClassName:v.overlay,className:v.modal,...r,children:t.jsx(V,{handle:`.${S}`,cancel:`.${W}, button, [role="tooltip"]`,bounds:".ReactModal__Overlay",disabled:!l,nodeRef:d,children:t.jsx("div",{style:{"--swui-modal-width":s,"--swui-modal-max-width":e},className:i(v.content,{[v.isDraggable]:l}),ref:d,children:n})})})},le="_portal_17ze5_1",ne="_overlay_17ze5_4",ae="_content_17ze5_9",oe="_floating_17ze5_15",re="_slideFromLeft_17ze5_29",ce="_slideFromRight_17ze5_30",ie="_afterOpen_17ze5_36",de="_beforeClose_17ze5_40",_e="_slideFromTop_17ze5_45",ue="_slideFromBottom_17ze5_46",c={portal:le,overlay:ne,content:ae,floating:oe,slideFromLeft:re,slideFromRight:ce,afterOpen:ie,beforeClose:de,slideFromTop:_e,slideFromBottom:ue},ge=({background:s,zIndex:e,children:l,slideFrom:n="left",portalTarget:r,floating:d,..._})=>{const{height:m,width:u}=_;return t.jsx(N,{closeTimeoutMS:250,portalClassName:c.portal,overlayClassName:{base:c.overlay,afterOpen:c.afterOpen,beforeClose:c.beforeClose},className:{base:i(c.content,me(n),d&&c.floating),afterOpen:c.afterOpen,beforeClose:c.beforeClose},style:{content:{width:u,height:m,background:s},overlay:{zIndex:e}},parentSelector:r?()=>r:void 0,..._,children:l})},me=s=>{switch(s){case"left":return c.slideFromLeft;case"right":return c.slideFromRight;case"top":return c.slideFromTop;case"bottom":return c.slideFromBottom;default:return a.exhaustSwitchCase(s,c.slideFromLeft)}},fe=({header:s,contentRight:e,onRequestClose:l,icon:n})=>t.jsx(a.Spacing,{position:"sticky",top:0,zIndex:100,background:J.cssColor("--lhds-color-ui-50"),children:t.jsxs(a.Row,{justifyContent:"space-between",alignItems:"center",height:"48px",children:[t.jsxs(a.Row,{alignItems:"center",gap:2,children:[t.jsx(a.Space,{num:1}),n&&t.jsx(h.Icon,{icon:n,size:24}),t.jsx(a.Heading,{variant:"h4",children:s})]}),t.jsxs(a.Row,{gap:1,children:[e,t.jsx(h.FlatButton,{leftIcon:h.stenaTimes,onClick:l,variant:"danger"}),t.jsx(a.Space,{num:.5})]})]})}),xe="_overlay_r9tkq_1",he="_fadeIn_r9tkq_1",ye="_modal_r9tkq_31",Ce="_content_r9tkq_38",je="_appear_r9tkq_1",ve="_isDraggable_r9tkq_61",Ne="_footer_r9tkq_92",pe="_stickyFooter_r9tkq_96",k={overlay:xe,fadeIn:he,modal:ye,content:Ce,appear:je,isDraggable:ve,footer:Ne,stickyFooter:pe},we={overlay:{justifyContent:"center"}},be=({children:s,...e})=>t.jsx(N,{overlayClassName:k.overlay,className:k.modal,style:we,...e,children:t.jsx("div",{className:k.content,style:{"--swui-modal-width":"fit-content"},children:s})}),De="_overlay_1rolx_1",Ie="_fadeIn_1rolx_1",Oe="_modal_1rolx_31",$e="_content_1rolx_41",Re="_appear_1rolx_1",ke="_isDraggable_1rolx_71",Ae="_footer_1rolx_102",Be="_stickyFooter_1rolx_106",A={overlay:De,fadeIn:Ie,modal:Oe,content:$e,appear:Re,isDraggable:ke,footer:Ae,stickyFooter:Be},Fe={overlay:{justifyContent:"center"}},Se=({children:s,...e})=>t.jsx(N,{overlayClassName:A.overlay,className:A.modal,style:Fe,...e,children:t.jsx("div",{className:A.content,style:{"--swui-modal-width":"fit-content"},children:s})}),We="_modal_4fwgb_1",Le="_overlay_4fwgb_13",E={modal:We,overlay:Le},Me=({headerIconLeft:s,headerText:e,shouldCloseOnOverlayClick:l=!1,shouldCloseOnEsc:n=!1,...r})=>t.jsx(N,{...r,isOpen:!0,shouldCloseOnOverlayClick:l,shouldCloseOnEsc:n,className:E.modal,overlayClassName:E.overlay,children:t.jsxs(a.Column,{spacing:2,alignItems:"center",children:[t.jsx(a.Box,{alignItems:"center",justifyContent:"center",width:"64px",height:"64px",borderRadius:"50%",background:"white",shadow:"modal",children:t.jsx(h.Spinner,{size:"small"})}),(s||e)&&t.jsxs(t.Fragment,{children:[t.jsx(a.Spacing,{}),t.jsxs(a.Row,{indent:2,children:[s&&t.jsxs(t.Fragment,{children:[t.jsx(h.Icon,{size:14,icon:s,color:"white"}),t.jsx(a.Indent,{})]}),e&&t.jsx(a.Heading,{variant:"h4",color:"white",children:e})]})]})]})}),q=({onRequestClose:s,header:e,headerText:l,closeButtonClassName:n})=>t.jsxs(a.Row,{spacing:2,indent:2,borderBottom:"1px solid var(--lhds-color-ui-300)",className:S,children:[t.jsxs(a.Row,{flex:1,indent:!0,alignItems:"center",children:[l&&t.jsx(a.Txt,{className:W,size:"large",children:l}),e]}),t.jsx(a.Box,{alignSelf:"flex-start",children:t.jsx(h.CloseButton,{className:n,onClick:s})})]}),Ee=({header:s,headerText:e,children:l,spacing:n,indent:r,draggable:d=!1,onRequestClose:_,closeButtonClassName:m,footer:u,disableStickyFooter:j=!1,...p})=>{const w=typeof n=="number"?n:1,D=typeof r=="number"?r:1;return t.jsxs(z,{...p,onRequestClose:_,draggable:d,children:[t.jsx(q,{onRequestClose:_,header:s,headerText:e,closeButtonClassName:m}),t.jsx(a.Box,{spacing:w,indent:D,children:l}),u&&t.jsx(a.Box,{className:i(v.footer,{[v.stickyFooter]:!j}),children:u})]})},ze=({children:s})=>t.jsx(a.Column,{indent:2,spacing:2,children:s}),H=o.createContext(void 0);function $(s,e){const l=o.useRef(null),n=e.ref??l,[r,d]=o.useReducer(g=>g+1,0),_=o.useRef(),m=o.useRef(),u=o.useRef(),j=o.useRef(),[p,w]=o.useState(!1),[D,b]=o.useState(!1),R=s,P=o.useCallback(g=>{var f,x;return _.current=new Promise((y,C)=>{m.current=y,j.current=C}),b(!1),w(!0),d(),u.current=g,e.modal?(f=n.current)==null||f.showModal():(x=n.current)==null||x.show(),_.current},[n,e.modal]),M=o.useCallback(g=>{var f;b(!0),(f=n.current)==null||f.addEventListener("animationend",()=>{var x,y,C;b(!1),w(!1),(x=n.current)==null||x.close(),(y=m.current)==null||y.call(m,g),u.current=void 0,(C=e.onResolve)==null||C.call(e)},{once:!0})},[n,e]),I=o.useCallback(g=>{var f;b(!0),(f=n.current)==null||f.addEventListener("animationend",()=>{var x,y,C;b(!1),w(!1),(x=n.current)==null||x.close(),(y=j.current)==null||y.call(j,g),(C=e.onReject)==null||C.call(e),u.current=void 0},{once:!0})},[n,e]);return[o.useMemo(()=>t.jsx(H.Provider,{value:{resolve:M,reject:I},children:t.jsx("dialog",{onClick:e.disableCloseOnClickOutside?void 0:()=>I(),ref:n,className:i(e.className,D&&e.closingClassName),style:e.dialogStyle,children:e.disableCloseOnClickOutside?t.jsx(t.Fragment,{children:p&&o.createElement(R,{...u.current,key:r})}):t.jsx("div",{style:e.contentWrapperStyle,className:e.contentWrapperClassName,onClick:e.disableCloseOnClickOutside?void 0:g=>g.stopPropagation(),children:p&&o.createElement(R,{...u.current,key:r})})})}),[M,I,e.disableCloseOnClickOutside,e.className,e.closingClassName,e.dialogStyle,e.contentWrapperStyle,e.contentWrapperClassName,n,D,p,R,r]),{show:P,reject:I}]}const qe=()=>{const s=o.useContext(H);if(s==null)throw new Error("useDialogPromise is being used outside of dialog.");return s},He="_alertDialog_14t8t_1",Te="_slideIn_14t8t_1",Ge="_closing_14t8t_22",Pe="_slideOut_14t8t_1",Ve="_fadeIn_14t8t_1",Je="_fadeOut_14t8t_1",B={alertDialog:He,slideIn:Te,closing:Ge,slideOut:Pe,fadeIn:Ve,fadeOut:Je};function Ke(s,e){return $(s,{...e,modal:!0,closingClassName:i(e==null?void 0:e.closingClassName,B.closing),contentWrapperClassName:i(e==null?void 0:e.contentWrapperClassName,B.contentWrapper),className:i(e==null?void 0:e.className,B.alertDialog)})}const Qe="_drawerDialog_11g6r_1",Ue="_left_11g6r_13",Xe="_right_11g6r_14",Ye="_contentWrapper_11g6r_19",Ze="_slideInLeft_11g6r_1",et="_closing_11g6r_36",tt="_slideOutLeft_11g6r_1",st="_slideInRight_11g6r_1",lt="_slideOutRight_11g6r_1",nt="_top_11g6r_54",at="_bottom_11g6r_55",ot="_slideInTop_11g6r_1",rt="_slideOutTop_11g6r_1",ct="_slideInBottom_11g6r_1",it="_slideOutBottom_11g6r_1",O={drawerDialog:Qe,left:Ue,right:Xe,contentWrapper:Ye,slideInLeft:Ze,closing:et,slideOutLeft:tt,slideInRight:st,slideOutRight:lt,top:nt,bottom:at,slideInTop:ot,slideOutTop:rt,slideInBottom:ct,slideOutBottom:it};function dt(s,e="left",l){return $(s,{...l,disableCloseOnClickOutside:!0,modal:!1,closingClassName:i(l==null?void 0:l.closingClassName,O.closing),contentWrapperClassName:i(l==null?void 0:l.contentWrapperClassName,O.contentWrapper),className:i(l==null?void 0:l.className,O.drawerDialog,O[e])})}const _t="_modalDialog_6jugu_1",ut="_slideIn_6jugu_1",gt="_closing_6jugu_25",mt="_slideOut_6jugu_1",ft="_fadeIn_6jugu_1",xt="_fadeOut_6jugu_1",ht="_contentWrapper_6jugu_89",F={modalDialog:_t,slideIn:ut,closing:gt,slideOut:mt,fadeIn:ft,fadeOut:xt,contentWrapper:ht};function yt(s,e){return $(s,{...e,modal:!0,closingClassName:i(e==null?void 0:e.closingClassName,F.closing),contentWrapperClassName:i(e==null?void 0:e.contentWrapperClassName,F.contentWrapper),className:i(e==null?void 0:e.className,F.modalDialog)})}const L=({children:s})=>t.jsx(a.Heading,{variant:"h3",as:"h2",children:s}),Ct="_modalActionButtons_s27nj_1",jt={modalActionButtons:Ct},T=({buttons:s})=>t.jsx("div",{className:jt.modalActionButtons,children:s}),G=({gap:s=2,...e})=>t.jsx(a.Box,{indent:4,spacing:4,gap:s,...e}),vt=({icon:s,buttons:e,heading:l,text:n,children:r,maxWidth:d,minWidth:_})=>t.jsxs(G,{flexDirection:"column",alignItems:"center",maxWidth:d,minWidth:_,children:[s&&t.jsx(h.CircledIcon,{icon:s,size:"large"}),t.jsx(L,{children:l}),n&&t.jsx(a.Text,{textAlign:"center",children:n}),r,e&&t.jsx(t.Fragment,{children:t.jsxs(a.Box,{width:"100%",children:[t.jsx(a.Spacing,{}),t.jsx(T,{buttons:e})]})})]}),Nt=({heading:s,onClickClose:e})=>t.jsxs(a.Row,{justifyContent:"space-between",children:[s&&t.jsx(L,{children:s}),t.jsx(h.CloseButton,{onClick:e})]});exports.Alert=be;exports.BaseWindow=z;exports.DRAGGABLE_CANCEL_CLASSNAME=W;exports.DRAGGABLE_HANDLE_CLASSNAME=S;exports.Drawer=ge;exports.DrawerHeader=fe;exports.InfoAlert=vt;exports.LoadingModal=Me;exports.Modal=Se;exports.ModalActionButtons=T;exports.ModalBody=G;exports.ModalHeader=Nt;exports.ModalHeading=L;exports.Window=Ee;exports.WindowFooter=ze;exports.WindowHeader=q;exports.setupDeclarativeModals=K;exports.useAlertDialog=Ke;exports.useDialog=$;exports.useDialogPromise=qe;exports.useDrawerDialog=dt;exports.useModalDialog=yt;
1
+ (function(){"use strict";try{if(typeof document<"u"){var o=document.createElement("style");o.appendChild(document.createTextNode("._overlay_5x3op_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--swui-modal-max-width: 100%;--swui-modal-header-border-color: var(--lhds-color-ui-300);--swui-modal-shadow: var(--swui-shadow-modal);--swui-modal-footer-shadow: var(--swui-shadow-modal);position:fixed;z-index:10;top:0;left:0;right:0;bottom:0;background-color:var(--swui-modal-overlay-bg-color);overflow:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;animation:_fadeIn_5x3op_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_5x3op_1{background-color:#fff}}._overlay_5x3op_1 ._modal_5x3op_31{max-width:100%;outline:none;pointer-events:none}@media (max-width: 768px){._overlay_5x3op_1 ._modal_5x3op_31{width:100%}}._overlay_5x3op_1 ._content_5x3op_41{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);pointer-events:all;top:calc(var(--swui-metrics-space) * 2);width:var(--swui-modal-width);max-width:var(--swui-modal-max-width)}@media (max-width: 768px){._overlay_5x3op_1 ._content_5x3op_41{top:0;width:100%;max-width:100%}}._overlay_5x3op_1 ._content_5x3op_41{animation:_appear_5x3op_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_5x3op_1 ._content_5x3op_41{box-shadow:none;top:0}}._overlay_5x3op_1 ._content_5x3op_41 :focus{outline:0}._overlay_5x3op_1 ._content_5x3op_41._isDraggable_5x3op_70 .draggable-modal-handle{cursor:move}._overlay_5x3op_1 ._content_5x3op_41._isDraggable_5x3op_70 .draggable-modal-handle .draggable-modal-cancel,._overlay_5x3op_1 ._content_5x3op_41._isDraggable_5x3op_70 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_5x3op_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_5x3op_1{0%{opacity:0}to{opacity:1}}._footer_5x3op_101{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_5x3op_105{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_5x3op_105{position:static;box-shadow:none}}._portal_17ze5_1{--drawer-width: 370px}._portal_17ze5_1 ._overlay_17ze5_4{position:fixed;top:0;right:0;bottom:0;left:0}._portal_17ze5_1 ._content_17ze5_9{box-shadow:var(--swui-shadow-modal);background:#fff;position:absolute;transition:transform var(--swui-animation-time-medium) ease-in-out}._portal_17ze5_1 ._content_17ze5_9._floating_17ze5_15{margin:var(--swui-metrics-space);border-radius:var(--swui-border-radius)}@media (max-width: 768px){._portal_17ze5_1 ._content_17ze5_9._floating_17ze5_15{margin:0;border-radius:0}}._portal_17ze5_1 ._content_17ze5_9:focus-visible{outline:unset}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29,._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30{transform:translate(var(--translate-x-outside-screen, 0));overflow-y:auto;top:0;bottom:0}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29._afterOpen_17ze5_36,._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30._afterOpen_17ze5_36{transform:translate(0)}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29._beforeClose_17ze5_40,._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30._beforeClose_17ze5_40{transform:translate(var(--translate-x-outside-screen))}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45,._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46{transform:translateY(var(--translate-y-outside-screen, 0));overflow-x:auto;left:0;right:0}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45._afterOpen_17ze5_36,._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46._afterOpen_17ze5_36{transform:translateY(0)}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45._beforeClose_17ze5_40,._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46._beforeClose_17ze5_40{transform:translateY(var(--translate-y-outside-screen))}._portal_17ze5_1 ._content_17ze5_9._slideFromLeft_17ze5_29{--translate-x-outside-screen: -100%;width:var(--drawer-width);left:0}._portal_17ze5_1 ._content_17ze5_9._slideFromRight_17ze5_30{--translate-x-outside-screen: 100%;width:var(--drawer-width);right:0}._portal_17ze5_1 ._content_17ze5_9._slideFromTop_17ze5_45{--translate-y-outside-screen: -100%;height:var(--drawer-width);top:0}._portal_17ze5_1 ._content_17ze5_9._slideFromBottom_17ze5_46{--translate-y-outside-screen: 100%;height:var(--drawer-width);bottom:0}._overlay_r9tkq_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--swui-modal-max-width: 100%;--swui-modal-header-border-color: var(--lhds-color-ui-300);--swui-modal-shadow: var(--swui-shadow-modal);--swui-modal-footer-shadow: var(--swui-shadow-modal);position:fixed;z-index:10;top:0;left:0;right:0;bottom:0;background-color:var(--swui-modal-overlay-bg-color);overflow:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;animation:_fadeIn_r9tkq_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_r9tkq_1{background-color:#fff}}._overlay_r9tkq_1 ._modal_r9tkq_31{max-width:100%;outline:none;pointer-events:none;padding:var(--swui-metrics-space)}._overlay_r9tkq_1 ._content_r9tkq_38{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);border-radius:var(--swui-border-radius-large);pointer-events:all;width:var(--swui-modal-width);max-width:var(--swui-modal-max-width);animation:_appear_r9tkq_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_r9tkq_1 ._content_r9tkq_38{box-shadow:none;top:0}}._overlay_r9tkq_1 ._content_r9tkq_38 :focus{outline:0}._overlay_r9tkq_1 ._content_r9tkq_38._isDraggable_r9tkq_61 .draggable-modal-handle{cursor:move}._overlay_r9tkq_1 ._content_r9tkq_38._isDraggable_r9tkq_61 .draggable-modal-handle .draggable-modal-cancel,._overlay_r9tkq_1 ._content_r9tkq_38._isDraggable_r9tkq_61 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_r9tkq_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_r9tkq_1{0%{opacity:0}to{opacity:1}}._footer_r9tkq_92{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_r9tkq_96{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_r9tkq_96{position:static;box-shadow:none}}._overlay_1rolx_1{--swui-modal-animation-time: var(--swui-animation-time-fast);--swui-modal-overlay-bg-color: var(--swui-overlay-bg-color);--swui-modal-content-bg-color: var(--swui-white);--swui-modal-width: 960px;--swui-modal-max-width: 100%;--swui-modal-header-border-color: var(--lhds-color-ui-300);--swui-modal-shadow: var(--swui-shadow-modal);--swui-modal-footer-shadow: var(--swui-shadow-modal);position:fixed;z-index:10;top:0;left:0;right:0;bottom:0;background-color:var(--swui-modal-overlay-bg-color);overflow:auto;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;animation:_fadeIn_1rolx_1 var(--swui-modal-animation-time) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_1rolx_1{background-color:#fff}}._overlay_1rolx_1 ._modal_1rolx_31{max-width:100%;outline:none;pointer-events:none}@media (max-width: 768px){._overlay_1rolx_1 ._modal_1rolx_31{width:100%}}._overlay_1rolx_1 ._content_1rolx_41{position:relative;display:block;background:var(--swui-modal-content-bg-color);box-shadow:var(--swui-modal-shadow);border-radius:var(--swui-border-radius-large);pointer-events:all;width:var(--swui-modal-width);max-width:var(--swui-modal-max-width)}@media (max-width: 768px){._overlay_1rolx_1 ._content_1rolx_41{border-radius:0;width:100%;max-width:100%;height:100vh}}._overlay_1rolx_1 ._content_1rolx_41{animation:_appear_1rolx_1 var(--swui-animation-time-fast) cubic-bezier(.645,.045,.355,1) both}@media print{._overlay_1rolx_1 ._content_1rolx_41{box-shadow:none;top:0}}._overlay_1rolx_1 ._content_1rolx_41 :focus{outline:0}._overlay_1rolx_1 ._content_1rolx_41._isDraggable_1rolx_71 .draggable-modal-handle{cursor:move}._overlay_1rolx_1 ._content_1rolx_41._isDraggable_1rolx_71 .draggable-modal-handle .draggable-modal-cancel,._overlay_1rolx_1 ._content_1rolx_41._isDraggable_1rolx_71 .draggable-modal-handle [role=tooltip]{cursor:initial}@keyframes _fadeIn_1rolx_1{0%{background-color:var(--swui-hidden)}to{background-color:var(--swui-modal-overlay-bg-color)}}@keyframes _appear_1rolx_1{0%{opacity:0}to{opacity:1}}._footer_1rolx_102{background-color:var(--swui-modal-content-bg-color)}._stickyFooter_1rolx_106{position:-webkit-sticky;position:sticky;bottom:0;box-shadow:var(--swui-modal-footer-shadow)}@media print{._stickyFooter_1rolx_106{position:static;box-shadow:none}}._modal_4fwgb_1{display:flex;justify-content:center;align-items:center;position:fixed;top:0;left:0;right:0;bottom:0;background-color:transparent}._overlay_4fwgb_13{position:fixed;top:0;left:0;right:0;bottom:0;background-color:var(--swui-overlay-bg-color)}._alertDialog_14t8t_1{border:0;outline:0;border-radius:var(--swui-border-radius-large);margin:auto;padding:0;overscroll-behavior:contain;opacity:0;pointer-events:none;box-shadow:#0003 0 0 10px 4px}._alertDialog_14t8t_1:not([open]){display:none}._alertDialog_14t8t_1[open]{opacity:1;pointer-events:auto;animation:_slideIn_14t8t_1 .25s forwards}._alertDialog_14t8t_1._closing_14t8t_22[open]{animation:_slideOut_14t8t_1 .25s forwards}._alertDialog_14t8t_1::backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0d0e1080;animation:_fadeIn_14t8t_1 .25s forwards}._alertDialog_14t8t_1._closing_14t8t_22::backdrop{animation:_fadeOut_14t8t_1 .25s forwards}@keyframes _fadeIn_14t8t_1{0%{opacity:0}to{opacity:1}}@keyframes _fadeOut_14t8t_1{0%{opacity:1}to{opacity:0}}@keyframes _slideIn_14t8t_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOut_14t8t_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}._drawerDialog_11g6r_1{max-height:100%;max-width:100%;border:0;outline:0;margin:0;padding:0;overflow-y:auto;overscroll-behavior:contain;box-shadow:#0003 0 0 10px 4px;position:fixed}._drawerDialog_11g6r_1._left_11g6r_13,._drawerDialog_11g6r_1._right_11g6r_14{height:100%;top:0;bottom:0}._drawerDialog_11g6r_1._left_11g6r_13 ._contentWrapper_11g6r_19,._drawerDialog_11g6r_1._right_11g6r_14 ._contentWrapper_11g6r_19{height:100%}@media (max-width: 768px){._drawerDialog_11g6r_1._left_11g6r_13,._drawerDialog_11g6r_1._right_11g6r_14{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}}._drawerDialog_11g6r_1._left_11g6r_13{left:0;right:unset}._drawerDialog_11g6r_1._left_11g6r_13[open]{animation:_slideInLeft_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._left_11g6r_13._closing_11g6r_36[open]{animation:_slideOutLeft_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._right_11g6r_14{left:unset;right:0}._drawerDialog_11g6r_1._right_11g6r_14[open]{animation:_slideInRight_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._right_11g6r_14._closing_11g6r_36[open]{animation:_slideOutRight_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._top_11g6r_54,._drawerDialog_11g6r_1._bottom_11g6r_55{width:100%;left:0;right:0}@media (max-width: 768px){._drawerDialog_11g6r_1._top_11g6r_54,._drawerDialog_11g6r_1._bottom_11g6r_55{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content}}._drawerDialog_11g6r_1._top_11g6r_54{top:0;bottom:unset}._drawerDialog_11g6r_1._top_11g6r_54[open]{animation:_slideInTop_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._top_11g6r_54._closing_11g6r_36[open]{animation:_slideOutTop_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._bottom_11g6r_55{top:unset;bottom:0}._drawerDialog_11g6r_1._bottom_11g6r_55[open]{animation:_slideInBottom_11g6r_1 .25s forwards}._drawerDialog_11g6r_1._bottom_11g6r_55._closing_11g6r_36[open]{animation:_slideOutBottom_11g6r_1 .25s forwards}._drawerDialog_11g6r_1[open]{opacity:1;pointer-events:auto}@keyframes _slideInLeft_11g6r_1{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _slideOutLeft_11g6r_1{0%{transform:translate(0);opacity:0}to{transform:translate(-100%);opacity:1}}@keyframes _slideInTop_11g6r_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOutTop_11g6r_1{0%{transform:translateY(0);opacity:0}to{transform:translateY(-100%);opacity:1}}@keyframes _slideInRight_11g6r_1{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes _slideOutRight_11g6r_1{0%{transform:translate(0);opacity:0}to{transform:translate(100%);opacity:1}}@keyframes _slideInBottom_11g6r_1{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOutBottom_11g6r_1{0%{transform:translateY(0);opacity:0}to{transform:translateY(100%);opacity:1}}._modalDialog_1cbj8_1{border:0;outline:0;margin:auto;padding:0;overscroll-behavior:contain;opacity:0;pointer-events:none;box-shadow:#0003 0 0 10px 4px}@media (min-width: 769px){._modalDialog_1cbj8_1{border-radius:var(--swui-border-radius-large)}}._modalDialog_1cbj8_1:not([open]){display:none}._modalDialog_1cbj8_1[open]{opacity:1;pointer-events:auto;animation:_slideIn_1cbj8_1 .25s forwards}._modalDialog_1cbj8_1._closing_1cbj8_25[open]{animation:_slideOut_1cbj8_1 .25s forwards}@media (max-width: 768px){._modalDialog_1cbj8_1{margin:0;width:100%;max-width:100%;height:100%;max-height:100%}}._modalDialog_1cbj8_1::backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#0d0e1080;animation:_fadeIn_1cbj8_1 .25s forwards}._modalDialog_1cbj8_1._closing_1cbj8_25::backdrop{animation:_fadeOut_1cbj8_1 .25s forwards}@keyframes _fadeIn_1cbj8_1{0%{opacity:0}to{opacity:1}}@keyframes _fadeOut_1cbj8_1{0%{opacity:1}to{opacity:0}}@keyframes _slideIn_1cbj8_1{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes _slideOut_1cbj8_1{0%{transform:translateY(0);opacity:1}to{transform:translateY(-100%);opacity:0}}@media (max-width: 768px){._contentWrapper_1cbj8_89{width:100%;height:100%}}._modalActionButtons_s27nj_1{display:flex;flex-direction:row;gap:16px;justify-content:center}@media (max-width: 768px){._modalActionButtons_s27nj_1{flex-direction:column;justify-content:stretch}}._modalFooter_112wr_1._modalFooter_112wr_1{display:flex;align-items:center;overflow:hidden;background:var(--silver-lighter);border-radius:24px 24px 0 0;padding:0 calc((var(--swui-metrics-indent) * 5));flex-shrink:0}._modalFooter_112wr_1._modalFooter_112wr_1._sticky_112wr_10{position:-webkit-sticky;position:sticky;bottom:0}")),document.head.appendChild(o)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}})();
2
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("react-modal"),t=require("react/jsx-runtime"),a=require("react"),J=require("react-draggable"),c=require("classnames"),l=require("@stenajs-webui/core"),y=require("@stenajs-webui/elements"),K=require("@stenajs-webui/theme"),Q=s=>{b.setAppElement(s)},U="_overlay_5x3op_1",X="_fadeIn_5x3op_1",Y="_modal_5x3op_31",Z="_content_5x3op_41",ee="_appear_5x3op_1",te="_isDraggable_5x3op_70",se="_footer_5x3op_101",oe="_stickyFooter_5x3op_105",w={overlay:U,fadeIn:X,modal:Y,content:Z,appear:ee,isDraggable:te,footer:se,stickyFooter:oe},M="draggable-modal-handle",S="draggable-modal-cancel",q=({width:s,maxWidth:e,draggable:o=!1,children:n,...r})=>{const d=a.useRef(null);return t.jsx(b,{overlayClassName:w.overlay,className:w.modal,...r,children:t.jsx(J,{handle:`.${M}`,cancel:`.${S}, button, [role="tooltip"]`,bounds:".ReactModal__Overlay",disabled:!o,nodeRef:d,children:t.jsx("div",{style:{"--swui-modal-width":s,"--swui-modal-max-width":e},className:c(w.content,{[w.isDraggable]:o}),ref:d,children:n})})})},le="_portal_17ze5_1",ne="_overlay_17ze5_4",ae="_content_17ze5_9",re="_floating_17ze5_15",ce="_slideFromLeft_17ze5_29",ie="_slideFromRight_17ze5_30",de="_afterOpen_17ze5_36",_e="_beforeClose_17ze5_40",ue="_slideFromTop_17ze5_45",me="_slideFromBottom_17ze5_46",i={portal:le,overlay:ne,content:ae,floating:re,slideFromLeft:ce,slideFromRight:ie,afterOpen:de,beforeClose:_e,slideFromTop:ue,slideFromBottom:me},ge=({background:s,zIndex:e,children:o,slideFrom:n="left",portalTarget:r,floating:d,..._})=>{const{height:g,width:u}=_;return t.jsx(b,{closeTimeoutMS:250,portalClassName:i.portal,overlayClassName:{base:i.overlay,afterOpen:i.afterOpen,beforeClose:i.beforeClose},className:{base:c(i.content,fe(n),d&&i.floating),afterOpen:i.afterOpen,beforeClose:i.beforeClose},style:{content:{width:u,height:g,background:s},overlay:{zIndex:e}},parentSelector:r?()=>r:void 0,..._,children:o})},fe=s=>{switch(s){case"left":return i.slideFromLeft;case"right":return i.slideFromRight;case"top":return i.slideFromTop;case"bottom":return i.slideFromBottom;default:return l.exhaustSwitchCase(s,i.slideFromLeft)}},xe=({header:s,contentRight:e,onRequestClose:o,icon:n})=>t.jsx(l.Spacing,{position:"sticky",top:0,zIndex:100,background:K.cssColor("--lhds-color-ui-50"),children:t.jsxs(l.Row,{justifyContent:"space-between",alignItems:"center",height:"48px",children:[t.jsxs(l.Row,{alignItems:"center",gap:2,children:[t.jsx(l.Space,{num:1}),n&&t.jsx(y.Icon,{icon:n,size:24}),t.jsx(l.Heading,{variant:"h4",children:s})]}),t.jsxs(l.Row,{gap:1,children:[e,t.jsx(y.FlatButton,{leftIcon:y.stenaTimes,onClick:o,variant:"danger"}),t.jsx(l.Space,{num:.5})]})]})}),ye="_overlay_r9tkq_1",he="_fadeIn_r9tkq_1",Ce="_modal_r9tkq_31",je="_content_r9tkq_38",we="_appear_r9tkq_1",be="_isDraggable_r9tkq_61",ve="_footer_r9tkq_92",Ne="_stickyFooter_r9tkq_96",F={overlay:ye,fadeIn:he,modal:Ce,content:je,appear:we,isDraggable:be,footer:ve,stickyFooter:Ne},pe={overlay:{justifyContent:"center"}},De=({children:s,...e})=>t.jsx(b,{overlayClassName:F.overlay,className:F.modal,style:pe,...e,children:t.jsx("div",{className:F.content,style:{"--swui-modal-width":"fit-content"},children:s})}),Ie="_overlay_1rolx_1",Oe="_fadeIn_1rolx_1",ke="_modal_1rolx_31",$e="_content_1rolx_41",Fe="_appear_1rolx_1",Re="_isDraggable_1rolx_71",Ae="_footer_1rolx_102",Be="_stickyFooter_1rolx_106",R={overlay:Ie,fadeIn:Oe,modal:ke,content:$e,appear:Fe,isDraggable:Re,footer:Ae,stickyFooter:Be},Me={overlay:{justifyContent:"center"}},Se=({children:s,...e})=>t.jsx(b,{overlayClassName:R.overlay,className:R.modal,style:Me,...e,children:t.jsx("div",{className:R.content,style:{"--swui-modal-width":"fit-content"},children:s})}),We="_modal_4fwgb_1",Le="_overlay_4fwgb_13",E={modal:We,overlay:Le},Ee=({headerIconLeft:s,headerText:e,shouldCloseOnOverlayClick:o=!1,shouldCloseOnEsc:n=!1,...r})=>t.jsx(b,{...r,isOpen:!0,shouldCloseOnOverlayClick:o,shouldCloseOnEsc:n,className:E.modal,overlayClassName:E.overlay,children:t.jsxs(l.Column,{spacing:2,alignItems:"center",children:[t.jsx(l.Box,{alignItems:"center",justifyContent:"center",width:"64px",height:"64px",borderRadius:"50%",background:"white",shadow:"modal",children:t.jsx(y.Spinner,{size:"small"})}),(s||e)&&t.jsxs(t.Fragment,{children:[t.jsx(l.Spacing,{}),t.jsxs(l.Row,{indent:2,children:[s&&t.jsxs(t.Fragment,{children:[t.jsx(y.Icon,{size:14,icon:s,color:"white"}),t.jsx(l.Indent,{})]}),e&&t.jsx(l.Heading,{variant:"h4",color:"white",children:e})]})]})]})}),H=({onRequestClose:s,header:e,headerText:o,closeButtonClassName:n})=>t.jsxs(l.Row,{spacing:2,indent:2,borderBottom:"1px solid var(--lhds-color-ui-300)",className:M,children:[t.jsxs(l.Row,{flex:1,indent:!0,alignItems:"center",children:[o&&t.jsx(l.Txt,{className:S,size:"large",children:o}),e]}),t.jsx(l.Box,{alignSelf:"flex-start",children:t.jsx(y.CloseButton,{className:n,onClick:s})})]}),ze=({header:s,headerText:e,children:o,spacing:n,indent:r,draggable:d=!1,onRequestClose:_,closeButtonClassName:g,footer:u,disableStickyFooter:j=!1,...v})=>{const N=typeof n=="number"?n:1,D=typeof r=="number"?r:1;return t.jsxs(q,{...v,onRequestClose:_,draggable:d,children:[t.jsx(H,{onRequestClose:_,header:s,headerText:e,closeButtonClassName:g}),t.jsx(l.Box,{spacing:N,indent:D,children:o}),u&&t.jsx(l.Box,{className:c(w.footer,{[w.stickyFooter]:!j}),children:u})]})},qe=({children:s})=>t.jsx(l.Column,{indent:2,spacing:2,children:s}),T=a.createContext(void 0);function k(s,e){const o=a.useRef(null),n=e.ref??o,[r,d]=a.useReducer(m=>m+1,0),_=a.useRef(),g=a.useRef(),u=a.useRef(),j=a.useRef(),[v,N]=a.useState(!1),[D,p]=a.useState(!1),$=s,V=a.useCallback(m=>{var f,x;return _.current=new Promise((h,C)=>{g.current=h,j.current=C}),p(!1),N(!0),d(),u.current=m,e.modal?(f=n.current)==null||f.showModal():(x=n.current)==null||x.show(),_.current},[n,e.modal]),L=a.useCallback(m=>{var f;p(!0),(f=n.current)==null||f.addEventListener("animationend",()=>{var x,h,C;p(!1),N(!1),(x=n.current)==null||x.close(),(h=g.current)==null||h.call(g,m),u.current=void 0,(C=e.onResolve)==null||C.call(e)},{once:!0})},[n,e]),I=a.useCallback(m=>{var f;p(!0),(f=n.current)==null||f.addEventListener("animationend",()=>{var x,h,C;p(!1),N(!1),(x=n.current)==null||x.close(),(h=j.current)==null||h.call(j,m),(C=e.onReject)==null||C.call(e),u.current=void 0},{once:!0})},[n,e]);return[a.useMemo(()=>t.jsx(T.Provider,{value:{resolve:L,reject:I},children:t.jsx("dialog",{onClick:e.disableCloseOnClickOutside?void 0:()=>I(),ref:n,className:c(e.className,D&&e.closingClassName),style:e.dialogStyle,children:e.disableCloseOnClickOutside?t.jsx(t.Fragment,{children:v&&a.createElement($,{...u.current,key:r})}):t.jsx("div",{style:e.contentWrapperStyle,className:e.contentWrapperClassName,onClick:e.disableCloseOnClickOutside?void 0:m=>m.stopPropagation(),children:v&&a.createElement($,{...u.current,key:r})})})}),[L,I,e.disableCloseOnClickOutside,e.className,e.closingClassName,e.dialogStyle,e.contentWrapperStyle,e.contentWrapperClassName,n,D,v,$,r]),{show:V,reject:I}]}const He=()=>{const s=a.useContext(T);if(s==null)throw new Error("useDialogPromise is being used outside of dialog.");return s},Te="_alertDialog_14t8t_1",Ge="_slideIn_14t8t_1",Pe="_closing_14t8t_22",Ve="_slideOut_14t8t_1",Je="_fadeIn_14t8t_1",Ke="_fadeOut_14t8t_1",A={alertDialog:Te,slideIn:Ge,closing:Pe,slideOut:Ve,fadeIn:Je,fadeOut:Ke};function Qe(s,e){return k(s,{...e,modal:!0,closingClassName:c(e==null?void 0:e.closingClassName,A.closing),contentWrapperClassName:c(e==null?void 0:e.contentWrapperClassName,A.contentWrapper),className:c(e==null?void 0:e.className,A.alertDialog)})}const Ue="_drawerDialog_11g6r_1",Xe="_left_11g6r_13",Ye="_right_11g6r_14",Ze="_contentWrapper_11g6r_19",et="_slideInLeft_11g6r_1",tt="_closing_11g6r_36",st="_slideOutLeft_11g6r_1",ot="_slideInRight_11g6r_1",lt="_slideOutRight_11g6r_1",nt="_top_11g6r_54",at="_bottom_11g6r_55",rt="_slideInTop_11g6r_1",ct="_slideOutTop_11g6r_1",it="_slideInBottom_11g6r_1",dt="_slideOutBottom_11g6r_1",O={drawerDialog:Ue,left:Xe,right:Ye,contentWrapper:Ze,slideInLeft:et,closing:tt,slideOutLeft:st,slideInRight:ot,slideOutRight:lt,top:nt,bottom:at,slideInTop:rt,slideOutTop:ct,slideInBottom:it,slideOutBottom:dt};function _t(s,e="left",o){return k(s,{...o,disableCloseOnClickOutside:!0,modal:!1,closingClassName:c(o==null?void 0:o.closingClassName,O.closing),contentWrapperClassName:c(o==null?void 0:o.contentWrapperClassName,O.contentWrapper),className:c(o==null?void 0:o.className,O.drawerDialog,O[e])})}const ut="_modalDialog_1cbj8_1",mt="_slideIn_1cbj8_1",gt="_closing_1cbj8_25",ft="_slideOut_1cbj8_1",xt="_fadeIn_1cbj8_1",yt="_fadeOut_1cbj8_1",ht="_contentWrapper_1cbj8_89",B={modalDialog:ut,slideIn:mt,closing:gt,slideOut:ft,fadeIn:xt,fadeOut:yt,contentWrapper:ht};function Ct(s,e){return k(s,{...e,modal:!0,closingClassName:c(e==null?void 0:e.closingClassName,B.closing),contentWrapperClassName:c(e==null?void 0:e.contentWrapperClassName,B.contentWrapper),className:c(e==null?void 0:e.className,B.modalDialog)})}const W=({children:s})=>t.jsx(l.Heading,{variant:"h3",as:"h2",children:s}),jt="_modalActionButtons_s27nj_1",wt={modalActionButtons:jt},G=({buttons:s})=>t.jsxs(l.Box,{width:"100%",children:[t.jsx(l.Spacing,{}),t.jsx("div",{className:wt.modalActionButtons,children:s})]}),P=({gap:s=3,...e})=>t.jsx(l.Box,{indent:3,spacing:3,gap:s,...e}),bt=({icon:s,buttons:e,heading:o,text:n,children:r,maxWidth:d,minWidth:_})=>t.jsxs(P,{flexDirection:"column",alignItems:"center",maxWidth:d,minWidth:_,children:[s&&t.jsx(y.CircledIcon,{icon:s,size:"large"}),t.jsx(W,{children:o}),n&&t.jsx(l.Text,{textAlign:"center",children:n}),r,e&&t.jsx(G,{buttons:e})]}),vt=({children:s})=>t.jsx(l.Column,{flex:1,height:"100%",justifyContent:"space-between",children:s}),Nt=({heading:s,onClickClose:e})=>t.jsxs(l.Row,{justifyContent:"space-between",children:[s&&t.jsx(W,{children:s}),t.jsx(y.CloseButton,{onClick:e})]}),pt="_modalFooter_112wr_1",Dt="_sticky_112wr_10",z={modalFooter:pt,sticky:Dt},It=({children:s,sticky:e,zIndex:o=4})=>t.jsx(l.Row,{className:c(z.modalFooter,e&&z.sticky),shadow:"var(--swui-sticky-footer-shadow)",zIndex:o,children:s});exports.Alert=De;exports.BaseWindow=q;exports.DRAGGABLE_CANCEL_CLASSNAME=S;exports.DRAGGABLE_HANDLE_CLASSNAME=M;exports.Drawer=ge;exports.DrawerHeader=xe;exports.InfoAlert=bt;exports.LoadingModal=Ee;exports.Modal=Se;exports.ModalActionButtons=G;exports.ModalBody=P;exports.ModalContainer=vt;exports.ModalFooter=It;exports.ModalHeader=Nt;exports.ModalHeading=W;exports.Window=ze;exports.WindowFooter=qe;exports.WindowHeader=H;exports.setupDeclarativeModals=Q;exports.useAlertDialog=Qe;exports.useDialog=k;exports.useDialogPromise=He;exports.useDrawerDialog=_t;exports.useModalDialog=Ct;
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/declarative-modals/DeclarativeModalSetup.ts","../src/declarative-modals/window/BaseWindow.tsx","../src/declarative-modals/drawer/Drawer.tsx","../src/declarative-modals/drawer/DrawerHeader.tsx","../src/declarative-modals/alert/Alert.tsx","../src/declarative-modals/modal/Modal.tsx","../src/declarative-modals/loading-modal/LoadingModal.tsx","../src/declarative-modals/window/WindowHeader.tsx","../src/declarative-modals/window/Window.tsx","../src/declarative-modals/window/WindowFooter.tsx","../src/dialog/DialogContext.ts","../src/dialog/UseDialog.tsx","../src/dialog/UseDialogPromise.ts","../src/dialog/alert/UseAlertDialog.ts","../src/dialog/drawer/UseDrawerDialog.ts","../src/dialog/modal/UseModalDialog.ts","../src/building-blocks/ModalHeading.tsx","../src/building-blocks/ModalActionButtons.tsx","../src/building-blocks/ModalBody.tsx","../src/ready-made-modals/InfoAlert.tsx","../src/building-blocks/ModalHeader.tsx"],"sourcesContent":["import ReactModal from \"react-modal\";\n\nexport const setupDeclarativeModals = (htmlElement: string | HTMLElement) => {\n ReactModal.setAppElement(htmlElement);\n};\n","import * as React from \"react\";\nimport { useRef } from \"react\";\nimport ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface BaseWindowProps extends ReactModal.Props {\n width?: string;\n maxWidth?: 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 BaseWindow: React.FC<BaseWindowProps> = ({\n width,\n maxWidth,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n const nodeRef = useRef(null);\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 nodeRef={nodeRef}\n >\n <div\n style={{\n [\"--swui-modal-width\" as string]: width,\n [\"--swui-modal-max-width\" as string]: maxWidth,\n }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n ref={nodeRef}\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\";\nimport {\n SlideFrom,\n SlideFromLeftRight,\n SlideFromTopBottom,\n} from \"../../common-types\";\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\n /**\n * When true, there will be a gap between the drawer and the viewport.\n */\n floating?: boolean;\n\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 floating,\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(\n styles.content,\n getClassNameForSlide(slideFrom),\n floating && styles.floating\n ),\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 { ReactNode } from \"react\";\nimport { Heading, Row, Space, Spacing } from \"@stenajs-webui/core\";\nimport { FlatButton, Icon, stenaTimes } from \"@stenajs-webui/elements\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\nexport interface DrawerHeaderProps {\n onRequestClose: () => void;\n header?: string;\n contentRight?: ReactNode;\n icon?: IconDefinition;\n}\n\nexport const DrawerHeader: React.FC<DrawerHeaderProps> = ({\n header,\n contentRight,\n onRequestClose,\n icon,\n}) => {\n return (\n <Spacing\n position={\"sticky\"}\n top={0}\n zIndex={100}\n background={cssColor(\"--lhds-color-ui-50\")}\n >\n <Row\n justifyContent={\"space-between\"}\n alignItems={\"center\"}\n height={\"48px\"}\n >\n <Row alignItems={\"center\"} gap={2}>\n <Space num={1} />\n {icon && <Icon icon={icon} size={24} />}\n <Heading variant={\"h4\"}>{header}</Heading>\n </Row>\n <Row gap={1}>\n {contentRight}\n <FlatButton\n leftIcon={stenaTimes}\n onClick={onRequestClose}\n variant={\"danger\"}\n />\n <Space num={0.5} />\n </Row>\n </Row>\n </Spacing>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Alert.module.css\";\n\nexport interface AlertProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Alert: React.FC<AlertProps> = ({\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 * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Modal: React.FC<ModalProps> = ({\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 shouldCloseOnOverlayClick = false,\n shouldCloseOnEsc = false,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n shouldCloseOnEsc={shouldCloseOnEsc}\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 { CloseButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseWindow\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface WindowHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const WindowHeader: React.FC<WindowHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--lhds-color-ui-300)\"}\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 <CloseButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseWindow, BaseWindowProps } from \"./BaseWindow\";\nimport { WindowHeader, WindowHeaderProps } from \"./WindowHeader\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface WindowProps extends BaseWindowProps, WindowHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: boolean;\n}\n\nexport const Window: React.FC<WindowProps> = ({\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 <BaseWindow\n {...props}\n onRequestClose={onRequestClose}\n draggable={draggable}\n >\n <WindowHeader\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 </BaseWindow>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface WindowFooterProps {\n children?: ReactNode;\n}\n\nexport const WindowFooter: React.FC<WindowFooterProps> = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n","import { createContext } from \"react\";\nimport { RejectCommand, ResolveCommand } from \"./DialogCommands\";\n\nexport interface DialogContextValue<TResolveValue> {\n resolve: ResolveCommand<TResolveValue>;\n reject: RejectCommand;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const DialogContext = createContext<DialogContextValue<any> | undefined>(\n undefined\n);\n","import cx from \"classnames\";\nimport React, {\n CSSProperties,\n ReactNode,\n RefObject,\n useCallback,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport { RejectCommand, ResolveCommand, ShowCommand } from \"./DialogCommands\";\nimport { DialogContext } from \"./DialogContext\";\n\ntype UseDialogCallbacks<TProps, TPromiseResolve> = {\n show: ShowCommand<TProps, TPromiseResolve>;\n reject: RejectCommand;\n};\n\nexport type UseDialogResult<TProps, TPromiseResolve> = [\n ReactNode,\n UseDialogCallbacks<TProps, TPromiseResolve>\n];\n\nexport interface DialogOptions {\n disableCloseOnClickOutside?: boolean;\n modal: boolean;\n className: string;\n closingClassName: string;\n contentWrapperClassName: string;\n contentWrapperStyle?: CSSProperties;\n dialogStyle?: CSSProperties;\n ref?: RefObject<HTMLDialogElement>;\n onResolve?: () => void;\n onReject?: () => void;\n}\n\nexport function useDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options: DialogOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n const localRef = useRef<HTMLDialogElement>(null);\n const currentRef = options.ref ?? localRef;\n const [key, forceRerender] = useReducer((x) => x + 1, 0);\n const promiseRef = useRef<Promise<TPromiseResolve | undefined>>();\n const resolveRef = useRef<ResolveCommand<TPromiseResolve> | undefined>();\n const modalComponentProps = useRef<TProps>();\n const rejectRef = useRef<RejectCommand | undefined>();\n const [contentVisible, setContentVisible] = useState(false);\n const [closing, setClosing] = useState(false);\n\n const Comp = component;\n\n const show = useCallback<ShowCommand<TProps, TPromiseResolve>>(\n (props?: TProps) => {\n promiseRef.current = new Promise<TPromiseResolve | undefined>(\n (resolve, reject) => {\n resolveRef.current = resolve;\n rejectRef.current = reject;\n }\n );\n setClosing(false);\n setContentVisible(true);\n forceRerender();\n modalComponentProps.current = props;\n if (options.modal) {\n currentRef.current?.showModal();\n } else {\n currentRef.current?.show();\n }\n return promiseRef.current;\n },\n [currentRef, options.modal]\n );\n\n const resolve = useCallback<ResolveCommand<TPromiseResolve>>(\n (value) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n options.onResolve?.();\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const reject = useCallback<RejectCommand>(\n (error) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n rejectRef.current?.(error);\n options.onReject?.();\n modalComponentProps.current = undefined;\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const dialogElement = useMemo<ReactNode>(\n () => (\n <DialogContext.Provider value={{ resolve, reject }}>\n <dialog\n onClick={\n options.disableCloseOnClickOutside ? undefined : () => reject()\n }\n ref={currentRef}\n className={cx(options.className, closing && options.closingClassName)}\n style={options.dialogStyle}\n >\n {options.disableCloseOnClickOutside ? (\n <>\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </>\n ) : (\n <div\n style={options.contentWrapperStyle}\n className={options.contentWrapperClassName}\n onClick={\n options.disableCloseOnClickOutside\n ? undefined\n : (ev) => ev.stopPropagation()\n }\n >\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </div>\n )}\n </dialog>\n </DialogContext.Provider>\n ),\n [\n resolve,\n reject,\n options.disableCloseOnClickOutside,\n options.className,\n options.closingClassName,\n options.dialogStyle,\n options.contentWrapperStyle,\n options.contentWrapperClassName,\n currentRef,\n closing,\n contentVisible,\n Comp,\n key,\n ]\n );\n\n return [dialogElement, { show, reject }];\n}\n","import { useContext } from \"react\";\nimport { DialogContext, DialogContextValue } from \"./DialogContext\";\n\nexport const useDialogPromise = <\n TResolveValue = void\n>(): DialogContextValue<TResolveValue> => {\n const context = useContext(DialogContext);\n if (context == null) {\n throw new Error(\"useDialogPromise is being used outside of dialog.\");\n }\n return context as DialogContextValue<TResolveValue>;\n};\n","import * as React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./AlertDialog.module.css\";\n\nexport function useAlertDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.alertDialog),\n });\n}\n","import * as React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./DrawerDialog.module.css\";\nimport { SlideFrom } from \"../../common-types\";\n\ninterface DrawerOptions\n extends Partial<Omit<DialogOptions, \"disableCloseOnClickOutside\">> {}\n\nexport function useDrawerDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n slideFrom: SlideFrom = \"left\",\n options?: DrawerOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n disableCloseOnClickOutside: true,\n modal: false,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.drawerDialog, styles[slideFrom]),\n });\n}\n","import * as React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./ModalDialog.module.css\";\n\nexport function useModalDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.modalDialog),\n });\n}\n","import * as React from \"react\";\nimport { Heading } from \"@stenajs-webui/core\";\n\nexport interface ModalHeadingProps {\n children: string;\n}\n\nexport const ModalHeading: React.FC<ModalHeadingProps> = ({ children }) => {\n return (\n <Heading variant={\"h3\"} as={\"h2\"}>\n {children}\n </Heading>\n );\n};\n","import * as React from \"react\";\nimport styles from \"./ModalActionButtons.module.css\";\nimport { ReactNode } from \"react\";\n\nexport interface ModalActionButtonsProps {\n buttons: ReactNode;\n}\n\nexport const ModalActionButtons: React.FC<ModalActionButtonsProps> = ({\n buttons,\n}) => {\n return <div className={styles.modalActionButtons}>{buttons}</div>;\n};\n","import * as React from \"react\";\nimport { Box, BoxProps } from \"@stenajs-webui/core\";\n\nexport interface ModalBodyProps extends Omit<BoxProps, \"indent\" | \"spacing\"> {}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({ gap = 2, ...props }) => {\n return <Box indent={4} spacing={4} gap={gap} {...props} />;\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport { Box, Spacing, Text } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"../building-blocks/ModalHeading\";\nimport { ModalActionButtons } from \"../building-blocks/ModalActionButtons\";\nimport { MediumIcon } from \"@stenajs-webui/elements\";\nimport { CircledIcon } from \"@stenajs-webui/elements\";\nimport { ModalBody } from \"../building-blocks/ModalBody\";\n\nexport interface InfoAlertProps extends PropsWithChildren {\n heading: string;\n text?: string;\n buttons?: ReactNode;\n icon?: MediumIcon;\n onRequestClose?: () => void;\n maxWidth?: string;\n minWidth?: string;\n}\n\nexport const InfoAlert: React.FC<InfoAlertProps> = ({\n icon,\n buttons,\n heading,\n text,\n children,\n maxWidth,\n minWidth,\n}) => {\n return (\n <ModalBody\n flexDirection={\"column\"}\n alignItems={\"center\"}\n maxWidth={maxWidth}\n minWidth={minWidth}\n >\n {icon && <CircledIcon icon={icon} size={\"large\"} />}\n <ModalHeading>{heading}</ModalHeading>\n {text && <Text textAlign={\"center\"}>{text}</Text>}\n {children}\n {buttons && (\n <>\n <Box width={\"100%\"}>\n <Spacing />\n <ModalActionButtons buttons={buttons} />\n </Box>\n </>\n )}\n </ModalBody>\n );\n};\n","import * as React from \"react\";\nimport { Row } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"./ModalHeading\";\nimport { CloseButton } from \"@stenajs-webui/elements\";\n\nexport interface ModalHeaderProps {\n heading?: string;\n onClickClose?: () => void;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n heading,\n onClickClose,\n}) => {\n return (\n <Row justifyContent={\"space-between\"}>\n {heading && <ModalHeading>{heading}</ModalHeading>}\n <CloseButton onClick={onClickClose} />\n </Row>\n );\n};\n"],"names":["setupDeclarativeModals","htmlElement","ReactModal","DRAGGABLE_HANDLE_CLASSNAME","DRAGGABLE_CANCEL_CLASSNAME","BaseWindow","width","maxWidth","draggable","children","reactModalProps","nodeRef","useRef","jsx","styles","Draggable","cx","Drawer","background","zIndex","slideFrom","portalTarget","floating","height","getClassNameForSlide","exhaustSwitchCase","DrawerHeader","header","contentRight","onRequestClose","icon","Spacing","cssColor","jsxs","Row","Space","Icon","Heading","FlatButton","stenaTimes","style","Alert","Modal","LoadingModal","headerIconLeft","headerText","shouldCloseOnOverlayClick","shouldCloseOnEsc","modalProps","Column","Box","Spinner","Fragment","Indent","WindowHeader","closeButtonClassName","Txt","CloseButton","Window","spacing","indent","footer","disableStickyFooter","props","activeSpacing","activeIndent","WindowFooter","DialogContext","createContext","useDialog","component","options","localRef","currentRef","key","forceRerender","useReducer","x","promiseRef","resolveRef","modalComponentProps","rejectRef","contentVisible","setContentVisible","useState","closing","setClosing","Comp","show","useCallback","resolve","reject","_a","_b","value","_c","error","useMemo","createElement","ev","useDialogPromise","context","useContext","useAlertDialog","useDrawerDialog","useModalDialog","ModalHeading","ModalActionButtons","buttons","ModalBody","gap","InfoAlert","heading","text","minWidth","CircledIcon","Text","ModalHeader","onClickClose"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/declarative-modals/DeclarativeModalSetup.ts","../src/declarative-modals/window/BaseWindow.tsx","../src/declarative-modals/drawer/Drawer.tsx","../src/declarative-modals/drawer/DrawerHeader.tsx","../src/declarative-modals/alert/Alert.tsx","../src/declarative-modals/modal/Modal.tsx","../src/declarative-modals/loading-modal/LoadingModal.tsx","../src/declarative-modals/window/WindowHeader.tsx","../src/declarative-modals/window/Window.tsx","../src/declarative-modals/window/WindowFooter.tsx","../src/dialog/DialogContext.ts","../src/dialog/UseDialog.tsx","../src/dialog/UseDialogPromise.ts","../src/dialog/alert/UseAlertDialog.ts","../src/dialog/drawer/UseDrawerDialog.ts","../src/dialog/modal/UseModalDialog.ts","../src/building-blocks/ModalHeading.tsx","../src/building-blocks/ModalActionButtons.tsx","../src/building-blocks/ModalBody.tsx","../src/ready-made-modals/InfoAlert.tsx","../src/building-blocks/ModalContainer.tsx","../src/building-blocks/ModalHeader.tsx","../src/building-blocks/ModalFooter.tsx"],"sourcesContent":["import ReactModal from \"react-modal\";\n\nexport const setupDeclarativeModals = (htmlElement: string | HTMLElement) => {\n ReactModal.setAppElement(htmlElement);\n};\n","import * as React from \"react\";\nimport { useRef } from \"react\";\nimport ReactModal from \"react-modal\";\nimport Draggable from \"react-draggable\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface BaseWindowProps extends ReactModal.Props {\n width?: string;\n maxWidth?: 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 BaseWindow: React.FC<BaseWindowProps> = ({\n width,\n maxWidth,\n draggable = false,\n children,\n ...reactModalProps\n}) => {\n const nodeRef = useRef(null);\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 nodeRef={nodeRef}\n >\n <div\n style={{\n [\"--swui-modal-width\" as string]: width,\n [\"--swui-modal-max-width\" as string]: maxWidth,\n }}\n className={cx(styles.content, {\n [styles.isDraggable]: draggable,\n })}\n ref={nodeRef}\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\";\nimport {\n SlideFrom,\n SlideFromLeftRight,\n SlideFromTopBottom,\n} from \"../../common-types\";\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\n /**\n * When true, there will be a gap between the drawer and the viewport.\n */\n floating?: boolean;\n\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 floating,\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(\n styles.content,\n getClassNameForSlide(slideFrom),\n floating && styles.floating\n ),\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 { ReactNode } from \"react\";\nimport { Heading, Row, Space, Spacing } from \"@stenajs-webui/core\";\nimport { FlatButton, Icon, stenaTimes } from \"@stenajs-webui/elements\";\nimport { IconDefinition } from \"@fortawesome/fontawesome-svg-core\";\nimport { cssColor } from \"@stenajs-webui/theme\";\n\nexport interface DrawerHeaderProps {\n onRequestClose: () => void;\n header?: string;\n contentRight?: ReactNode;\n icon?: IconDefinition;\n}\n\nexport const DrawerHeader: React.FC<DrawerHeaderProps> = ({\n header,\n contentRight,\n onRequestClose,\n icon,\n}) => {\n return (\n <Spacing\n position={\"sticky\"}\n top={0}\n zIndex={100}\n background={cssColor(\"--lhds-color-ui-50\")}\n >\n <Row\n justifyContent={\"space-between\"}\n alignItems={\"center\"}\n height={\"48px\"}\n >\n <Row alignItems={\"center\"} gap={2}>\n <Space num={1} />\n {icon && <Icon icon={icon} size={24} />}\n <Heading variant={\"h4\"}>{header}</Heading>\n </Row>\n <Row gap={1}>\n {contentRight}\n <FlatButton\n leftIcon={stenaTimes}\n onClick={onRequestClose}\n variant={\"danger\"}\n />\n <Space num={0.5} />\n </Row>\n </Row>\n </Spacing>\n );\n};\n","import * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Alert.module.css\";\n\nexport interface AlertProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Alert: React.FC<AlertProps> = ({\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 * as React from \"react\";\nimport ReactModal from \"react-modal\";\n\nimport styles from \"./Modal.module.css\";\n\nexport interface ModalProps extends ReactModal.Props {\n onRequestClose?: () => void;\n}\n\nconst style = { overlay: { justifyContent: \"center\" } };\n\nexport const Modal: React.FC<ModalProps> = ({\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 shouldCloseOnOverlayClick = false,\n shouldCloseOnEsc = false,\n ...modalProps\n}) => {\n return (\n <ReactModal\n {...modalProps}\n isOpen\n shouldCloseOnOverlayClick={shouldCloseOnOverlayClick}\n shouldCloseOnEsc={shouldCloseOnEsc}\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 { CloseButton } from \"@stenajs-webui/elements\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport {\n DRAGGABLE_CANCEL_CLASSNAME,\n DRAGGABLE_HANDLE_CLASSNAME,\n} from \"./BaseWindow\";\nimport { Box, Row, Txt } from \"@stenajs-webui/core\";\n\nexport interface WindowHeaderProps {\n onRequestClose?: () => void;\n header?: ReactNode;\n headerText?: string;\n closeButtonClassName?: string;\n}\n\nexport const WindowHeader: React.FC<WindowHeaderProps> = ({\n onRequestClose,\n header,\n headerText,\n closeButtonClassName,\n}) => {\n return (\n <Row\n spacing={2}\n indent={2}\n borderBottom={\"1px solid var(--lhds-color-ui-300)\"}\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 <CloseButton\n className={closeButtonClassName}\n onClick={onRequestClose}\n />\n </Box>\n </Row>\n );\n};\n","import { Box } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { BaseWindow, BaseWindowProps } from \"./BaseWindow\";\nimport { WindowHeader, WindowHeaderProps } from \"./WindowHeader\";\nimport cx from \"classnames\";\nimport styles from \"./Window.module.css\";\n\nexport interface WindowProps extends BaseWindowProps, WindowHeaderProps {\n spacing?: number;\n indent?: number;\n draggable?: boolean;\n footer?: React.ReactNode;\n disableStickyFooter?: boolean;\n}\n\nexport const Window: React.FC<WindowProps> = ({\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 <BaseWindow\n {...props}\n onRequestClose={onRequestClose}\n draggable={draggable}\n >\n <WindowHeader\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 </BaseWindow>\n );\n};\n","import { Column } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\n\nexport interface WindowFooterProps {\n children?: ReactNode;\n}\n\nexport const WindowFooter: React.FC<WindowFooterProps> = ({ children }) => (\n <Column indent={2} spacing={2}>\n {children}\n </Column>\n);\n","import { createContext } from \"react\";\nimport { RejectCommand, ResolveCommand } from \"./DialogCommands\";\n\nexport interface DialogContextValue<TResolveValue> {\n resolve: ResolveCommand<TResolveValue>;\n reject: RejectCommand;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n\nexport const DialogContext = createContext<DialogContextValue<any> | undefined>(\n undefined\n);\n","import cx from \"classnames\";\nimport React, {\n CSSProperties,\n ReactNode,\n RefObject,\n useCallback,\n useMemo,\n useReducer,\n useRef,\n useState,\n} from \"react\";\nimport { RejectCommand, ResolveCommand, ShowCommand } from \"./DialogCommands\";\nimport { DialogContext } from \"./DialogContext\";\n\ntype UseDialogCallbacks<TProps, TPromiseResolve> = {\n show: ShowCommand<TProps, TPromiseResolve>;\n reject: RejectCommand;\n};\n\nexport type UseDialogResult<TProps, TPromiseResolve> = [\n ReactNode,\n UseDialogCallbacks<TProps, TPromiseResolve>\n];\n\nexport interface DialogOptions {\n disableCloseOnClickOutside?: boolean;\n modal: boolean;\n className: string;\n closingClassName: string;\n contentWrapperClassName: string;\n contentWrapperStyle?: CSSProperties;\n dialogStyle?: CSSProperties;\n ref?: RefObject<HTMLDialogElement>;\n onResolve?: () => void;\n onReject?: () => void;\n}\n\nexport function useDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options: DialogOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n const localRef = useRef<HTMLDialogElement>(null);\n const currentRef = options.ref ?? localRef;\n const [key, forceRerender] = useReducer((x) => x + 1, 0);\n const promiseRef = useRef<Promise<TPromiseResolve | undefined>>();\n const resolveRef = useRef<ResolveCommand<TPromiseResolve> | undefined>();\n const modalComponentProps = useRef<TProps>();\n const rejectRef = useRef<RejectCommand | undefined>();\n const [contentVisible, setContentVisible] = useState(false);\n const [closing, setClosing] = useState(false);\n\n const Comp = component;\n\n const show = useCallback<ShowCommand<TProps, TPromiseResolve>>(\n (props?: TProps) => {\n promiseRef.current = new Promise<TPromiseResolve | undefined>(\n (resolve, reject) => {\n resolveRef.current = resolve;\n rejectRef.current = reject;\n }\n );\n setClosing(false);\n setContentVisible(true);\n forceRerender();\n modalComponentProps.current = props;\n if (options.modal) {\n currentRef.current?.showModal();\n } else {\n currentRef.current?.show();\n }\n return promiseRef.current;\n },\n [currentRef, options.modal]\n );\n\n const resolve = useCallback<ResolveCommand<TPromiseResolve>>(\n (value) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n resolveRef.current?.(value);\n modalComponentProps.current = undefined;\n options.onResolve?.();\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const reject = useCallback<RejectCommand>(\n (error) => {\n setClosing(true);\n currentRef.current?.addEventListener(\n \"animationend\",\n () => {\n setClosing(false);\n setContentVisible(false);\n currentRef.current?.close();\n rejectRef.current?.(error);\n options.onReject?.();\n modalComponentProps.current = undefined;\n },\n { once: true }\n );\n },\n [currentRef, options]\n );\n\n const dialogElement = useMemo<ReactNode>(\n () => (\n <DialogContext.Provider value={{ resolve, reject }}>\n <dialog\n onClick={\n options.disableCloseOnClickOutside ? undefined : () => reject()\n }\n ref={currentRef}\n className={cx(options.className, closing && options.closingClassName)}\n style={options.dialogStyle}\n >\n {options.disableCloseOnClickOutside ? (\n <>\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </>\n ) : (\n <div\n style={options.contentWrapperStyle}\n className={options.contentWrapperClassName}\n onClick={\n options.disableCloseOnClickOutside\n ? undefined\n : (ev) => ev.stopPropagation()\n }\n >\n {contentVisible && (\n <Comp {...(modalComponentProps.current as TProps)} key={key} />\n )}\n </div>\n )}\n </dialog>\n </DialogContext.Provider>\n ),\n [\n resolve,\n reject,\n options.disableCloseOnClickOutside,\n options.className,\n options.closingClassName,\n options.dialogStyle,\n options.contentWrapperStyle,\n options.contentWrapperClassName,\n currentRef,\n closing,\n contentVisible,\n Comp,\n key,\n ]\n );\n\n return [dialogElement, { show, reject }];\n}\n","import { useContext } from \"react\";\nimport { DialogContext, DialogContextValue } from \"./DialogContext\";\n\nexport const useDialogPromise = <\n TResolveValue = void\n>(): DialogContextValue<TResolveValue> => {\n const context = useContext(DialogContext);\n if (context == null) {\n throw new Error(\"useDialogPromise is being used outside of dialog.\");\n }\n return context as DialogContextValue<TResolveValue>;\n};\n","import * as React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./AlertDialog.module.css\";\n\nexport function useAlertDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.alertDialog),\n });\n}\n","import * as React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./DrawerDialog.module.css\";\nimport { SlideFrom } from \"../../common-types\";\n\ninterface DrawerOptions\n extends Partial<Omit<DialogOptions, \"disableCloseOnClickOutside\">> {}\n\nexport function useDrawerDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n slideFrom: SlideFrom = \"left\",\n options?: DrawerOptions\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n disableCloseOnClickOutside: true,\n modal: false,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.drawerDialog, styles[slideFrom]),\n });\n}\n","import * as React from \"react\";\nimport { DialogOptions, useDialog, UseDialogResult } from \"../UseDialog\";\nimport cx from \"classnames\";\nimport styles from \"./ModalDialog.module.css\";\n\nexport function useModalDialog<TProps, TPromiseResolve = void>(\n component: React.FC<TProps>,\n options?: Partial<DialogOptions>\n): UseDialogResult<TProps, TPromiseResolve> {\n return useDialog<TProps, TPromiseResolve>(component, {\n ...options,\n modal: true,\n closingClassName: cx(options?.closingClassName, styles.closing),\n contentWrapperClassName: cx(\n options?.contentWrapperClassName,\n styles.contentWrapper\n ),\n className: cx(options?.className, styles.modalDialog),\n });\n}\n","import * as React from \"react\";\nimport { Heading } from \"@stenajs-webui/core\";\n\nexport interface ModalHeadingProps {\n children: string;\n}\n\nexport const ModalHeading: React.FC<ModalHeadingProps> = ({ children }) => {\n return (\n <Heading variant={\"h3\"} as={\"h2\"}>\n {children}\n </Heading>\n );\n};\n","import * as React from \"react\";\nimport styles from \"./ModalActionButtons.module.css\";\nimport { ReactNode } from \"react\";\nimport { Box, Spacing } from \"@stenajs-webui/core\";\n\nexport interface ModalActionButtonsProps {\n buttons: ReactNode;\n}\n\nexport const ModalActionButtons: React.FC<ModalActionButtonsProps> = ({\n buttons,\n}) => {\n return (\n <Box width={\"100%\"}>\n <Spacing />\n <div className={styles.modalActionButtons}>{buttons}</div>\n </Box>\n );\n};\n","import * as React from \"react\";\nimport { Box, BoxProps } from \"@stenajs-webui/core\";\n\nexport interface ModalBodyProps extends Omit<BoxProps, \"indent\" | \"spacing\"> {}\n\nexport const ModalBody: React.FC<ModalBodyProps> = ({ gap = 3, ...props }) => {\n return <Box indent={3} spacing={3} gap={gap} {...props} />;\n};\n","import * as React from \"react\";\nimport { PropsWithChildren, ReactNode } from \"react\";\nimport { Text } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"../building-blocks/ModalHeading\";\nimport { ModalActionButtons } from \"../building-blocks/ModalActionButtons\";\nimport { CircledIcon, MediumIcon } from \"@stenajs-webui/elements\";\nimport { ModalBody } from \"../building-blocks/ModalBody\";\n\nexport interface InfoAlertProps extends PropsWithChildren {\n heading: string;\n text?: string;\n buttons?: ReactNode;\n icon?: MediumIcon;\n onRequestClose?: () => void;\n maxWidth?: string;\n minWidth?: string;\n}\n\nexport const InfoAlert: React.FC<InfoAlertProps> = ({\n icon,\n buttons,\n heading,\n text,\n children,\n maxWidth,\n minWidth,\n}) => {\n return (\n <ModalBody\n flexDirection={\"column\"}\n alignItems={\"center\"}\n maxWidth={maxWidth}\n minWidth={minWidth}\n >\n {icon && <CircledIcon icon={icon} size={\"large\"} />}\n <ModalHeading>{heading}</ModalHeading>\n {text && <Text textAlign={\"center\"}>{text}</Text>}\n {children}\n {buttons && <ModalActionButtons buttons={buttons} />}\n </ModalBody>\n );\n};\n","import * as React from \"react\";\nimport { Column } from \"@stenajs-webui/core\";\nimport { PropsWithChildren } from \"react\";\n\nexport interface ModalContainerProps extends PropsWithChildren {}\n\nexport const ModalContainer: React.FC<ModalContainerProps> = ({ children }) => {\n return (\n <Column flex={1} height={\"100%\"} justifyContent={\"space-between\"}>\n {children}\n </Column>\n );\n};\n","import * as React from \"react\";\nimport { Row } from \"@stenajs-webui/core\";\nimport { ModalHeading } from \"./ModalHeading\";\nimport { CloseButton } from \"@stenajs-webui/elements\";\n\nexport interface ModalHeaderProps {\n heading?: string;\n onClickClose?: () => void;\n}\n\nexport const ModalHeader: React.FC<ModalHeaderProps> = ({\n heading,\n onClickClose,\n}) => {\n return (\n <Row justifyContent={\"space-between\"}>\n {heading && <ModalHeading>{heading}</ModalHeading>}\n <CloseButton onClick={onClickClose} />\n </Row>\n );\n};\n","import { Row } from \"@stenajs-webui/core\";\nimport * as React from \"react\";\nimport { ReactNode } from \"react\";\nimport styles from \"./ModalFooter.module.css\";\nimport cx from \"classnames\";\n\nexport interface ModalFooterProps {\n children: ReactNode;\n sticky?: boolean;\n zIndex?: number;\n}\n\nexport const ModalFooter: React.FC<ModalFooterProps> = ({\n children,\n sticky,\n zIndex = 4,\n}) => {\n return (\n <Row\n className={cx(styles.modalFooter, sticky && styles.sticky)}\n shadow={\"var(--swui-sticky-footer-shadow)\"}\n zIndex={zIndex}\n >\n {children}\n </Row>\n );\n};\n"],"names":["setupDeclarativeModals","htmlElement","ReactModal","DRAGGABLE_HANDLE_CLASSNAME","DRAGGABLE_CANCEL_CLASSNAME","BaseWindow","width","maxWidth","draggable","children","reactModalProps","nodeRef","useRef","jsx","styles","Draggable","cx","Drawer","background","zIndex","slideFrom","portalTarget","floating","height","getClassNameForSlide","exhaustSwitchCase","DrawerHeader","header","contentRight","onRequestClose","icon","Spacing","cssColor","jsxs","Row","Space","Icon","Heading","FlatButton","stenaTimes","style","Alert","Modal","LoadingModal","headerIconLeft","headerText","shouldCloseOnOverlayClick","shouldCloseOnEsc","modalProps","Column","Box","Spinner","Fragment","Indent","WindowHeader","closeButtonClassName","Txt","CloseButton","Window","spacing","indent","footer","disableStickyFooter","props","activeSpacing","activeIndent","WindowFooter","DialogContext","createContext","useDialog","component","options","localRef","currentRef","key","forceRerender","useReducer","x","promiseRef","resolveRef","modalComponentProps","rejectRef","contentVisible","setContentVisible","useState","closing","setClosing","Comp","show","useCallback","resolve","reject","_a","_b","value","_c","error","useMemo","createElement","ev","useDialogPromise","context","useContext","useAlertDialog","useDrawerDialog","useModalDialog","ModalHeading","ModalActionButtons","buttons","ModalBody","gap","InfoAlert","heading","text","minWidth","CircledIcon","Text","ModalContainer","ModalHeader","onClickClose","ModalFooter","sticky"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stenajs-webui/modal",
3
- "version": "20.14.2",
3
+ "version": "20.16.0",
4
4
  "type": "module",
5
5
  "description": "",
6
6
  "author": "mattias800",
@@ -33,9 +33,9 @@
33
33
  "deploy": "gh-pages -d example/build"
34
34
  },
35
35
  "dependencies": {
36
- "@stenajs-webui/core": "20.14.2",
37
- "@stenajs-webui/elements": "20.14.2",
38
- "@stenajs-webui/theme": "20.14.2",
36
+ "@stenajs-webui/core": "20.16.0",
37
+ "@stenajs-webui/elements": "20.16.0",
38
+ "@stenajs-webui/theme": "20.16.0",
39
39
  "@types/react-modal": "^3.13.1",
40
40
  "classnames": "^2.3.1",
41
41
  "react-draggable": "^4.4.5",
@@ -65,5 +65,5 @@
65
65
  "files": [
66
66
  "dist"
67
67
  ],
68
- "gitHead": "f4cc23294fc2ff27da1df7dbdf3f22ad4a335665"
68
+ "gitHead": "24ea08ffc7cea75eb22e70f813c49a2ab4307d2d"
69
69
  }