{"version":3,"file":"js/5666-559aa8da8d97bbb94270.js","mappings":"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","sources":["webpack://bizzey/./app/javascript/src/components/Avatar/Avatar.tsx","webpack://bizzey/./app/javascript/src/components/Awards/AwardSuccess.tsx","webpack://bizzey/./app/javascript/src/components/Badge/Badge.tsx","webpack://bizzey/./app/javascript/src/components/Body/Body.tsx","webpack://bizzey/./app/javascript/src/components/Button/Button.tsx","webpack://bizzey/./app/javascript/src/components/Button/IconButtonGroup.tsx","webpack://bizzey/./app/javascript/src/components/ContactPortal/ContactPortal.tsx","webpack://bizzey/./app/javascript/src/components/Effects/ScrollToTopOnMount.tsx","webpack://bizzey/./app/javascript/src/components/Loaders/AppLoader.tsx","webpack://bizzey/./app/javascript/src/components/Loaders/Loader.tsx","webpack://bizzey/./app/javascript/src/components/Modals/Modal.tsx","webpack://bizzey/./app/javascript/src/components/Modals/ModalSidebar.tsx","webpack://bizzey/./app/javascript/src/components/Modals/ModalSidebarWrapper.tsx","webpack://bizzey/./app/javascript/src/components/Modals/Parts/ModalContent.tsx","webpack://bizzey/./app/javascript/src/components/Modals/Parts/ModalHeader.tsx","webpack://bizzey/./app/javascript/src/components/Modals/Parts/ModalMiddle.tsx","webpack://bizzey/./app/javascript/src/components/Modals/Parts/ModalWindow.tsx","webpack://bizzey/./app/javascript/src/components/Modals/SignatureModal.tsx","webpack://bizzey/./app/javascript/src/components/Tooltips/ErrorTooltip.tsx"],"sourcesContent":["import * as React from 'react'\nimport styled, { css } from 'styled-components';\nimport Utils from '../../utilities/Utils';\n\ninterface IProps {\n\tname: string\n\trounded?: boolean\n\twidth?: number\n\tbackgroundColor?: string\n\tonClick?: () => void\n}\n\nconst Container = styled.div`\n\tposition: relative;\n\toverflow: visible;\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tborder: 2px solid transparent;\n\ttransition: border-color .3s;\n\tborder-radius: 7px;\n\toverflow: hidden;\n\tcolor: white;\n\tbackground: #63778b;\n\n\t${(props: IProps) => css`\n\t\twidth: ${props.width}px;\n\t\theight: ${props.width}px;\n\t\tmin-width: ${props.width}px;\n\t`}\n\n\t${(props: IProps) => props.rounded && css`\n\t\tborder-radius: 50%;\n\t`}\n\n\t${(props: IProps) => props.backgroundColor && css`\n\t\tbackground-color: ${props.backgroundColor};\n\t`}\n\n\t${(props: IProps) => props.onClick && css`\n\t\tcursor: pointer;\n\t`}\n\n\tsvg {\n\t\twidth: 100%;\n\t\theight: 100%;\n\t\tfont-weight: bold;\n\t}\n`\n\nexport default class Avatar extends React.PureComponent {\n\tstatic defaultProps = {\n\t\twidth: 40,\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tname,\n\t\t\trounded,\n\t\t\twidth,\n\t\t\tbackgroundColor,\n\t\t\tonClick,\n\t\t} = this.props\n\n\n\t\treturn (\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{Utils.getInitials(name).toUpperCase()}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t)\n\t}\n}","import * as React from 'react'\n\ninterface IProps {\n\tshowOnMount?: boolean\n}\n\ninterface IState {\n\tshow: boolean\n\tanimationClass: string\n}\n\nexport default class AwardSuccess extends React.Component {\n\tstatic defaultProps = {\n\t\tshowOnMount: false\n\t}\n\n\tconstructor(props: IProps) {\n\t\tsuper(props)\n\n\t\tthis.state = {\n\t\t\tshow: false,\n\t\t\tanimationClass: 'animate-in'\n\t\t}\n\n\t\tthis.show = this.show.bind(this)\n\t\tthis.hide = this.hide.bind(this)\n\t}\n\n\tcomponentDidMount () {\n\t\tconst { showOnMount } = this.props\n\n\t\tif (showOnMount) {\n\t\t\tthis.show()\n\t\t}\n\t}\n\n\tshow() {\n\t\tthis.setState({\n\t\t\tshow: true,\n\t\t\tanimationClass: 'animate-in'\n\t\t}, () => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.hide()\n\t\t\t}, 3000)\n\t\t})\n\t}\n\n\thide() {\n\t\tthis.setState({\n\t\t\tanimationClass: 'animate-out',\n\t\t}, () => {\n\t\t\tsetTimeout(() => {\n\t\t\t\tthis.setState({\n\t\t\t\t\tshow: false\n\t\t\t\t})\n\t\t\t}, 2000)\n\t\t})\n\t}\n\n\trender () {\n\t\tconst { show, animationClass } = this.state\n\n\t\tif (!show) return null\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t
\n\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t
\n\t\t)\n\t}\n}","import * as React from 'react'\nimport styled, { css } from 'styled-components'\nimport { Style } from '../../styles'\n\nexport type BadgeType = 'primary' | 'success' | 'warning' | 'danger' | 'default' | 'grey'\n\ninterface IProps {\n\ttext?: string\n\ttype: BadgeType\n}\n\nconst Container = styled.span`\n\tpadding: 0px 6px;\n\tborder-radius: 8px;\n\tvertical-align: middle;\n\tcolor: #fff;\n\tfont-size: 12px;\n\tline-height: 16px;\n\tfont-weight: 500;\n\tdisplay: inline-flex;\n\tjustify-content: center;\n\talign-items: center;\n\tborder: 1px solid $base-border-color;\n\ttransition: all $base-transition-speed linear;\n\twhite-space: nowrap;\n\n\t${props => props.type === 'primary' && css`\n\t\tcolor: #3d4eac;\n\t\tbackground: #d6ecff;\n\t\tborder: 1px solid #3d4eac;\n\t`}\n\n\t${props => props.type === 'warning' && css`\n\t\tcolor: #8A2C0D;\n\t\tbackground: #FEEBDC;\n\t\tborder: 1px solid #8A2C0D;\n\t`}\n\n\t${props => props.type === 'danger' && css`\n\t\tcolor: #a41c4e;\n\t\tbackground: #fde2dd;\n\t\tborder: 1px solid #a41c4e;\n\t`}\n\n\t${props => props.type === 'success' && css`\n\t\tcolor: #0e6245;\n\t\tbackground: #cbf4c9;\n\t\tborder: 1px solid #0e6245;\n\t`}\n\n\t${props => props.type === 'default' && css`\n\t\tcolor: $white;\n\t\tbackground: #244063;\n\t\tborder: 1px solid white;\n\t`}\n\n\t${props => props.type === 'grey' && css`\n\t\tcolor: black;\n\t\tbackground: #f7f7fa;\n\t\tborder: 1px solid ${Style.color.border};\n\t`}\n`\n\nexport default class Badge extends React.PureComponent {\n\trender() {\n\t\tconst { text, type, children } = this.props\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{text ? text : children}\n\t\t\t\n\t\t)\n\t}\n\n}","import * as React from 'react'\n\ninterface IProps {\n className?: string\n}\nexport class Body extends React.PureComponent {\n static defaultProps = {\n className: false\n }\n\n componentDidMount() {\n const { className } = this.props\n if (className && className.length > 0) document.body.classList.toggle(this.props.className, true)\n }\n\n componentWillUnmount() {\n const { className } = this.props\n if (className && className.length > 0) document.body.classList.remove(this.props.className)\n }\n\n render() {\n return null\n }\n}","import * as React from 'react'\nimport Icon, { IconTypes } from '../Icons/Icon'\nimport styled, { keyframes } from 'styled-components'\nimport { Style } from '../../styles'\n\nexport interface IButtonProps {\n\ttext?: string\n\ticon?: IconTypes\n\tisLoading?: boolean\n\tdisabled?: boolean\n\ttype: 'primary' | 'success' | 'warning' | 'danger' | 'default' | 'icon'\n\tonClick?: (event: React.MouseEvent) => void\n\textraClasses?: string\n\tstyle?: object\n\ttooltip?: string\n}\n\nconst IconContainer = styled.span`\n\tmargin-right: ${Style.spacing.x0_5};\n`\n\nconst loading = keyframes`\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n\t}\n`\n\nconst Loader = styled.svg`\n display: flex;\n justify-self: center;\n align-self: center;\n position: relative;\n fill: white;\n\tanimation: ${loading} .5s linear infinite;\n\twidth: 14px;\n\theight: 14px;\n`\n\nexport default class Button extends React.PureComponent {\n\tstatic defaultProps = {\n\t\textraClasses: '',\n\t\tstyle: {},\n\t}\n\n\trenderIcon() {\n\t\tconst { isLoading, icon } = this.props\n\n\t\tif (isLoading) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)\n\t\t}\n\n\n\t\tif (icon) {\n\t\t\treturn (\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t)\n\t\t}\n\n\t\treturn null\n\t}\n\n\trender() {\n\t\tconst { text, type, onClick, extraClasses, style, isLoading, disabled, tooltip } = this.props\n\n\t\treturn (\n\t\t\t\n\t\t\t\t{this.renderIcon()}\n\t\t\t\t{text}\n\t\t\t\n\t\t)\n\t}\n}","import * as React from 'react';\nimport styled, { css } from 'styled-components'\nimport { Style } from '../../styles'\n\nconst IconButton = styled.div`\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tcolor: #5a6f90;\n\tborder: 1px solid ${Style.color.border};\n\tbackground-color: #f4f8fc;\n\tbox-shadow: none;\n\tpadding: 5px 12px;\n\tmin-height: 36px;\n\n\tsvg {\n\t\twidth: 18px;\n\t\theight: 18px;\n\t}\n\n\ti {\n\t\tfont-size: 18px;\n\t}\n\n\t&:first-child {\n\t\tborder-top-left-radius: 4px;\n\t\tborder-bottom-left-radius: 4px;\n\t}\n\n\t&:last-child {\n\t\tborder-top-right-radius: 4px;\n\t\tborder-bottom-right-radius: 4px;\n\t\tborder-left: none;\n\t}\n\n\t&:only-child {\n\t\tborder-left: 1px solid ${Style.color.border};\n\t}\n\n\t${props => props.onClick && css`\n\t\tcursor: pointer;\n\t`}\n`\n\nconst Container = styled.div`\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n`\n\ninterface IProps {\n\tbuttons: {\n\t\ticon: JSX.Element,\n\t\ttooltip: string,\n\t\tonClick?: () => void\n\t}[]\n}\n\n\nconst IconButtonGroup = (props: IProps) => {\n\tconst { buttons } = props;\n\n\treturn (\n\t\t\n\t\t\t{buttons.map(({ icon, tooltip, onClick }, index) => {\n\t\t\t\treturn (\n\t\t\t\t\t\n\t\t\t\t\t\t{icon}\n\t\t\t\t\t\n\t\t\t\t)\n\t\t\t})}\n\t\t\n\t)\n}\n\nexport default IconButtonGroup;","import * as React from 'react'\nimport styled from 'styled-components'\nimport Avatar from '../Avatar/Avatar'\nimport Icon from '../Icons/Icon'\nimport { Style } from '../../styles'\nimport { useTranslation } from 'react-i18next'\n\nconst Container = styled.div`\n\tdisplay: flex;\n\tflex-direction: row;\n\twidth: 100%;\n\theight: 100vh;\n\toverflow: hidden;\n\n\t@media screen and (max-width: ${Style.breakpoints.SMALL}) {\n\t\tflex-direction: column;\n\t}\n`\n\nconst Sidebar = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: space-between;\n\tbackground: #181818;\n\twidth: 80px;\n\tpadding: ${Style.spacing.x1_5} ${Style.spacing.x2};\n\n\t@media screen and (max-width: ${Style.breakpoints.SMALL}) {\n\t\tflex-direction: row;\n\t\talign-items: center;\n\t\twidth: 100%;\n\t}\n`\n\nconst Company = styled.div`\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: center;\n\twidth: 100%;\n\n\t@media screen and (max-width: ${Style.breakpoints.SMALL}) {\n\t\tmax-width: 82vw;\n\t}\n`\n\nconst CompanyName = styled.div`\n\tdisplay: none;\n\twidth: 100%;\n\tfont-size: 18px;\n\tmargin: 0 ${Style.spacing.x1_5};\n\tcolor: white;\n\tfont-weight: bold;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n\n\t@media screen and (max-width: ${Style.breakpoints.SMALL}) {\n\t\tdisplay: block;\n\t}\n`\n\nconst Wrapper = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex: 1;\n\twidth: 100%;\n`\n\nconst Navigation = styled.div`\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tjustify-content: space-between;\n\tbackground: #fff;\n\tborder-bottom: 1px solid ${Style.color.border};\n\tmin-height: 60px;\n\tpadding: 0 ${Style.spacing.x2};\n`\n\nconst Title = styled.div`\n\tfont-size: 18px;\n\tfont-weight: bold;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\twhite-space: nowrap;\n`\n\nconst Actions = styled.div`\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\n\t> * {\n\t\tmargin: 0 ${Style.spacing.x0_5};\n\n\t\t&:last-child {\n\t\t\tmargin-right: 0;\n\t\t}\n\t}\n`\n\nconst Content = styled.div`\n\twidth: 100%;\n\theight: 100%;\n\n\tmargin: 0 auto;\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\n\t@media screen and (max-width: ${Style.breakpoints.SMALL}) {\n\t\theight: calc(100vh - 135px);\n\t}\n`\n\nconst CloseContainer = styled.div`\n\tdisplay: flex;\n\tflex-direction: row;\n\tjustify-content: center;\n\talign-items: center;\n\twidth: 50px;\n\theight: 50px;\n\tcursor: pointer;\n\n\tsvg {\n\t\twidth: 20px;\n\t\theight: 20px;\n\t\tfill: white;\n\t}\n\n\ti {\n\t\tfont-size: 20px;\n\t\tcolor: white;\n\n\t\t@media screen and (max-width: ${Style.breakpoints.SMALL}) {\n\t\t\tfont-size: 25px;\n\t\t}\n\t}\n\n\t> *:first-child {\n\t\t@media screen and (max-width: ${Style.breakpoints.SMALL}) {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t> *:last-child {\n\t\tdisplay: none;\n\n\t\t@media screen and (max-width: ${Style.breakpoints.SMALL}) {\n\t\t\tdisplay: flex;\n\t\t}\n\t}\n`\n\ninterface IProps {\n\tcompanyName: string\n\ttitle: string\n\tactions?: React.ReactNode[]\n\tchildren?: React.ReactNode\n}\n\nconst ContactPortal = (props: IProps) => {\n\tconst { companyName, title, actions, children } = props\n\tconst { t } = useTranslation()\n\n\treturn (\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{companyName}\n\t\t\t\t\t\n\t\t\t\t\n\n\t\t\t\t window.close()} data-tip={t('ContactPortal::Close')}>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\n\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t{title}\n\t\t\t\t\t\n\n\t\t\t\t\t\n\t\t\t\t\t\t{actions?.length > 0 && actions.map(action => action)}\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t\n\t\t\n\t)\n}\n\nexport default ContactPortal","import { useEffect } from 'react'\n\nexport default () => {\n\tuseEffect(() => {\n\t\twindow.scrollTo(0, 0)\n\t}, [])\n\n\treturn null\n}","import * as React from 'react'\nimport styled from 'styled-components'\nimport Loader from '../Loaders/Loader'\n\nconst Container = styled.div`\n\tdisplay: flex;\n\tflex-direction: column;\n\tjustify-content: center;\n\talign-items: center;\n height: 100vh;\n width: 100%;\n`\n\nexport default () => ( )","import * as React from 'react'\nimport styled, { keyframes, css } from 'styled-components'\nimport { Style } from '../../styles'\n\ninterface IProps {\n color?: string\n size?: 'small' | 'medium' | 'large'\n}\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n\n to {\n transform: rotate(360deg);\n }\n`\n\nconst move = keyframes`\n to {\n opacity: 1;\n }\n`\n\nconst Container = styled.span`\n position: relative;\n display: inline-block;\n font-size: 20px;\n width: 20px;\n height: 20px;\n animation: ${rotate} 1.2s infinite linear;\n\n ${(props: IProps) => props.size === 'small' && css`\n font-size: 14px;\n width: 14px;\n height: 14px;\n\n ${Dot} {\n width: 6px;\n height: 6px;\n }\n `}\n\n ${(props: IProps) => props.size === 'medium' && css`\n font-size: 20px;\n width: 20px;\n height: 20px;\n\n ${Dot} {\n width: 9px;\n height: 9px;\n }\n `}\n\n ${(props: IProps) => props.size === 'large' && css`\n width: 32px;\n height: 32px;\n\n ${Dot} {\n width: 14px;\n height: 14px;\n }\n `}\n\n ${(props: IProps) => props.color && css`\n ${Dot} {\n background-color: ${props.color};\n }\n `}\n`\n\nconst Dot = styled.div`\n position: absolute;\n display: block;\n width: 9px;\n height: 9px;\n background-color: ${Style.color.brandPrimary};\n border-radius: 100%;\n transform: scale(.75);\n transform-origin: 50% 50%;\n opacity: .3;\n animation: ${move} 1s infinite linear alternate;\n\n &:nth-child(1) {\n top: 0;\n left: 0;\n }\n\n &:nth-child(2) {\n top: 0;\n right: 0;\n animation-delay: .4s;\n }\n\n &:nth-child(3) {\n right: 0;\n bottom: 0;\n animation-delay: .8s;\n }\n\n &:nth-child(4) {\n bottom: 0;\n left: 0;\n animation-delay: 1.2s;\n }\n`\n\nexport default (props: IProps) => {\n\treturn (\n \n \n \n \n \n \n\t)\n}","import * as React from 'react'\nimport { CSSTransition } from 'react-transition-group'\nimport { Body } from '../Body/Body';\nimport ModalSidebar from './ModalSidebar';\nimport ModalSidebarWrapper from './ModalSidebarWrapper';\n\nexport interface IModalProps {\n\tshow: boolean\n\tmode?: 'window' | 'sidebar'\n\tisLoading?: boolean\n\tonClose: () => void\n\tbackgroundClassNames?: string\n\tcontainerClassNames?: string\n}\n\nexport default class Modal extends React.PureComponent {\n\tconstructor(props: IModalProps) {\n\t\tsuper(props);\n\n\t\tthis.onKeydown = this.onKeydown.bind(this)\n\t}\n\n\tcomponentDidMount() {\n\t\tdocument.addEventListener('keydown', this.onKeydown)\n\t}\n\n\tcomponentWillUnmount() {\n\t\tdocument.removeEventListener('keydown', this.onKeydown)\n\t}\n\n\tonKeydown(e) {\n\t\tconst { show } = this.props\n\n\t\tif (show) {\n\t\t\tif (\"key\" in e && (e.key === \"Escape\" || e.key === \"Esc\")) {\n\t\t\t\tthis.props.onClose()\n\t\t\t} else if (e.keyCode === 27) {\n\t\t\t\tthis.props.onClose()\n\t\t\t}\n\t\t}\n\t}\n\n\trender() {\n\t\tconst {\n\t\t\tshow,\n\t\t\tmode,\n\t\t\tonClose,\n\t\t\tbackgroundClassNames,\n\t\t\tcontainerClassNames,\n\t\t\tchildren,\n\t\t} = this.props;\n\n\n\t\tlet wrappedChildren = <>\n\t\t\t{children}\n\t\t\n\n\t\tif (mode === 'sidebar') {\n\t\t\twrappedChildren = \n\t\t\t\t\n\t\t\t\t\t{children}\n\t\t\t\t\n\t\t\t\n\t\t}\n\n\n\t\treturn (\n\t\t\t\n\t\t\t\t
\n\t\t\t\t\t\n\n\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t
\n\t\t\t\t\t\t\t{wrappedChildren}\n\t\t\t\t\t\t
\n\t\t\t\t\t
\n\t\t\t\t
\n\t\t\t\n\t\t);\n\t}\n}","import styled from 'styled-components'\nimport { Style } from '../../styles'\n\nexport default styled.div`\n\tposition: fixed;\n\ttop: 0;\n\tright: 0;\n\tbottom: 0;\n\tdisplay: flex;\n flex-direction: column;\n height: 100vh;\n overflow: hidden;\n width: 100%;\n\tbackground: white;\n\tmin-width: 200px;\n\tmin-height: 100vh;\n\tmax-width: 820px;\n\tpointer-events: auto;\n\n\t@media screen and (max-width: ${Style.breakpoints.SMALL}) {\n\t\tmax-width: initial;\n\t}\n`","import styled from 'styled-components'\n\nexport default styled.div`\n\tposition: relative;\n\tdisplay: flex;\n\tflex-direction: column;\n\tflex: 1;\n`","import styled from 'styled-components'\nimport { Style } from '../../../styles'\n\nexport default styled.div`\n display: flex;\n flex-direction: column;\n flex: 1;\n padding: 20px;\n\n @media screen and (max-width: ${Style.breakpoints.SMALL}) {\n max-width: initial\n }\n\n form {\n width: 100%;\n }\n`","import * as React from 'react'\nimport Icon from '../../Icons/Icon';\n\ninterface IProps {\n\ttitle: string\n\tnavigation?: JSX.Element\n\tonCloseClick?: (event: React.MouseEvent) => void\n}\n\nexport default class ModalHeader extends React.PureComponent {\n\trender () {\n\t\tconst { title, navigation, onCloseClick } = this.props\n\n\t\treturn (\n\t\t\t
\n\t\t\t\t
\n\t\t\t\t\t

\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t{title}\n\t\t\t\t\t\t\n\t\t\t\t\t

\n\n\t\t\t\t\t{onCloseClick && \n\t\t\t\t\t\t\n\t\t\t\t\t}\n\t\t\t\t
\n\n\t\t\t\t{navigation}\n\t\t\t
\n\t\t)\n\t}\n}","import styled from 'styled-components'\nimport { Style } from '../../../styles'\n\nexport default styled.div`\n display: flex;;\n flex: 1;\n flex-direction: column;\n\n @media screen and (max-width: ${Style.breakpoints.SMALL}) {\n overflow-y: auto;\n }\n`","import styled from 'styled-components'\nimport { Style } from '../../../styles'\n\nexport default styled.div`\n display: flex;\n flex-direction: column;\n position: relative;\n border-radius: 5px;\n background-color: #fff;\n cursor: auto;\n pointer-events: all;\n box-shadow: 0 7px 14px 0 rgba(59,65,94,.1), 0 3px 6px 0 rgba(0,0,0,.07);\n min-width: 600px;\n max-width: 600px;\n\n @media screen and (max-width: ${Style.breakpoints.SMALL}) {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n border-radius: 0;\n min-width: initial;\n max-width: initial;\n }\n`","import * as React from 'react'\nimport ModalHeader from './Parts/ModalHeader'\nimport ModalWindow from './Parts/ModalWindow'\nimport ModalMiddle from './Parts/ModalMiddle'\nimport ModalContent from './Parts/ModalContent'\nimport styled from 'styled-components'\nimport { Style } from '../../styles'\nimport { useTranslation } from 'react-i18next'\nimport Modal from './Modal'\nimport SignaturePad from 'signature_pad'\nimport TooltipError from '../Tooltips/ErrorTooltip'\nimport Button from '../Button/Button'\nimport { DisplayableError, SignatureResult, SignatureType } from '../../types'\n\n\nconst SignatureModalWindow = styled(ModalWindow)`\n\tmax-width: 500px;\n\n\t@media screen and (max-width: ${Style.breakpoints.SMALL}){\n\t\tmax-width: initial;\n\t}\n`\n\nconst CanvasContainer = styled.div`\n position: relative;\n display: flex;\n justify-content: center;\n align-items: center;\n border: 1px solid ${Style.color.border};\n border-radius: 4px;\n\n &::before {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-image: radial-gradient(rgba(53,48,150,.08) 1.5px,transparent 0);\n background-size: 10px 10px;\n content: \"\";\n pointer-events: none;\n }\n`\n\nconst Canvas = styled.canvas`\n width: 100%;\n min-height: 192px;\n`\n\ntype IProps = {\n show: boolean\n onSubmit: (signatureResult: SignatureResult) => void\n onClose: () => void\n}\n\nconst SignatureModal = (props: IProps) => {\n const { show, onClose } = props\n const { t } = useTranslation()\n const [signaturePad, setSignaturePad] = React.useState(null)\n const [name, setName] = React.useState('')\n const [signatureEmpty, setSignatureEmpty] = React.useState(true)\n const [isSigning, setIsSigning] = React.useState(false)\n const [errors, setErrors] = React.useState([])\n const canvas = React.createRef()\n\n // Add resize event listener needed for the canvas\n React.useEffect(() => {\n window.addEventListener('resize', onResize)\n\n return () => {\n window.removeEventListener('resize', onResize)\n }\n })\n\n React.useEffect(() => {\n if (show) {\n if (canvas.current) {\n const signaturePadInstance = new SignaturePad(canvas.current);\n\n signaturePadInstance.addEventListener('endStroke', onCanvasEndStroke)\n setSignaturePad(signaturePadInstance)\n onResize()\n }\n }\n\n return () => {\n if (show) {\n setName('')\n setSignatureEmpty(true)\n setIsSigning(false)\n\n if (signaturePad) {\n signaturePad.clear()\n signaturePad.off()\n setSignaturePad(null)\n }\n }\n };\n }, [show])\n\n const onResize = () => {\n const ratio = Math.max(window.devicePixelRatio || 1, 1);\n\n if (canvas.current) {\n canvas.current.width = canvas.current.offsetWidth * ratio;\n canvas.current.height = canvas.current.offsetHeight * ratio;\n canvas.current.getContext(\"2d\").scale(ratio, ratio);\n if (signaturePad) signaturePad.clear();\n }\n }\n\n const onNameChange = (e: React.ChangeEvent) => {\n setName(e.target.value)\n }\n\n const onCanvasEndStroke = () => {\n setSignatureEmpty(false)\n }\n\n const onCanvasClearClick = () => {\n if (signaturePad) {\n signaturePad.clear()\n setSignatureEmpty(true)\n }\n }\n\n const onErrorsDismiss = () => {\n setErrors([])\n }\n\n const getCroppedSignatureData = () => {\n var croppedCanvas = document.createElement('canvas'),\n croppedCtx = croppedCanvas.getContext('2d');\n\n croppedCanvas.width = canvas.current.width;\n croppedCanvas.height = canvas.current.height;\n croppedCtx.drawImage(canvas.current, 0, 0);\n\n var w = croppedCanvas.width,\n h = croppedCanvas.height,\n pix = { x: [], y: [] },\n imageData = croppedCtx.getImageData(0, 0, croppedCanvas.width, croppedCanvas.height),\n x, y, index;\n\n for (y = 0; y < h; y++) {\n for (x = 0; x < w; x++) {\n index = (y * w + x) * 4;\n if (imageData.data[index + 3] > 0) {\n pix.x.push(x);\n pix.y.push(y);\n\n }\n }\n }\n pix.x.sort(function (a, b) { return a - b });\n pix.y.sort(function (a, b) { return a - b });\n var n = pix.x.length - 1;\n\n w = pix.x[n] - pix.x[0];\n h = pix.y[n] - pix.y[0];\n var cut = croppedCtx.getImageData(pix.x[0], pix.y[0], w, h);\n\n croppedCanvas.width = w;\n croppedCanvas.height = h;\n croppedCtx.putImageData(cut, 0, 0);\n\n return croppedCanvas.toDataURL();\n }\n\n const onFormSubmit = async (e) => {\n e.preventDefault()\n\n const signature = getCroppedSignatureData()\n\n setIsSigning(true)\n props.onSubmit({ type: SignatureType.DRAW, full_name: name, base64: signature })\n if (onClose) onClose()\n }\n\n return (\n \n \n \n \n
\n \n
\n \n \n
\n\n
\n \n \n \n \n
\n\n {!signatureEmpty &&
\n \n
}\n
\n\n
\n
\n
\n \n \n
\n
\n \n \n \n \n )\n}\n\nexport default SignatureModal","import * as React from 'react'\nimport { DisplayableError } from '../../types';\nimport Icon from '../Icons/Icon';\n\ninterface IProps {\n title?: string\n errors: Array\n onDismiss: (e: React.MouseEvent) => void\n}\n\nexport default class TooltipError extends React.PureComponent {\n static defaultProps = {\n onDismiss: (e) => { }\n }\n\n getErrors() {\n const { errors } = this.props\n let tooltipErrors = {}\n\n if (Array.isArray(errors)) {\n errors.forEach(error => {\n if (tooltipErrors[error.field]) {\n tooltipErrors[error.field] = [...tooltipErrors[error.field], error.message]\n } else {\n tooltipErrors[error.field] = [error.message]\n }\n })\n } else {\n tooltipErrors = errors\n }\n\n return tooltipErrors\n }\n\n render() {\n const { title, onDismiss } = this.props;\n\n const errors = this.getErrors()\n\n return (\n
0 ? 'is-active' : '')} onClick={onDismiss}>\n
\n

{title}

\n
    \n {Object.keys(errors).map((errorKey) => {\n return (\n
  • \n \n {errorKey.toString()}:\n\n
      \n {errors[errorKey].map(errorText => {\n return (
    • );\n })}\n\n
    \n
  • \n );\n })}\n
\n
\n \n
\n );\n }\n}"],"names":["Container","styled","props","css","width","rounded","backgroundColor","onClick","Avatar","React","render","name","this","viewBox","x","y","dy","fill","fontSize","textAnchor","Utils","toUpperCase","AwardSuccess","showOnMount","constructor","super","state","show","animationClass","bind","hide","componentDidMount","setState","setTimeout","className","height","d","type","Style","Badge","text","children","Body","length","document","body","classList","toggle","componentWillUnmount","remove","IconContainer","loading","keyframes","Loader","Button","extraClasses","style","renderIcon","isLoading","icon","role","disabled","tooltip","href","IconButton","buttons","map","index","key","Sidebar","Company","CompanyName","Wrapper","Navigation","Title","Actions","Content","CloseContainer","companyName","title","actions","t","useTranslation","window","close","action","useEffect","scrollTo","size","rotate","move","Dot","color","Modal","onKeydown","addEventListener","removeEventListener","e","keyCode","onClose","mode","backgroundClassNames","containerClassNames","wrappedChildren","in","classNames","enter","enterActive","exit","exitActive","timeout","unmountOnExit","ModalHeader","navigation","onCloseClick","SignatureModalWindow","ModalWindow","CanvasContainer","Canvas","signaturePad","setSignaturePad","setName","signatureEmpty","setSignatureEmpty","isSigning","setIsSigning","errors","setErrors","canvas","onResize","current","signaturePadInstance","SignaturePad","onCanvasEndStroke","clear","off","ratio","Math","max","devicePixelRatio","offsetWidth","offsetHeight","getContext","scale","onFormSubmit","async","preventDefault","signature","croppedCanvas","createElement","croppedCtx","drawImage","w","h","pix","imageData","getImageData","data","push","sort","a","b","n","cut","putImageData","toDataURL","getCroppedSignatureData","onSubmit","SignatureType","full_name","base64","placeholder","onChange","target","value","ref","onDismiss","TooltipError","getErrors","tooltipErrors","Array","isArray","forEach","error","field","message","Object","keys","errorKey","toString","errorText","dangerouslySetInnerHTML","__html"],"sourceRoot":""}