@dspworkplace/ui 1.5.37 → 1.5.38
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.es.js +3 -1
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":["../src/Theme.js","../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js","../src/Form/index.js","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../src/Common/input.js","../src/Input/mask.js","../src/Input/index.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../src/Icons/index.js","../src/Common/tooltip.js","../src/Common/MergeRefs.js","../src/Texts/index.js","../src/Input/select.js","../src/Spacer/index.js","../src/Input/boxes.js","../src/Input/password.js","../src/Input/tag.js","../src/Common/ColorHelper.js","../src/Input/color.js","../node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/@babel/runtime/helpers/asyncToGenerator.js","../src/Buttons/index.js","../src/Input/uploader.js","../src/Toggle/index.js","../src/Input/time.js","../src/Buttons/dropdown.js","../src/Buttons/group.js","../src/Buttons/Icons.js","../src/Alerts/index.js"],"sourcesContent":["const defaultRadius='2px';\n\nconst colors = {\n primary:\"#F7931E\",\n secondary: \"#0071BC\",\n action: \"#9DDDF4\",\n neutrals: {black:\"#000000\",gray:\"#333333\",medium:\"#707070\",silver:\"#CCCCCC\",white:\"#FFFFFF\"},\n warnings: {border:\"#F5C26B\",text:\"#DBAE60\",shadow:\"#FAE0B5\",bg:\"#FEF8F0\"},\n success: {border:\"#00BDA5\",text:\"#00A38D\",shadow:\"#7FDED2\",bg:\"#E5F8F6\"},\n error: {border:\"#F2545B\",text:\"#D94C53\",shadow:\"#F8A9AD\",bg:\"#FDEDEE\"},\n info: {border:\"#7C98B6\",text:\"#516F90\",shadow:\"#CBD6E2\",bg:\"#EAF0F6\"},\n extra: {whiteSmoke:'#F5F5F5',gray93:'#FAFAFA'}\n};\n\nconst font = {\n big: {size:'20px', lineHeight:'20px'},\n medium: {size: '16px', lineHeight:'16px'},\n small: {size: '14px', lineHeight:'16px'},\n extraSmall: {size: '12px', lineHeight:'12px'},\n tiny: {size: '8px', lineHeight:'12px'},\n main:'circe-rounded',\n body: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\",\n};\n\n\nconst form = {\n input: {\n radius:'2px',\n padding:'12px 8px'\n },\n button: {\n primary: {bg:colors.primary,hover:'#C46B04 '},\n secondary: {bg:colors.secondary,hover:'#00538A'}\n\n }\n};\n\n\n\nconst theme = {colors,form, font, defaultRadius};\n\nexport default theme;\n","function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}\n\nmodule.exports = _taggedTemplateLiteral;","import React from 'react';\nimport styled from 'styled-components';\n\nconst Form = styled.form`\n display:flex;\n flex-wrap:wrap;\n flex:1;\n justifyContent:center;\n width:${props => props.width ? props.width : '100%'}\n \n \n >.formAligner {\n margin:0 10px 20px 10px;\n } \n \n`;\n\nexport default Form;\n","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","import React from 'react';\nimport styled from 'styled-components'\nimport Theme from '../Theme'\n\nconst handleSize = sizeType => {\n switch(sizeType){\n case 'extraSmall':\n return '80px';\n case 'small':\n return '140px';\n case 'big':\n return '460px';\n default:\n return '300px';\n }\n}\n\nconst Frag = styled.div`\n display:inline-block;\n vertical-align: top;\n`;\n\nconst Label = styled.label`\n font-size:${Theme.font.medium.size};\n font-weight:normal;\n font-family:Circe-Rounded;\n display:block;\n padding-bottom:2px;\n color:#707070;\n\n >.requiredField {\n color:${Theme.colors.error.text};\n }\n\n`;\n\nconst borderDefault = `\n border-width:1px;\n border-style:solid;\n`;\nconst InputBase = styled.input`\n background:${Theme.colors.neutrals.white};\n border-color:${Theme.colors.neutrals.silver};\n border-width:1px;\n border-style:solid;\n border-radius:${Theme.form.input.radius};\n font-size:${Theme.font.small.size};\n line-height:${Theme.font.small.lineHeight};\n height:40px;\n padding:${Theme.form.input.padding};\n color:${Theme.colors.neutrals.gray};\n width:${({size}) => handleSize(size) };\n\n &:disabled {\n background: ${Theme.colors.extra.whiteSmoke};\n ${borderDefault};\n border-color: ${Theme.colors.neutrals.silver};\n color: ${Theme.colors.neutrals.medium};\n }\n\n &:disabled::placeholder {\n color:#eee;\n }\n\n &:hover {\n ${borderDefault} ;\n }\n\n &:active {\n ${borderDefault};\n }\n\n &:focus {\n ${borderDefault}\n box-shadow:0px 0px 6px ${Theme.colors.action}\n border-color:${Theme.colors.secondary}\n }\n\n &::placeholder {\n color:${Theme.colors.neutrals.silver};\n font-size:${Theme.font.small};\n font-family:initial;\n }\n\n`;\n\nconst SpanHelp = styled.span`\n font-size:${Theme.font.extraSmall.size};\n font-weight:normal;\n font-family:Circe-Rounded;\n display:block;\n color:#516F90;\n margin-top:4px;\n`;\n\nconst SpanError = styled(SpanHelp)`\n color:${Theme.colors.error.text}\n`;\n\nconst RequiredText = () => <span className='requiredField'>*</span>;\n\nconst SelectUi = styled.div`\n width:${({size}) => handleSize(size)};\n height:40px;\n background:white;\n border-radius:2px;\n border:1px solid ${Theme.colors.neutrals.silver};\n cursor:pointer;\n position:relative;\n box-sizing:border-box;\n padding:12px 8px;\n display:flex;\n align-items:center;\n justify-content:space-between;\n\n &.open {\n border-color:${Theme.colors.secondary};\n box-shadow:0 0 6px ${Theme.colors.action};\n }\n\n &.error {\n border-color:${Theme.colors.error.border};\n }\n\n &.error.open {\n border-color:${Theme.colors.error.border};\n box-shadow:0 0 6px ${Theme.colors.error.shadow};\n }\n\n &.valid {\n border-color:${Theme.colors.success.border};\n }\n\n &.valid.open {\n border-color:${Theme.colors.success.border};\n box-shadow:0 0 6px ${Theme.colors.success.shadow};\n }\n`;\n\nconst Value = styled.span`\n color:${props => props.option ? '#707070' : Theme.colors.neutrals.gray};\n font-size:14px;\n white-space: nowrap;\n overflow:hidden;\n ${props => props.option && `\n display:inline-block;\n flex:1;\n `}\n\n >span {\n color:#707070;\n }\n`;\n\nconst Options = styled.ul`\n padding:0;\n margin:4px 0 0 0;\n background:white;\n border:1px solid ${Theme.colors.neutrals.silver};\n box-shadow:0 0 6px ${Theme.colors.neutrals.silver};\n border-radius:2px;\n list-style:none;\n width:auto;\n display:inline-block;\n position: absolute;\n top: 107%;\n left: -1px;\n z-index:10;\n\n ${props => props.isChild && `\n position:absolute;\n left:100%;\n margin-left:6px;\n top:-4px;\n\n &::before {\n content: \" \";\n height: 100%;\n width: 6px;\n background: transparent;\n display: block;\n position: absolute;\n left: -7px;\n }\n `}\n\n\n li {\n font-size:${Theme.font.small.size};\n color:#707070;\n height:32px;\n cursor:pointer;\n padding:0px 4px 0 8px;\n position:relative;\n display:flex;\n justify-content:space-between;\n align-items:center;\n\n >ul {\n display:none;\n }\n\n\n &:hover,\n &.selected {\n background:${Theme.colors.info.bg};\n\n >ul {\n display:inline-block;\n }\n }\n\n &.alone {\n border-top:1px solid ${Theme.colors.neutrals.silver};\n }\n\n }\n`;\n\nconst OptionGroup = styled.div`\n color:#707070;\n font-size:12px;\n padding:8px;\n font-weight:bold;\n cursor:default;\n white-space: nowrap;\n`;\n\nexport {\n Frag,\n Label, SpanError, SpanHelp, RequiredText,\n InputBase, SelectUi, Value, Options, OptionGroup\n};\n","\n\nexport const phone = value => {\n\n return value\n .replace(/\\D/g,'')\n .replace(/(\\d{3})(\\d)/,'$1-$2')\n .replace(/(\\d{3})(\\d)/,'$1-$2')\n .replace(/(\\d{4})\\d+?$/,'$1');\n}\n\nexport const time = value => {\n value = value.trim();\n\n if ( value[0] === '1' )\n value = value.replace( /^(1[012])(\\d{1,2})/, '$1:$2' );\n else\n value = value.replace( /^([1-9])(\\d{1,2})/, '$1:$2' );\n\n value = value.replace( /^(\\d{1,2}):?([0-5][0-9]) ?(am|pm)$/, '$1:$2 $3' );\n\n return value;\n};\n","import React,{forwardRef, useState} from 'react';\nimport styled from 'styled-components';\nimport Theme from '../Theme';\nimport Check from '../assets/Check.svg';\nimport Invalid from '../assets/Invalid.svg';\nimport Ex from '../assets/Ex.svg';\n\nimport {Label,RequiredText} from '../Common/input';\n\nimport {phone, time} from './mask';\n\nconst borderDefault = `\n border-width:1px;\n border-style:solid;\n`;\n\nconst handleSize = sizeType => {\n switch(sizeType){\n case 'extraSmall':\n return '80px';\n case 'small':\n return '140px';\n case 'big':\n return '460px';\n default:\n return '300px';\n }\n}\n\nconst handlerColor = typeColor => {\n switch(typeColor){\n case 'error':\n return Theme.colors.error.text;\n case 'valid':\n return Theme.colors.success.text;\n default:\n return Theme.colors.neutrals.silver;\n }\n}\n\nconst handleMask = type => {\n switch(type){\n case 'phone':\n return phone;\n case 'time':\n return time;\n default:\n return null;\n }\n}\n\nconst InputBase = styled.input`\n background:${Theme.colors.neutrals.white};\n border-color:${props => handlerColor(props.validation)};\n border-width:1px;\n border-style:solid;\n border-radius:${Theme.form.input.radius};\n font-size:${Theme.font.small.size};\n line-height:${Theme.font.small.lineHeight};\n height:40px;\n padding:${Theme.form.input.padding};\n color:${Theme.colors.neutrals.gray};\n width:${({size}) => handleSize(size) };\n\n &.hasChildren {\n padding-right:40px;\n }\n\n &.hasChildren.childrenLeft {\n padding-right:${Theme.form.input.padding};\n padding-left:40px;\n }\n\n &:disabled {\n background: ${Theme.colors.extra.whiteSmoke};\n ${borderDefault};\n border-color: ${Theme.colors.neutrals.silver};\n color: ${Theme.colors.neutrals.medium};\n }\n\n &:disabled::placeholder {\n color:#eee;\n }\n\n &:hover {\n ${borderDefault} ;\n border-color:${props => handlerColor(props.validation)};\n }\n\n &:active {\n ${borderDefault};\n border-color:${props => handlerColor(props.validation)};\n }\n\n &:focus {\n ${borderDefault};\n box-shadow:0px 0px 6px ${Theme.colors.action};\n border-color:${Theme.colors.secondary};\n }\n\n &::placeholder {\n color:${Theme.colors.neutrals.silver};\n font-size:${Theme.font.small};\n }\n\n &:read-only {\n background:${Theme.colors.info.bg};\n border-color:${Theme.colors.neutrals.silver};\n color:#707070;\n }\n`;\n\n\n\n\nconst Span = styled.span`\n font-size:${Theme.font.extraSmall.size};\n font-weight:normal;\n font-family:Circe-Rounded;\n display:block;\n color:#516F90;\n margin-top:4px;\n`;\n\nconst SpanError = styled(Span)`\n color:${Theme.colors.error.text}\n`;\n\nconst Frag = styled.div`\n width:${({size}) => handleSize(size) }\n display:inline-block;\n vertical-align:top;\n`;\n\n\nconst Input = forwardRef(\n ({\n name,\n label,\n help,\n invalid,\n valid,\n error,\n mask,\n iconAction,\n children,\n onChange,\n ...props\n }, ref) => {\n const [inputValue,setInputValue] = useState('');\n\n let validationType = null;\n let useIcon = false;\n\n if(invalid) {\n useIcon = <span className='requiredField'>*</span>;\n validationType = 'error';\n }\n\n if(props.Required) useIcon = <RequiredText/>\n\n if(error){\n validationType = 'error';\n }\n\n if(valid){\n useIcon = (<img src={Check} />);\n validationType = 'valid';\n }\n\n let maskFunction = null;\n if(mask)\n maskFunction = handleMask(mask);\n\n\n const handleChange = (e) => {\n if(onChange) {onChange(e)}\n if(maskFunction)\n e.target.value = maskFunction(e.target.value);\n }\n\n return (\n <Frag size={props.size} className='formAligner'>\n {label && !useIcon && <Label htmlFor={name}>{label}</Label>}\n {label && useIcon && <Label htmlFor={name}>{label} {useIcon}</Label>}\n <div style={{position:'relative'}}>\n {children && React.cloneElement(React.Children.only(children),{\n size: children.props.size || '24px',\n style: {\n ...children.props.style,\n position:'absolute',\n top: children.props.top || '8px',\n right: '8px',\n cursor:'pointer',\n left: (children.props.left && '8px')\n }\n })\n }\n <InputBase\n name={name}\n id={name}\n className={[children && 'hasChildren',children && children.props.left && 'childrenLeft']}\n {...props}\n validation={validationType}\n ref={ref}\n onChange={handleChange}\n />\n\n {iconAction && iconAction}\n </div>\n {help && <Span>{help}</Span>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n </Frag>\n )\n\n })\n\n\n\nexport default Input;\n","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","import React from 'react';\nimport styled from 'styled-components';\n\nimport {ReactComponent as Advance} from '../assets/icons/advance.svg';\nimport {ReactComponent as Android} from '../assets/icons/android.svg';\nimport {ReactComponent as Apple} from '../assets/icons/apple.svg';\nimport {ReactComponent as Archive} from '../assets/icons/archive.svg';\nimport {ReactComponent as ArrowDown} from '../assets/icons/arrow-down.svg';\nimport {ReactComponent as ArrowLeft} from '../assets/icons/arrow-left.svg';\nimport {ReactComponent as ArrowRight} from '../assets/icons/arrow-right.svg';\nimport {ReactComponent as ArrowUp} from '../assets/icons/arrow-up.svg';\nimport {ReactComponent as BackHome} from '../assets/icons/back-home.svg';\nimport {ReactComponent as Balance} from '../assets/icons/balance.svg';\nimport {ReactComponent as Broom} from '../assets/icons/broom.svg';\nimport {ReactComponent as Bucket} from '../assets/icons/bucket.svg';\nimport {ReactComponent as Bug} from '../assets/icons/bug.svg';\nimport {ReactComponent as Calendar} from '../assets/icons/calendar.svg';\nimport {ReactComponent as Card} from '../assets/icons/cards.svg';\nimport {ReactComponent as Chat} from '../assets/icons/chat.svg';\nimport {ReactComponent as Check} from '../assets/icons/check.svg';\nimport {ReactComponent as CheckNarrow} from '../assets/icons/check-narrow.svg';\nimport {ReactComponent as CheckSquare} from '../assets/icons/check-square.svg';\nimport {ReactComponent as Clock} from '../assets/icons/clock.svg';\nimport {ReactComponent as Cog} from '../assets/icons/cog.svg';\nimport {ReactComponent as Contract} from '../assets/icons/contract.svg';\nimport {ReactComponent as Copy} from '../assets/icons/copy.svg';\nimport {ReactComponent as CreditCard} from '../assets/icons/credit-card.svg';\nimport {ReactComponent as Document} from '../assets/icons/document.svg';\nimport {ReactComponent as Dollar} from '../assets/icons/dollar.svg';\nimport {ReactComponent as Download} from '../assets/icons/download.svg';\nimport {ReactComponent as DspwNetwork} from '../assets/icons/dspw-network.svg';\nimport {ReactComponent as Edit} from '../assets/icons/pencil.svg';\nimport {ReactComponent as Empty} from '../assets/icons/empty.svg';\nimport {ReactComponent as Expand} from '../assets/icons/expand.svg';\nimport {ReactComponent as Eye} from '../assets/icons/eye.svg';\nimport {ReactComponent as EyeCrossed} from '../assets/icons/eye-crossed.svg';\nimport {ReactComponent as Feather} from '../assets/icons/feather.svg';\nimport {ReactComponent as Filter} from '../assets/icons/filter.svg';\nimport {ReactComponent as FlashlightOff} from '../assets/icons/flashlight-off.svg';\nimport {ReactComponent as FlashlightOn} from '../assets/icons/flashlight-on.svg';\nimport {ReactComponent as GeoferenceIn} from '../assets/icons/geofence-in.svg';\nimport {ReactComponent as GeoferenceOut} from '../assets/icons/geofence-out.svg';\nimport {ReactComponent as GraduationHat} from '../assets/icons/graduation-hat.svg';\nimport {ReactComponent as Group} from '../assets/icons/group.svg';\nimport {ReactComponent as Headset} from '../assets/icons/headset.svg';\nimport {ReactComponent as Image} from '../assets/icons/image.svg';\nimport {ReactComponent as Info} from '../assets/icons/info-circle.svg';\nimport {ReactComponent as Invoice} from '../assets/icons/invoice.svg';\nimport {ReactComponent as List} from '../assets/icons/list.svg';\nimport {ReactComponent as Locker} from '../assets/icons/locker.svg';\nimport {ReactComponent as Loadout} from '../assets/icons/loadout.svg';\nimport {ReactComponent as Lunch} from '../assets/icons/lunch.svg';\nimport {ReactComponent as LunchIn} from '../assets/icons/lunch-in.svg';\nimport {ReactComponent as LunchOut} from '../assets/icons/lunch-out.svg';\nimport {ReactComponent as Maintenance} from '../assets/icons/maintenance.svg';\nimport {ReactComponent as Marker} from '../assets/icons/marker.svg';\nimport {ReactComponent as Menu} from '../assets/icons/menu.svg';\nimport {ReactComponent as Megaphone} from '../assets/icons/megaphone.svg';\nimport {ReactComponent as Move} from '../assets/icons/move.svg';\nimport {ReactComponent as NotAllowed} from '../assets/icons/not-allowed.svg';\nimport {ReactComponent as Notes} from '../assets/icons/notes.svg';\nimport {ReactComponent as Package} from '../assets/icons/package.svg';\nimport {ReactComponent as PackageBack} from '../assets/icons/package-back.svg';\nimport {ReactComponent as PackageCheck} from '../assets/icons/package-check.svg';\nimport {ReactComponent as PackageTimes} from '../assets/icons/package-times.svg';\nimport {ReactComponent as Parking} from '../assets/icons/parking.svg';\nimport {ReactComponent as ParkingGeoIn} from '../assets/icons/parking-geofence-in.svg';\nimport {ReactComponent as ParkingGeoOut} from '../assets/icons/parking-geofence-out.svg';\nimport {ReactComponent as Pause} from '../assets/icons/pause.svg';\nimport {ReactComponent as Phone} from '../assets/icons/phone.svg';\nimport {ReactComponent as Person} from '../assets/icons/person.svg';\nimport {ReactComponent as Play} from '../assets/icons/play.svg';\nimport {ReactComponent as Plus} from '../assets/icons/plus.svg';\nimport {ReactComponent as PunchIn} from '../assets/icons/punch-in.svg';\nimport {ReactComponent as PunchOut} from '../assets/icons/punch-out.svg';\nimport {ReactComponent as Printer} from '../assets/icons/printer.svg';\nimport {ReactComponent as Radius} from '../assets/icons/radius.svg';\nimport {ReactComponent as Refresh} from '../assets/icons/refresh.svg';\nimport {ReactComponent as Replace} from '../assets/icons/replace.svg';\nimport {ReactComponent as Rts} from '../assets/icons/rts.svg';\nimport {ReactComponent as Search} from '../assets/icons/search.svg';\nimport {ReactComponent as Segment} from '../assets/icons/segment.svg';\nimport {ReactComponent as Skill} from '../assets/icons/skills.svg';\nimport {ReactComponent as TimeLine} from '../assets/icons/timeline.svg';\nimport {ReactComponent as Times} from '../assets/icons/times.svg';\nimport {ReactComponent as TimesNarrow} from '../assets/icons/times-narrow.svg';\nimport {ReactComponent as Trash} from '../assets/icons/trash.svg';\nimport {ReactComponent as TrendDown} from '../assets/icons/trend-down.svg';\nimport {ReactComponent as TrendUp} from '../assets/icons/trend-up.svg';\nimport {ReactComponent as Upload} from '../assets/icons/upload.svg';\nimport {ReactComponent as VehicleOil} from '../assets/icons/vehicle-oil.svg';\nimport {ReactComponent as Warning} from '../assets/icons/warning.svg';\n\nimport theme from '../Theme';\n\nconst Wrapper = (Element) => {\n const Svg = styled(Element)`\n width: ${props => props.size ? props.size : '40px'}\n height: ${props => props.size ? props.size : '40px'}\n\n ${props => props.onClick && `\n cursor: pointer;\n `}\n\n path {\n fill:${props => props.color ? props.color + ' !important' : theme.colors.secondary};\n }\n `;\n return Svg;\n}\n\nlet Icons = {\n Advance,Android,Apple,Archive,ArrowDown,ArrowLeft,ArrowRight,ArrowUp,BackHome, Balance, Broom,\n Bucket,Bug,Chat,Calendar,Card,Check,CheckNarrow,Contract,Copy,CreditCard,CheckSquare,Clock,Cog,\n Dollar,Download,DspwNetwork,Document,\n Edit,Empty,Expand, Eye,EyeCrossed,Feather, Filter, FlashlightOff, FlashlightOn,\n GeoferenceIn,GeoferenceOut,GraduationHat, Group, Headset,\n Image,Info,Invoice,List, Locker, Loadout,Lunch, LunchIn, LunchOut,\n Maintenance,Marker,Menu,Megaphone,Move,NotAllowed,Notes,Pause,Package, PackageBack, PackageCheck, PackageTimes,\n Parking,ParkingGeoIn,ParkingGeoOut,Phone,\n Person,Play,Plus,Printer,PunchIn,PunchOut,Radius,Refresh,Replace,Rts,\n Segment,Search,Skill,TimeLine,Times,TimesNarrow,Trash,TrendDown,TrendUp,Upload,VehicleOil,Warning\n};\nlet Items = Object.keys(Icons).sort((a,b) => a.localeCompare(b));\nItems.map(key => {\n Icons[key] = Wrapper(Icons[key]);\n})\n\nexport default Icons;\n","import React from 'react';\nimport styled from 'styled-components';\nimport Theme from '../Theme'\n\nconst Help = styled.span`\n height:14px;\n width:14px;\n border-radius: 100%;\n background: ${Theme.colors.info.bg}; \n border: 1px solid ${Theme.colors.info.border};\n color:${Theme.colors.info.text};\n font-family:Circe-Rounded;\n display: inline-block;\n font-size: 10px;\n text-align:center;\n font-weight:bold;\n position:relative;\n top:-2px;\n left:5px;\n \n >div {\n display:none;\n background:white;\n padding:7px;\n position:absolute;\n top:-40px;\n left:-4px;\n white-space: nowrap;\n font-weight:300;\n color:#707070; \n box-shadow:0 0 6px #ccc;\n \n &::before {\n content: \" \";\n width: 0;\n height: 0;\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-top: 5px solid white;\n position: absolute;\n bottom: -5px;\n }\n }\n \n &:hover {\n div {\n display:inline-block;\n } \n }\n`;\n\n\nconst App = ({text}) => {\n return(\n <Help>\n <span>?</span>\n <div>{text}</div>\n </Help>\n );\n}\n\nexport default App;\n","const mergeRefs = refs => {\n return value => {\n refs.forEach(ref => {\n if (typeof ref === 'function') {\n ref(value)\n } else if (ref != null) {\n ref.current = value\n }\n })\n }\n};\n\nexport default mergeRefs;\n","import styled from 'styled-components';\nimport Theme from '../Theme';\n\nconst Title = styled.h1`\n font-family:circe-rounded;\n font-weight:bold;\n font-size:36px;\n line-height:44px;\n color: ${Theme.colors.secondary};\n`;\n\nconst SubTitle = styled.h3`\n font-family:circe-rounded;\n font-weight:bold;\n font-size:22px;\n line-height:28px;\n color: ${Theme.colors.info.text};\n`;\n\nconst ThirdTitle = styled(SubTitle)`\n font-size:16px;\n line-height:20px;\n`;\n\nconst Text = styled.p`\n font-size:14px;\n line-height:16px;\n color:${Theme.colors.neutrals.gray};\n`;\n\nexport {Title, SubTitle, ThirdTitle, Text};\n\n\n","import React, {forwardRef, Fragment, useCallback, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport Icon from '../Icons/index'\nimport Theme from '../Theme'\nimport Ex from '../assets/Ex.svg'\nimport Check from '../assets/Check.svg'\nimport Help from '../Common/tooltip'\nimport {Label, RequiredText} from '../Common/input'\nimport mergeRefs from '../Common/MergeRefs'\nimport {Text} from '../Texts/index'\n\nconst Frag = styled.div`\n display:inline-block;\n vertical-align: top;\n`;\n\nconst handleSize = sizeType => {\n switch(sizeType){\n case 'extraSmall':\n return '80px';\n case 'small':\n return '140px';\n case 'big':\n return '460px';\n default:\n return '300px';\n }\n}\n\nconst SelectUi = styled.div`\n width:${({size}) => handleSize(size)};\n height:40px;\n background:white;\n border-radius:2px;\n border:1px solid ${Theme.colors.neutrals.silver};\n cursor:pointer;\n position:relative;\n box-sizing:border-box;\n padding:12px 8px;\n display:flex;\n align-items:center;\n justify-content:space-between;\n\n &.open {\n border-color:${Theme.colors.secondary};\n box-shadow:0 0 6px ${Theme.colors.action};\n }\n\n &.error {\n border-color:${Theme.colors.error.border};\n }\n\n &.error.open {\n border-color:${Theme.colors.error.border};\n box-shadow:0 0 6px ${Theme.colors.error.shadow};\n }\n\n &.valid {\n border-color:${Theme.colors.success.border};\n }\n\n &.valid.open {\n border-color:${Theme.colors.success.border};\n box-shadow:0 0 6px ${Theme.colors.success.shadow};\n }\n\n &[disabled] {\n cursor: not-allowed;\n background: ${Theme.colors.extra.whiteSmoke};\n border-color: ${Theme.colors.neutrals.silver};\n color: ${Theme.colors.neutrals.medium};\n }\n\n &[disabled] input::placeholder {\n color:#eee;\n }\n`;\n\nconst Value = styled(Text).attrs(props => ({\n as: 'span'\n}))`\n white-space: nowrap;\n overflow:hidden;\n color: ${Theme.colors.neutrals.medium};\n\n ${props => props.option && `\n display:inline-block;\n flex:1;\n `}\n\n >span {\n color:#707070;\n }\n`;\n\nconst maxOptions = 3;\nconst optionsSize = 32;\n\nconst Options = styled.ul`\n padding:0;\n margin:4px 0;\n background:white;\n border:1px solid ${Theme.colors.neutrals.silver};\n box-shadow:0 0 6px ${Theme.colors.neutrals.silver};\n border-radius:2px;\n list-style:none;\n width:auto;\n display:inline-block;\n position: absolute;\n top: 100%;\n ${props => props.openTo === 'top' && `\n top:unset;\n bottom: 100%;\n `}\n left: -1px;\n z-index:10;\n ${props => !props.hasChildren && `\n max-height: ${props.visibleOptionsQty ? props.visibleOptionsQty * optionsSize : maxOptions * optionsSize}px;\n overflow-x:hidden;\n overflow-y:scroll;\n `}\n\n\n ${props => props.isChild && `\n position:absolute;\n left:100%;\n margin-left:4px;\n top:-4px;\n `}\n\n\n li {\n font-size:${Theme.font.small.size};\n color:#707070;\n height:32px;\n cursor:pointer;\n padding:0px 4px 0 8px;\n position:relative;\n display:flex;\n justify-content:space-between;\n align-items:center;\n\n >ul {\n display:none;\n }\n\n &::before {\n content: \" \";\n height: 100%;\n width: 6px;\n background: transparent;\n display: block;\n position: absolute;\n right: -7px;\n }\n\n\n &:hover {\n background:${Theme.colors.info.bg};\n\n >ul {\n display:inline-block;\n }\n }\n\n &.alone {\n border-top:1px solid ${Theme.colors.neutrals.silver};\n }\n\n }\n`;\n\nconst optionsSizeCustom = 42;\nconst OptionsPeople = styled(Options)`\n max-height: ${props => props.visibleOptionsQty ? props.visibleOptionsQty * optionsSize : optionsSizeCustom * optionsSize}px;\n overflow-y:scroll;\n\n >li {\n padding-right: 8px;\n height: auto;\n min-height: 32px;\n justify-content: flex-start;\n }\n`;\n\n\nconst Span = styled.span`\n font-size:${Theme.font.extraSmall.size};\n font-weight:normal;\n font-family:Circe-Rounded;\n display:block;\n color:#516F90;\n margin-top:4px;\n`;\n\nconst SpanError = styled(Span)`\n color:${Theme.colors.error.text}\n`;\n\nconst SelectHidden = styled.select`\n position: absolute;\n height: 1px;\n width: 1px;\n z-index: -1;\n opacity: 0;\n`;\n\nconst PhotoCover = styled.div`\n height:22px;\n width:22px;\n overflow:hidden;\n border-radius:100%;\n border:1px solid #516F90;\n background:#EAF0F6;\n margin-right:5px;\n display:flex;\n justify-content:center;\n align-items:center;\n\n >svg {\n margin-top:2px;\n }\n\n >img {\n width:25px;\n height:25px;\n object-fit:cover;\n object-position:center;\n }\n`;\n\nconst CustomCheckBox = styled.div`\n background: ${Theme.colors.neutrals.white};\n border-radius: ${Theme.defaultRadius};\n border:1px solid ${Theme.colors.neutrals.silver};\n height:16px;\n width:16px;\n border-radius:2px;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n margin-right:9px;\n &:focus{\n border-color:${Theme.colors.secondary};\n box-shadow:0 0 6px ${Theme.colors.action};\n }\n\n`;\n\nconst OptionGroup = styled.div`\n color:#707070;\n font-size:12px;\n padding:8px;\n font-weight:bold;\n cursor:default;\n white-space: nowrap;\n`;\n\nconst ColorOption = styled.span `\n height:24px;\n width:24px;\n box-sizing: border-box;\n margin-right:5px;\n border-radius:100%;\n border:2px solid white;\n background:${props => props.color ? props.color : 'black' }\n z-index: ${props => props.index > 0 ? 10-props.index : 10};\n margin-left:${props => props.index > 0 ? '-19px' : '0' }\n margin-top: 8px;\n margin-bottom: 8px;\n display: inline-block;\n`;\n\n\nconst getSelected = (options,defaultValue) =>{\n\n let selected;\n options.some((item)=>(\n selected = (item.selected) || (item.value == defaultValue) ? item : getSelected(item.options ? item.options : [],defaultValue))\n )\n return selected;\n}\n\nconst Dropdown = forwardRef(({\n name,\n label,\n help,\n error,\n valid,\n options,\n placeholder,\n onChange,\n defaultValue,\n visibleOptionsQty,\n openTo,\n ...props\n},ref) => {\n\n let defaultSelected = {value:'',desc:''};\n\n const [open, setOpen] = useState(false);\n const [selectedOpt, setSelected] = useState(defaultSelected);\n\n const nodeSelect = useRef();\n const valueRef = useRef();\n\n const handleClick = e => {\n if (nodeSelect.current.contains(e.target)) {\n return;\n }\n setOpen(false);\n };\n\n const reset = () =>{\n setSelected(defaultSelected);\n }\n\n if(props.resetCallback){\n props.resetCallback(reset);\n }\n\n const setDefaultValues = useCallback(() => {\n const hasDefault = getSelected(options,defaultValue);\n\n if(hasDefault && hasDefault.value){\n defaultSelected = {value:hasDefault.value.toString(),desc:hasDefault.name};\n setSelected(defaultSelected);\n } else {\n if ( !valueRef.current.value )\n return;\n\n let selected = getSelected(options,valueRef.current.value);\n if ( selected && selected.value && selected.value !== selectedOpt.value)\n setSelected({ value: selected.value.toString(), desc: selected.name });\n }\n },)\n\n useEffect(()=>{\n //if(defaultValue){\n if(options) setDefaultValues();\n //}\n\n },[options,defaultValue])\n\n useEffect(()=>{\n valueRef.current.value = selectedOpt.value;\n valueRef.current.dispatchEvent(new Event('blur'));\n }, [selectedOpt]);\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClick);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n }, []);\n\n let useIcon = false;\n\n if(props.Required) useIcon = <RequiredText />\n\n if(valid){\n useIcon = (<img src={Check} />);\n }\n\n return(\n <Frag>\n {label && !useIcon && <Label htmlFor={name}>{label}</Label>}\n {label && useIcon && <Label htmlFor={name}>{label} {useIcon}</Label>}\n <SelectUi\n onClick={()=>{\n if (!props.disabled)\n setOpen(!open)\n }}\n ref={nodeSelect}\n className={[open && 'open', error && 'error', valid && 'valid']}\n {...props}\n title={selectedOpt ? selectedOpt.desc : ''}\n >\n <Value>{(selectedOpt.value.length > 0 ? selectedOpt.desc : <span>{placeholder}</span> )}</Value>\n {open ? <Icon.ArrowUp size='15px' color={Theme.colors.info.border} /> : <Icon.ArrowDown size='15px' color={Theme.colors.info.border} />}\n {open &&\n <BoxOptions\n options={options}\n setSelected={setSelected}\n onChange={onChange}\n reset={reset}\n noOptions={props.noOptions}\n selectedOpt={selectedOpt.value}\n setOpen={setOpen}\n onSelect={props.onSelect}\n visibleOptionsQty={visibleOptionsQty}\n openTo={openTo}\n />\n }\n </SelectUi>\n {help && <Span>{help}</Span>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n <input name={name} type='hidden' ref={mergeRefs([valueRef, ref])} disabled={props.disabled}/>\n </Frag>\n );\n})\n\n// eslint-disable-next-line react/prop-types\nexport const BoxOptions = ({options,isChild,setSelected,onChange,noOptions,selectedOpt,setOpen,onSelect,visibleOptionsQty,openTo}) => {\n if(!options) return (<Options><li style={{paddingRight:'8px'}}>{noOptions ? noOptions : 'No data found'}</li></Options>)\n\n const optionsRef = useRef();\n\n const handleClick = (item,e) => {\n e.stopPropagation();\n setOpen(false);\n if(onSelect) onSelect(item);\n if(selectedOpt === item.value) return false;\n setSelected({value:item.value.toString(),desc:item.name});\n if(onChange)onChange(item)\n }\n\n const hasChildren = options.some(el => el.options);\n\n useEffect(() => {\n if(optionsRef.current){\n const optionsBounds = optionsRef.current.getBoundingClientRect();\n if(optionsBounds.right > window.innerWidth){\n optionsRef.current.style.left = \"unset\";\n optionsRef.current.style.right = \"0px\";\n }\n }\n },[])\n\n return (\n <Options isChild={isChild} visibleOptionsQty={visibleOptionsQty} hasChildren={hasChildren} openTo={openTo} ref={optionsRef}>\n {options.map((item,key)=>(\n <Fragment key={key}>\n {item.value !== undefined && item.value !== null\n ?\n <li value={item.value} key={key} className={item.divider ? 'alone' : ''} onClick={(e)=>{ handleClick(item,e); }}>\n <Value\n option\n style={{marginRight:4}}\n >\n {item.name}\n </Value>\n {item.options && <Icon.ArrowRight size='15px' color='#7C98B6'/>}\n {item.options && <BoxOptions options={item.options} isChild={true} setSelected={setSelected} onChange={onChange} selectedOpt={selectedOpt} setOpen={setOpen} visibleOptionsQty={visibleOptionsQty} />}\n </li>\n :\n <OptionGroup>{item.name}</OptionGroup>\n }\n </Fragment>\n ))}\n </Options>\n );\n}\n\n\n\nconst CustomDropdown = forwardRef(({name,label,help,error,valid,options,placeholder,defaultValue,multiple,type,tooltip,onChange,visibleOptionsQty,openTo,...props},ref) => {\n\n const [open, setOpen] = useState(false);\n const [selectedOpt, setSelected] = useState([]);\n\n const nodeSelect = useRef();\n const valueRef = useRef();\n\n const handlOpenSelect = e => {\n if (props.disabled)\n return;\n\n if(multiple)\n if(e.target.classList.contains('1010list-option'))\n return;\n\n setOpen(!open);\n }\n\n const reset = () => {\n setSelected([]);\n }\n\n if(props.resetCallback){\n props.resetCallback(reset);\n }\n\n const handleClick = e => {\n if (nodeSelect.current.contains(e.target))\n return;\n\n setOpen(false);\n };\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClick);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n }, []);\n\n const setDefaultValues = useCallback(() => {\n let defaults;\n\n if ( valueRef.current && valueRef.current.value ) {\n if ( multiple ) {\n defaultValue = Array.from( valueRef.current.children )\n .filter( opt => opt.selected == true )\n .map( opt => opt.value );\n } else\n defaultValue = defaultValue || valueRef.current.value;\n }\n\n if(options){\n defaults = options.map((item,key)=>{\n if(item.selected) return key;\n }).filter(e => e != null);\n }\n\n if(defaultValue){\n defaults = options.map((item,key)=>{\n if(multiple) {\n if(defaultValue.indexOf(item.value) >= 0) return key;\n }else{\n if(item.value == defaultValue) return key;\n }\n }).filter(e => e != null);\n }\n\n\n if(defaults.length){\n if(multiple){\n if (selectedOpt.length !== defaults.length\n || !selectedOpt.every((value, index) => value === defaults[index]))\n setSelected(defaults);\n }else{\n if (selectedOpt[0] !== defaults[0])\n setSelected([defaults[0]]);\n }\n }\n\n // const hasDefault = getSelected(options,defaultValue);\n //\n // if(hasDefault && hasDefault.value){\n // defaultSelected = {value:hasDefault.value.toString(),desc:hasDefault.name};\n // setSelected(defaultSelected);\n // } else {\n // if ( !valueRef.current.value )\n // return;\n //\n // let selected = getSelected(options,valueRef.current.value);\n // if ( selected && selected.value )\n // setSelected({ value: selected.value.toString(), desc: selected.name });\n // }\n },)\n\n useEffect(()=>{\n //if(defaultValue){\n if(options) setDefaultValues();\n //}\n\n },[options,defaultValue])\n\n useEffect(()=>{\n if ( valueRef.current )\n if ( multiple )\n Array.from(valueRef.current.children)\n .map((opt, k) => opt.selected = selectedOpt.indexOf(k) !== -1);\n else if ( options[selectedOpt] )\n valueRef.current.value = options[selectedOpt].value;\n\n valueRef.current.dispatchEvent(new Event('blur'));\n }, [selectedOpt]);\n\n let useIcon = false;\n\n if(props.Required) useIcon = <RequiredText />\n\n if(valid){\n useIcon = (<img src={Check} />);\n }\n\n return(\n <Frag>\n {label && !useIcon && <Label htmlFor={name}>{label} {tooltip && <Help text={tooltip}/>}</Label>}\n {label && useIcon && <Label htmlFor={name}>{label} {useIcon} {tooltip && <Help text={tooltip}/>}</Label>}\n <SelectUi onClick={handlOpenSelect} ref={nodeSelect} className={[open && 'open', error && 'error', valid && 'valid']} {...props}>\n <Value style={{display:'inline-flex',alignItems:'center',overflow:'hidden'}}>\n {\n selectedOpt.length > 0\n ? <SelectValueRender options={options} selectedOpt={selectedOpt} type={type} noOptions={props.noOptions}/>\n : <span>{placeholder}</span>\n }\n </Value>\n {open ? <Icon.ArrowUp size='15px' color={Theme.colors.info.border} /> : <Icon.ArrowDown size='15px' color={Theme.colors.info.border} />}\n {open &&\n <SelectOption\n options={options}\n setSelected={setSelected}\n selectedOpt={selectedOpt}\n multiple={multiple}\n type={type}\n onChange={onChange}\n noOptions={props.noOptions}\n visibleOptionsQty={visibleOptionsQty}\n openTo={openTo}\n />\n }\n </SelectUi>\n {help && <Span>{help}</Span>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n\n {multiple\n ?\n <SelectHidden\n name={name}\n multiple\n ref={mergeRefs([valueRef, ref])}\n tabIndex={-1}\n >\n {options && options.map( ( opt, k ) =>\n <option value={opt.value} key={k}>{opt.name}</option>\n )}\n </SelectHidden>\n :\n <input\n name={name}\n type='hidden'\n ref={mergeRefs([valueRef, ref])}\n />\n }\n\n </Frag>\n );\n})\n\nconst HandleState = (index,setSelected,selectedOpt,multiple,onChange, options) => {\n\n const key = selectedOpt.includes(index);\n\n let ret;\n\n if(key && multiple){\n selectedOpt.splice(selectedOpt.indexOf(index),1)\n ret = [...selectedOpt];\n }else{\n if(multiple){\n let newSelected = Object.assign([],selectedOpt);\n newSelected.push(index);\n ret = newSelected;\n }else{\n ret = [index];\n }\n }\n\n if ( !multiple && ret.toString() === selectedOpt.toString() )\n return;\n\n const stateMap = options.filter( (opt, index) => ret.indexOf( index ) !== -1 ).map( opt => opt.value );\n\n if ( typeof onChange === 'function' )\n onChange( multiple ? stateMap : stateMap[0] );\n\n setSelected(ret);\n}\n\nconst SelectOption = ({options,setSelected,selectedOpt,multiple,type,onChange,noOptions,visibleOptionsQty,openTo}) => {\n if(!options) return (<OptionsPeople><li>{noOptions ? noOptions : 'No data found'}</li></OptionsPeople>)\n return (\n <OptionsPeople visibleOptionsQty={visibleOptionsQty} openTo={openTo}>\n {options.map((item,key)=>(\n <Fragment key={key} >\n {item.value !== undefined && item.value !== null ?\n <li value={item.value} className='1010list-option' onClick={()=>{HandleState(key,setSelected,selectedOpt,multiple,onChange,options)}}>\n {multiple && <CustomCheckBox className='1010list-option'>{selectedOpt.includes(key) && <Icon.Check size='17px' />}</CustomCheckBox>}\n {type == 'color' ? <ColorOption color={item.color} className='1010list-option' /> : null}\n {type == 'people' ? <PhotoComponent profile={item.profile} /> : null}\n <Value className='1010list-option'>{item.name}</Value>\n </li>\n :\n <OptionGroup className='1010list-option'>{item.name}</OptionGroup>\n }\n </Fragment>\n ))}\n </OptionsPeople>\n );\n}\n\nconst PhotoComponent = ({profile,index}) => {\n let customStyle = {position:'relative',display:'inline-flex',zIndex:10};\n\n if(index > 0){\n customStyle.marginLeft = '-19px';\n customStyle.zIndex -= index;\n }\n return(\n <PhotoCover style={customStyle} className='1010list-option' >\n {profile && profile != undefined ? <img src={profile} className='1010list-option' /> : <Icon.Person className='1010list-option' size='20px' />}\n </PhotoCover>\n )\n};\n\nconst SelectValueRender = ({options,selectedOpt,type,noOptions}) => {\n if(!options){\n return(\n <Fragment>\n <div style={{display:'flex'}}></div>\n <Value>\n {noOptions ? noOptions : 'No Data' }\n </Value>\n </Fragment>\n );\n }\n let Pictures = [];\n let Names = [];\n\n if(selectedOpt.length > 0 && selectedOpt[0] != undefined){\n let seq = 0;\n selectedOpt.map((key)=>{\n if(seq < 3){\n if(type === 'color'){\n Pictures.push(<ColorOption key={key} index={seq} color={options[key].color} />)\n }else if(type === 'people'){\n Pictures.push(<PhotoComponent key={key} index={seq} profile={options[key].profile} />);\n }\n if(seq == 2){\n let total = selectedOpt.length-2;\n const plural = (total > 1 ? 's' : '');\n\n if(Names[0].length > 8)\n {\n let new_desc = Names[0].split(' ');\n if(new_desc[0].length >8){\n Names.splice(1,1);\n ++total;\n }else{\n Names[0] = new_desc[0];\n }\n }\n\n Names.push(total+' other'+plural);\n }else{\n let desc = options[key].name;\n if(seq == 1){\n // let new_desc = desc.split(' ');\n // desc = new_desc[0];\n }\n Names.push(desc);\n\n\n }\n }\n ++seq;\n })\n }\n\n return(\n <Fragment>\n <div style={{display:'flex'}}>{Pictures}</div>\n <Value>\n {\n (Names.length > 2) ? Names.join(', ').replace(/,(?=[^,]*$)/, ' and ') : Names.join(', ')\n }\n </Value>\n </Fragment>\n );\n\n}\n\n\nexport {CustomDropdown};\n\nexport default Dropdown;\n","import React from 'react';\nimport styled from 'styled-components';\n\nconst solveSpace = (type=0) => {\n if(!Number.isInteger(type)){\n return '0';\n }\n if(type < 1){\n return '0';\n }\n return type*4;\n}\n\nconst BaseSpace = styled.div`\n padding-top:${props => solveSpace(props.top)}px;\n padding-left:${props => solveSpace(props.left)}px;\n padding-right:${props => solveSpace(props.right)}px;\n padding-bottom:${props => solveSpace(props.bottom)}px;\n display:${props => props.inline ? 'inline-block' : 'block'}\n`;\n\nconst Spacer = ({all,...props}) => {\n\n if(all){\n props.top = all;\n props.left = all;\n props.right = all;\n props.bottom = all;\n }\n return (<BaseSpace {...props} />)\n}\n\nexport default Spacer;\n","import React, {forwardRef} from 'react'\nimport styled from 'styled-components'\n\nimport Theme from '../Theme'\nimport Icon from '../Icons'\nimport Spacer from '../Spacer'\nimport Ex from '../assets/Ex.svg'\nimport Check from '../assets/Check.svg'\n\nimport {RequiredText} from '../Common/input'\nimport {Text} from '../Texts'\n\nconst HiddenCheckbox = styled.input.attrs({type:'checkbox'})`\n display: none;\n`;\n\nconst HiddenRadioBox = styled.input.attrs({type:'radio'})`\n display: none;\n`;\n\n\nconst CheckboxContainer = styled.label`\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n justify-content: center;\n cursor:pointer;\n\n &:focus {\n outline:none;\n }\n `;\n\nconst CustomCheckBox = styled.div`\n background: ${Theme.colors.neutrals.white};\n border-radius: ${Theme.defaultRadius};\n border:1px solid ${Theme.colors.neutrals.silver};\n height:${props => props.radio ? '17px' : '16px'};\n width:${props => props.radio ? '17px' : '16px'};\n border-radius:${props => props.radio ? '17px' : '2px'};\n display: inline-flex;\n justify-content: center;\n align-items: center;\n box-sizing:border-box;\n\n svg {\n display:none;\n }\n\n ${HiddenCheckbox}:focus + &, ${HiddenRadioBox}:focus + & {\n border-color:${Theme.colors.secondary};\n box-shadow:0 0 6px ${Theme.colors.action};\n }\n\n ${HiddenCheckbox}:disabled + &, ${HiddenRadioBox}:disabled + & {\n background:${Theme.colors.neutrals.silver};\n border-color:#707070;\n opacity:0.5;\n cursor:default;\n }\n\n ${HiddenCheckbox}:checked + &, ${HiddenRadioBox}:checked + & {\n svg {\n display:block;\n }\n }\n`;\n\nconst Title = styled.h5`\n font-family:circe-rounded;\n font-weight:normal;\n font-size:16px;\n color: #707070;\n\n >.requiredField {\n color:${Theme.colors.error.text};\n }\n`;\n\nconst Label = styled.span`\n display:inline-block;\n font-size:14px;\n color:#707070;\n margin-left:8px;\n`;\n\nconst Span = styled.span`\n font-size:${Theme.font.extraSmall.size};\n font-weight:normal;\n font-family:Circe-Rounded;\n display:block;\n color:#516F90;\n margin-top:4px;\n`;\n\nconst SpanError = styled(Span)`\n color:${Theme.colors.error.text};\n display:block;\n`;\n\nconst NoOptions = styled(Text)`\n color: ${Theme.colors.neutrals.silver};\n`;\n\nconst CheckboxBase = forwardRef(({name, checked=false,disabled,title,label,error,preventClass,...props},ref) => {\n return(\n <div style={{display:'inline-block'}} className={preventClass ? preventClass : ''}>\n {title && <Title>{title}</Title>}\n <CheckboxContainer className={preventClass ? preventClass : ''}>\n <HiddenCheckbox ref={ref} disabled={disabled} name={name} id={`${name}.${props.value}`} {...props} onChange={()=>{}} defaultChecked={checked} />\n <CustomCheckBox className={preventClass ? preventClass : ''}>\n <Icon.Check size='16px' className={preventClass ? preventClass : ''} />\n </CustomCheckBox>\n <Label className={preventClass ? preventClass : ''}>{label}</Label>\n </CheckboxContainer>\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n </div>\n );\n});\n\n\nconst CheckBox = forwardRef(({name,title,options = [],values,error,...props},ref) => {\n\n // if(!options || !options[0] || options[0] == undefined) {\n // return (<div>Provide an valid array</div>);\n // }\n\n return (\n <div style={{verticalAlign:'middle'}} className='formAligner'>\n {title && <Title>{title} {props.Required && <RequiredText />}</Title>}\n {\n options.map((item,index) => {\n let checked = false;\n\n if(props.defaultValues && props.defaultValues.includes(item.value)) checked = true;\n\n return (\n <Spacer key={index} right={3} style={{display: 'inline-block'}} >\n <CheckboxBase\n key={index}\n name={name}\n value={item.value}\n label={item.label}\n {...props}\n ref={ref}\n checked={checked}\n />\n </Spacer>\n )\n })\n }\n {!options || !options.length && <NoOptions>No options available</NoOptions>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n </div>\n );\n\n});\n\n\nconst RadioBoxBase = forwardRef(({name,title,label,error,checked=false, ...props},ref) => {\n return(\n <div style={{display:'inline-block'}}>\n {title && <Title>{title} </Title>}\n <CheckboxContainer>\n <HiddenRadioBox ref={ref} name={name} id={`${name}.${props.value}`} defaultChecked={checked} {...props} />\n <CustomCheckBox radio={true}>\n <Icon.Check size='17px' />\n </CustomCheckBox>\n <Label>{label}</Label>\n </CheckboxContainer>\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n </div>\n );\n});\n\nconst RadioBox = forwardRef(({name,title,options = [],values,error,valid,checked,inline=true,...props},ref) => {\n\n // if(!options || !options[0] || options[0] == undefined) {\n // return (<div>Provide an valid array</div>);\n // }\n\n\n return (\n <div style={{verticalAlign:'middle'}} className='formAligner'>\n {title && <Title>{title} {valid && <img src={Check} />} {props.Required && <RequiredText />}</Title> }\n {!inline && title && <Spacer bottom={1} />}\n {\n options.map((item,index) => {\n let checked = false;\n\n if(props.default && props.default == item.value) checked = true;\n\n return (\n <Spacer key={index} right={3} style={{display: (inline ? 'inline-block' : 'block') }} >\n <RadioBoxBase\n key={index}\n name={name}\n label={item.label}\n value={item.value}\n checked={checked}\n {...props}\n ref={ref}\n />\n </Spacer>\n )\n })\n }\n {!options || !options.length && <NoOptions>No options available</NoOptions>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n </div>\n );\n\n});\n\nexport {CheckboxBase};\n\nexport {CheckBox, RadioBox}\n","import React, {useState, forwardRef} from 'react';\n\nimport Icon from '../Icons';\n\nimport Input from './index';\n\n\nconst Password = forwardRef(({...props},ref) => {\n const [visible, setVisible] = useState(false);\n\n const ImgStyle = {position:'absolute',top:'8px',right:'8px',height:'25px',cursor:'pointer'}\n\n\n let eyeImg = (<Icon.Eye style={ImgStyle} size='25px' color='#7C98B6' onClick={() => {setVisible(true)}} />);\n let type = 'password';\n if(visible){\n eyeImg = (<Icon.EyeCrossed style={ImgStyle} size='25px' color='#7C98B6' onClick={() => {setVisible(false)}} />);\n type = 'text';\n }\n\n return (\n <div style={{position:'relative',display:'inline-block',verticalAlign:'middle'}} className='formAligner'>\n <Input {...props} type={type} iconAction={eyeImg} ref={ref} />\n </div>\n )\n})\n\nexport default Password;\n","import React,{useState, useRef, useEffect,forwardRef} from 'react';\nimport styled from 'styled-components';\nimport Theme from '../Theme';\nimport {Label, InputBase, RequiredText} from '../Common/input'\nimport Icon from '../Icons';\nimport Ex from '../assets/Ex.svg'\nimport Help from '../Common/tooltip'\nimport mergeRefs from '../Common/MergeRefs';\n\nconst Frag = styled.div`\n display:inline-block;\n vertical-align: top;\n`;\n\nconst Span = styled.span`\n font-size:${Theme.font.extraSmall.size};\n font-weight:normal;\n font-family:Circe-Rounded;\n display:block;\n color:#516F90;\n margin-top:4px;\n`;\n\nconst SpanError = styled(Span)`\n color:${Theme.colors.error.text}\n`;\n\nconst Select = styled(InputBase)`\n background:${Theme.colors.neutrals.white};\n box-sizing:border-box;\n cursor:pointer;\n position:relative;\n box-sizing: border-box;\n padding:0;\n\n height:auto;\n min-height:40px;\n\n\n &:focus-within {\n box-shadow:0px 0px 6px ${Theme.colors.action}\n border-color:${Theme.colors.secondary}\n }\n\n &.error {\n border-color:${Theme.colors.error.border};\n }\n`;\n\nconst maxOptions = 5;\nconst optionsSize = 32;\nconst Options = styled.ul`\n padding:0;\n margin:4px 0;\n background:white;\n border:1px solid ${Theme.colors.neutrals.silver};\n box-shadow:0 0 6px ${Theme.colors.neutrals.silver};\n border-radius:2px;\n list-style:none;\n width:auto;\n display:inline-block;\n position: absolute;\n top: 100%;\n ${props => props.openTo === 'top' && `\n top:unset;\n bottom:100%;\n `}\n left: -1px;\n z-index:10;\n max-height: ${props => props.visibleOptionsQty ? props.visibleOptionsQty * optionsSize : maxOptions * optionsSize}px;\n overflow-x:hidden;\n overflow-y:scroll;\n\n li {\n font-size:${Theme.font.small.size};\n color:#707070;\n min-height:32px;\n cursor:pointer;\n padding: 8px;\n position:relative;\n box-sizing: border-box;\n\n >ul {\n display:none;\n }\n\n &.active,\n &:hover {\n background:${Theme.colors.info.bg};\n\n >ul {\n display:inline-block;\n }\n }\n\n }\n`;\n\nconst TagsValues = styled.ul`\n list-style:none;\n padding:0 5px 3px;\n margin:0;\n display:flex;\n max-width: 300px;\n flex-wrap: wrap;\n\n &.small {\n max-width:140px;\n\n >li:not(.input) {\n white-space: pre-wrap;\n }\n }\n\n >li:not(.input) {\n border:1px solid #7C98B6;\n color:#516F90;\n background:#EAF0F6;\n padding:5px;\n margin-right:5px;\n border-radius:2px;\n font-size:12px;\n font-weight:500;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n white-space: nowrap;\n\n\n >svg {\n padding-left:8px;\n padding-right:3px;\n }\n\n }\n\n >li {\n margin-top:5px;\n input {\n display: inline-block;\n height: 30px;\n width:100%;\n min-width:80px;\n color:#333;\n font-size:14px;\n\n &::placeholder {\n color:#ccc;\n }\n }\n\n &.input {\n flex:1;\n }\n\n\n }\n`;\n\nconst SelectHidden = styled.select`\n position: absolute;\n height: 1px;\n width: 1px;\n z-index: -1;\n opacity: 0;\n`;\n\nconst Tag = forwardRef(({\n name = '',\n options,\n error,\n valid,\n help,\n label,\n tooltip,\n canCreate,\n size,\n onChange,\n placeholder,\n visibleOptionsQty,\n openTo,\n ...props\n},ref) => {\n\n if( !options || !options[0] )\n options = [];\n\n const randId = Math.random() * new Date().getTime();\n const safeName = ('tag' + name + randId.toString()).replace(/\\W/gi, '');\n\n const [search, setSearch] = useState('');\n const [open, setOpen] = useState(!!props.autoFocus);\n const [newOptions, setNewOption] = useState([]);\n const [defaultOptions, setDefaultOptions] = useState( options );\n const [selectedOpt, setSelected] = useState([]);\n\n\n const containerRef = useRef();\n const searchRef = useRef();\n const valueRef = useRef();\n\n\n const isSelected = (value) => selectedOpt.some(key => key == value);\n\n let filter = React.useMemo(() => {\n return options.map((item,key)=>{\n if(isSelected(key))\n return null;\n\n if(item.name.toLowerCase().indexOf(search.toLowerCase()) === -1)\n return null;\n\n return key;\n }).filter(e => e != null);\n }, [options, selectedOpt, search]);\n\n\n if ( JSON.stringify(options) !== JSON.stringify(defaultOptions) )\n setDefaultOptions(options);\n\n options = defaultOptions.concat(newOptions);\n\n let timer;\n const handleChange = e => {\n clearTimeout(timer);\n const s = e.target.value;\n timer = setTimeout(() => setSearch(s), 150);\n }\n\n const handleSelect = (key) => {\n let selected = props.singleOption ? [key] : [...selectedOpt,key];\n\n setSelected( selected );\n\n searchRef.current.value = '';\n setSearch('');\n\n if ( typeof onChange === 'function' ) {\n let values = options.filter( (opt, k) => selected.indexOf( k ) !== -1 );\n onChange( values );\n }\n };\n\n const handleRemove = (index) => {\n if( !selectedOpt.length )\n return;\n\n selectedOpt.splice(selectedOpt.indexOf(index),1);\n let selected = [...selectedOpt];\n setSelected(selected);\n setTimeout(()=>{\n searchRef.current.focus();\n });\n\n if ( typeof onChange === 'function' ) {\n let values = options.filter( (opt, k) => selected.indexOf( k ) !== -1 );\n onChange( values );\n }\n }\n\n const handleClick = e => {\n let elm = e.target;\n\n if (containerRef.current.contains(elm))\n return;\n\n setOpen(false);\n };\n\n const handleFocus = e => {\n if (e.target.value)\n handleChange(e);\n\n setOpen(true);\n }\n\n const handleBlur = e => {\n if (document.activeElement !== document.body && !containerRef.current.contains(document.activeElement))\n setOpen(false);\n }\n\n const handleKey = e =>{\n let key = e.key.toLowerCase();\n\n switch ( key ) {\n case 'escape':\n setOpen(false);\n return;\n\n case 'backspace':\n return !searchRef.current.value.length && selectedOpt.length && handleRemove(selectedOpt[selectedOpt.length-1]);\n\n case 'arrowup':\n case 'arrowdown':\n if ( !open )\n setOpen(true);\n\n let list = document.querySelectorAll( `#${safeName}-options li[value]` );\n\n if ( !list || !list.length )\n return;\n\n let arr = Array.from(list);\n let activeIndex = arr.findIndex(elm => elm.classList.contains('active') );\n\n if ( activeIndex < 0 )\n return arr[ key === 'arrowdown' ? 0 : arr.length - 1 ].classList.add( 'active' );\n\n let active = arr[activeIndex];\n active.classList.remove( 'active' );\n\n let toBeActive = ( key === 'arrowdown' )\n ? ( arr[activeIndex + 1] )\n ? arr[activeIndex + 1]\n : arr[0]\n : ( arr[activeIndex - 1] )\n ? arr[activeIndex - 1]\n : arr[arr.length - 1]\n ;\n\n toBeActive.classList.add('active');\n toBeActive.scrollIntoView( { block: 'center' } );\n\n case 'arrowright':\n case 'arrowleft':\n return;\n\n case 'tab':\n if (!!!searchRef.current.value)\n return setTimeout(()=>!containerRef.current.contains(document.activeElement) && setOpen(false), 5);\n\n case 'enter':\n let option = document.querySelector( `#${safeName}-options .active` );\n if ( option ) {\n e.preventDefault();\n option.click();\n setTimeout(() => searchRef.current.focus(), 10 );\n }\n return;\n\n default:\n setOpen(true);\n return;\n }\n }\n\n const addNewOption = (newObj) => {\n newObj = {\n ...newObj,\n value: newObj.name,\n new: true\n };\n\n setNewOption([...newOptions,newObj]);\n options.push(newObj);\n\n handleSelect(options.length - 1);\n }\n\n useEffect(()=>{\n\n let selected = options.map(function (item, key) {\n if (item.selected) return key;\n }).filter(function (e) {\n return e != null;\n });\n\n if (props.defaultValues && options.length > 0) {\n props.defaultValues.map( v => {\n let i = options.findIndex( item => item.value.toString() === v.toString() );\n if ( i !== -1 )\n selected.push( i );\n });\n }\n\n if ( valueRef.current && valueRef.current.value ) {\n let fromHookFrom = Array.from( valueRef.current.children )\n .map( ( opt, k ) => opt.selected == true ? k : false )\n .filter( v => v !== false );\n\n selected = selected.concat( fromHookFrom );\n }\n\n setSelected( selected );\n\n },[defaultOptions]);\n\n useEffect(()=>{\n if ( !valueRef.current )\n return;\n\n Array.from(valueRef.current.children)\n .map((opt, k) => opt.selected = selectedOpt.indexOf(k) !== -1);\n valueRef.current.dispatchEvent(new Event('blur'));\n }, [selectedOpt]);\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClick);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n }, []);\n\n // integrate hook-form reset\n useEffect(()=>{\n const keys = Array.from(valueRef.current.children)\n .map((opt, k) => opt.selected ? k : false)\n .filter(k => k !== false);\n\n if ( selectedOpt.length !== keys.length\n || !selectedOpt.every((value, index) => value === keys[index]) ) {\n setSelected(keys);\n }\n });\n\n return(\n <Frag ref={containerRef}>\n {label && <Label htmlFor={name}>{label} {tooltip && <Help text={tooltip}/>} {props.Required && <RequiredText />}</Label>}\n <Select as='div' size={size} className={[open && 'open', error && 'error', valid && 'valid', 'tagEventPrevent']} onClick={()=>{searchRef.current.focus()}}>\n <TagsValues className={size}>\n {selectedOpt.map((key)=> {\n if(options[key]) { return (<li key={key}>{options[key].name} <Icon.TimesNarrow size='8px' color='#516F90' onClick={() => {handleRemove(key)}}/></li>)}\n })}\n <li className='input'>\n <input\n type='text'\n placeholder={placeholder}\n ref={searchRef}\n onChange={handleChange}\n onKeyDown={handleKey}\n autoFocus={!!props.autoFocus}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n </li>\n </TagsValues>\n {open &&\n <TagOptions\n name={safeName}\n filter={filter}\n handleSelect={handleSelect}\n options={options}\n searchRef={searchRef}\n addNewOption={addNewOption}\n canCreate={canCreate}\n visibleOptionsQty={visibleOptionsQty}\n openTo={openTo}\n />\n }\n </Select>\n {help && <Span>{help}</Span>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n <SelectHidden name={name} multiple ref={mergeRefs([valueRef, ref])} tabIndex={-1}>\n {options.map((opt, key)=>(\n <option value={opt.value} key={key}>{opt.name}</option>\n ))}\n </SelectHidden>\n </Frag>\n );\n})\n\nconst TagOptions = ({name,filter,handleSelect,options,searchRef,addNewOption,canCreate,visibleOptionsQty,openTo}) => {\n let CreateOption;\n let underscored;\n if(searchRef.current && searchRef.current.value.length > 0){\n if ( canCreate && !options.find(opt => opt.name === searchRef.current.value))\n CreateOption = (<li className='active' onClick={()=>{addNewOption({name:searchRef.current?.value})}} value={searchRef.current.value}>Create option \"<u className='tagEventPrevent'>{searchRef.current.value}</u>\"</li>);\n\n const searchToUnderscore = searchRef.current ? searchRef.current.value.replaceAll('(','\\\\(').replaceAll(')','\\\\)') : '';\n underscored = new RegExp('('+searchToUnderscore+')','giu');\n }\n\n let noDataOption = '';\n if (!options.length || (filter.filter(i => options[i].value !== undefined).length < 1 && !CreateOption)) {\n let msg = searchRef.current && searchRef.current.value.length < 1\n ? 'No options left'\n : 'No match for ';\n noDataOption = (<li\n className='tagEventPrevent'\n dangerouslySetInnerHTML={{\n __html: `${msg} <u>${searchRef.current?.value}</u>`\n }}/>\n );\n }\n\n return (\n <Options id={`${name}-options`} visibleOptionsQty={visibleOptionsQty} openTo={openTo}>\n {\n options.length > 0 ? filter.map((key, index)=> {\n if (options[key].value === undefined)\n return !noDataOption ? (\n <li\n key={key}\n className='tagEventPrevent'\n >\n <small><strong>{options[key].name}</strong></small>\n </li>\n ) : null;\n else\n return(\n <li\n className={`tagEventPrevent ${index === 0 ? 'active' : ''}`}\n value={options[key].value}\n key={key}\n onClick={() => {\n handleSelect(key)\n }}>\n {underscored ? (\n <span\n dangerouslySetInnerHTML={{\n __html: options[key].name.replace(underscored, '<u>$1</u>')\n }}\n />\n ) : options[key].name }\n </li>\n );\n }) : null\n }\n {CreateOption}\n {noDataOption}\n </Options>\n );\n}\n\n\nexport default Tag;\n","const hexToRgb =(hex) => {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n hex = hex.replace(shorthandRegex, function(m, r, g, b) {\n return r + r + g + g + b + b;\n });\n\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nconst luminance = ({r, g, b}) => {\n const a = [r, g, b].map(function (v) {\n v /= 255;\n return v <= 0.03928\n ? v / 12.92\n : Math.pow( (v + 0.055) / 1.055, 2.4 );\n });\n return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;\n}\n\n\nconst calculateContrast = (background='#0000000',text='#fffffff') => {\n\n const color1luminance = luminance(hexToRgb(background));\n const color2luminance = luminance(hexToRgb(text));\n\n const ratio = color1luminance > color2luminance\n ? ((color2luminance + 0.05) / (color1luminance + 0.05))\n : ((color1luminance + 0.05) / (color2luminance + 0.05));\n\n return ratio < (1/4.5);\n}\n\nexport default calculateContrast;\n","import React, {useState,forwardRef,useEffect} from 'react';\nimport styled from 'styled-components';\nimport {Label,SpanHelp,SpanError} from '../Common/input'\nimport Help from '../Common/tooltip'\nimport Icon from '../Icons';\nimport Ex from '../assets/Ex.svg'\n\nimport Theme from '../Theme';\n\nimport calculateContrast from '../Common/ColorHelper';\n\nconst Frag = styled.div`\n display:inline-block;\n vertical-align: top;\n`;\n\nconst Field = styled.div`\n position:relative;\n`;\n\nconst WraperBucket = styled.div`\n height:40px;\n width:40px;\n background:${props=>props.background ? props.background : Theme.colors.info.shadow};\n border-radius:40px;\n cursor:pointer;\n display:flex;\n justify-content:center;\n align-items:center;\n box-sizing:border-box;\n\n &.hover {\n border:1px solid #0071BC;\n box-shadow: 0px 0px 6px #9DDDF4;\n }\n\n &:focus{\n box-shadow:0px 0px 6px ${Theme.colors.action};\n border:1px solid ${Theme.colors.secondary};\n outline:none;\n }\n\n`;\n\nconst ColorBox = styled.ul`\n background:#fff;\n border-radius:2px;\n padding:5px;\n list-style:none;\n margin:0;\n display: grid;\n grid-template-columns: 24px 24px 24px 24px 24px 24px 24px 24px;\n position:absolute;\n left:48px;\n top:0;\n box-shadow: 0px 3px 6px ${Theme.colors.neutrals.gray}19;\n\n > li {\n width:24px;\n height:24px;\n cursor:pointer;\n position: relative;\n\n &.selected {\n z-index: 1;\n box-shadow: 0 0 0 2px ${Theme.colors.secondary};\n border-radius: ${Theme.defaultRadius};\n }\n\n &:hover {\n z-index: 2;\n box-shadow: 0 0 0 2px ${Theme.colors.neutrals.gray};\n border-radius: ${Theme.defaultRadius};\n }\n }\n`;\n\nconst SelectHidden = styled.select`\n position: absolute;\n height: 1px;\n width: 1px;\n z-index: -1;\n opacity: 0;\n`;\n\nconst InputColor = forwardRef(({name,tooltip,value,help,error, label,...props},ref) => {\n const [open, setOpen] = useState(false);\n\n const colors = [\n '#7C98B6','#00A4BD','#00BDA5','#F5C26B','#F2545B','#f03063','#BD37A4','#7B87D4',\n '#516F90','#0091AE','#00A38D','#DBAE60','#D94C53','#cc2957','#853E78','#5A65B0',\n '#CBD6E2','#7FD1DE','#7FDED2','#FAE0B5','#F8A9AD','#f59fb7','#E3AFD9','#B4BBE8',\n '#EAF0F6','#E5F5F8','#E5F8F6','#FEF8F0','#FDEDEE','#fce3eb','#F7E4F4','#F0F1FA',\n ];\n\n let defaultState = [];\n\n if(value){\n const isBlack = calculateContrast(value,'#333333');\n const textColor = (isBlack) ? '#333333' : '#ffffff';\n defaultState = [colors.filter(color=> color == value),textColor];\n }\n\n const [selectedColor, setSelectedColor] = useState(defaultState);\n\n\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClick);\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n\n },[])\n\n const handleClick = e => {\n\n if(e.target.classList.contains('colorEventPrevent'))\n return;\n\n setOpen(false);\n }\n\n const handleSelect = color => {\n const isBlack = calculateContrast(color,'#333333');\n const textColor = (isBlack) ? '#333333' : '#ffffff';\n setSelectedColor([color,textColor]);\n setOpen(false);\n }\n\n\n return(\n <Frag>\n {label && <Label htmlFor={name}>{label} {tooltip && <Help text={tooltip}/>}</Label>}\n <Field>\n <WraperBucket tabIndex={1} onClick={()=>setOpen(!open)} className={['colorEventPrevent', open && 'hover']} background={selectedColor[0] && selectedColor[0]}>\n <Icon.Bucket size='28px' className='colorEventPrevent' color={selectedColor[1] ? selectedColor[1] : '#333'} />\n </WraperBucket>\n {open &&\n <ColorBox className='colorEventPrevent'>\n {colors.map((item,key)=>(\n <li\n key={key}\n className={'colorEventPrevent' + (item === selectedColor[0] ? ' selected' : '')}\n style={{background: item}}\n onClick={() => handleSelect(item)}\n />\n ))}\n </ColorBox>\n }\n {help && <SpanHelp>{help}</SpanHelp>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n\n <SelectHidden name={name} multiple ref={ref} value={selectedColor} onChange={()=>{}}>\n {selectedColor.map((item,key)=>(\n <option value={item} key={key}></option>\n ))}\n </SelectHidden>\n </Field>\n </Frag>\n\n )\n})\n\nexport default InputColor;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = require(\"regenerator-runtime\");\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","import React, {forwardRef} from 'react';\nimport styled from 'styled-components';\nimport Theme from '../Theme';\n\nconst defaultShadow = (color) => {\n return `0px 0px 6px ${color}`;\n}\n\nconst Base = styled.button`\n font-family:circe-rounded;\n font-weight:bold;\n border-radius:${Theme.defaultRadius};\n cursor:pointer;\n display:inline-block;\n background:${Theme.colors.info.bg}\n color:${Theme.colors.secondary}\n height:40px;\n line-height:40px;\n padding:0 16px;\n font-size: ${Theme.font.medium.size};\n\n > * {\n border-color: ${Theme.colors.info.shadow};\n }\n\n svg path {\n fill: ${Theme.colors.secondary};\n }\n\n &:hover,\n &.hover {\n background:${Theme.colors.info.shadow};\n }\n\n &:focus,\n &.focus {\n background:${Theme.colors.info.bg};\n box-shadow:${defaultShadow(Theme.form.button.secondary.bg)};\n }\n\n &:active,\n &.active {\n background:${Theme.colors.info.shadow};\n box-shadow:${defaultShadow(Theme.form.button.secondary.bg)};\n }\n\n &.selected {\n border: 1px solid ${Theme.form.button.secondary.bg};\n }\n\n &[disabled] {\n opacity: .5;\n cursor: not-allowed;\n }\n`;\n\nconst Primary = `\n background:${Theme.form.button.primary.bg};\n color:${Theme.colors.neutrals.white};\n\n > * {\n border-color: ${Theme.colors.neutrals.white};\n }\n\n svg path {\n fill: ${Theme.colors.neutrals.white};\n }\n\n &:hover,\n &.hover {\n background:${Theme.form.button.primary.hover}\n }\n\n &:focus,\n &.focus {\n background:${Theme.form.button.primary.bg};\n box-shadow:${defaultShadow(Theme.form.button.primary.bg)};\n }\n\n &:active,\n &.active {\n background:${Theme.form.button.primary.hover}\n box-shadow:${defaultShadow(Theme.form.button.primary.bg)};\n }\n\n &.selected {\n border: 1px solid ${Theme.colors.neutrals.white};\n }\n`;\n\nconst Secondary = `\n background:${Theme.form.button.secondary.bg};\n color:${Theme.colors.neutrals.white};\n\n > * {\n border-color: ${Theme.colors.neutrals.white};\n }\n\n svg path {\n fill: ${Theme.colors.neutrals.white};\n }\n\n &:hover {\n background:${Theme.form.button.secondary.hover}\n }\n\n &:focus {\n background:${Theme.form.button.secondary.bg};\n box-shadow:${defaultShadow(Theme.form.button.secondary.bg)};\n }\n\n &:active,\n &.active {\n background:${Theme.form.button.secondary.hover}\n box-shadow:${defaultShadow(Theme.form.button.secondary.bg)};\n }\n\n &.selected {\n border: 1px solid ${Theme.colors.neutrals.white};\n }\n`;\n\nconst Cancel = `\n background:transparent;\n color:${Theme.form.button.secondary.bg};\n\n > * {\n border-color: ${Theme.colors.info.shadow};\n }\n\n svg path {\n fill: ${Theme.colors.secondary};\n }\n\n &:hover {\n background:transparent;\n text-decoration:underline;\n }\n\n &:focus {\n background:${Theme.colors.neutrals.white};\n box-shadow:${defaultShadow(Theme.form.button.secondary.bg)};\n }\n\n &:active,\n &.active {\n background:${Theme.colors.neutrals.white};\n box-shadow:${defaultShadow(Theme.form.button.secondary.bg)};\n text-decoration:underline;\n }\n\n &.selected {\n border: 1px solid ${Theme.form.button.secondary.bg};\n }\n`;\n\nconst Delete = `\n background:${Theme.colors.neutrals.white};\n color:${Theme.colors.error.text};\n border:1px solid ${Theme.colors.error.bg};\n\n > * {\n border-color: ${Theme.colors.error.shadow};\n }\n\n svg path {\n fill: ${Theme.colors.error.text};\n }\n\n &:hover {\n border-color:${Theme.colors.error.border};\n background:${Theme.colors.error.bg};\n }\n\n &:focus {\n background:${Theme.colors.neutrals.white};\n border-color:${Theme.colors.error.border};\n box-shadow:${defaultShadow(Theme.colors.error.shadow)};\n }\n\n &:active,\n &.active {\n background:${Theme.colors.error.bg};\n border-color:${Theme.colors.error.border};\n box-shadow:${defaultShadow(Theme.colors.error.shadow)};\n }\n\n &.selected {\n border: 1px solid ${Theme.colors.error.border};\n }\n`;\n\nconst Small = `\n height:28px;\n line-height:28px;\n font-size:${Theme.font.small.size};\n padding:0 12px;\n`;\n\nconst Big = `\n height:60px;\n line-height:60px;\n font-size:${Theme.font.big.size};\n padding:0 20px;\n`;\n\nconst Exportedd = styled(Base)`\n ${props => props.typeStyle === 'primary' && Primary}\n ${props => props.typeStyle === 'secondary' && Secondary}\n ${props => props.typeStyle === 'cancel' && Cancel}\n ${props => props.typeStyle === 'delete' && Delete}\n ${props => props.size === 'small' && Small}\n ${props => props.size === 'big' && Big}\n`;\n\nconst Exported = ({size,type,children,Type,...props}) => {\n return (\n <Exportedd\n type={\n Type\n ? Type\n : type === 'cancel'\n ? 'button'\n : undefined\n }\n size={size}\n typeStyle={type}\n children={children}\n {...props}\n />\n );\n};\n\nexport default Exported;\nexport {Base, Primary, Secondary, Cancel, Delete, Big, Small};\n","import React, {forwardRef, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {InputBase, Label, SpanError, SpanHelp} from '../Common/input'\nimport Icon from '../Icons'\nimport Help from '../Common/tooltip'\nimport Theme from '../Theme'\nimport {Text} from '../Texts'\nimport Ex from '../assets/Ex.svg'\nimport mergeRefs from '../Common/MergeRefs'\nimport Button from '../Buttons';\n\nconst Frag = styled.div`\n display:inline-block;\n vertical-align: top;\n`;\n\nconst Wrapper = styled.label`\n position:relative;\n cursor:pointer;\n\n &:hover {\n .inputFile {\n background:${Theme.colors.info.bg};;\n }\n }\n\n &:focus {\n outline:none;\n }\n\n &:focus-within {\n .inputFile {\n border:1px solid ${Theme.colors.secondary};\n box-shadow: 0px 0px 6px ${Theme.colors.action};\n }\n\n .InputFileProfile {\n border:1px solid ${Theme.colors.secondary};\n }\n }\n\n &.active {\n .inputFile {\n border:1px solid ${Theme.colors.success.border};\n box-shadow: none;\n }\n\n .InputFileProfile {\n border:1px solid ${Theme.colors.success.border};\n }\n }\n\n &.error {\n .inputFile {\n border:1px solid ${Theme.colors.error.border};\n box-shadow: none;\n }\n\n .InputFileProfile {\n border:1px solid ${Theme.colors.error.border};\n }\n }\n`;\n\nconst Input = styled(InputBase)`\n box-sizing:border-box;\n background:#FAFAFA;\n width:140px;\n border-radius: 20px 2px 2px 20px;\n border:1px solid transparent;\n\n &:hover {\n border:none;\n }\n\n >span {\n text-align: center;\n display: block;\n margin-left: 32px;\n color:#707070;\n font-size:14px;\n font-weight:400;\n\n text-overflow: ellipsis;\n height: 16px;\n white-space: nowrap;\n overflow: hidden;\n }\n`;\n\nconst Profile = styled.div`\n height:38px;\n width:38px;\n border-radius:38px;\n background:#FAFAFA;\n border:1px solid ${Theme.colors.neutrals.silver};\n position:absolute;\n z-index:1;\n top:0;\n display: flex;\n justify-content: center;\n align-items: flex-end;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 38px;\n }\n`;\n\nconst HiddenInput = styled.input`\n width: 0.1px;\n height: 0.1px;\n opacity: 0;\n overflow: hidden;\n position: absolute;\n z-index: -1;\n`;\n\nconst Uploader = forwardRef(({name,label,tooltip,help,error, placeholder,...props},ref) => {\n const [picture, setPicture] = useState('');\n const acceptedTypes = ['image/jpeg','image/png'];\n\n placeholder = placeholder || <Icon.Person color={Theme.colors.neutrals.silver} size='34px' />;\n\n const handleFile = e => {\n const file = (e.target.files ? e.target.files[0] : null);\n if(file){\n if(acceptedTypes.some(v=>v==file.type)){\n setPicture(file)\n }else{\n setPicture(false)\n e.target.value = '';\n }\n }\n }\n\n const Check = <Icon.Check color={Theme.colors.success.border} size='17px' style={{position:'relative',top:'3px'}} />\n\n return (\n <Frag>\n {label && <Label htmlFor={name}>{label} {picture.type && Check} {tooltip && <Help text={tooltip}/>}</Label>}\n <Wrapper className={[picture.type && 'active', picture === false && 'error', error && 'error']}>\n <Profile className='InputFileProfile'>\n {picture == false || picture.length < 1 ? placeholder : <img src={URL.createObjectURL(picture)} /> }\n </Profile>\n <Input as='div' className='inputFile'>\n {!picture || !picture.length ? (\n <span>Select file</span>\n ) : (\n <span>{picture.name}</span>\n )}\n </Input>\n <HiddenInput type='file' name={name} ref={ref} onFocus={()=>{}} onChange={handleFile} accept=\".jpg,.jpeg,.JPG,.JPEG,.png,.PNG\" />\n </Wrapper>\n {help && <SpanHelp>{help}</SpanHelp>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n {picture === false && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> Only images are accepted</SpanError>}\n </Frag>\n );\n})\n\nexport default Uploader;\n\n\nconst imageToBase64 = file => {\n const reader = new FileReader();\n\n return new Promise(resolve => {\n reader.onload = ev => resolve({\n type: 'image',\n src: ev.target.result\n });\n reader.readAsDataURL(file);\n });\n}\n\nconst documentFile = file => {\n return new Promise(resolve => resolve({\n type: 'doc',\n src: <><Icon.Document/><Text>{file.name}</Text></>\n }));\n}\n\nconst genericFile = file => {\n return new Promise(resolve => resolve({\n type: 'file',\n src: <><Icon.Document/><Text>{file.name}</Text></>\n }));\n}\n\nconst processFileList = async fileList => {\n const promises = Array.from(fileList).map(file => {\n if (file.type.match('image/'))\n return imageToBase64(file);\n\n if (['text/csv'].includes(file.type))\n return documentFile(file);\n\n return genericFile(file);\n });\n\n return await Promise.all(promises);\n}\n\nconst DropUploaderList = styled.div`\n display: inline-flex;\n`;\n\nconst DropUploaderPreview = styled.div`\n box-sizing: border-box;\n width: 92px;\n height: 92px;\n padding: 4px;\n border-radius: ${Theme.defaultRadius};\n border: 1px solid ${Theme.colors.neutrals.silver};\n background-color: ${Theme.colors.extra.whiteSmoke};\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n font-size: ${Theme.font.extraSmall.size};\n font-family: ${Theme.font.main};\n color: ${Theme.colors.neutrals.silver};\n text-align: center;\n word-break: break-word;\n overflow: hidden;\n\n &::before {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 0;\n background-size: cover;\n background-position: center;\n background-image: url(${props => typeof props.preview === 'string' && props.preview});\n }\n\n + div,\n + label {\n margin-left: 8px;\n }\n\n button {\n position: absolute;\n z-index: 1;\n top: 4px;\n right: 4px;\n padding: 4px;\n height: auto;\n line-height: 0;\n }\n\n label& {\n cursor: pointer;\n border-style: dashed;\n\n &:hover,\n &.highlight {\n background-color: ${Theme.colors.info.bg};\n }\n\n &:active, {\n &.highlight {\n border-color: ${Theme.colors.secondary};\n box-shadow: 0 0 6px ${Theme.colors.secondary};\n }\n }\n`;\n\nexport const DropUploader = forwardRef(({\n name,\n label,\n multiple = true,\n accept = '*',\n ...props\n}, ref) => {\n\n let [files, setFiles] = useState([]);\n const inputRef = useRef();\n const dropRef = useRef();\n\n const handleFileChanges = async () => {\n const inputs = await processFileList(inputRef.current.files);\n setFiles(inputs);\n }\n\n const handleDrop = e => {\n inputRef.current.files = e.dataTransfer.files;\n handleFileChanges();\n }\n\n const dropFile = k => {\n let nFiles = Array.from(inputRef.current.files);\n const deleted = nFiles.splice(k, 1);\n inputRef.current.files = FileListItem(nFiles);\n handleFileChanges()\n if(props.onDelete) props.onDelete(k,deleted);\n }\n\n const expand = file => {\n let w = window.open(file.src, '_blank', `width=${window.outerWidth * .9},height=${window.outerHeight * .9},scrollbars=1`);\n\n if (!file.src.match(/^http/i)) {\n w.document.write(`\n <img src=\"${file.src}\"/>\n `);\n }\n };\n\n const download = async file => {\n let blob = await fetch(file.src).then(res => res.blob(), rej => false);\n\n if (!blob)\n return window.open(file.src);\n\n const anchor = document.createElement('a');\n anchor.href = window.URL.createObjectURL(blob);\n anchor.download = file.src.split('/').pop();\n anchor.click();\n }\n\n const addHighlight = e => dropRef.current.classList.add('highlight');\n const removeHighlight = e => dropRef.current.classList.remove('highlight');\n\n const preventDefaults = e => {\n e.preventDefault();\n e.stopPropagation();\n }\n\n const addListeners = () => {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach(e => {\n dropRef.current.addEventListener(e, preventDefaults, false);\n });\n\n ['dragenter', 'dragover'].forEach(e => {\n dropRef.current.addEventListener(e, addHighlight, false);\n });\n\n ['dragleave', 'drop'].forEach(e => {\n dropRef.current.addEventListener(e, removeHighlight, false);\n });\n\n dropRef.current.addEventListener('drop', handleDrop);\n }\n\n function FileListItem(a) {\n a = [].slice.call(Array.isArray(a) ? a : arguments)\n for (var c, b = c = a.length, d = !0; b-- && d;) d = a[b] instanceof File\n if (!d) throw new TypeError(\"expected argument to FileList is File or array of File objects\")\n for (b = (new ClipboardEvent(\"\")).clipboardData || new DataTransfer; c--;) b.items.add(a[c])\n return b.files\n }\n\n const removeListeners = () => {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach(e => {\n dropRef.current.removeEventListener(e, preventDefaults);\n dropRef.current.removeEventListener(e, addHighlight);\n dropRef.current.removeEventListener(e, removeHighlight);\n dropRef.current.removeEventListener(e, handleDrop);\n });\n }\n\n useEffect(() => {\n addListeners();\n\n return removeListeners;\n }, [dropRef.current]);\n\n // display placeholder\n if (Array.isArray(props.placeholder)) {\n let validPlaceholder = props.placeholder.filter(f => {\n return typeof f.type === 'string'\n && typeof f.src === 'string';\n })\n\n files = validPlaceholder.concat(files);\n }\n\n return (\n <Frag>\n {label && <Label>{label}</Label>}\n <HiddenInput\n type={'file'}\n name={name}\n id={`drop-uploader-${name}`}\n ref={mergeRefs([inputRef, ref])}\n accept={accept}\n multiple={multiple}\n onChange={handleFileChanges}\n onFocus={addHighlight}\n onBlur={removeHighlight}\n />\n <DropUploaderList>\n {files.map((file, k) =>\n <DropUploaderPreview\n key={k}\n preview={file.src}\n >\n\n <Button type='delete' Type='button' onClick={()=>dropFile(k)} style={{top:'unset',bottom:'4px'}}>\n <Icon.Times size='16px' color={Theme.colors.error.text}/>\n </Button>\n {file.type === 'image' && (\n <Button Type='button' onClick={()=>expand(file)}>\n <Icon.Expand size='16px'/>\n </Button>\n )}\n {file.type !== 'image' && typeof file.src === 'string' && (\n <>\n <Button Type='button' title={`Download ${file.src}`} onClick={()=>download(file)}>\n <Icon.Download size='16px'/>\n </Button>\n <Icon.Document/>\n <Text>{file.src.split('/').pop().substr(-20, 20)}</Text>\n </>\n )}\n {file.type !== 'image' && typeof file.src !== 'string' && file.src}\n </DropUploaderPreview>\n )}\n <DropUploaderPreview\n as={'label'}\n htmlFor={`drop-uploader-${name}`}\n ref={dropRef}\n >\n <span>Drop or select</span>\n <Icon.Upload color={Theme.colors.neutrals.silver} size='24px'/>\n <span>to upload</span>\n </DropUploaderPreview>\n </DropUploaderList>\n </Frag>\n )\n});\n","import React, {forwardRef, useEffect, useState} from 'react'\nimport styled from 'styled-components'\nimport {Label, SpanHelp} from '../Common/input'\nimport Help from '../Common/tooltip'\nimport Theme from '../Theme'\n\nconst Frag = styled.div`\n display:inline-block;\n vertical-align: top;\n`;\n\nconst CheckBoxWrapper = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n\n &:focus {\n outline: none;\n }\n`;\n\nconst CheckBoxLabel = styled.label`\n width: 36px;\n height: 20px;\n border-radius: 100px;\n background: ${Theme.colors.neutrals.white};\n cursor: pointer;\n border: 1px solid ${Theme.colors.neutrals.silver};\n box-sizing: border-box;\n\n &:focus {\n box-shadow: 0px 0px 6px ${Theme.colors.action};\n border: 1px solid ${Theme.colors.secondary};\n outline: none;\n }\n\n &::after {\n content: \"\";\n display: block;\n border-radius: 100%;\n width: 12px;\n height: 12px;\n margin: 3px;\n background: #ccc;\n transition: 0.2s;\n }\n`;\n\nconst CheckBox = styled.input`\n width: 0;\n height: 0;\n margin: 0;\n visibility: hidden;\n pointer-events: none;\n\n &:checked + ${CheckBoxLabel} {\n background: ${Theme.colors.info.bg};\n border: 1px solid ${Theme.colors.info.border};\n\n &::after {\n background:${Theme.colors.info.text};\n margin-left: 20px;\n }\n }\n`;\n\nconst ToggleLabel = styled.label`\n display: inline-block;\n color: ${Theme.colors.neutrals.medium};\n font-size: ${Theme.font.small.size};\n vertical-align: top;\n margin-left: 8px;\n outline: none;\n`;\n\nconst Toggle = forwardRef(({\n name,\n label,\n tooltip,\n help,\n offText,\n onText,\n singleText,\n on=false,\n onChange,\n ...props\n},ref) => {\n const [value,setValue] = useState(on);\n\n let textOn, textOff;\n\n if (onText) textOn = onText;\n if (offText) textOff = offText;\n\n if (singleText) {\n textOff = singleText;\n textOn = singleText;\n }\n\n useEffect(()=>{\n setValue(on);\n },[on])\n\n const range = Math.floor(Math.random() * 2000);\n\n const handleChange = e => {\n setValue(e.target.checked);\n if (onChange) onChange(e);\n }\n\n const id = `${name}_${range}`;\n\n return (\n <Frag>\n {label && <Label htmlFor={id}>{label} {tooltip && <Help text={tooltip}/>}</Label>}\n <CheckBoxWrapper>\n <CheckBox\n name={name}\n id={id}\n type=\"checkbox\"\n textOn={textOn}\n ref={ref}\n checked={value && true}\n onChange={handleChange}\n />\n <CheckBoxLabel\n tabIndex={1}\n htmlFor={id}\n // big={big}\n />\n <ToggleLabel htmlFor={id} tabIndex={-1}>\n {singleText\n ? singleText\n : value\n ? textOn\n : textOff\n }\n </ToggleLabel>\n </CheckBoxWrapper>\n {help && <SpanHelp>{help}</SpanHelp>}\n </Frag>\n );\n})\n\nexport default Toggle;\n","import React, {useState, forwardRef, useRef, useEffect} from 'react'\nimport styled from 'styled-components';\nimport Icon from '../Icons/index';\nimport Theme from '../Theme'\nimport Input from './index';\nimport {Frag, Options, OptionGroup} from '../Common/input'\nimport mergeRefs from '../Common/MergeRefs';\n\n\nconst padZero = n => n < 10 ? '0' + n : n;\n\nconst pattern = /^(1[012]|[1-9]):([0-5][0-9]) ?(am|pm)$/i;\n\nDate.prototype.stdTimezoneOffset = function() {\n const jan = new Date(this.getFullYear(), 0, 1);\n const jul = new Date(this.getFullYear(), 6, 1);\n return Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset());\n}\n\nDate.prototype.dst = function() {\n return this.getTimezoneOffset() < this.stdTimezoneOffset();\n}\n\nconst today = new Date();\n// UTC conversion\nlet offset = today.getTimezoneOffset();\n/*if(!today.dst()){\n if(offset > 0){\n offset -= 60;\n }else{\n offset += 60;\n }\n}*/\nconst offsetHours = Math.floor( offset / 60 );\nconst offsetMinutes = offset % 60;\nconst toUTC = ({hours, minutes}) => {\n let m = minutes + offsetMinutes;\n if ( m < 0 )\n m += 60;\n\n let h = hours + offsetHours;\n h = h > 23\n ? h - 24\n : h < 0\n ? 24 + h\n : h;\n\n return `${padZero(h)}:${padZero(m)}`;\n}\n\nconst fromUTC = ({hours, minutes}) => {\n let m = minutes - offsetMinutes;\n if ( m >= 60 )\n m -= 60;\n\n let h = hours - offsetHours;\n h = h < 0\n ? 24 + h\n : h > 23\n ? h - 24\n : h;\n\n return {\n hours: h,\n minutes: m\n };\n};\n\nconst fromFormat = str => {\n let matches = str.match( pattern );\n\n if ( matches === null )\n return null;\n\n let [input, hours, minutes, period] = matches;\n\n return {\n hours: parseInt(hours),\n minutes: parseInt(minutes),\n period: period\n };\n};\n\nconst toFormat = ({hours, minutes, period}) => {\n if ( !hours && !minutes && !period )\n return '';\n\n if ( hours === 0 && minutes === 0 && period === 'am' )\n hours = 12;\n\n minutes = minutes === ''\n ? minutes\n : minutes < 10\n ? '0' + minutes : minutes;\n\n return hours + ':' + minutes + ' ' + period;\n};\n\nconst fromValue = str => {\n let matches = str.match( /^(\\d{1,2}):(\\d{1,2})$/ );\n\n if ( matches === null )\n return null;\n\n let {hours, minutes} = fromUTC({\n hours: parseInt(matches[1]),\n minutes: parseInt(matches[2])\n });\n\n let period = 'am';\n\n if ( hours >= 12 ) {\n hours -= 12;\n period = 'pm';\n }\n\n if ( hours === 0 )\n hours = 12;\n\n return {\n hours: hours,\n minutes: minutes,\n period: period\n };\n};\n\nconst toValue = ({hours, minutes, period}) => {\n if ( !hours && !minutes && !period )\n return '';\n\n let nw = hours;\n nw = period === 'pm'\n ? nw + 12\n : nw;\n\n if ( nw === 12 && period === 'am' ) {\n nw = 0;\n }\n\n if ( nw === 24 )\n nw = 12;\n\n return toUTC({\n hours: nw,\n minutes: minutes\n });\n};\n\nconst fromMilliseconds = milliseconds => {\n let period = 'am';\n\n let hours = Math.floor( milliseconds / 3600 / 1000 );\n\n let fraction = milliseconds / 3600 / 1000 - hours;\n let minutes = Math.floor( fraction * 60 );\n\n if ( hours >= 12 ) {\n hours -= 12;\n period = 'pm';\n }\n\n if ( hours === 0 )\n hours = 12;\n\n return {\n hours: hours,\n minutes: minutes,\n period: period\n }\n};\n\nconst TimePickerOptionsStyle = styled.div`\n position: relative;\n\n ${Options} {\n left: 0;\n top: -21px;\n height: 192px;\n overflow: auto;\n\n li {\n padding-right: 8px;\n }\n }\n\n ${OptionGroup} {\n font-size: ${Theme.font.extraSmall.size};\n line-height: ${Theme.font.extraSmall.lineHeight};\n position: sticky;\n top: 0;\n z-index: 1;\n background: ${Theme.colors.neutrals.white};\n\n &:hover {\n background: ${Theme.colors.neutrals.white};\n }\n }\n`;\n\nconst TimePickerOptions = ({time, setTime}) => {\n const optionsRef = useRef();\n\n const hours = []\n for (let i = 1; i <= 12; i++)\n hours.push(\n <li\n key={i}\n onClick={()=>handleSelect('hours', i)}\n className={time.hours === i ? 'selected' : ''}\n >{i}</li>\n )\n\n const minutes = []\n for (let i = 0; i <= 59; i++)\n minutes.push(\n <li\n key={i}\n onClick={()=>handleSelect('minutes', i)}\n className={time.minutes === i ? 'selected' : ''}\n >{i < 10 ? '0'+i : i}</li>\n )\n\n const handleSelect = (what, value) => {\n let newTime = { ...time };\n newTime[what] = value;\n setTime(newTime);\n };\n\n\n useEffect(()=>{\n optionsRef.current\n .querySelectorAll( '.selected' )\n .forEach( li => li.scrollIntoView( { block: 'center' } ) )\n }, [ time ]);\n\n return (\n <TimePickerOptionsStyle ref={optionsRef}>\n <Options>\n <OptionGroup as='li'>Hour</OptionGroup>\n {hours}\n </Options>\n <Options style={{left: 45}}>\n <OptionGroup as='li'>Minutes</OptionGroup>\n {minutes}\n </Options>\n <Options style={{left: 108}}>\n <OptionGroup as='li'> </OptionGroup>\n <li\n onClick={()=>handleSelect('period', 'am')}\n className={time.period === 'am' ? 'selected' : ''}\n >am</li>\n <li\n onClick={()=>handleSelect('period', 'pm')}\n className={time.period === 'pm' ? 'selected' : ''}\n >pm</li>\n </Options>\n </TimePickerOptionsStyle>\n )\n};\n\nconst TimePicker = forwardRef(({\n name,\n label,\n size,\n placeholder,\n valid,\n error,\n onChange,\n Required,\n defaultValue,\n milliseconds,\n ...props\n }, ref) => {\n\n const [open, setOpen] = useState( false );\n const containerRef = useRef();\n\n const [time, setTime] = useState( {\n hours: '',\n minutes: '',\n period: ''\n });\n const valueRef = useRef();\n const displayRef = useRef();\n\n\n const maybeClose = evt => {\n if ( !open )\n return;\n\n if ( !containerRef.current.contains( evt.target ) )\n setOpen( false );\n };\n\n const handleFocus = evt => {\n setOpen( true );\n };\n\n const handleKeyDown = evt => {\n let key = evt.key.toLowerCase();\n\n switch (key) {\n case 'tab':\n evt.persist();\n setTimeout(()=>{\n evt.target = document.activeElement;\n maybeClose( evt );\n }, 100)\n break;\n }\n };\n\n const handleChange = evt => {\n let v = displayRef.current.value;\n\n if ( !pattern.test( v ) ) {\n valueRef.current.value = '';\n return;\n }\n\n let [input, hours, minutes, period] = v.match( /^(1[012]|[0-9]):([0-5][0-9]) ?(am|pm)/i );\n\n setTime({\n hours: parseInt( hours ),\n minutes: parseInt( minutes ),\n period: period\n });\n };\n\n const sendChange = () => {\n // if ( !pattern.test( displayRef.current.value ) ) {\n // valueRef.current.value = '';\n // return;\n // }\n\n valueRef.current.value = toValue( time );\n\n if ( typeof onChange === 'function' )\n onChange( toValue( time ) );\n };\n\n\n // set events to show or hide dropdown\n useEffect(()=>{\n document.addEventListener( 'click', maybeClose );\n\n return () => document.removeEventListener( 'click', maybeClose );\n }, [ open ]);\n\n // set default value\n let realDefaultValue;\n useEffect(()=>{\n if ( valueRef.current && valueRef.current.value )\n realDefaultValue = fromValue(valueRef.current.value);\n else if ( defaultValue )\n realDefaultValue = fromValue(defaultValue);\n else if ( milliseconds )\n realDefaultValue = fromMilliseconds(milliseconds);\n\n if ( realDefaultValue )\n setTime( realDefaultValue );\n }, []);\n\n // send change events\n useEffect(()=>{\n let {hours, minutes, period} = time;\n\n if ( !hours && !minutes && !period ) {\n } else {\n sendChange();\n }\n }, [ time ]);\n\n // update display format\n useEffect(()=>{\n let display = '';\n let newTime = fromValue(valueRef.current.value);\n\n if ( newTime ) {\n if ( toValue(time) !== toValue(newTime) )\n setTime( newTime )\n\n let format = toFormat(newTime);\n if ( format ) {\n display = format;\n }\n } else if (displayRef.current.value && fromFormat(displayRef.current.value)) {\n display = displayRef.current.value;\n valueRef.current.value = toValue(fromFormat(display));\n }\n\n displayRef.current.value = display;\n });\n\n\n return(\n <Frag ref={containerRef}>\n <Input\n label={label}\n help={'hh:mm am/pm'}\n size={size}\n placeholder={placeholder}\n valid={valid}\n error={error}\n Required={Required}\n ref={displayRef}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n autoComplete='off'\n mask='time'\n {...props}\n >\n <Icon.Clock size='20px' top='10px' color={Theme.colors.secondary} style={{pointerEvents: 'none'}}/>\n </Input>\n <input type=\"hidden\" name={name} ref={mergeRefs([valueRef, ref])}/>\n {open && <TimePickerOptions time={time} setTime={setTime}/>}\n </Frag>\n );\n});\n\nexport default TimePicker;\n","import React, {useState, useEffect, useRef, Fragment} from 'react'\nimport styled from 'styled-components';\nimport Button, {Base, Primary, Secondary, Delete, Cancel, Small, Big} from './index.js';\nimport Icon from '../Icons';\nimport Spacer from '../Spacer';\nimport {BoxOptions} from '../Input/select'\n\nconst Container = styled(Base).attrs(props => ({\n as: 'div',\n}))`\n display: inline-flex;\n align-items: stretch;\n padding: 0;\n\n ${props => props.type === 'primary' && Primary}\n ${props => props.type === 'secondary' && Secondary}\n ${props => props.type === 'cancel' && Cancel}\n ${props => props.type === 'delete' && Delete}\n ${props => props.size === 'small' && Small}\n ${props => props.size === 'big' && Big}\n\n ${props => props.divider && `\n ${ArrowContainer} {\n border-left-width: 1px;\n border-left-style: dashed;\n }\n `}\n`;\n\nconst ArrowContainer = styled.div`\n display:inline-flex;\n align-items:center;\n justify-contents:center;\n padding:0 8px;\n`;\n\nconst Dropdown = ({children, options, text, type,size, divider = true, openTo,visibleOptionsQty}) => {\n const [open,setOpen] = useState(false);\n const popupRef = useRef();\n\n const handleContainerClick = e => {\n if ( !children )\n setOpen(true);\n };\n\n const handleArrowClick = e => {\n if ( children )\n setOpen(true);\n };\n\n const handleClickOutside = (e) => {\n if (popupRef.current && !popupRef.current.contains(e.target)) {\n setOpen(false);\n }\n }\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClickOutside,false);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside,false);\n };\n }, []);\n\n type = children\n ? children.props.type\n : type;\n\n return (\n <div ref={popupRef} style={{position: 'relative', display: 'inline-flex'}}>\n <Container type={type} size={size} divider={divider} onClick={handleContainerClick}>\n {children || <Spacer left={4}>{text}</Spacer>}\n <ArrowContainer onClick={handleArrowClick}>\n {open ? <Icon.ArrowUp size='16px'/> : <Icon.ArrowDown size='16px'/>}\n </ArrowContainer>\n </Container>\n <div className={'options-container'}>\n {open && options &&\n <BoxOptions\n openTo={openTo}\n visibleOptionsQty={visibleOptionsQty}\n options={options.map(opt => ({\n name: opt.text,\n value: opt.text,\n fn: opt.fn\n }))}\n setOpen={setOpen}\n setSelected={()=>{}}\n onSelect={opt => opt.fn()}\n />\n }\n </div>\n </div>\n )\n}\n\nexport default Dropdown;\n","import React from \"react\";\nimport styled from 'styled-components';\n\nconst BtnGroup = styled.div`\n display: inline-flex;\n flex-wrap: nowrap;\n\n > * {\n &:first-child:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n &:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n }\n`;\n\nconst ButtonGroup = ({children, ...props}) => {\n const generateClassName = btnProps => {\n let cn = btnProps.className || '';\n let track = btnProps.track;\n\n if ( props.active === track )\n cn += ' selected ';\n\n return cn;\n }\n\n\n return (\n <BtnGroup>\n {children.map( (btn, k) =>\n btn.type({\n ...props,\n ...btn.props,\n key: k,\n className: generateClassName(btn.props)\n })\n )}\n </BtnGroup>\n )\n};\n\nexport default ButtonGroup;\n","import React, {useRef, Children, useEffect,useState} from 'react'\nimport styled, {keyframes} from 'styled-components'\n\nconst listAnimation = keyframes`\n 0% {\n opacity:0;\n visibility: hidden;\n transform: scale(0.6) translateY(-8px);\n }\n\n 100% {\n visibility: visible;\n opacity:1;\n }\n`\n\nconst POSITION_LIST = '100%'\nconst POSITION_LIST_DISTANCE = '10%'\n\nconst generateAnimationDelay = (n, direction) => {\n let style = ''\n if (['left','top'].includes(direction)) {\n let delayNumber = 1\n for (let i = n; i >= 1; --i) {\n style += `\n > :nth-child(${i}) {\n animation-delay: ${delayNumber * 90}ms;\n }\n `\n delayNumber++\n }\n } else {\n for (let i = 1; i <= n; ++i) {\n style += `\n > :nth-child(${i}) {\n animation-delay: ${i * 90}ms;\n }\n `\n }\n }\n\n return style\n}\n\nconst ListContent = styled.div`\n position:absolute;\n height:fit-content;\n padding:12px;\n white-space: nowrap;\n align-items:center;\n gap: ${props => props.spaceBetween}\n display:flex;\n visibility: hidden;\n\n\n ${props => generateAnimationDelay(props.childrenQuantity,props.direction)}\n\n ${props => (props.direction === 'right' || props.direction === 'auto') && `\n flex-direction:row;\n top:0;\n bottom:0;\n left:${POSITION_LIST};\n padding-left:${POSITION_LIST_DISTANCE};\n `}\n\n ${props => props.direction === 'left' && `\n flex-direction:row;\n top:0;\n bottom:0;\n right:${POSITION_LIST};\n padding-right:${POSITION_LIST_DISTANCE};\n `}\n\n ${props => props.direction === 'top' && `\n flex-direction:column;\n justify-content:end;\n bottom:${POSITION_LIST};\n right:0;\n left:0;\n padding-top:${POSITION_LIST_DISTANCE};\n `}\n\n ${props => props.direction === 'bottom' && `\n flex-direction:column;\n justify-content:start;\n top:${POSITION_LIST};\n bottom:0;\n right:0;\n left:0;\n padding-top:${POSITION_LIST_DISTANCE};\n `}\n`\n\nconst PreviewContent = styled.div`\n cursor:pointer;\n background:white;\n border-radius:100%;\n padding:8px;\n display:flex;\n justify-content:center;\n border:1px solid rgb(204, 204, 204);\n`\n\nconst Container = styled.div`\n position:relative;\n\n &:hover > ${ListContent} {\n visibility: visible;\n }\n\n &:hover > ${ListContent} > * {\n animation-name: ${listAnimation};\n animation-duration: 300ms;\n animation-fill-mode: both;\n animation-timing-function: ease-in-out;\n }\n`\n\nconst ButtonIcon = ({children, event = 'Hover'}) => {\n if (children.length > 2) {\n throw 'This component only accepts a Button.Preview and Button.List component'\n }\n\n const [Preview, List] = children\n if (Preview.type.name !== 'ButtonPreview') {\n throw `The first component should be ButtonIcon.Preview, but got ${Preview.type.name}`\n }\n\n if (List.type.name !== 'ButtonList') {\n throw `The first component should be ButtonIcon.List, but got ${Preview.type.name}`\n }\n\n return (\n <Container>\n {Preview}\n {List}\n </Container>\n )\n}\n\nconst ButtonPreview = ({children}) => {\n const previewRef = useRef()\n return <PreviewContent ref={previewRef}>{children}</PreviewContent>\n}\nButtonIcon.Preview = ButtonPreview\n\nconst DIRECTIONS = ['bottom', 'left', 'right', 'top', 'auto']\nconst ButtonList = ({children, direction, spaceBetween}) => {\n const [dir, setDir] = useState(direction);\n\n if (!DIRECTIONS.includes(dir)) {\n throw `Invalid direction argument on component ButtonIcon.List, expect ${DIRECTIONS.join(', ')}`\n }\n if(['left','top'].includes(dir)) {\n children = Children.toArray(children).reverse()\n }\n\n const contentRef = useRef();\n useEffect(() => {\n if(!contentRef?.current) return\n\n if(dir !== 'auto') return\n\n const bounds = contentRef.current.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n\n\n if(bounds.right > windowWidth ){\n setDir('left')\n return\n }else{\n return\n }\n\n if(bounds.left < 0 ){\n setDir('bottom')\n return\n }\n\n if(bounds.bottom > windowHeight){\n setDir('top')\n return\n }\n },[contentRef])\n\n return (\n <ListContent\n ref={contentRef}\n direction={dir}\n spaceBetween={spaceBetween}\n childrenQuantity={children.length}\n >\n {children}\n </ListContent>\n )\n}\nButtonList.defaultProps = {\n direction: 'auto',\n spaceBetween: '8px'\n}\n\nButtonIcon.List = ButtonList\n\nexport default ButtonIcon\n","import React, {useState} from 'react';\nimport styled from 'styled-components';\nimport Theme from '../Theme';\nimport Icon from '../Icons';\n\nconst Div = styled.div`\n padding: 7px;\n border-radius: ${Theme.defaultRadius};\n border-width:1px;\n border-style:solid;\n display:flex;\n align-items:center;\n position:relative;\n\n ${props => props.useClose && `\n padding-right: 32px;\n `}\n\n svg {\n margin-right: 8px;\n display: block;\n }\n`;\n\nconst Title = styled.h5`\n font-family: ${Theme.font.main};\n font-weight: normal;\n font-size: ${Theme.font.medium.size};\n line-height: ${Theme.font.big.lineHeight};\n`;\n\nconst Content = styled.p`\n font-size: ${Theme.font.extraSmall.size};\n line-height: ${Theme.font.small.lineHeight};\n`;\n\nconst SmallContent = styled(Content)`\n font-size: ${Theme.font.small.size};\n line-height: ${Theme.font.small.lineHeight};\n`;\n\nconst Close = styled.button.attrs(props => ({\n type: 'button'\n}))`\n border: none;\n background: none;\n padding: 0;\n position: absolute;\n top: 7px;\n right: 7px;\n cursor: pointer;\n\n svg {\n margin: 0;\n }\n`;\n\nconst solveContent = (size,title,content) => {\n const isSmall = size === 'small';\n\n if ( isSmall )\n return (\n <Title>\n <SmallContent>{title}</SmallContent>\n </Title>\n );\n\n return (\n <div>\n <Title>{title}</Title>\n <Content>{content}</Content>\n </div>\n );\n}\n\nconst Alert = (props,type,Symbol) => {\n const {title,content, useIcon, useClose, size=40} = props;\n\n const [isOpen, setOpen] = useState(true);\n if(!isOpen){\n return null;\n }\n\n const typeStyle = {\n background: Theme.colors[type].bg,\n borderColor: Theme.colors[type].border,\n color: Theme.colors[type].text\n };\n\n let addPadding = ( type === 'error' || type === 'success' ) && size !== 'small';\n\n return (\n <Div {...props} style={typeStyle}>\n {useIcon && (\n <div style={{\n padding: addPadding ? 6 : 0\n }}>\n {React.createElement(\n Symbol,\n {\n size: size === 'small' ? '16px' : addPadding ? size - 12 + 'px' : size + 'px',\n color: typeStyle.color\n }\n )}\n </div>\n )}\n {solveContent(size,title,content,useClose)}\n {useClose && <Close onClick={()=> setOpen( false ) }><Icon.Times size='16px' color={typeStyle.color}/></Close>}\n </Div>\n );\n}\n\nconst AlertError = (props) => {\n const typeAlert = 'error';\n const Symbol = Icon.TimesNarrow;\n return Alert(props,typeAlert,Symbol);\n}\n\nconst AlertInfo = (props) => {\n const typeAlert = 'info';\n const Symbol = Icon.Info;\n return Alert(props,typeAlert,Symbol);\n}\n\nconst AlertWarning = (props) => {\n const typeAlert = 'warnings';\n const Symbol = Icon.Warning;\n return Alert(props,typeAlert,Symbol);\n}\n\nconst AlertSuccess = (props) => {\n const typeAlert = 'success';\n const Symbol = Icon.CheckNarrow;\n return Alert(props,typeAlert,Symbol);\n}\n\nexport default {\n Success: AlertSuccess,\n Info: AlertInfo,\n Warning: AlertWarning,\n Error: AlertError\n}\n"],"names":["defaultRadius","colors","primary","secondary","action","neutrals","black","gray","medium","silver","white","warnings","border","text","shadow","bg","success","error","info","extra","whiteSmoke","gray93","font","big","size","lineHeight","small","extraSmall","tiny","main","body","form","input","radius","padding","button","hover","theme","Form","styled","props","width","handleSize","sizeType","Frag","div","Label","label","Theme","borderDefault","InputBase","SpanHelp","span","SpanError","RequiredText","SelectUi","Value","option","Options","ul","isChild","OptionGroup","phone","value","replace","time","trim","handlerColor","typeColor","handleMask","type","validation","Span","Input","forwardRef","ref","name","help","invalid","valid","mask","iconAction","children","onChange","useState","inputValue","setInputValue","validationType","useIcon","Required","Check","maskFunction","handleChange","e","target","position","React","cloneElement","Children","only","style","top","right","cursor","left","Ex","marginRight","Wrapper","Element","Svg","onClick","color","Icons","Advance","Android","Apple","Archive","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","BackHome","Balance","Broom","Bucket","Bug","Chat","Calendar","Card","CheckNarrow","Contract","Copy","CreditCard","CheckSquare","Clock","Cog","Dollar","Download","DspwNetwork","Document","Edit","Empty","Expand","Eye","EyeCrossed","Feather","Filter","FlashlightOff","FlashlightOn","GeoferenceIn","GeoferenceOut","GraduationHat","Group","Headset","Image","Info","Invoice","List","Locker","Loadout","Lunch","LunchIn","LunchOut","Maintenance","Marker","Menu","Megaphone","Move","NotAllowed","Notes","Pause","Package","PackageBack","PackageCheck","PackageTimes","Parking","ParkingGeoIn","ParkingGeoOut","Phone","Person","Play","Plus","Printer","PunchIn","PunchOut","Radius","Refresh","Replace","Rts","Segment","Search","Skill","TimeLine","Times","TimesNarrow","Trash","TrendDown","TrendUp","Upload","VehicleOil","Warning","Items","Object","keys","sort","a","b","localeCompare","map","key","Help","App","mergeRefs","refs","forEach","current","Title","h1","SubTitle","h3","ThirdTitle","Text","p","attrs","as","maxOptions","optionsSize","openTo","hasChildren","visibleOptionsQty","optionsSizeCustom","OptionsPeople","SelectHidden","select","PhotoCover","CustomCheckBox","ColorOption","index","getSelected","options","defaultValue","selected","some","item","Dropdown","placeholder","defaultSelected","desc","open","setOpen","selectedOpt","setSelected","nodeSelect","useRef","valueRef","handleClick","contains","reset","resetCallback","setDefaultValues","useCallback","hasDefault","toString","useEffect","dispatchEvent","Event","document","addEventListener","removeEventListener","disabled","length","Icon","noOptions","onSelect","BoxOptions","paddingRight","optionsRef","stopPropagation","el","optionsBounds","getBoundingClientRect","window","innerWidth","undefined","divider","CustomDropdown","multiple","tooltip","handlOpenSelect","classList","defaults","Array","from","filter","opt","indexOf","every","k","display","alignItems","overflow","HandleState","includes","ret","splice","newSelected","assign","push","stateMap","SelectOption","profile","PhotoComponent","customStyle","zIndex","marginLeft","SelectValueRender","Pictures","Names","seq","total","plural","new_desc","split","join","solveSpace","Number","isInteger","BaseSpace","bottom","inline","Spacer","all","HiddenCheckbox","HiddenRadioBox","CheckboxContainer","radio","h5","NoOptions","CheckboxBase","checked","title","preventClass","CheckBox","values","verticalAlign","defaultValues","RadioBoxBase","RadioBox","Password","visible","setVisible","ImgStyle","height","eyeImg","Select","TagsValues","Tag","canCreate","randId","Math","random","Date","getTime","safeName","search","setSearch","autoFocus","newOptions","setNewOption","defaultOptions","setDefaultOptions","containerRef","searchRef","isSelected","useMemo","toLowerCase","JSON","stringify","concat","timer","clearTimeout","s","setTimeout","handleSelect","singleOption","handleRemove","focus","elm","handleFocus","handleBlur","activeElement","handleKey","list","querySelectorAll","arr","activeIndex","findIndex","add","active","remove","toBeActive","scrollIntoView","block","querySelector","preventDefault","click","addNewOption","newObj","v","i","fromHookFrom","TagOptions","CreateOption","underscored","find","searchToUnderscore","replaceAll","RegExp","noDataOption","msg","__html","hexToRgb","hex","shorthandRegex","m","r","g","result","exec","parseInt","luminance","pow","calculateContrast","background","color1luminance","color2luminance","ratio","Field","WraperBucket","ColorBox","InputColor","defaultState","isBlack","textColor","selectedColor","setSelectedColor","require$$0","defaultShadow","Base","Primary","Secondary","Cancel","Delete","Small","Big","Exportedd","typeStyle","Exported","Type","Profile","HiddenInput","Uploader","picture","setPicture","acceptedTypes","handleFile","file","files","URL","createObjectURL","imageToBase64","reader","FileReader","Promise","resolve","onload","ev","src","readAsDataURL","documentFile","genericFile","processFileList","fileList","promises","match","DropUploaderList","DropUploaderPreview","preview","DropUploader","accept","setFiles","inputRef","dropRef","handleFileChanges","inputs","handleDrop","dataTransfer","dropFile","nFiles","deleted","FileListItem","onDelete","expand","w","outerWidth","outerHeight","write","download","fetch","then","res","blob","rej","anchor","createElement","href","pop","addHighlight","removeHighlight","preventDefaults","addListeners","slice","call","isArray","arguments","c","d","File","TypeError","ClipboardEvent","clipboardData","DataTransfer","items","removeListeners","validPlaceholder","f","Button","substr","CheckBoxWrapper","CheckBoxLabel","ToggleLabel","Toggle","offText","onText","singleText","on","setValue","textOn","textOff","range","floor","id","padZero","n","pattern","prototype","stdTimezoneOffset","jan","getFullYear","jul","max","getTimezoneOffset","dst","today","offset","offsetHours","offsetMinutes","toUTC","hours","minutes","h","fromUTC","fromFormat","str","matches","period","toFormat","fromValue","toValue","nw","fromMilliseconds","milliseconds","fraction","TimePickerOptionsStyle","TimePickerOptions","setTime","what","newTime","li","TimePicker","displayRef","maybeClose","evt","handleKeyDown","persist","test","sendChange","realDefaultValue","format","pointerEvents","Container","ArrowContainer","popupRef","handleContainerClick","handleArrowClick","handleClickOutside","fn","BtnGroup","ButtonGroup","generateClassName","btnProps","cn","className","track","btn","listAnimation","keyframes","POSITION_LIST","POSITION_LIST_DISTANCE","generateAnimationDelay","direction","delayNumber","ListContent","spaceBetween","childrenQuantity","PreviewContent","ButtonIcon","event","Preview","ButtonPreview","previewRef","DIRECTIONS","ButtonList","dir","setDir","toArray","reverse","contentRef","bounds","windowWidth","windowHeight","innerHeight","defaultProps","Div","useClose","Content","SmallContent","Close","solveContent","content","isSmall","Alert","Symbol","isOpen","borderColor","addPadding","AlertError","typeAlert","AlertInfo","AlertWarning","AlertSuccess","Success","Error"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":["../src/Theme.js","../node_modules/@babel/runtime/helpers/taggedTemplateLiteral.js","../src/Form/index.js","../node_modules/@babel/runtime/helpers/extends.js","../node_modules/@babel/runtime/helpers/defineProperty.js","../node_modules/@babel/runtime/helpers/arrayWithHoles.js","../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js","../node_modules/@babel/runtime/helpers/arrayLikeToArray.js","../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableRest.js","../node_modules/@babel/runtime/helpers/slicedToArray.js","../node_modules/@babel/runtime/helpers/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/objectWithoutProperties.js","../src/Common/input.js","../src/Input/mask.js","../src/Input/index.js","../node_modules/@babel/runtime/helpers/arrayWithoutHoles.js","../node_modules/@babel/runtime/helpers/iterableToArray.js","../node_modules/@babel/runtime/helpers/nonIterableSpread.js","../node_modules/@babel/runtime/helpers/toConsumableArray.js","../src/Icons/index.js","../src/Common/tooltip.js","../src/Common/MergeRefs.js","../src/Texts/index.js","../src/Input/select.js","../src/Spacer/index.js","../src/Input/boxes.js","../src/Input/password.js","../src/Input/tag.js","../src/Common/ColorHelper.js","../src/Input/color.js","../node_modules/@babel/runtime/node_modules/regenerator-runtime/runtime.js","../node_modules/@babel/runtime/regenerator/index.js","../node_modules/@babel/runtime/helpers/asyncToGenerator.js","../src/Buttons/index.js","../src/Input/uploader.js","../src/Toggle/index.js","../src/Input/time.js","../src/Buttons/dropdown.js","../src/Buttons/group.js","../src/Buttons/Icons.js","../src/Alerts/index.js"],"sourcesContent":["const defaultRadius='2px';\n\nconst colors = {\n primary:\"#F7931E\",\n secondary: \"#0071BC\",\n action: \"#9DDDF4\",\n neutrals: {black:\"#000000\",gray:\"#333333\",medium:\"#707070\",silver:\"#CCCCCC\",white:\"#FFFFFF\"},\n warnings: {border:\"#F5C26B\",text:\"#DBAE60\",shadow:\"#FAE0B5\",bg:\"#FEF8F0\"},\n success: {border:\"#00BDA5\",text:\"#00A38D\",shadow:\"#7FDED2\",bg:\"#E5F8F6\"},\n error: {border:\"#F2545B\",text:\"#D94C53\",shadow:\"#F8A9AD\",bg:\"#FDEDEE\"},\n info: {border:\"#7C98B6\",text:\"#516F90\",shadow:\"#CBD6E2\",bg:\"#EAF0F6\"},\n extra: {whiteSmoke:'#F5F5F5',gray93:'#FAFAFA'}\n};\n\nconst font = {\n big: {size:'20px', lineHeight:'20px'},\n medium: {size: '16px', lineHeight:'16px'},\n small: {size: '14px', lineHeight:'16px'},\n extraSmall: {size: '12px', lineHeight:'12px'},\n tiny: {size: '8px', lineHeight:'12px'},\n main:'circe-rounded',\n body: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif\",\n};\n\n\nconst form = {\n input: {\n radius:'2px',\n padding:'12px 8px'\n },\n button: {\n primary: {bg:colors.primary,hover:'#C46B04 '},\n secondary: {bg:colors.secondary,hover:'#00538A'}\n\n }\n};\n\n\n\nconst theme = {colors,form, font, defaultRadius};\n\nexport default theme;\n","function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}\n\nmodule.exports = _taggedTemplateLiteral;","import React from 'react';\nimport styled from 'styled-components';\n\nconst Form = styled.form`\n display:flex;\n flex-wrap:wrap;\n flex:1;\n justifyContent:center;\n width:${props => props.width ? props.width : '100%'}\n \n \n >.formAligner {\n margin:0 10px 20px 10px;\n } \n \n`;\n\nexport default Form;\n","function _extends() {\n module.exports = _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nmodule.exports = _extends;","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nmodule.exports = _defineProperty;","function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n\nmodule.exports = _arrayWithHoles;","function _iterableToArrayLimit(arr, i) {\n if (typeof Symbol === \"undefined\" || !(Symbol.iterator in Object(arr))) return;\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"] != null) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n}\n\nmodule.exports = _iterableToArrayLimit;","function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n\n return arr2;\n}\n\nmodule.exports = _arrayLikeToArray;","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}\n\nmodule.exports = _unsupportedIterableToArray;","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableRest;","var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArrayLimit = require(\"./iterableToArrayLimit\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n\nmodule.exports = _slicedToArray;","function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutPropertiesLoose;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose\");\n\nfunction _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}\n\nmodule.exports = _objectWithoutProperties;","import React from 'react';\nimport styled from 'styled-components'\nimport Theme from '../Theme'\n\nconst handleSize = sizeType => {\n switch(sizeType){\n case 'extraSmall':\n return '80px';\n case 'small':\n return '140px';\n case 'big':\n return '460px';\n default:\n return '300px';\n }\n}\n\nconst Frag = styled.div`\n display:inline-block;\n vertical-align: top;\n`;\n\nconst Label = styled.label`\n font-size:${Theme.font.medium.size};\n font-weight:normal;\n font-family:Circe-Rounded;\n display:block;\n padding-bottom:2px;\n color:#707070;\n\n >.requiredField {\n color:${Theme.colors.error.text};\n }\n\n`;\n\nconst borderDefault = `\n border-width:1px;\n border-style:solid;\n`;\nconst InputBase = styled.input`\n background:${Theme.colors.neutrals.white};\n border-color:${Theme.colors.neutrals.silver};\n border-width:1px;\n border-style:solid;\n border-radius:${Theme.form.input.radius};\n font-size:${Theme.font.small.size};\n line-height:${Theme.font.small.lineHeight};\n height:40px;\n padding:${Theme.form.input.padding};\n color:${Theme.colors.neutrals.gray};\n width:${({size}) => handleSize(size) };\n\n &:disabled {\n background: ${Theme.colors.extra.whiteSmoke};\n ${borderDefault};\n border-color: ${Theme.colors.neutrals.silver};\n color: ${Theme.colors.neutrals.medium};\n }\n\n &:disabled::placeholder {\n color:#eee;\n }\n\n &:hover {\n ${borderDefault} ;\n }\n\n &:active {\n ${borderDefault};\n }\n\n &:focus {\n ${borderDefault}\n box-shadow:0px 0px 6px ${Theme.colors.action}\n border-color:${Theme.colors.secondary}\n }\n\n &::placeholder {\n color:${Theme.colors.neutrals.silver};\n font-size:${Theme.font.small};\n font-family:initial;\n }\n\n`;\n\nconst SpanHelp = styled.span`\n font-size:${Theme.font.extraSmall.size};\n font-weight:normal;\n font-family:Circe-Rounded;\n display:block;\n color:#516F90;\n margin-top:4px;\n`;\n\nconst SpanError = styled(SpanHelp)`\n color:${Theme.colors.error.text}\n`;\n\nconst RequiredText = () => <span className='requiredField'>*</span>;\n\nconst SelectUi = styled.div`\n width:${({size}) => handleSize(size)};\n height:40px;\n background:white;\n border-radius:2px;\n border:1px solid ${Theme.colors.neutrals.silver};\n cursor:pointer;\n position:relative;\n box-sizing:border-box;\n padding:12px 8px;\n display:flex;\n align-items:center;\n justify-content:space-between;\n\n &.open {\n border-color:${Theme.colors.secondary};\n box-shadow:0 0 6px ${Theme.colors.action};\n }\n\n &.error {\n border-color:${Theme.colors.error.border};\n }\n\n &.error.open {\n border-color:${Theme.colors.error.border};\n box-shadow:0 0 6px ${Theme.colors.error.shadow};\n }\n\n &.valid {\n border-color:${Theme.colors.success.border};\n }\n\n &.valid.open {\n border-color:${Theme.colors.success.border};\n box-shadow:0 0 6px ${Theme.colors.success.shadow};\n }\n`;\n\nconst Value = styled.span`\n color:${props => props.option ? '#707070' : Theme.colors.neutrals.gray};\n font-size:14px;\n white-space: nowrap;\n overflow:hidden;\n ${props => props.option && `\n display:inline-block;\n flex:1;\n `}\n\n >span {\n color:#707070;\n }\n`;\n\nconst Options = styled.ul`\n padding:0;\n margin:4px 0 0 0;\n background:white;\n border:1px solid ${Theme.colors.neutrals.silver};\n box-shadow:0 0 6px ${Theme.colors.neutrals.silver};\n border-radius:2px;\n list-style:none;\n width:auto;\n display:inline-block;\n position: absolute;\n top: 107%;\n left: -1px;\n z-index:10;\n\n ${props => props.isChild && `\n position:absolute;\n left:100%;\n margin-left:6px;\n top:-4px;\n\n &::before {\n content: \" \";\n height: 100%;\n width: 6px;\n background: transparent;\n display: block;\n position: absolute;\n left: -7px;\n }\n `}\n\n\n li {\n font-size:${Theme.font.small.size};\n color:#707070;\n height:32px;\n cursor:pointer;\n padding:0px 4px 0 8px;\n position:relative;\n display:flex;\n justify-content:space-between;\n align-items:center;\n\n >ul {\n display:none;\n }\n\n\n &:hover,\n &.selected {\n background:${Theme.colors.info.bg};\n\n >ul {\n display:inline-block;\n }\n }\n\n &.alone {\n border-top:1px solid ${Theme.colors.neutrals.silver};\n }\n\n }\n`;\n\nconst OptionGroup = styled.div`\n color:#707070;\n font-size:12px;\n padding:8px;\n font-weight:bold;\n cursor:default;\n white-space: nowrap;\n`;\n\nexport {\n Frag,\n Label, SpanError, SpanHelp, RequiredText,\n InputBase, SelectUi, Value, Options, OptionGroup\n};\n","\n\nexport const phone = value => {\n\n return value\n .replace(/\\D/g,'')\n .replace(/(\\d{3})(\\d)/,'$1-$2')\n .replace(/(\\d{3})(\\d)/,'$1-$2')\n .replace(/(\\d{4})\\d+?$/,'$1');\n}\n\nexport const time = value => {\n value = value.trim();\n\n if ( value[0] === '1' )\n value = value.replace( /^(1[012])(\\d{1,2})/, '$1:$2' );\n else\n value = value.replace( /^([1-9])(\\d{1,2})/, '$1:$2' );\n\n value = value.replace( /^(\\d{1,2}):?([0-5][0-9]) ?(am|pm)$/, '$1:$2 $3' );\n\n return value;\n};\n","import React,{forwardRef, useState} from 'react';\nimport styled from 'styled-components';\nimport Theme from '../Theme';\nimport Check from '../assets/Check.svg';\nimport Invalid from '../assets/Invalid.svg';\nimport Ex from '../assets/Ex.svg';\n\nimport {Label,RequiredText} from '../Common/input';\n\nimport {phone, time} from './mask';\n\nconst borderDefault = `\n border-width:1px;\n border-style:solid;\n`;\n\nconst handleSize = sizeType => {\n switch(sizeType){\n case 'extraSmall':\n return '80px';\n case 'small':\n return '140px';\n case 'big':\n return '460px';\n default:\n return '300px';\n }\n}\n\nconst handlerColor = typeColor => {\n switch(typeColor){\n case 'error':\n return Theme.colors.error.text;\n case 'valid':\n return Theme.colors.success.text;\n default:\n return Theme.colors.neutrals.silver;\n }\n}\n\nconst handleMask = type => {\n switch(type){\n case 'phone':\n return phone;\n case 'time':\n return time;\n default:\n return null;\n }\n}\n\nconst InputBase = styled.input`\n background:${Theme.colors.neutrals.white};\n border-color:${props => handlerColor(props.validation)};\n border-width:1px;\n border-style:solid;\n border-radius:${Theme.form.input.radius};\n font-size:${Theme.font.small.size};\n line-height:${Theme.font.small.lineHeight};\n height:40px;\n padding:${Theme.form.input.padding};\n color:${Theme.colors.neutrals.gray};\n width:${({size}) => handleSize(size) };\n\n &.hasChildren {\n padding-right:40px;\n }\n\n &.hasChildren.childrenLeft {\n padding-right:${Theme.form.input.padding};\n padding-left:40px;\n }\n\n &:disabled {\n background: ${Theme.colors.extra.whiteSmoke};\n ${borderDefault};\n border-color: ${Theme.colors.neutrals.silver};\n color: ${Theme.colors.neutrals.medium};\n }\n\n &:disabled::placeholder {\n color:#eee;\n }\n\n &:hover {\n ${borderDefault} ;\n border-color:${props => handlerColor(props.validation)};\n }\n\n &:active {\n ${borderDefault};\n border-color:${props => handlerColor(props.validation)};\n }\n\n &:focus {\n ${borderDefault};\n box-shadow:0px 0px 6px ${Theme.colors.action};\n border-color:${Theme.colors.secondary};\n }\n\n &::placeholder {\n color:${Theme.colors.neutrals.silver};\n font-size:${Theme.font.small};\n }\n\n &:read-only {\n background:${Theme.colors.info.bg};\n border-color:${Theme.colors.neutrals.silver};\n color:#707070;\n }\n`;\n\n\n\n\nconst Span = styled.span`\n font-size:${Theme.font.extraSmall.size};\n font-weight:normal;\n font-family:Circe-Rounded;\n display:block;\n color:#516F90;\n margin-top:4px;\n`;\n\nconst SpanError = styled(Span)`\n color:${Theme.colors.error.text}\n`;\n\nconst Frag = styled.div`\n width:${({size}) => handleSize(size) }\n display:inline-block;\n vertical-align:top;\n`;\n\n\nconst Input = forwardRef(\n ({\n name,\n label,\n help,\n invalid,\n valid,\n error,\n mask,\n iconAction,\n children,\n onChange,\n ...props\n }, ref) => {\n const [inputValue,setInputValue] = useState('');\n\n let validationType = null;\n let useIcon = false;\n\n if(invalid) {\n useIcon = <span className='requiredField'>*</span>;\n validationType = 'error';\n }\n\n if(props.Required) useIcon = <RequiredText/>\n\n if(error){\n validationType = 'error';\n }\n\n if(valid){\n useIcon = (<img src={Check} />);\n validationType = 'valid';\n }\n\n let maskFunction = null;\n if(mask)\n maskFunction = handleMask(mask);\n\n\n const handleChange = (e) => {\n if(onChange) {onChange(e)}\n if(maskFunction)\n e.target.value = maskFunction(e.target.value);\n }\n\n return (\n <Frag size={props.size} className='formAligner'>\n {label && !useIcon && <Label htmlFor={name}>{label}</Label>}\n {label && useIcon && <Label htmlFor={name}>{label} {useIcon}</Label>}\n <div style={{position:'relative'}}>\n {children && React.cloneElement(React.Children.only(children),{\n size: children.props.size || '24px',\n style: {\n ...children.props.style,\n position:'absolute',\n top: children.props.top || '8px',\n right: '8px',\n cursor:'pointer',\n left: (children.props.left && '8px')\n }\n })\n }\n <InputBase\n name={name}\n id={name}\n className={[children && 'hasChildren',children && children.props.left && 'childrenLeft']}\n {...props}\n validation={validationType}\n ref={ref}\n onChange={handleChange}\n />\n\n {iconAction && iconAction}\n </div>\n {help && <Span>{help}</Span>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n </Frag>\n )\n\n })\n\n\n\nexport default Input;\n","var arrayLikeToArray = require(\"./arrayLikeToArray\");\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}\n\nmodule.exports = _arrayWithoutHoles;","function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && Symbol.iterator in Object(iter)) return Array.from(iter);\n}\n\nmodule.exports = _iterableToArray;","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n\nmodule.exports = _nonIterableSpread;","var arrayWithoutHoles = require(\"./arrayWithoutHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar unsupportedIterableToArray = require(\"./unsupportedIterableToArray\");\n\nvar nonIterableSpread = require(\"./nonIterableSpread\");\n\nfunction _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n\nmodule.exports = _toConsumableArray;","import React from 'react';\nimport styled from 'styled-components';\n\nimport {ReactComponent as Advance} from '../assets/icons/advance.svg';\nimport {ReactComponent as Android} from '../assets/icons/android.svg';\nimport {ReactComponent as Apple} from '../assets/icons/apple.svg';\nimport {ReactComponent as Archive} from '../assets/icons/archive.svg';\nimport {ReactComponent as ArrowDown} from '../assets/icons/arrow-down.svg';\nimport {ReactComponent as ArrowLeft} from '../assets/icons/arrow-left.svg';\nimport {ReactComponent as ArrowRight} from '../assets/icons/arrow-right.svg';\nimport {ReactComponent as ArrowUp} from '../assets/icons/arrow-up.svg';\nimport {ReactComponent as BackHome} from '../assets/icons/back-home.svg';\nimport {ReactComponent as Balance} from '../assets/icons/balance.svg';\nimport {ReactComponent as Broom} from '../assets/icons/broom.svg';\nimport {ReactComponent as Bucket} from '../assets/icons/bucket.svg';\nimport {ReactComponent as Bug} from '../assets/icons/bug.svg';\nimport {ReactComponent as Calendar} from '../assets/icons/calendar.svg';\nimport {ReactComponent as Card} from '../assets/icons/cards.svg';\nimport {ReactComponent as Chat} from '../assets/icons/chat.svg';\nimport {ReactComponent as Check} from '../assets/icons/check.svg';\nimport {ReactComponent as CheckNarrow} from '../assets/icons/check-narrow.svg';\nimport {ReactComponent as CheckSquare} from '../assets/icons/check-square.svg';\nimport {ReactComponent as Clock} from '../assets/icons/clock.svg';\nimport {ReactComponent as Cog} from '../assets/icons/cog.svg';\nimport {ReactComponent as Contract} from '../assets/icons/contract.svg';\nimport {ReactComponent as Copy} from '../assets/icons/copy.svg';\nimport {ReactComponent as CreditCard} from '../assets/icons/credit-card.svg';\nimport {ReactComponent as Document} from '../assets/icons/document.svg';\nimport {ReactComponent as Dollar} from '../assets/icons/dollar.svg';\nimport {ReactComponent as Download} from '../assets/icons/download.svg';\nimport {ReactComponent as DspwNetwork} from '../assets/icons/dspw-network.svg';\nimport {ReactComponent as Edit} from '../assets/icons/pencil.svg';\nimport {ReactComponent as Empty} from '../assets/icons/empty.svg';\nimport {ReactComponent as Expand} from '../assets/icons/expand.svg';\nimport {ReactComponent as Eye} from '../assets/icons/eye.svg';\nimport {ReactComponent as EyeCrossed} from '../assets/icons/eye-crossed.svg';\nimport {ReactComponent as Feather} from '../assets/icons/feather.svg';\nimport {ReactComponent as Filter} from '../assets/icons/filter.svg';\nimport {ReactComponent as FlashlightOff} from '../assets/icons/flashlight-off.svg';\nimport {ReactComponent as FlashlightOn} from '../assets/icons/flashlight-on.svg';\nimport {ReactComponent as GeoferenceIn} from '../assets/icons/geofence-in.svg';\nimport {ReactComponent as GeoferenceOut} from '../assets/icons/geofence-out.svg';\nimport {ReactComponent as GraduationHat} from '../assets/icons/graduation-hat.svg';\nimport {ReactComponent as Group} from '../assets/icons/group.svg';\nimport {ReactComponent as Headset} from '../assets/icons/headset.svg';\nimport {ReactComponent as Image} from '../assets/icons/image.svg';\nimport {ReactComponent as Info} from '../assets/icons/info-circle.svg';\nimport {ReactComponent as Invoice} from '../assets/icons/invoice.svg';\nimport {ReactComponent as List} from '../assets/icons/list.svg';\nimport {ReactComponent as Locker} from '../assets/icons/locker.svg';\nimport {ReactComponent as Loadout} from '../assets/icons/loadout.svg';\nimport {ReactComponent as Lunch} from '../assets/icons/lunch.svg';\nimport {ReactComponent as LunchIn} from '../assets/icons/lunch-in.svg';\nimport {ReactComponent as LunchOut} from '../assets/icons/lunch-out.svg';\nimport {ReactComponent as Maintenance} from '../assets/icons/maintenance.svg';\nimport {ReactComponent as Marker} from '../assets/icons/marker.svg';\nimport {ReactComponent as Menu} from '../assets/icons/menu.svg';\nimport {ReactComponent as Megaphone} from '../assets/icons/megaphone.svg';\nimport {ReactComponent as Move} from '../assets/icons/move.svg';\nimport {ReactComponent as NotAllowed} from '../assets/icons/not-allowed.svg';\nimport {ReactComponent as Notes} from '../assets/icons/notes.svg';\nimport {ReactComponent as Package} from '../assets/icons/package.svg';\nimport {ReactComponent as PackageBack} from '../assets/icons/package-back.svg';\nimport {ReactComponent as PackageCheck} from '../assets/icons/package-check.svg';\nimport {ReactComponent as PackageTimes} from '../assets/icons/package-times.svg';\nimport {ReactComponent as Parking} from '../assets/icons/parking.svg';\nimport {ReactComponent as ParkingGeoIn} from '../assets/icons/parking-geofence-in.svg';\nimport {ReactComponent as ParkingGeoOut} from '../assets/icons/parking-geofence-out.svg';\nimport {ReactComponent as Pause} from '../assets/icons/pause.svg';\nimport {ReactComponent as Phone} from '../assets/icons/phone.svg';\nimport {ReactComponent as Person} from '../assets/icons/person.svg';\nimport {ReactComponent as Play} from '../assets/icons/play.svg';\nimport {ReactComponent as Plus} from '../assets/icons/plus.svg';\nimport {ReactComponent as PunchIn} from '../assets/icons/punch-in.svg';\nimport {ReactComponent as PunchOut} from '../assets/icons/punch-out.svg';\nimport {ReactComponent as Printer} from '../assets/icons/printer.svg';\nimport {ReactComponent as Radius} from '../assets/icons/radius.svg';\nimport {ReactComponent as Refresh} from '../assets/icons/refresh.svg';\nimport {ReactComponent as Replace} from '../assets/icons/replace.svg';\nimport {ReactComponent as Rts} from '../assets/icons/rts.svg';\nimport {ReactComponent as Search} from '../assets/icons/search.svg';\nimport {ReactComponent as Segment} from '../assets/icons/segment.svg';\nimport {ReactComponent as Skill} from '../assets/icons/skills.svg';\nimport {ReactComponent as TimeLine} from '../assets/icons/timeline.svg';\nimport {ReactComponent as Times} from '../assets/icons/times.svg';\nimport {ReactComponent as TimesNarrow} from '../assets/icons/times-narrow.svg';\nimport {ReactComponent as Trash} from '../assets/icons/trash.svg';\nimport {ReactComponent as TrendDown} from '../assets/icons/trend-down.svg';\nimport {ReactComponent as TrendUp} from '../assets/icons/trend-up.svg';\nimport {ReactComponent as Upload} from '../assets/icons/upload.svg';\nimport {ReactComponent as VehicleOil} from '../assets/icons/vehicle-oil.svg';\nimport {ReactComponent as Warning} from '../assets/icons/warning.svg';\n\nimport theme from '../Theme';\n\nconst Wrapper = (Element) => {\n const Svg = styled(Element)`\n width: ${props => props.size ? props.size : '40px'}\n height: ${props => props.size ? props.size : '40px'}\n\n ${props => props.onClick && `\n cursor: pointer;\n `}\n\n path {\n fill:${props => props.color ? props.color + ' !important' : theme.colors.secondary};\n }\n `;\n return Svg;\n}\n\nlet Icons = {\n Advance,Android,Apple,Archive,ArrowDown,ArrowLeft,ArrowRight,ArrowUp,BackHome, Balance, Broom,\n Bucket,Bug,Chat,Calendar,Card,Check,CheckNarrow,Contract,Copy,CreditCard,CheckSquare,Clock,Cog,\n Dollar,Download,DspwNetwork,Document,\n Edit,Empty,Expand, Eye,EyeCrossed,Feather, Filter, FlashlightOff, FlashlightOn,\n GeoferenceIn,GeoferenceOut,GraduationHat, Group, Headset,\n Image,Info,Invoice,List, Locker, Loadout,Lunch, LunchIn, LunchOut,\n Maintenance,Marker,Menu,Megaphone,Move,NotAllowed,Notes,Pause,Package, PackageBack, PackageCheck, PackageTimes,\n Parking,ParkingGeoIn,ParkingGeoOut,Phone,\n Person,Play,Plus,Printer,PunchIn,PunchOut,Radius,Refresh,Replace,Rts,\n Segment,Search,Skill,TimeLine,Times,TimesNarrow,Trash,TrendDown,TrendUp,Upload,VehicleOil,Warning\n};\nlet Items = Object.keys(Icons).sort((a,b) => a.localeCompare(b));\nItems.map(key => {\n Icons[key] = Wrapper(Icons[key]);\n})\n\nexport default Icons;\n","import React from 'react';\nimport styled from 'styled-components';\nimport Theme from '../Theme'\n\nconst Help = styled.span`\n height:14px;\n width:14px;\n border-radius: 100%;\n background: ${Theme.colors.info.bg}; \n border: 1px solid ${Theme.colors.info.border};\n color:${Theme.colors.info.text};\n font-family:Circe-Rounded;\n display: inline-block;\n font-size: 10px;\n text-align:center;\n font-weight:bold;\n position:relative;\n top:-2px;\n left:5px;\n \n >div {\n display:none;\n background:white;\n padding:7px;\n position:absolute;\n top:-40px;\n left:-4px;\n white-space: nowrap;\n font-weight:300;\n color:#707070; \n box-shadow:0 0 6px #ccc;\n \n &::before {\n content: \" \";\n width: 0;\n height: 0;\n border-left: 5px solid transparent;\n border-right: 5px solid transparent;\n border-top: 5px solid white;\n position: absolute;\n bottom: -5px;\n }\n }\n \n &:hover {\n div {\n display:inline-block;\n } \n }\n`;\n\n\nconst App = ({text}) => {\n return(\n <Help>\n <span>?</span>\n <div>{text}</div>\n </Help>\n );\n}\n\nexport default App;\n","const mergeRefs = refs => {\n return value => {\n refs.forEach(ref => {\n if (typeof ref === 'function') {\n ref(value)\n } else if (ref != null) {\n ref.current = value\n }\n })\n }\n};\n\nexport default mergeRefs;\n","import styled from 'styled-components';\nimport Theme from '../Theme';\n\nconst Title = styled.h1`\n font-family:circe-rounded;\n font-weight:bold;\n font-size:36px;\n line-height:44px;\n color: ${Theme.colors.secondary};\n`;\n\nconst SubTitle = styled.h3`\n font-family:circe-rounded;\n font-weight:bold;\n font-size:22px;\n line-height:28px;\n color: ${Theme.colors.info.text};\n`;\n\nconst ThirdTitle = styled(SubTitle)`\n font-size:16px;\n line-height:20px;\n`;\n\nconst Text = styled.p`\n font-size:14px;\n line-height:16px;\n color:${Theme.colors.neutrals.gray};\n`;\n\nexport {Title, SubTitle, ThirdTitle, Text};\n\n\n","import React, {forwardRef, Fragment, useCallback, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport Icon from '../Icons/index'\nimport Theme from '../Theme'\nimport Ex from '../assets/Ex.svg'\nimport Check from '../assets/Check.svg'\nimport Help from '../Common/tooltip'\nimport {Label, RequiredText} from '../Common/input'\nimport mergeRefs from '../Common/MergeRefs'\nimport {Text} from '../Texts/index'\n\nconst Frag = styled.div`\n display:inline-block;\n vertical-align: top;\n`;\n\nconst handleSize = sizeType => {\n switch(sizeType){\n case 'extraSmall':\n return '80px';\n case 'small':\n return '140px';\n case 'big':\n return '460px';\n default:\n return '300px';\n }\n}\n\nconst SelectUi = styled.div`\n width:${({size}) => handleSize(size)};\n height:40px;\n background:white;\n border-radius:2px;\n border:1px solid ${Theme.colors.neutrals.silver};\n cursor:pointer;\n position:relative;\n box-sizing:border-box;\n padding:12px 8px;\n display:flex;\n align-items:center;\n justify-content:space-between;\n\n &.open {\n border-color:${Theme.colors.secondary};\n box-shadow:0 0 6px ${Theme.colors.action};\n }\n\n &.error {\n border-color:${Theme.colors.error.border};\n }\n\n &.error.open {\n border-color:${Theme.colors.error.border};\n box-shadow:0 0 6px ${Theme.colors.error.shadow};\n }\n\n &.valid {\n border-color:${Theme.colors.success.border};\n }\n\n &.valid.open {\n border-color:${Theme.colors.success.border};\n box-shadow:0 0 6px ${Theme.colors.success.shadow};\n }\n\n &[disabled] {\n cursor: not-allowed;\n background: ${Theme.colors.extra.whiteSmoke};\n border-color: ${Theme.colors.neutrals.silver};\n color: ${Theme.colors.neutrals.medium};\n }\n\n &[disabled] input::placeholder {\n color:#eee;\n }\n`;\n\nconst Value = styled(Text).attrs(props => ({\n as: 'span'\n}))`\n white-space: nowrap;\n overflow:hidden;\n color: ${Theme.colors.neutrals.medium};\n\n ${props => props.option && `\n display:inline-block;\n flex:1;\n `}\n\n >span {\n color:#707070;\n }\n`;\n\nconst maxOptions = 3;\nconst optionsSize = 32;\n\nconst Options = styled.ul`\n padding:0;\n margin:4px 0;\n background:white;\n border:1px solid ${Theme.colors.neutrals.silver};\n box-shadow:0 0 6px ${Theme.colors.neutrals.silver};\n border-radius:2px;\n list-style:none;\n width:auto;\n display:inline-block;\n position: absolute;\n top: 100%;\n ${props => props.openTo === 'top' && `\n top:unset;\n bottom: 100%;\n `}\n left: -1px;\n z-index:10;\n ${props => !props.hasChildren && `\n max-height: ${props.visibleOptionsQty ? props.visibleOptionsQty * optionsSize : maxOptions * optionsSize}px;\n overflow-x:hidden;\n overflow-y:scroll;\n `}\n\n\n ${props => props.isChild && `\n position:absolute;\n left:100%;\n margin-left:4px;\n top:-4px;\n `}\n\n\n li {\n font-size:${Theme.font.small.size};\n color:#707070;\n height:32px;\n cursor:pointer;\n padding:0px 4px 0 8px;\n position:relative;\n display:flex;\n justify-content:space-between;\n align-items:center;\n\n >ul {\n display:none;\n }\n\n &::before {\n content: \" \";\n height: 100%;\n width: 6px;\n background: transparent;\n display: block;\n position: absolute;\n right: -7px;\n }\n\n\n &:hover {\n background:${Theme.colors.info.bg};\n\n >ul {\n display:inline-block;\n }\n }\n\n &.alone {\n border-top:1px solid ${Theme.colors.neutrals.silver};\n }\n\n }\n`;\n\nconst optionsSizeCustom = 42;\nconst OptionsPeople = styled(Options)`\n max-height: ${props => props.visibleOptionsQty ? props.visibleOptionsQty * optionsSize : optionsSizeCustom * optionsSize}px;\n overflow-y:scroll;\n\n >li {\n padding-right: 8px;\n height: auto;\n min-height: 32px;\n justify-content: flex-start;\n }\n`;\n\n\nconst Span = styled.span`\n font-size:${Theme.font.extraSmall.size};\n font-weight:normal;\n font-family:Circe-Rounded;\n display:block;\n color:#516F90;\n margin-top:4px;\n`;\n\nconst SpanError = styled(Span)`\n color:${Theme.colors.error.text}\n`;\n\nconst SelectHidden = styled.select`\n position: absolute;\n height: 1px;\n width: 1px;\n z-index: -1;\n opacity: 0;\n`;\n\nconst PhotoCover = styled.div`\n height:22px;\n width:22px;\n overflow:hidden;\n border-radius:100%;\n border:1px solid #516F90;\n background:#EAF0F6;\n margin-right:5px;\n display:flex;\n justify-content:center;\n align-items:center;\n\n >svg {\n margin-top:2px;\n }\n\n >img {\n width:25px;\n height:25px;\n object-fit:cover;\n object-position:center;\n }\n`;\n\nconst CustomCheckBox = styled.div`\n background: ${Theme.colors.neutrals.white};\n border-radius: ${Theme.defaultRadius};\n border:1px solid ${Theme.colors.neutrals.silver};\n height:16px;\n width:16px;\n border-radius:2px;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n margin-right:9px;\n &:focus{\n border-color:${Theme.colors.secondary};\n box-shadow:0 0 6px ${Theme.colors.action};\n }\n\n`;\n\nconst OptionGroup = styled.div`\n color:#707070;\n font-size:12px;\n padding:8px;\n font-weight:bold;\n cursor:default;\n white-space: nowrap;\n`;\n\nconst ColorOption = styled.span `\n height:24px;\n width:24px;\n box-sizing: border-box;\n margin-right:5px;\n border-radius:100%;\n border:2px solid white;\n background:${props => props.color ? props.color : 'black' }\n z-index: ${props => props.index > 0 ? 10-props.index : 10};\n margin-left:${props => props.index > 0 ? '-19px' : '0' }\n margin-top: 8px;\n margin-bottom: 8px;\n display: inline-block;\n`;\n\n\nconst getSelected = (options,defaultValue) =>{\n\n let selected;\n options.some((item)=>(\n selected = (item.selected) || (item.value == defaultValue) ? item : getSelected(item.options ? item.options : [],defaultValue))\n )\n return selected;\n}\n\nconst Dropdown = forwardRef(({\n name,\n label,\n help,\n error,\n valid,\n options,\n placeholder,\n onChange,\n defaultValue,\n visibleOptionsQty,\n openTo,\n ...props\n},ref) => {\n\n let defaultSelected = {value:'',desc:''};\n\n const [open, setOpen] = useState(false);\n const [selectedOpt, setSelected] = useState(defaultSelected);\n\n const nodeSelect = useRef();\n const valueRef = useRef();\n\n const handleClick = e => {\n if (nodeSelect.current.contains(e.target)) {\n return;\n }\n setOpen(false);\n };\n\n const reset = () =>{\n setSelected(defaultSelected);\n }\n\n if(props.resetCallback){\n props.resetCallback(reset);\n }\n\n const setDefaultValues = useCallback(() => {\n const hasDefault = getSelected(options,defaultValue);\n\n if(hasDefault && hasDefault.value){\n defaultSelected = {value:hasDefault.value.toString(),desc:hasDefault.name};\n setSelected(defaultSelected);\n } else {\n if ( !valueRef.current.value )\n return;\n\n let selected = getSelected(options,valueRef.current.value);\n if ( selected && selected.value && selected.value !== selectedOpt.value)\n setSelected({ value: selected.value.toString(), desc: selected.name });\n }\n },)\n\n useEffect(()=>{\n //if(defaultValue){\n if(options) setDefaultValues();\n //}\n\n },[options,defaultValue])\n\n useEffect(()=>{\n valueRef.current.value = selectedOpt.value;\n valueRef.current.dispatchEvent(new Event('blur'));\n }, [selectedOpt]);\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClick);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n }, []);\n\n let useIcon = false;\n\n if(props.Required) useIcon = <RequiredText />\n\n if(valid){\n useIcon = (<img src={Check} />);\n }\n\n return(\n <Frag>\n {label && !useIcon && <Label htmlFor={name}>{label}</Label>}\n {label && useIcon && <Label htmlFor={name}>{label} {useIcon}</Label>}\n <SelectUi\n onClick={()=>{\n if (!props.disabled)\n setOpen(!open)\n }}\n ref={nodeSelect}\n className={[open && 'open', error && 'error', valid && 'valid']}\n {...props}\n title={selectedOpt ? selectedOpt.desc : ''}\n >\n <Value>{(selectedOpt.value.length > 0 ? selectedOpt.desc : <span>{placeholder}</span> )}</Value>\n {open ? <Icon.ArrowUp size='15px' color={Theme.colors.info.border} /> : <Icon.ArrowDown size='15px' color={Theme.colors.info.border} />}\n {open &&\n <BoxOptions\n options={options}\n setSelected={setSelected}\n onChange={onChange}\n reset={reset}\n noOptions={props.noOptions}\n selectedOpt={selectedOpt.value}\n setOpen={setOpen}\n onSelect={props.onSelect}\n visibleOptionsQty={visibleOptionsQty}\n openTo={openTo}\n />\n }\n </SelectUi>\n {help && <Span>{help}</Span>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n <input name={name} type='hidden' ref={mergeRefs([valueRef, ref])} disabled={props.disabled}/>\n </Frag>\n );\n})\n\n// eslint-disable-next-line react/prop-types\nexport const BoxOptions = ({options,isChild,setSelected,onChange,noOptions,selectedOpt,setOpen,onSelect,visibleOptionsQty,openTo}) => {\n if(!options) return (<Options><li style={{paddingRight:'8px'}}>{noOptions ? noOptions : 'No data found'}</li></Options>)\n\n const optionsRef = useRef();\n\n const handleClick = (item,e) => {\n e.stopPropagation();\n setOpen(false);\n if(onSelect) onSelect(item);\n if(selectedOpt === item.value) return false;\n setSelected({value:item.value.toString(),desc:item.name});\n if(onChange)onChange(item)\n }\n\n const hasChildren = options.some(el => el.options);\n\n useEffect(() => {\n if(optionsRef.current){\n const optionsBounds = optionsRef.current.getBoundingClientRect();\n if(optionsBounds.right > window.innerWidth){\n optionsRef.current.style.left = \"unset\";\n optionsRef.current.style.right = \"0px\";\n }\n }\n },[])\n\n return (\n <Options isChild={isChild} visibleOptionsQty={visibleOptionsQty} hasChildren={hasChildren} openTo={openTo} ref={optionsRef}>\n {options.map((item,key)=>(\n <Fragment key={key}>\n {item.value !== undefined && item.value !== null\n ?\n <li value={item.value} key={key} className={item.divider ? 'alone' : ''} onClick={(e)=>{ handleClick(item,e); }}>\n <Value\n option\n style={{marginRight:4}}\n >\n {item.name}\n </Value>\n {item.options && <Icon.ArrowRight size='15px' color='#7C98B6'/>}\n {item.options && <BoxOptions options={item.options} isChild={true} setSelected={setSelected} onChange={onChange} selectedOpt={selectedOpt} setOpen={setOpen} visibleOptionsQty={visibleOptionsQty} />}\n </li>\n :\n <OptionGroup>{item.name}</OptionGroup>\n }\n </Fragment>\n ))}\n </Options>\n );\n}\n\n\n\nconst CustomDropdown = forwardRef(({name,label,help,error,valid,options,placeholder,defaultValue,multiple,type,tooltip,onChange,visibleOptionsQty,openTo,...props},ref) => {\n\n const [open, setOpen] = useState(false);\n const [selectedOpt, setSelected] = useState([]);\n\n const nodeSelect = useRef();\n const valueRef = useRef();\n\n const handlOpenSelect = e => {\n if (props.disabled)\n return;\n\n if(multiple)\n if(e.target.classList.contains('1010list-option'))\n return;\n\n setOpen(!open);\n }\n\n const reset = () => {\n setSelected([]);\n }\n\n if(props.resetCallback){\n props.resetCallback(reset);\n }\n\n const handleClick = e => {\n if (nodeSelect.current.contains(e.target))\n return;\n\n setOpen(false);\n };\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClick);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n }, []);\n\n const setDefaultValues = useCallback(() => {\n let defaults;\n\n if ( valueRef.current && valueRef.current.value ) {\n if ( multiple ) {\n defaultValue = Array.from( valueRef.current.children )\n .filter( opt => opt.selected == true )\n .map( opt => opt.value );\n } else\n defaultValue = defaultValue || valueRef.current.value;\n }\n\n if(options){\n defaults = options.map((item,key)=>{\n if(item.selected) return key;\n }).filter(e => e != null);\n }\n\n if(defaultValue){\n defaults = options.map((item,key)=>{\n if(multiple) {\n if(defaultValue.indexOf(item.value) >= 0) return key;\n }else{\n if(item.value == defaultValue) return key;\n }\n }).filter(e => e != null);\n }\n\n\n if(defaults.length){\n if(multiple){\n if (selectedOpt.length !== defaults.length\n || !selectedOpt.every((value, index) => value === defaults[index]))\n setSelected(defaults);\n }else{\n if (selectedOpt[0] !== defaults[0])\n setSelected([defaults[0]]);\n }\n }\n\n // const hasDefault = getSelected(options,defaultValue);\n //\n // if(hasDefault && hasDefault.value){\n // defaultSelected = {value:hasDefault.value.toString(),desc:hasDefault.name};\n // setSelected(defaultSelected);\n // } else {\n // if ( !valueRef.current.value )\n // return;\n //\n // let selected = getSelected(options,valueRef.current.value);\n // if ( selected && selected.value )\n // setSelected({ value: selected.value.toString(), desc: selected.name });\n // }\n },)\n\n useEffect(()=>{\n //if(defaultValue){\n if(options) setDefaultValues();\n //}\n\n },[options,defaultValue])\n\n useEffect(()=>{\n if ( valueRef.current )\n if ( multiple )\n Array.from(valueRef.current.children)\n .map((opt, k) => opt.selected = selectedOpt.indexOf(k) !== -1);\n else if ( options[selectedOpt] )\n valueRef.current.value = options[selectedOpt].value;\n\n valueRef.current.dispatchEvent(new Event('blur'));\n }, [selectedOpt]);\n\n let useIcon = false;\n\n if(props.Required) useIcon = <RequiredText />\n\n if(valid){\n useIcon = (<img src={Check} />);\n }\n\n return(\n <Frag>\n {label && !useIcon && <Label htmlFor={name}>{label} {tooltip && <Help text={tooltip}/>}</Label>}\n {label && useIcon && <Label htmlFor={name}>{label} {useIcon} {tooltip && <Help text={tooltip}/>}</Label>}\n <SelectUi onClick={handlOpenSelect} ref={nodeSelect} className={[open && 'open', error && 'error', valid && 'valid']} {...props}>\n <Value style={{display:'inline-flex',alignItems:'center',overflow:'hidden'}}>\n {\n selectedOpt.length > 0\n ? <SelectValueRender options={options} selectedOpt={selectedOpt} type={type} noOptions={props.noOptions}/>\n : <span>{placeholder}</span>\n }\n </Value>\n {open ? <Icon.ArrowUp size='15px' color={Theme.colors.info.border} /> : <Icon.ArrowDown size='15px' color={Theme.colors.info.border} />}\n {open &&\n <SelectOption\n options={options}\n setSelected={setSelected}\n selectedOpt={selectedOpt}\n multiple={multiple}\n type={type}\n onChange={onChange}\n noOptions={props.noOptions}\n visibleOptionsQty={visibleOptionsQty}\n openTo={openTo}\n />\n }\n </SelectUi>\n {help && <Span>{help}</Span>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n\n {multiple\n ?\n <SelectHidden\n name={name}\n multiple\n ref={mergeRefs([valueRef, ref])}\n tabIndex={-1}\n >\n {options && options.map( ( opt, k ) =>\n <option value={opt.value} key={k}>{opt.name}</option>\n )}\n </SelectHidden>\n :\n <input\n name={name}\n type='hidden'\n ref={mergeRefs([valueRef, ref])}\n />\n }\n\n </Frag>\n );\n})\n\nconst HandleState = (index,setSelected,selectedOpt,multiple,onChange, options) => {\n\n const key = selectedOpt.includes(index);\n\n let ret;\n\n if(key && multiple){\n selectedOpt.splice(selectedOpt.indexOf(index),1)\n ret = [...selectedOpt];\n }else{\n if(multiple){\n let newSelected = Object.assign([],selectedOpt);\n newSelected.push(index);\n ret = newSelected;\n }else{\n ret = [index];\n }\n }\n\n if ( !multiple && ret.toString() === selectedOpt.toString() )\n return;\n\n const stateMap = options.filter( (opt, index) => ret.indexOf( index ) !== -1 ).map( opt => opt.value );\n\n if ( typeof onChange === 'function' )\n onChange( multiple ? stateMap : stateMap[0] );\n\n setSelected(ret);\n}\n\nconst SelectOption = ({options,setSelected,selectedOpt,multiple,type,onChange,noOptions,visibleOptionsQty,openTo}) => {\n if(!options) return (<OptionsPeople><li>{noOptions ? noOptions : 'No data found'}</li></OptionsPeople>)\n return (\n <OptionsPeople visibleOptionsQty={visibleOptionsQty} openTo={openTo}>\n {options.map((item,key)=>(\n <Fragment key={key} >\n {item.value !== undefined && item.value !== null ?\n <li value={item.value} className='1010list-option' onClick={()=>{HandleState(key,setSelected,selectedOpt,multiple,onChange,options)}}>\n {multiple && <CustomCheckBox className='1010list-option'>{selectedOpt.includes(key) && <Icon.Check size='17px' />}</CustomCheckBox>}\n {type == 'color' ? <ColorOption color={item.color} className='1010list-option' /> : null}\n {type == 'people' ? <PhotoComponent profile={item.profile} /> : null}\n <Value className='1010list-option'>{item.name}</Value>\n </li>\n :\n <OptionGroup className='1010list-option'>{item.name}</OptionGroup>\n }\n </Fragment>\n ))}\n </OptionsPeople>\n );\n}\n\nconst PhotoComponent = ({profile,index}) => {\n let customStyle = {position:'relative',display:'inline-flex',zIndex:10};\n\n if(index > 0){\n customStyle.marginLeft = '-19px';\n customStyle.zIndex -= index;\n }\n return(\n <PhotoCover style={customStyle} className='1010list-option' >\n {profile && profile != undefined ? <img src={profile} className='1010list-option' /> : <Icon.Person className='1010list-option' size='20px' />}\n </PhotoCover>\n )\n};\n\nconst SelectValueRender = ({options,selectedOpt,type,noOptions}) => {\n if(!options){\n return(\n <Fragment>\n <div style={{display:'flex'}}></div>\n <Value>\n {noOptions ? noOptions : 'No Data' }\n </Value>\n </Fragment>\n );\n }\n let Pictures = [];\n let Names = [];\n\n if(selectedOpt.length > 0 && selectedOpt[0] != undefined){\n let seq = 0;\n selectedOpt.map((key)=>{\n if(seq < 3){\n if(type === 'color'){\n Pictures.push(<ColorOption key={key} index={seq} color={options[key].color} />)\n }else if(type === 'people'){\n Pictures.push(<PhotoComponent key={key} index={seq} profile={options[key].profile} />);\n }\n if(seq == 2){\n let total = selectedOpt.length-2;\n const plural = (total > 1 ? 's' : '');\n\n if(Names[0].length > 8)\n {\n let new_desc = Names[0].split(' ');\n if(new_desc[0].length >8){\n Names.splice(1,1);\n ++total;\n }else{\n Names[0] = new_desc[0];\n }\n }\n\n Names.push(total+' other'+plural);\n }else{\n let desc = options[key].name;\n if(seq == 1){\n // let new_desc = desc.split(' ');\n // desc = new_desc[0];\n }\n Names.push(desc);\n\n\n }\n }\n ++seq;\n })\n }\n\n return(\n <Fragment>\n <div style={{display:'flex'}}>{Pictures}</div>\n <Value>\n {\n (Names.length > 2) ? Names.join(', ').replace(/,(?=[^,]*$)/, ' and ') : Names.join(', ')\n }\n </Value>\n </Fragment>\n );\n\n}\n\n\nexport {CustomDropdown};\n\nexport default Dropdown;\n","import React from 'react';\nimport styled from 'styled-components';\n\nconst solveSpace = (type=0) => {\n if(!Number.isInteger(type)){\n return '0';\n }\n if(type < 1){\n return '0';\n }\n return type*4;\n}\n\nconst BaseSpace = styled.div`\n padding-top:${props => solveSpace(props.top)}px;\n padding-left:${props => solveSpace(props.left)}px;\n padding-right:${props => solveSpace(props.right)}px;\n padding-bottom:${props => solveSpace(props.bottom)}px;\n display:${props => props.inline ? 'inline-block' : 'block'}\n`;\n\nconst Spacer = ({all,...props}) => {\n\n if(all){\n props.top = all;\n props.left = all;\n props.right = all;\n props.bottom = all;\n }\n return (<BaseSpace {...props} />)\n}\n\nexport default Spacer;\n","import React, {forwardRef} from 'react'\nimport styled from 'styled-components'\n\nimport Theme from '../Theme'\nimport Icon from '../Icons'\nimport Spacer from '../Spacer'\nimport Ex from '../assets/Ex.svg'\nimport Check from '../assets/Check.svg'\n\nimport {RequiredText} from '../Common/input'\nimport {Text} from '../Texts'\n\nconst HiddenCheckbox = styled.input.attrs({type:'checkbox'})`\n display: none;\n`;\n\nconst HiddenRadioBox = styled.input.attrs({type:'radio'})`\n display: none;\n`;\n\n\nconst CheckboxContainer = styled.label`\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n justify-content: center;\n cursor:pointer;\n\n &:focus {\n outline:none;\n }\n `;\n\nconst CustomCheckBox = styled.div`\n background: ${Theme.colors.neutrals.white};\n border-radius: ${Theme.defaultRadius};\n border:1px solid ${Theme.colors.neutrals.silver};\n height:${props => props.radio ? '17px' : '16px'};\n width:${props => props.radio ? '17px' : '16px'};\n border-radius:${props => props.radio ? '17px' : '2px'};\n display: inline-flex;\n justify-content: center;\n align-items: center;\n box-sizing:border-box;\n\n svg {\n display:none;\n }\n\n ${HiddenCheckbox}:focus + &, ${HiddenRadioBox}:focus + & {\n border-color:${Theme.colors.secondary};\n box-shadow:0 0 6px ${Theme.colors.action};\n }\n\n ${HiddenCheckbox}:disabled + &, ${HiddenRadioBox}:disabled + & {\n background:${Theme.colors.neutrals.silver};\n border-color:#707070;\n opacity:0.5;\n cursor:default;\n }\n\n ${HiddenCheckbox}:checked + &, ${HiddenRadioBox}:checked + & {\n svg {\n display:block;\n }\n }\n`;\n\nconst Title = styled.h5`\n font-family:circe-rounded;\n font-weight:normal;\n font-size:16px;\n color: #707070;\n\n >.requiredField {\n color:${Theme.colors.error.text};\n }\n`;\n\nconst Label = styled.span`\n display:inline-block;\n font-size:14px;\n color:#707070;\n margin-left:8px;\n`;\n\nconst Span = styled.span`\n font-size:${Theme.font.extraSmall.size};\n font-weight:normal;\n font-family:Circe-Rounded;\n display:block;\n color:#516F90;\n margin-top:4px;\n`;\n\nconst SpanError = styled(Span)`\n color:${Theme.colors.error.text};\n display:block;\n`;\n\nconst NoOptions = styled(Text)`\n color: ${Theme.colors.neutrals.silver};\n`;\n\nconst CheckboxBase = forwardRef(({name, checked=false,disabled,title,label,error,preventClass,...props},ref) => {\n return(\n <div style={{display:'inline-block'}} className={preventClass ? preventClass : ''}>\n {title && <Title>{title}</Title>}\n <CheckboxContainer className={preventClass ? preventClass : ''}>\n <HiddenCheckbox ref={ref} disabled={disabled} name={name} id={`${name}.${props.value}`} {...props} onChange={()=>{}} defaultChecked={checked} />\n <CustomCheckBox className={preventClass ? preventClass : ''}>\n <Icon.Check size='16px' className={preventClass ? preventClass : ''} />\n </CustomCheckBox>\n <Label className={preventClass ? preventClass : ''}>{label}</Label>\n </CheckboxContainer>\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n </div>\n );\n});\n\n\nconst CheckBox = forwardRef(({name,title,options = [],values,error,...props},ref) => {\n\n // if(!options || !options[0] || options[0] == undefined) {\n // return (<div>Provide an valid array</div>);\n // }\n\n return (\n <div style={{verticalAlign:'middle'}} className='formAligner'>\n {title && <Title>{title} {props.Required && <RequiredText />}</Title>}\n {\n options.map((item,index) => {\n let checked = false;\n\n if(props.defaultValues && props.defaultValues.includes(item.value)) checked = true;\n\n return (\n <Spacer key={index} right={3} style={{display: 'inline-block'}} >\n <CheckboxBase\n key={index}\n name={name}\n value={item.value}\n label={item.label}\n {...props}\n ref={ref}\n checked={checked}\n />\n </Spacer>\n )\n })\n }\n {!options || !options.length && <NoOptions>No options available</NoOptions>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n </div>\n );\n\n});\n\n\nconst RadioBoxBase = forwardRef(({name,title,label,error,checked=false, ...props},ref) => {\n return(\n <div style={{display:'inline-block'}}>\n {title && <Title>{title} </Title>}\n <CheckboxContainer>\n <HiddenRadioBox ref={ref} name={name} id={`${name}.${props.value}`} defaultChecked={checked} {...props} />\n <CustomCheckBox radio={true}>\n <Icon.Check size='17px' />\n </CustomCheckBox>\n <Label>{label}</Label>\n </CheckboxContainer>\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n </div>\n );\n});\n\nconst RadioBox = forwardRef(({name,title,options = [],values,error,valid,checked,inline=true,...props},ref) => {\n\n // if(!options || !options[0] || options[0] == undefined) {\n // return (<div>Provide an valid array</div>);\n // }\n\n\n return (\n <div style={{verticalAlign:'middle'}} className='formAligner'>\n {title && <Title>{title} {valid && <img src={Check} />} {props.Required && <RequiredText />}</Title> }\n {!inline && title && <Spacer bottom={1} />}\n {\n options.map((item,index) => {\n let checked = false;\n\n if(props.default && props.default == item.value) checked = true;\n\n return (\n <Spacer key={index} right={3} style={{display: (inline ? 'inline-block' : 'block') }} >\n <RadioBoxBase\n key={index}\n name={name}\n label={item.label}\n value={item.value}\n checked={checked}\n {...props}\n ref={ref}\n />\n </Spacer>\n )\n })\n }\n {!options || !options.length && <NoOptions>No options available</NoOptions>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n </div>\n );\n\n});\n\nexport {CheckboxBase};\n\nexport {CheckBox, RadioBox}\n","import React, {useState, forwardRef} from 'react';\n\nimport Icon from '../Icons';\n\nimport Input from './index';\n\n\nconst Password = forwardRef(({...props},ref) => {\n const [visible, setVisible] = useState(false);\n\n const ImgStyle = {position:'absolute',top:'8px',right:'8px',height:'25px',cursor:'pointer'}\n\n\n let eyeImg = (<Icon.Eye style={ImgStyle} size='25px' color='#7C98B6' onClick={() => {setVisible(true)}} />);\n let type = 'password';\n if(visible){\n eyeImg = (<Icon.EyeCrossed style={ImgStyle} size='25px' color='#7C98B6' onClick={() => {setVisible(false)}} />);\n type = 'text';\n }\n\n return (\n <div style={{position:'relative',display:'inline-block',verticalAlign:'middle'}} className='formAligner'>\n <Input {...props} type={type} iconAction={eyeImg} ref={ref} />\n </div>\n )\n})\n\nexport default Password;\n","import React,{useState, useRef, useEffect,forwardRef} from 'react';\nimport styled from 'styled-components';\nimport Theme from '../Theme';\nimport {Label, InputBase, RequiredText} from '../Common/input'\nimport Icon from '../Icons';\nimport Ex from '../assets/Ex.svg'\nimport Help from '../Common/tooltip'\nimport mergeRefs from '../Common/MergeRefs';\n\nconst Frag = styled.div`\n display:inline-block;\n vertical-align: top;\n`;\n\nconst Span = styled.span`\n font-size:${Theme.font.extraSmall.size};\n font-weight:normal;\n font-family:Circe-Rounded;\n display:block;\n color:#516F90;\n margin-top:4px;\n`;\n\nconst SpanError = styled(Span)`\n color:${Theme.colors.error.text}\n`;\n\nconst Select = styled(InputBase)`\n background:${Theme.colors.neutrals.white};\n box-sizing:border-box;\n cursor:pointer;\n position:relative;\n box-sizing: border-box;\n padding:0;\n\n height:auto;\n min-height:40px;\n\n\n &:focus-within {\n box-shadow:0px 0px 6px ${Theme.colors.action}\n border-color:${Theme.colors.secondary}\n }\n\n &.error {\n border-color:${Theme.colors.error.border};\n }\n`;\n\nconst maxOptions = 5;\nconst optionsSize = 32;\nconst Options = styled.ul`\n padding:0;\n margin:4px 0;\n background:white;\n border:1px solid ${Theme.colors.neutrals.silver};\n box-shadow:0 0 6px ${Theme.colors.neutrals.silver};\n border-radius:2px;\n list-style:none;\n width:auto;\n display:inline-block;\n position: absolute;\n top: 100%;\n ${props => props.openTo === 'top' && `\n top:unset;\n bottom:100%;\n `}\n left: -1px;\n z-index:10;\n max-height: ${props => props.visibleOptionsQty ? props.visibleOptionsQty * optionsSize : maxOptions * optionsSize}px;\n overflow-x:hidden;\n overflow-y:scroll;\n\n li {\n font-size:${Theme.font.small.size};\n color:#707070;\n min-height:32px;\n cursor:pointer;\n padding: 8px;\n position:relative;\n box-sizing: border-box;\n\n >ul {\n display:none;\n }\n\n &.active,\n &:hover {\n background:${Theme.colors.info.bg};\n\n >ul {\n display:inline-block;\n }\n }\n\n }\n`;\n\nconst TagsValues = styled.ul`\n list-style:none;\n padding:0 5px 3px;\n margin:0;\n display:flex;\n max-width: 300px;\n flex-wrap: wrap;\n\n &.small {\n max-width:140px;\n\n >li:not(.input) {\n white-space: pre-wrap;\n }\n }\n\n >li:not(.input) {\n border:1px solid #7C98B6;\n color:#516F90;\n background:#EAF0F6;\n padding:5px;\n margin-right:5px;\n border-radius:2px;\n font-size:12px;\n font-weight:500;\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n white-space: nowrap;\n\n\n >svg {\n padding-left:8px;\n padding-right:3px;\n }\n\n }\n\n >li {\n margin-top:5px;\n input {\n display: inline-block;\n height: 30px;\n width:100%;\n min-width:80px;\n color:#333;\n font-size:14px;\n\n &::placeholder {\n color:#ccc;\n }\n }\n\n &.input {\n flex:1;\n }\n\n\n }\n`;\n\nconst SelectHidden = styled.select`\n position: absolute;\n height: 1px;\n width: 1px;\n z-index: -1;\n opacity: 0;\n`;\n\nconst Tag = forwardRef(({\n name = '',\n options,\n error,\n valid,\n help,\n label,\n tooltip,\n canCreate,\n size,\n onChange,\n placeholder,\n visibleOptionsQty,\n openTo,\n ...props\n},ref) => {\n\n if( !options || !options[0] )\n options = [];\n\n const randId = Math.random() * new Date().getTime();\n const safeName = ('tag' + name + randId.toString()).replace(/\\W/gi, '');\n\n const [search, setSearch] = useState('');\n const [open, setOpen] = useState(!!props.autoFocus);\n const [newOptions, setNewOption] = useState([]);\n const [defaultOptions, setDefaultOptions] = useState( options );\n const [selectedOpt, setSelected] = useState([]);\n\n\n const containerRef = useRef();\n const searchRef = useRef();\n const valueRef = useRef();\n\n\n const isSelected = (value) => selectedOpt.some(key => key == value);\n\n let filter = React.useMemo(() => {\n return options.map((item,key)=>{\n if(isSelected(key))\n return null;\n\n if(item.name.toLowerCase().indexOf(search.toLowerCase()) === -1)\n return null;\n\n return key;\n }).filter(e => e != null);\n }, [options, selectedOpt, search]);\n\n\n if ( JSON.stringify(options) !== JSON.stringify(defaultOptions) )\n setDefaultOptions(options);\n\n options = defaultOptions.concat(newOptions);\n\n let timer;\n const handleChange = e => {\n clearTimeout(timer);\n const s = e.target.value;\n timer = setTimeout(() => setSearch(s), 150);\n }\n\n const handleSelect = (key) => {\n let selected = props.singleOption ? [key] : [...selectedOpt,key];\n\n setSelected( selected );\n\n searchRef.current.value = '';\n setSearch('');\n\n if ( typeof onChange === 'function' ) {\n let values = options.filter( (opt, k) => selected.indexOf( k ) !== -1 );\n onChange( values );\n }\n };\n\n const handleRemove = (index) => {\n if( !selectedOpt.length )\n return;\n\n selectedOpt.splice(selectedOpt.indexOf(index),1);\n let selected = [...selectedOpt];\n setSelected(selected);\n setTimeout(()=>{\n searchRef.current.focus();\n });\n\n if ( typeof onChange === 'function' ) {\n let values = options.filter( (opt, k) => selected.indexOf( k ) !== -1 );\n onChange( values );\n }\n }\n\n const handleClick = e => {\n let elm = e.target;\n\n if (containerRef.current.contains(elm))\n return;\n\n setOpen(false);\n };\n\n const handleFocus = e => {\n if (e.target.value)\n handleChange(e);\n\n setOpen(true);\n }\n\n const handleBlur = e => {\n if (document.activeElement !== document.body && !containerRef.current.contains(document.activeElement))\n setOpen(false);\n }\n\n const handleKey = e =>{\n let key = e.key.toLowerCase();\n\n switch ( key ) {\n case 'escape':\n setOpen(false);\n return;\n\n case 'backspace':\n return !searchRef.current.value.length && selectedOpt.length && handleRemove(selectedOpt[selectedOpt.length-1]);\n\n case 'arrowup':\n case 'arrowdown':\n if ( !open )\n setOpen(true);\n\n let list = document.querySelectorAll( `#${safeName}-options li[value]` );\n\n if ( !list || !list.length )\n return;\n\n let arr = Array.from(list);\n let activeIndex = arr.findIndex(elm => elm.classList.contains('active') );\n\n if ( activeIndex < 0 )\n return arr[ key === 'arrowdown' ? 0 : arr.length - 1 ].classList.add( 'active' );\n\n let active = arr[activeIndex];\n active.classList.remove( 'active' );\n\n let toBeActive = ( key === 'arrowdown' )\n ? ( arr[activeIndex + 1] )\n ? arr[activeIndex + 1]\n : arr[0]\n : ( arr[activeIndex - 1] )\n ? arr[activeIndex - 1]\n : arr[arr.length - 1]\n ;\n\n toBeActive.classList.add('active');\n toBeActive.scrollIntoView( { block: 'center' } );\n\n case 'arrowright':\n case 'arrowleft':\n return;\n\n case 'tab':\n if (!!!searchRef.current.value)\n return setTimeout(()=>!containerRef.current.contains(document.activeElement) && setOpen(false), 5);\n\n case 'enter':\n let option = document.querySelector( `#${safeName}-options .active` );\n if ( option ) {\n e.preventDefault();\n option.click();\n setTimeout(() => searchRef.current.focus(), 10 );\n }\n return;\n\n default:\n setOpen(true);\n return;\n }\n }\n\n const addNewOption = (newObj) => {\n newObj = {\n ...newObj,\n value: newObj.name,\n new: true\n };\n\n setNewOption([...newOptions,newObj]);\n options.push(newObj);\n\n handleSelect(options.length - 1);\n }\n\n useEffect(()=>{\n\n let selected = options.map(function (item, key) {\n if (item.selected) return key;\n }).filter(function (e) {\n return e != null;\n });\n\n if (props.defaultValues && options.length > 0) {\n props.defaultValues.map( v => {\n let i = options.findIndex( item => item.value.toString() === v.toString() );\n if ( i !== -1 )\n selected.push( i );\n });\n }\n\n if ( valueRef.current && valueRef.current.value ) {\n let fromHookFrom = Array.from( valueRef.current.children )\n .map( ( opt, k ) => opt.selected == true ? k : false )\n .filter( v => v !== false );\n\n selected = selected.concat( fromHookFrom );\n }\n\n setSelected( selected );\n\n },[defaultOptions]);\n\n useEffect(()=>{\n if ( !valueRef.current )\n return;\n\n Array.from(valueRef.current.children)\n .map((opt, k) => opt.selected = selectedOpt.indexOf(k) !== -1);\n valueRef.current.dispatchEvent(new Event('blur'));\n }, [selectedOpt]);\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClick);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n }, []);\n\n // integrate hook-form reset\n useEffect(()=>{\n const keys = Array.from(valueRef.current.children)\n .map((opt, k) => opt.selected ? k : false)\n .filter(k => k !== false);\n\n if ( selectedOpt.length !== keys.length\n || !selectedOpt.every((value, index) => value === keys[index]) ) {\n setSelected(keys);\n }\n });\n\n return(\n <Frag ref={containerRef}>\n {label && <Label htmlFor={name}>{label} {tooltip && <Help text={tooltip}/>} {props.Required && <RequiredText />}</Label>}\n <Select as='div' size={size} className={[open && 'open', error && 'error', valid && 'valid', 'tagEventPrevent']} onClick={()=>{searchRef.current.focus()}}>\n <TagsValues className={size}>\n {selectedOpt.map((key)=> {\n if(options[key]) { return (<li key={key}>{options[key].name} <Icon.TimesNarrow size='8px' color='#516F90' onClick={() => {handleRemove(key)}}/></li>)}\n })}\n <li className='input'>\n <input\n type='text'\n placeholder={placeholder}\n ref={searchRef}\n onChange={handleChange}\n onKeyDown={handleKey}\n autoFocus={!!props.autoFocus}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n </li>\n </TagsValues>\n {open &&\n <TagOptions\n name={safeName}\n filter={filter}\n handleSelect={handleSelect}\n options={options}\n searchRef={searchRef}\n addNewOption={addNewOption}\n canCreate={canCreate}\n visibleOptionsQty={visibleOptionsQty}\n openTo={openTo}\n />\n }\n </Select>\n {help && <Span>{help}</Span>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n <SelectHidden name={name} multiple ref={mergeRefs([valueRef, ref])} tabIndex={-1}>\n {options.map((opt, key)=>(\n <option value={opt.value} key={key}>{opt.name}</option>\n ))}\n </SelectHidden>\n </Frag>\n );\n})\n\nconst TagOptions = ({name,filter,handleSelect,options,searchRef,addNewOption,canCreate,visibleOptionsQty,openTo}) => {\n let CreateOption;\n let underscored;\n if(searchRef.current && searchRef.current.value.length > 0){\n if ( canCreate && !options.find(opt => opt.name === searchRef.current.value))\n CreateOption = (<li className='active' onClick={()=>{addNewOption({name:searchRef.current?.value})}} value={searchRef.current.value}>Create option \"<u className='tagEventPrevent'>{searchRef.current.value}</u>\"</li>);\n\n const searchToUnderscore = searchRef.current ? searchRef.current.value.replaceAll('(','\\\\(').replaceAll(')','\\\\)') : '';\n underscored = new RegExp('('+searchToUnderscore+')','giu');\n }\n\n let noDataOption = '';\n if (!options.length || (filter.filter(i => options[i].value !== undefined).length < 1 && !CreateOption)) {\n let msg = searchRef.current && searchRef.current.value.length < 1\n ? 'No options left'\n : 'No match for ';\n noDataOption = (<li\n className='tagEventPrevent'\n dangerouslySetInnerHTML={{\n __html: `${msg} <u>${searchRef.current?.value}</u>`\n }}/>\n );\n }\n\n return (\n <Options id={`${name}-options`} visibleOptionsQty={visibleOptionsQty} openTo={openTo}>\n {\n options.length > 0 ? filter.map((key, index)=> {\n if (options[key].value === undefined)\n return !noDataOption ? (\n <li\n key={key}\n className='tagEventPrevent'\n >\n <small><strong>{options[key].name}</strong></small>\n </li>\n ) : null;\n else\n return(\n <li\n className={`tagEventPrevent ${index === 0 ? 'active' : ''}`}\n value={options[key].value}\n key={key}\n onClick={() => {\n handleSelect(key)\n }}>\n {underscored ? (\n <span\n dangerouslySetInnerHTML={{\n __html: options[key].name.replace(underscored, '<u>$1</u>')\n }}\n />\n ) : options[key].name }\n </li>\n );\n }) : null\n }\n {CreateOption}\n {noDataOption}\n </Options>\n );\n}\n\n\nexport default Tag;\n","const hexToRgb =(hex) => {\n const shorthandRegex = /^#?([a-f\\d])([a-f\\d])([a-f\\d])$/i;\n hex = hex.replace(shorthandRegex, function(m, r, g, b) {\n return r + r + g + g + b + b;\n });\n\n const result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? {\n r: parseInt(result[1], 16),\n g: parseInt(result[2], 16),\n b: parseInt(result[3], 16)\n } : null;\n}\n\nconst luminance = ({r, g, b}) => {\n const a = [r, g, b].map(function (v) {\n v /= 255;\n return v <= 0.03928\n ? v / 12.92\n : Math.pow( (v + 0.055) / 1.055, 2.4 );\n });\n return a[0] * 0.2126 + a[1] * 0.7152 + a[2] * 0.0722;\n}\n\n\nconst calculateContrast = (background='#0000000',text='#fffffff') => {\n\n const color1luminance = luminance(hexToRgb(background));\n const color2luminance = luminance(hexToRgb(text));\n\n const ratio = color1luminance > color2luminance\n ? ((color2luminance + 0.05) / (color1luminance + 0.05))\n : ((color1luminance + 0.05) / (color2luminance + 0.05));\n\n return ratio < (1/4.5);\n}\n\nexport default calculateContrast;\n","import React, {useState,forwardRef,useEffect} from 'react';\nimport styled from 'styled-components';\nimport {Label,SpanHelp,SpanError} from '../Common/input'\nimport Help from '../Common/tooltip'\nimport Icon from '../Icons';\nimport Ex from '../assets/Ex.svg'\n\nimport Theme from '../Theme';\n\nimport calculateContrast from '../Common/ColorHelper';\n\nconst Frag = styled.div`\n display:inline-block;\n vertical-align: top;\n`;\n\nconst Field = styled.div`\n position:relative;\n`;\n\nconst WraperBucket = styled.div`\n height:40px;\n width:40px;\n background:${props=>props.background ? props.background : Theme.colors.info.shadow};\n border-radius:40px;\n cursor:pointer;\n display:flex;\n justify-content:center;\n align-items:center;\n box-sizing:border-box;\n\n &.hover {\n border:1px solid #0071BC;\n box-shadow: 0px 0px 6px #9DDDF4;\n }\n\n &:focus{\n box-shadow:0px 0px 6px ${Theme.colors.action};\n border:1px solid ${Theme.colors.secondary};\n outline:none;\n }\n\n`;\n\nconst ColorBox = styled.ul`\n background:#fff;\n border-radius:2px;\n padding:5px;\n list-style:none;\n margin:0;\n display: grid;\n grid-template-columns: 24px 24px 24px 24px 24px 24px 24px 24px;\n position:absolute;\n left:48px;\n top:0;\n box-shadow: 0px 3px 6px ${Theme.colors.neutrals.gray}19;\n\n > li {\n width:24px;\n height:24px;\n cursor:pointer;\n position: relative;\n\n &.selected {\n z-index: 1;\n box-shadow: 0 0 0 2px ${Theme.colors.secondary};\n border-radius: ${Theme.defaultRadius};\n }\n\n &:hover {\n z-index: 2;\n box-shadow: 0 0 0 2px ${Theme.colors.neutrals.gray};\n border-radius: ${Theme.defaultRadius};\n }\n }\n`;\n\nconst SelectHidden = styled.select`\n position: absolute;\n height: 1px;\n width: 1px;\n z-index: -1;\n opacity: 0;\n`;\n\nconst InputColor = forwardRef(({name,tooltip,value,help,error, label,...props},ref) => {\n const [open, setOpen] = useState(false);\n\n const colors = [\n '#7C98B6','#00A4BD','#00BDA5','#F5C26B','#F2545B','#f03063','#BD37A4','#7B87D4',\n '#516F90','#0091AE','#00A38D','#DBAE60','#D94C53','#cc2957','#853E78','#5A65B0',\n '#CBD6E2','#7FD1DE','#7FDED2','#FAE0B5','#F8A9AD','#f59fb7','#E3AFD9','#B4BBE8',\n '#EAF0F6','#E5F5F8','#E5F8F6','#FEF8F0','#FDEDEE','#fce3eb','#F7E4F4','#F0F1FA',\n ];\n\n let defaultState = [];\n\n if(value){\n const isBlack = calculateContrast(value,'#333333');\n const textColor = (isBlack) ? '#333333' : '#ffffff';\n defaultState = [colors.filter(color=> color == value),textColor];\n }\n\n const [selectedColor, setSelectedColor] = useState(defaultState);\n\n\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClick);\n return () => {\n document.removeEventListener(\"mousedown\", handleClick);\n };\n\n },[])\n\n const handleClick = e => {\n\n if(e.target.classList.contains('colorEventPrevent'))\n return;\n\n setOpen(false);\n }\n\n const handleSelect = color => {\n const isBlack = calculateContrast(color,'#333333');\n const textColor = (isBlack) ? '#333333' : '#ffffff';\n setSelectedColor([color,textColor]);\n setOpen(false);\n }\n\n\n return(\n <Frag>\n {label && <Label htmlFor={name}>{label} {tooltip && <Help text={tooltip}/>}</Label>}\n <Field>\n <WraperBucket tabIndex={1} onClick={()=>setOpen(!open)} className={['colorEventPrevent', open && 'hover']} background={selectedColor[0] && selectedColor[0]}>\n <Icon.Bucket size='28px' className='colorEventPrevent' color={selectedColor[1] ? selectedColor[1] : '#333'} />\n </WraperBucket>\n {open &&\n <ColorBox className='colorEventPrevent'>\n {colors.map((item,key)=>(\n <li\n key={key}\n className={'colorEventPrevent' + (item === selectedColor[0] ? ' selected' : '')}\n style={{background: item}}\n onClick={() => handleSelect(item)}\n />\n ))}\n </ColorBox>\n }\n {help && <SpanHelp>{help}</SpanHelp>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n\n <SelectHidden name={name} multiple ref={ref} value={selectedColor} onChange={()=>{}}>\n {selectedColor.map((item,key)=>(\n <option value={item} key={key}></option>\n ))}\n </SelectHidden>\n </Field>\n </Frag>\n\n )\n})\n\nexport default InputColor;\n","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","module.exports = require(\"regenerator-runtime\");\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nfunction _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n\nmodule.exports = _asyncToGenerator;","import React, {forwardRef} from 'react';\nimport styled from 'styled-components';\nimport Theme from '../Theme';\n\nconst defaultShadow = (color) => {\n return `0px 0px 6px ${color}`;\n}\n\nconst Base = styled.button`\n font-family:circe-rounded;\n font-weight:bold;\n border-radius:${Theme.defaultRadius};\n cursor:pointer;\n display:inline-block;\n background:${Theme.colors.info.bg}\n color:${Theme.colors.secondary}\n height:40px;\n line-height:40px;\n padding:0 16px;\n font-size: ${Theme.font.medium.size};\n\n > * {\n border-color: ${Theme.colors.info.shadow};\n }\n\n svg path {\n fill: ${Theme.colors.secondary};\n }\n\n &:hover,\n &.hover {\n background:${Theme.colors.info.shadow};\n }\n\n &:focus,\n &.focus {\n background:${Theme.colors.info.bg};\n box-shadow:${defaultShadow(Theme.form.button.secondary.bg)};\n }\n\n &:active,\n &.active {\n background:${Theme.colors.info.shadow};\n box-shadow:${defaultShadow(Theme.form.button.secondary.bg)};\n }\n\n &.selected {\n border: 1px solid ${Theme.form.button.secondary.bg};\n }\n\n &[disabled] {\n opacity: .5;\n cursor: not-allowed;\n }\n`;\n\nconst Primary = `\n background:${Theme.form.button.primary.bg};\n color:${Theme.colors.neutrals.white};\n\n > * {\n border-color: ${Theme.colors.neutrals.white};\n }\n\n svg path {\n fill: ${Theme.colors.neutrals.white};\n }\n\n &:hover,\n &.hover {\n background:${Theme.form.button.primary.hover}\n }\n\n &:focus,\n &.focus {\n background:${Theme.form.button.primary.bg};\n box-shadow:${defaultShadow(Theme.form.button.primary.bg)};\n }\n\n &:active,\n &.active {\n background:${Theme.form.button.primary.hover}\n box-shadow:${defaultShadow(Theme.form.button.primary.bg)};\n }\n\n &.selected {\n border: 1px solid ${Theme.colors.neutrals.white};\n }\n`;\n\nconst Secondary = `\n background:${Theme.form.button.secondary.bg};\n color:${Theme.colors.neutrals.white};\n\n > * {\n border-color: ${Theme.colors.neutrals.white};\n }\n\n svg path {\n fill: ${Theme.colors.neutrals.white};\n }\n\n &:hover {\n background:${Theme.form.button.secondary.hover}\n }\n\n &:focus {\n background:${Theme.form.button.secondary.bg};\n box-shadow:${defaultShadow(Theme.form.button.secondary.bg)};\n }\n\n &:active,\n &.active {\n background:${Theme.form.button.secondary.hover}\n box-shadow:${defaultShadow(Theme.form.button.secondary.bg)};\n }\n\n &.selected {\n border: 1px solid ${Theme.colors.neutrals.white};\n }\n`;\n\nconst Cancel = `\n background:transparent;\n color:${Theme.form.button.secondary.bg};\n\n > * {\n border-color: ${Theme.colors.info.shadow};\n }\n\n svg path {\n fill: ${Theme.colors.secondary};\n }\n\n &:hover {\n background:transparent;\n text-decoration:underline;\n }\n\n &:focus {\n background:${Theme.colors.neutrals.white};\n box-shadow:${defaultShadow(Theme.form.button.secondary.bg)};\n }\n\n &:active,\n &.active {\n background:${Theme.colors.neutrals.white};\n box-shadow:${defaultShadow(Theme.form.button.secondary.bg)};\n text-decoration:underline;\n }\n\n &.selected {\n border: 1px solid ${Theme.form.button.secondary.bg};\n }\n`;\n\nconst Delete = `\n background:${Theme.colors.neutrals.white};\n color:${Theme.colors.error.text};\n border:1px solid ${Theme.colors.error.bg};\n\n > * {\n border-color: ${Theme.colors.error.shadow};\n }\n\n svg path {\n fill: ${Theme.colors.error.text};\n }\n\n &:hover {\n border-color:${Theme.colors.error.border};\n background:${Theme.colors.error.bg};\n }\n\n &:focus {\n background:${Theme.colors.neutrals.white};\n border-color:${Theme.colors.error.border};\n box-shadow:${defaultShadow(Theme.colors.error.shadow)};\n }\n\n &:active,\n &.active {\n background:${Theme.colors.error.bg};\n border-color:${Theme.colors.error.border};\n box-shadow:${defaultShadow(Theme.colors.error.shadow)};\n }\n\n &.selected {\n border: 1px solid ${Theme.colors.error.border};\n }\n`;\n\nconst Small = `\n height:28px;\n line-height:28px;\n font-size:${Theme.font.small.size};\n padding:0 12px;\n`;\n\nconst Big = `\n height:60px;\n line-height:60px;\n font-size:${Theme.font.big.size};\n padding:0 20px;\n`;\n\nconst Exportedd = styled(Base)`\n ${props => props.typeStyle === 'primary' && Primary}\n ${props => props.typeStyle === 'secondary' && Secondary}\n ${props => props.typeStyle === 'cancel' && Cancel}\n ${props => props.typeStyle === 'delete' && Delete}\n ${props => props.size === 'small' && Small}\n ${props => props.size === 'big' && Big}\n`;\n\nconst Exported = ({size,type,children,Type,...props}) => {\n return (\n <Exportedd\n type={\n Type\n ? Type\n : type === 'cancel'\n ? 'button'\n : undefined\n }\n size={size}\n typeStyle={type}\n children={children}\n {...props}\n />\n );\n};\n\nexport default Exported;\nexport {Base, Primary, Secondary, Cancel, Delete, Big, Small};\n","import React, {forwardRef, useEffect, useRef, useState} from 'react'\nimport styled from 'styled-components'\nimport {InputBase, Label, SpanError, SpanHelp} from '../Common/input'\nimport Icon from '../Icons'\nimport Help from '../Common/tooltip'\nimport Theme from '../Theme'\nimport {Text} from '../Texts'\nimport Ex from '../assets/Ex.svg'\nimport mergeRefs from '../Common/MergeRefs'\nimport Button from '../Buttons';\n\nconst Frag = styled.div`\n display:inline-block;\n vertical-align: top;\n`;\n\nconst Wrapper = styled.label`\n position:relative;\n cursor:pointer;\n\n &:hover {\n .inputFile {\n background:${Theme.colors.info.bg};;\n }\n }\n\n &:focus {\n outline:none;\n }\n\n &:focus-within {\n .inputFile {\n border:1px solid ${Theme.colors.secondary};\n box-shadow: 0px 0px 6px ${Theme.colors.action};\n }\n\n .InputFileProfile {\n border:1px solid ${Theme.colors.secondary};\n }\n }\n\n &.active {\n .inputFile {\n border:1px solid ${Theme.colors.success.border};\n box-shadow: none;\n }\n\n .InputFileProfile {\n border:1px solid ${Theme.colors.success.border};\n }\n }\n\n &.error {\n .inputFile {\n border:1px solid ${Theme.colors.error.border};\n box-shadow: none;\n }\n\n .InputFileProfile {\n border:1px solid ${Theme.colors.error.border};\n }\n }\n`;\n\nconst Input = styled(InputBase)`\n box-sizing:border-box;\n background:#FAFAFA;\n width:140px;\n border-radius: 20px 2px 2px 20px;\n border:1px solid transparent;\n\n &:hover {\n border:none;\n }\n\n >span {\n text-align: center;\n display: block;\n margin-left: 32px;\n color:#707070;\n font-size:14px;\n font-weight:400;\n\n text-overflow: ellipsis;\n height: 16px;\n white-space: nowrap;\n overflow: hidden;\n }\n`;\n\nconst Profile = styled.div`\n height:38px;\n width:38px;\n border-radius:38px;\n background:#FAFAFA;\n border:1px solid ${Theme.colors.neutrals.silver};\n position:absolute;\n z-index:1;\n top:0;\n display: flex;\n justify-content: center;\n align-items: flex-end;\n\n img {\n width: 100%;\n height: 100%;\n object-fit: cover;\n border-radius: 38px;\n }\n`;\n\nconst HiddenInput = styled.input`\n width: 0.1px;\n height: 0.1px;\n opacity: 0;\n overflow: hidden;\n position: absolute;\n z-index: -1;\n`;\n\nconst Uploader = forwardRef(({name,label,tooltip,help,error, placeholder,...props},ref) => {\n const [picture, setPicture] = useState('');\n const acceptedTypes = ['image/jpeg','image/png'];\n\n placeholder = placeholder || <Icon.Person color={Theme.colors.neutrals.silver} size='34px' />;\n\n const handleFile = e => {\n const file = (e.target.files ? e.target.files[0] : null);\n if(file){\n if(acceptedTypes.some(v=>v==file.type)){\n setPicture(file)\n }else{\n setPicture(false)\n e.target.value = '';\n }\n }\n }\n\n const Check = <Icon.Check color={Theme.colors.success.border} size='17px' style={{position:'relative',top:'3px'}} />\n\n return (\n <Frag>\n {label && <Label htmlFor={name}>{label} {picture.type && Check} {tooltip && <Help text={tooltip}/>}</Label>}\n <Wrapper className={[picture.type && 'active', picture === false && 'error', error && 'error']}>\n <Profile className='InputFileProfile'>\n {picture == false || picture.length < 1 ? placeholder : <img src={URL.createObjectURL(picture)} /> }\n </Profile>\n <Input as='div' className='inputFile'>\n {!picture || !picture.length ? (\n <span>Select file</span>\n ) : (\n <span>{picture.name}</span>\n )}\n </Input>\n <HiddenInput type='file' name={name} ref={ref} onFocus={()=>{}} onChange={handleFile} accept=\".jpg,.jpeg,.JPG,.JPEG,.png,.PNG\" />\n </Wrapper>\n {help && <SpanHelp>{help}</SpanHelp>}\n {error && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> {error}</SpanError>}\n {picture === false && <SpanError><img src={Ex} style={{marginRight:'6px'}} /> Only images are accepted</SpanError>}\n </Frag>\n );\n})\n\nexport default Uploader;\n\n\nconst imageToBase64 = file => {\n const reader = new FileReader();\n\n return new Promise(resolve => {\n reader.onload = ev => resolve({\n type: 'image',\n src: ev.target.result\n });\n reader.readAsDataURL(file);\n });\n}\n\nconst documentFile = file => {\n return new Promise(resolve => resolve({\n type: 'doc',\n src: <><Icon.Document/><Text>{file.name}</Text></>\n }));\n}\n\nconst genericFile = file => {\n return new Promise(resolve => resolve({\n type: 'file',\n src: <><Icon.Document/><Text>{file.name}</Text></>\n }));\n}\n\nconst processFileList = async fileList => {\n const promises = Array.from(fileList).map(file => {\n if (file.type.match('image/'))\n return imageToBase64(file);\n\n if (['text/csv'].includes(file.type))\n return documentFile(file);\n\n return genericFile(file);\n });\n\n return await Promise.all(promises);\n}\n\nconst DropUploaderList = styled.div`\n display: inline-flex;\n`;\n\nconst DropUploaderPreview = styled.div`\n box-sizing: border-box;\n width: 92px;\n height: 92px;\n padding: 4px;\n border-radius: ${Theme.defaultRadius};\n border: 1px solid ${Theme.colors.neutrals.silver};\n background-color: ${Theme.colors.extra.whiteSmoke};\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n font-size: ${Theme.font.extraSmall.size};\n font-family: ${Theme.font.main};\n color: ${Theme.colors.neutrals.silver};\n text-align: center;\n word-break: break-word;\n overflow: hidden;\n\n &::before {\n content: \"\";\n display: block;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n z-index: 0;\n background-size: cover;\n background-position: center;\n background-image: url(${props => typeof props.preview === 'string' && props.preview});\n }\n\n + div,\n + label {\n margin-left: 8px;\n }\n\n button {\n position: absolute;\n z-index: 1;\n top: 4px;\n right: 4px;\n padding: 4px;\n height: auto;\n line-height: 0;\n }\n\n label& {\n cursor: pointer;\n border-style: dashed;\n\n &:hover,\n &.highlight {\n background-color: ${Theme.colors.info.bg};\n }\n\n &:active, {\n &.highlight {\n border-color: ${Theme.colors.secondary};\n box-shadow: 0 0 6px ${Theme.colors.secondary};\n }\n }\n`;\n\nexport const DropUploader = forwardRef(({\n name,\n label,\n multiple = true,\n accept = '*',\n ...props\n}, ref) => {\n\n let [files, setFiles] = useState([]);\n const inputRef = useRef();\n const dropRef = useRef();\n\n const handleFileChanges = async () => {\n const inputs = await processFileList(inputRef.current.files);\n setFiles(inputs);\n }\n\n const handleDrop = e => {\n inputRef.current.files = e.dataTransfer.files;\n handleFileChanges();\n }\n\n const dropFile = k => {\n let nFiles = Array.from(inputRef.current.files);\n const deleted = nFiles.splice(k, 1);\n inputRef.current.files = FileListItem(nFiles);\n handleFileChanges()\n if(props.onDelete) props.onDelete(k,deleted);\n }\n\n const expand = file => {\n let w = window.open(file.src, '_blank', `width=${window.outerWidth * .9},height=${window.outerHeight * .9},scrollbars=1`);\n\n if (!file.src.match(/^http/i)) {\n w.document.write(`\n <img src=\"${file.src}\"/>\n `);\n }\n };\n\n const download = async file => {\n let blob = await fetch(file.src).then(res => res.blob(), rej => false);\n\n if (!blob)\n return window.open(file.src);\n\n const anchor = document.createElement('a');\n anchor.href = window.URL.createObjectURL(blob);\n anchor.download = file.src.split('/').pop();\n anchor.click();\n }\n\n const addHighlight = e => dropRef.current.classList.add('highlight');\n const removeHighlight = e => dropRef.current.classList.remove('highlight');\n\n const preventDefaults = e => {\n e.preventDefault();\n e.stopPropagation();\n }\n\n const addListeners = () => {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach(e => {\n dropRef.current.addEventListener(e, preventDefaults, false);\n });\n\n ['dragenter', 'dragover'].forEach(e => {\n dropRef.current.addEventListener(e, addHighlight, false);\n });\n\n ['dragleave', 'drop'].forEach(e => {\n dropRef.current.addEventListener(e, removeHighlight, false);\n });\n\n dropRef.current.addEventListener('drop', handleDrop);\n }\n\n function FileListItem(a) {\n a = [].slice.call(Array.isArray(a) ? a : arguments)\n for (var c, b = c = a.length, d = !0; b-- && d;) d = a[b] instanceof File\n if (!d) throw new TypeError(\"expected argument to FileList is File or array of File objects\")\n for (b = (new ClipboardEvent(\"\")).clipboardData || new DataTransfer; c--;) b.items.add(a[c])\n return b.files\n }\n\n const removeListeners = () => {\n ['dragenter', 'dragover', 'dragleave', 'drop'].forEach(e => {\n dropRef.current.removeEventListener(e, preventDefaults);\n dropRef.current.removeEventListener(e, addHighlight);\n dropRef.current.removeEventListener(e, removeHighlight);\n dropRef.current.removeEventListener(e, handleDrop);\n });\n }\n\n useEffect(() => {\n addListeners();\n\n return removeListeners;\n }, [dropRef.current]);\n\n // display placeholder\n if (Array.isArray(props.placeholder)) {\n let validPlaceholder = props.placeholder.filter(f => {\n return typeof f.type === 'string'\n && typeof f.src === 'string';\n })\n\n files = validPlaceholder.concat(files);\n }\n\n return (\n <Frag>\n {label && <Label>{label}</Label>}\n <HiddenInput\n type={'file'}\n name={name}\n id={`drop-uploader-${name}`}\n ref={mergeRefs([inputRef, ref])}\n accept={accept}\n multiple={multiple}\n onChange={handleFileChanges}\n onFocus={addHighlight}\n onBlur={removeHighlight}\n />\n <DropUploaderList>\n {files.map((file, k) =>\n <DropUploaderPreview\n key={k}\n preview={file.src}\n >\n\n <Button type='delete' Type='button' onClick={()=>dropFile(k)} style={{top:'unset',bottom:'4px'}}>\n <Icon.Times size='16px' color={Theme.colors.error.text}/>\n </Button>\n {file.type === 'image' && (\n <Button Type='button' onClick={()=>expand(file)}>\n <Icon.Expand size='16px'/>\n </Button>\n )}\n {file.type !== 'image' && typeof file.src === 'string' && (\n <>\n <Button Type='button' title={`Download ${file.src}`} onClick={()=>download(file)}>\n <Icon.Download size='16px'/>\n </Button>\n <Icon.Document/>\n <Text>{file.src.split('/').pop().substr(-20, 20)}</Text>\n </>\n )}\n {file.type !== 'image' && typeof file.src !== 'string' && file.src}\n </DropUploaderPreview>\n )}\n <DropUploaderPreview\n as={'label'}\n htmlFor={`drop-uploader-${name}`}\n ref={dropRef}\n >\n <span>Drop or select</span>\n <Icon.Upload color={Theme.colors.neutrals.silver} size='24px'/>\n <span>to upload</span>\n </DropUploaderPreview>\n </DropUploaderList>\n </Frag>\n )\n});\n","import React, {forwardRef, useEffect, useState} from 'react'\nimport styled from 'styled-components'\nimport {Label, SpanHelp} from '../Common/input'\nimport Help from '../Common/tooltip'\nimport Theme from '../Theme'\n\nconst Frag = styled.div`\n display:inline-block;\n vertical-align: top;\n`;\n\nconst CheckBoxWrapper = styled.div`\n position: relative;\n display: flex;\n align-items: center;\n\n &:focus {\n outline: none;\n }\n`;\n\nconst CheckBoxLabel = styled.label`\n width: 36px;\n height: 20px;\n border-radius: 100px;\n background: ${Theme.colors.neutrals.white};\n cursor: pointer;\n border: 1px solid ${Theme.colors.neutrals.silver};\n box-sizing: border-box;\n\n &:focus {\n box-shadow: 0px 0px 6px ${Theme.colors.action};\n border: 1px solid ${Theme.colors.secondary};\n outline: none;\n }\n\n &::after {\n content: \"\";\n display: block;\n border-radius: 100%;\n width: 12px;\n height: 12px;\n margin: 3px;\n background: #ccc;\n transition: 0.2s;\n }\n`;\n\nconst CheckBox = styled.input`\n width: 0;\n height: 0;\n margin: 0;\n visibility: hidden;\n pointer-events: none;\n\n &:checked + ${CheckBoxLabel} {\n background: ${Theme.colors.info.bg};\n border: 1px solid ${Theme.colors.info.border};\n\n &::after {\n background:${Theme.colors.info.text};\n margin-left: 20px;\n }\n }\n`;\n\nconst ToggleLabel = styled.label`\n display: inline-block;\n color: ${Theme.colors.neutrals.medium};\n font-size: ${Theme.font.small.size};\n vertical-align: top;\n margin-left: 8px;\n outline: none;\n`;\n\nconst Toggle = forwardRef(({\n name,\n label,\n tooltip,\n help,\n offText,\n onText,\n singleText,\n on=false,\n onChange,\n ...props\n},ref) => {\n const [value,setValue] = useState(on);\n\n let textOn, textOff;\n\n if (onText) textOn = onText;\n if (offText) textOff = offText;\n\n if (singleText) {\n textOff = singleText;\n textOn = singleText;\n }\n\n useEffect(()=>{\n setValue(on);\n },[on])\n\n const range = Math.floor(Math.random() * 2000);\n\n const handleChange = e => {\n setValue(e.target.checked);\n if (onChange) onChange(e);\n }\n\n const id = `${name}_${range}`;\n\n return (\n <Frag>\n {label && <Label htmlFor={id}>{label} {tooltip && <Help text={tooltip}/>}</Label>}\n <CheckBoxWrapper>\n <CheckBox\n name={name}\n id={id}\n type=\"checkbox\"\n textOn={textOn}\n ref={ref}\n checked={value && true}\n onChange={handleChange}\n />\n <CheckBoxLabel\n tabIndex={1}\n htmlFor={id}\n // big={big}\n />\n <ToggleLabel htmlFor={id} tabIndex={-1}>\n {singleText\n ? singleText\n : value\n ? textOn\n : textOff\n }\n </ToggleLabel>\n </CheckBoxWrapper>\n {help && <SpanHelp>{help}</SpanHelp>}\n </Frag>\n );\n})\n\nexport default Toggle;\n","import React, {useState, forwardRef, useRef, useEffect} from 'react'\nimport styled from 'styled-components';\nimport Icon from '../Icons/index';\nimport Theme from '../Theme'\nimport Input from './index';\nimport {Frag, Options, OptionGroup} from '../Common/input'\nimport mergeRefs from '../Common/MergeRefs';\n\n\nconst padZero = n => n < 10 ? '0' + n : n;\n\nconst pattern = /^(1[012]|[1-9]):([0-5][0-9]) ?(am|pm)$/i;\n\nDate.prototype.stdTimezoneOffset = function() {\n const jan = new Date(this.getFullYear(), 0, 1);\n const jul = new Date(this.getFullYear(), 6, 1);\n return Math.max(jan.getTimezoneOffset(), jul.getTimezoneOffset());\n}\n\nDate.prototype.dst = function() {\n return this.getTimezoneOffset() < this.stdTimezoneOffset();\n}\n\nconst today = new Date();\n// UTC conversion\nlet offset = today.getTimezoneOffset();\n/*if(!today.dst()){\n if(offset > 0){\n offset -= 60;\n }else{\n offset += 60;\n }\n}*/\nconst offsetHours = Math.floor( offset / 60 );\nconst offsetMinutes = offset % 60;\nconst toUTC = ({hours, minutes}) => {\n let m = minutes + offsetMinutes;\n if ( m < 0 )\n m += 60;\n\n let h = hours + offsetHours;\n h = h > 23\n ? h - 24\n : h < 0\n ? 24 + h\n : h;\n\n return `${padZero(h)}:${padZero(m)}`;\n}\n\nconst fromUTC = ({hours, minutes}) => {\n let m = minutes - offsetMinutes;\n if ( m >= 60 )\n m -= 60;\n\n let h = hours - offsetHours;\n h = h < 0\n ? 24 + h\n : h > 23\n ? h - 24\n : h;\n\n return {\n hours: h,\n minutes: m\n };\n};\n\nconst fromFormat = str => {\n let matches = str.match( pattern );\n\n if ( matches === null )\n return null;\n\n let [input, hours, minutes, period] = matches;\n\n return {\n hours: parseInt(hours),\n minutes: parseInt(minutes),\n period: period\n };\n};\n\nconst toFormat = ({hours, minutes, period}) => {\n if ( !hours && !minutes && !period )\n return '';\n\n if ( hours === 0 && minutes === 0 && period === 'am' )\n hours = 12;\n\n minutes = minutes === ''\n ? minutes\n : minutes < 10\n ? '0' + minutes : minutes;\n\n return hours + ':' + minutes + ' ' + period;\n};\n\nconst fromValue = str => {\n let matches = str.match( /^(\\d{1,2}):(\\d{1,2})$/ );\n\n if ( matches === null )\n return null;\n\n let {hours, minutes} = fromUTC({\n hours: parseInt(matches[1]),\n minutes: parseInt(matches[2])\n });\n\n let period = 'am';\n\n if ( hours >= 12 ) {\n hours -= 12;\n period = 'pm';\n }\n\n if ( hours === 0 )\n hours = 12;\n\n return {\n hours: hours,\n minutes: minutes,\n period: period\n };\n};\n\nconst toValue = ({hours, minutes, period}) => {\n if ( !hours && !minutes && !period )\n return '';\n\n let nw = hours;\n nw = period === 'pm'\n ? nw + 12\n : nw;\n\n if ( nw === 12 && period === 'am' ) {\n nw = 0;\n }\n\n if ( nw === 24 )\n nw = 12;\n\n return toUTC({\n hours: nw,\n minutes: minutes\n });\n};\n\nconst fromMilliseconds = milliseconds => {\n let period = 'am';\n\n let hours = Math.floor( milliseconds / 3600 / 1000 );\n\n let fraction = milliseconds / 3600 / 1000 - hours;\n let minutes = Math.floor( fraction * 60 );\n\n if ( hours >= 12 ) {\n hours -= 12;\n period = 'pm';\n }\n\n if ( hours === 0 )\n hours = 12;\n\n return {\n hours: hours,\n minutes: minutes,\n period: period\n }\n};\n\nconst TimePickerOptionsStyle = styled.div`\n position: relative;\n\n ${Options} {\n left: 0;\n top: -21px;\n height: 192px;\n overflow: auto;\n\n li {\n padding-right: 8px;\n }\n }\n\n ${OptionGroup} {\n font-size: ${Theme.font.extraSmall.size};\n line-height: ${Theme.font.extraSmall.lineHeight};\n position: sticky;\n top: 0;\n z-index: 1;\n background: ${Theme.colors.neutrals.white};\n\n &:hover {\n background: ${Theme.colors.neutrals.white};\n }\n }\n`;\n\nconst TimePickerOptions = ({time, setTime}) => {\n const optionsRef = useRef();\n\n const hours = []\n for (let i = 1; i <= 12; i++)\n hours.push(\n <li\n key={i}\n onClick={()=>handleSelect('hours', i)}\n className={time.hours === i ? 'selected' : ''}\n >{i}</li>\n )\n\n const minutes = []\n for (let i = 0; i <= 59; i++)\n minutes.push(\n <li\n key={i}\n onClick={()=>handleSelect('minutes', i)}\n className={time.minutes === i ? 'selected' : ''}\n >{i < 10 ? '0'+i : i}</li>\n )\n\n const handleSelect = (what, value) => {\n let newTime = { ...time };\n newTime[what] = value;\n setTime(newTime);\n };\n\n\n useEffect(()=>{\n optionsRef.current\n .querySelectorAll( '.selected' )\n .forEach( li => li.scrollIntoView( { block: 'center' } ) )\n }, [ time ]);\n\n return (\n <TimePickerOptionsStyle ref={optionsRef}>\n <Options>\n <OptionGroup as='li'>Hour</OptionGroup>\n {hours}\n </Options>\n <Options style={{left: 45}}>\n <OptionGroup as='li'>Minutes</OptionGroup>\n {minutes}\n </Options>\n <Options style={{left: 108}}>\n <OptionGroup as='li'> </OptionGroup>\n <li\n onClick={()=>handleSelect('period', 'am')}\n className={time.period === 'am' ? 'selected' : ''}\n >am</li>\n <li\n onClick={()=>handleSelect('period', 'pm')}\n className={time.period === 'pm' ? 'selected' : ''}\n >pm</li>\n </Options>\n </TimePickerOptionsStyle>\n )\n};\n\nconst TimePicker = forwardRef(({\n name,\n label,\n size,\n placeholder,\n valid,\n error,\n onChange,\n Required,\n defaultValue,\n milliseconds,\n ...props\n }, ref) => {\n\n const [open, setOpen] = useState( false );\n const containerRef = useRef();\n\n const [time, setTime] = useState( {\n hours: '',\n minutes: '',\n period: ''\n });\n const valueRef = useRef();\n const displayRef = useRef();\n\n\n const maybeClose = evt => {\n if ( !open )\n return;\n\n if ( !containerRef.current.contains( evt.target ) )\n setOpen( false );\n };\n\n const handleFocus = evt => {\n setOpen( true );\n };\n\n const handleKeyDown = evt => {\n let key = evt.key.toLowerCase();\n\n switch (key) {\n case 'tab':\n evt.persist();\n setTimeout(()=>{\n evt.target = document.activeElement;\n maybeClose( evt );\n }, 100)\n break;\n }\n };\n\n const handleChange = evt => {\n let v = displayRef.current.value;\n\n if ( !pattern.test( v ) ) {\n valueRef.current.value = '';\n return;\n }\n\n let [input, hours, minutes, period] = v.match( /^(1[012]|[0-9]):([0-5][0-9]) ?(am|pm)/i );\n\n setTime({\n hours: parseInt( hours ),\n minutes: parseInt( minutes ),\n period: period\n });\n };\n\n const sendChange = () => {\n // if ( !pattern.test( displayRef.current.value ) ) {\n // valueRef.current.value = '';\n // return;\n // }\n\n valueRef.current.value = toValue( time );\n\n if ( typeof onChange === 'function' )\n onChange( toValue( time ) );\n };\n\n\n // set events to show or hide dropdown\n useEffect(()=>{\n document.addEventListener( 'click', maybeClose );\n\n return () => document.removeEventListener( 'click', maybeClose );\n }, [ open ]);\n\n // set default value\n let realDefaultValue;\n useEffect(()=>{\n if ( valueRef.current && valueRef.current.value )\n realDefaultValue = fromValue(valueRef.current.value);\n else if ( defaultValue )\n realDefaultValue = fromValue(defaultValue);\n else if ( milliseconds )\n realDefaultValue = fromMilliseconds(milliseconds);\n\n if ( realDefaultValue )\n setTime( realDefaultValue );\n }, []);\n\n // send change events\n useEffect(()=>{\n let {hours, minutes, period} = time;\n\n if ( !hours && !minutes && !period ) {\n } else {\n sendChange();\n }\n }, [ time ]);\n\n // update display format\n useEffect(()=>{\n let display = '';\n let newTime = fromValue(valueRef.current.value);\n\n if ( newTime ) {\n if ( toValue(time) !== toValue(newTime) )\n setTime( newTime )\n\n let format = toFormat(newTime);\n if ( format ) {\n display = format;\n }\n } else if (displayRef.current.value && fromFormat(displayRef.current.value)) {\n display = displayRef.current.value;\n valueRef.current.value = toValue(fromFormat(display));\n }\n\n displayRef.current.value = display;\n });\n\n\n return(\n <Frag ref={containerRef}>\n <Input\n label={label}\n help={'hh:mm am/pm'}\n size={size}\n placeholder={placeholder}\n valid={valid}\n error={error}\n Required={Required}\n ref={displayRef}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onChange={handleChange}\n autoComplete='off'\n mask='time'\n {...props}\n >\n <Icon.Clock size='20px' top='10px' color={Theme.colors.secondary} style={{pointerEvents: 'none'}}/>\n </Input>\n <input type=\"hidden\" name={name} ref={mergeRefs([valueRef, ref])}/>\n {open && <TimePickerOptions time={time} setTime={setTime}/>}\n </Frag>\n );\n});\n\nexport default TimePicker;\n","import React, {useState, useEffect, useRef, Fragment} from 'react'\nimport styled from 'styled-components';\nimport Button, {Base, Primary, Secondary, Delete, Cancel, Small, Big} from './index.js';\nimport Icon from '../Icons';\nimport Spacer from '../Spacer';\nimport {BoxOptions} from '../Input/select'\n\nconst Container = styled(Base).attrs(props => ({\n as: 'div',\n}))`\n display: inline-flex;\n align-items: stretch;\n padding: 0;\n\n ${props => props.type === 'primary' && Primary}\n ${props => props.type === 'secondary' && Secondary}\n ${props => props.type === 'cancel' && Cancel}\n ${props => props.type === 'delete' && Delete}\n ${props => props.size === 'small' && Small}\n ${props => props.size === 'big' && Big}\n\n ${props => props.divider && `\n ${ArrowContainer} {\n border-left-width: 1px;\n border-left-style: dashed;\n }\n `}\n`;\n\nconst ArrowContainer = styled.div`\n display:inline-flex;\n align-items:center;\n justify-contents:center;\n padding:0 8px;\n`;\n\nconst Dropdown = ({children, options, text, type,size, divider = true, openTo,visibleOptionsQty}) => {\n const [open,setOpen] = useState(false);\n const popupRef = useRef();\n\n const handleContainerClick = e => {\n if ( !children )\n setOpen(true);\n };\n\n const handleArrowClick = e => {\n if ( children )\n setOpen(true);\n };\n\n const handleClickOutside = (e) => {\n if (popupRef.current && !popupRef.current.contains(e.target)) {\n setOpen(false);\n }\n }\n\n useEffect(() => {\n document.addEventListener(\"mousedown\", handleClickOutside,false);\n\n return () => {\n document.removeEventListener(\"mousedown\", handleClickOutside,false);\n };\n }, []);\n\n type = children\n ? children.props.type\n : type;\n\n return (\n <div ref={popupRef} style={{position: 'relative', display: 'inline-flex'}}>\n <Container type={type} size={size} divider={divider} onClick={handleContainerClick}>\n {children || <Spacer left={4}>{text}</Spacer>}\n <ArrowContainer onClick={handleArrowClick}>\n {open ? <Icon.ArrowUp size='16px'/> : <Icon.ArrowDown size='16px'/>}\n </ArrowContainer>\n </Container>\n <div className={'options-container'}>\n {open && options &&\n <BoxOptions\n openTo={openTo}\n visibleOptionsQty={visibleOptionsQty}\n options={options.map(opt => ({\n name: opt.text,\n value: opt.text,\n fn: opt.fn\n }))}\n setOpen={setOpen}\n setSelected={()=>{}}\n onSelect={opt => opt.fn()}\n />\n }\n </div>\n </div>\n )\n}\n\nexport default Dropdown;\n","import React from \"react\";\nimport styled from 'styled-components';\n\nconst BtnGroup = styled.div`\n display: inline-flex;\n flex-wrap: nowrap;\n\n > * {\n &:first-child:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n\n &:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n }\n`;\n\nconst ButtonGroup = ({children, ...props}) => {\n const generateClassName = btnProps => {\n let cn = btnProps.className || '';\n let track = btnProps.track;\n\n if ( props.active === track )\n cn += ' selected ';\n\n return cn;\n }\n\n\n return (\n <BtnGroup>\n {children.map( (btn, k) =>\n btn.type({\n ...props,\n ...btn.props,\n key: k,\n className: generateClassName(btn.props)\n })\n )}\n </BtnGroup>\n )\n};\n\nexport default ButtonGroup;\n","import React, {useRef, Children, useEffect,useState} from 'react'\nimport styled, {keyframes} from 'styled-components'\n\nconst listAnimation = keyframes`\n 0% {\n opacity:0;\n visibility: hidden;\n transform: scale(0.6) translateY(-8px);\n }\n\n 100% {\n visibility: visible;\n opacity:1;\n }\n`\n\nconst POSITION_LIST = '100%'\nconst POSITION_LIST_DISTANCE = '10%'\n\nconst generateAnimationDelay = (n, direction) => {\n let style = ''\n if (['left','top'].includes(direction)) {\n let delayNumber = 1\n for (let i = n; i >= 1; --i) {\n style += `\n > :nth-child(${i}) {\n animation-delay: ${delayNumber * 90}ms;\n }\n `\n delayNumber++\n }\n } else {\n for (let i = 1; i <= n; ++i) {\n style += `\n > :nth-child(${i}) {\n animation-delay: ${i * 90}ms;\n }\n `\n }\n }\n\n return style\n}\n\nconst ListContent = styled.div`\n position:absolute;\n height:${props => ['left','right'].includes(props.direction) ? '100%' : 'fit-content'};\n padding:2px;\n white-space: nowrap;\n align-items:center;\n gap: ${props => props.spaceBetween}\n display:flex;\n visibility: hidden;\n\n\n ${props => generateAnimationDelay(props.childrenQuantity,props.direction)}\n\n ${props => (props.direction === 'right' || props.direction === 'auto') && `\n flex-direction:row;\n top:0;\n bottom:0;\n left:${POSITION_LIST};\n padding-left:${POSITION_LIST_DISTANCE};\n `}\n\n ${props => props.direction === 'left' && `\n flex-direction:row;\n top:0;\n bottom:0;\n right:${POSITION_LIST};\n padding-right:${POSITION_LIST_DISTANCE};\n `}\n\n ${props => props.direction === 'top' && `\n flex-direction:column;\n justify-content:end;\n bottom:${POSITION_LIST};\n right:0;\n left:0;\n padding-top:${POSITION_LIST_DISTANCE};\n `}\n\n ${props => props.direction === 'bottom' && `\n flex-direction:column;\n justify-content:start;\n top:${POSITION_LIST};\n bottom:0;\n right:0;\n left:0;\n padding-top:${POSITION_LIST_DISTANCE};\n `}\n`\n\nconst PreviewContent = styled.div`\n cursor:pointer;\n background:white;\n border-radius:100%;\n padding:8px;\n display:flex;\n justify-content:center;\n border:1px solid rgb(204, 204, 204);\n`\n\nconst Container = styled.div`\n position:relative;\n\n &:hover > ${ListContent} {\n visibility: visible;\n }\n\n &:hover > ${ListContent} > * {\n animation-name: ${listAnimation};\n animation-duration: 300ms;\n animation-fill-mode: both;\n animation-timing-function: ease-in-out;\n }\n`\n\nconst ButtonIcon = ({children, event = 'Hover'}) => {\n if (children.length > 2) {\n throw 'This component only accepts a Button.Preview and Button.List component'\n }\n\n const [Preview, List] = children\n if (Preview.type.name !== 'ButtonPreview') {\n throw `The first component should be ButtonIcon.Preview, but got ${Preview.type.name}`\n }\n\n if (List.type.name !== 'ButtonList') {\n throw `The first component should be ButtonIcon.List, but got ${Preview.type.name}`\n }\n\n return (\n <Container>\n {Preview}\n {List}\n </Container>\n )\n}\n\nconst ButtonPreview = ({children}) => {\n const previewRef = useRef()\n return <PreviewContent ref={previewRef}>{children}</PreviewContent>\n}\nButtonIcon.Preview = ButtonPreview\n\nconst DIRECTIONS = ['bottom', 'left', 'right', 'top', 'auto']\nconst ButtonList = ({children, direction, spaceBetween}) => {\n const [dir, setDir] = useState(direction);\n\n if (!DIRECTIONS.includes(dir)) {\n throw `Invalid direction argument on component ButtonIcon.List, expect ${DIRECTIONS.join(', ')}`\n }\n if(['left','top'].includes(dir)) {\n children = Children.toArray(children).reverse()\n }\n\n const contentRef = useRef();\n useEffect(() => {\n if(!contentRef?.current) return\n\n if(dir !== 'auto') return\n\n const bounds = contentRef.current.getBoundingClientRect();\n const windowWidth = window.innerWidth;\n const windowHeight = window.innerHeight;\n\n\n if(bounds.right > windowWidth ){\n setDir('left')\n return\n }else{\n return\n }\n\n if(bounds.left < 0 ){\n setDir('bottom')\n return\n }\n\n if(bounds.bottom > windowHeight){\n setDir('top')\n return\n }\n },[contentRef])\n\n return (\n <ListContent\n ref={contentRef}\n direction={dir}\n spaceBetween={spaceBetween}\n childrenQuantity={children.length}\n >\n {children}\n </ListContent>\n )\n}\nButtonList.defaultProps = {\n direction: 'auto',\n spaceBetween: '8px'\n}\n\nButtonIcon.List = ButtonList\n\nexport default ButtonIcon\n","import React, {useState} from 'react';\nimport styled from 'styled-components';\nimport Theme from '../Theme';\nimport Icon from '../Icons';\n\nconst Div = styled.div`\n padding: 7px;\n border-radius: ${Theme.defaultRadius};\n border-width:1px;\n border-style:solid;\n display:flex;\n align-items:center;\n position:relative;\n\n ${props => props.useClose && `\n padding-right: 32px;\n `}\n\n svg {\n margin-right: 8px;\n display: block;\n }\n`;\n\nconst Title = styled.h5`\n font-family: ${Theme.font.main};\n font-weight: normal;\n font-size: ${Theme.font.medium.size};\n line-height: ${Theme.font.big.lineHeight};\n`;\n\nconst Content = styled.p`\n font-size: ${Theme.font.extraSmall.size};\n line-height: ${Theme.font.small.lineHeight};\n`;\n\nconst SmallContent = styled(Content)`\n font-size: ${Theme.font.small.size};\n line-height: ${Theme.font.small.lineHeight};\n`;\n\nconst Close = styled.button.attrs(props => ({\n type: 'button'\n}))`\n border: none;\n background: none;\n padding: 0;\n position: absolute;\n top: 7px;\n right: 7px;\n cursor: pointer;\n\n svg {\n margin: 0;\n }\n`;\n\nconst solveContent = (size,title,content) => {\n const isSmall = size === 'small';\n\n if ( isSmall )\n return (\n <Title>\n <SmallContent>{title}</SmallContent>\n </Title>\n );\n\n return (\n <div>\n <Title>{title}</Title>\n <Content>{content}</Content>\n </div>\n );\n}\n\nconst Alert = (props,type,Symbol) => {\n const {title,content, useIcon, useClose, size=40} = props;\n\n const [isOpen, setOpen] = useState(true);\n if(!isOpen){\n return null;\n }\n\n const typeStyle = {\n background: Theme.colors[type].bg,\n borderColor: Theme.colors[type].border,\n color: Theme.colors[type].text\n };\n\n let addPadding = ( type === 'error' || type === 'success' ) && size !== 'small';\n\n return (\n <Div {...props} style={typeStyle}>\n {useIcon && (\n <div style={{\n padding: addPadding ? 6 : 0\n }}>\n {React.createElement(\n Symbol,\n {\n size: size === 'small' ? '16px' : addPadding ? size - 12 + 'px' : size + 'px',\n color: typeStyle.color\n }\n )}\n </div>\n )}\n {solveContent(size,title,content,useClose)}\n {useClose && <Close onClick={()=> setOpen( false ) }><Icon.Times size='16px' color={typeStyle.color}/></Close>}\n </Div>\n );\n}\n\nconst AlertError = (props) => {\n const typeAlert = 'error';\n const Symbol = Icon.TimesNarrow;\n return Alert(props,typeAlert,Symbol);\n}\n\nconst AlertInfo = (props) => {\n const typeAlert = 'info';\n const Symbol = Icon.Info;\n return Alert(props,typeAlert,Symbol);\n}\n\nconst AlertWarning = (props) => {\n const typeAlert = 'warnings';\n const Symbol = Icon.Warning;\n return Alert(props,typeAlert,Symbol);\n}\n\nconst AlertSuccess = (props) => {\n const typeAlert = 'success';\n const Symbol = Icon.CheckNarrow;\n return Alert(props,typeAlert,Symbol);\n}\n\nexport default {\n Success: AlertSuccess,\n Info: AlertInfo,\n Warning: AlertWarning,\n Error: AlertError\n}\n"],"names":["defaultRadius","colors","primary","secondary","action","neutrals","black","gray","medium","silver","white","warnings","border","text","shadow","bg","success","error","info","extra","whiteSmoke","gray93","font","big","size","lineHeight","small","extraSmall","tiny","main","body","form","input","radius","padding","button","hover","theme","Form","styled","props","width","handleSize","sizeType","Frag","div","Label","label","Theme","borderDefault","InputBase","SpanHelp","span","SpanError","RequiredText","SelectUi","Value","option","Options","ul","isChild","OptionGroup","phone","value","replace","time","trim","handlerColor","typeColor","handleMask","type","validation","Span","Input","forwardRef","ref","name","help","invalid","valid","mask","iconAction","children","onChange","useState","inputValue","setInputValue","validationType","useIcon","Required","Check","maskFunction","handleChange","e","target","position","React","cloneElement","Children","only","style","top","right","cursor","left","Ex","marginRight","Wrapper","Element","Svg","onClick","color","Icons","Advance","Android","Apple","Archive","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","BackHome","Balance","Broom","Bucket","Bug","Chat","Calendar","Card","CheckNarrow","Contract","Copy","CreditCard","CheckSquare","Clock","Cog","Dollar","Download","DspwNetwork","Document","Edit","Empty","Expand","Eye","EyeCrossed","Feather","Filter","FlashlightOff","FlashlightOn","GeoferenceIn","GeoferenceOut","GraduationHat","Group","Headset","Image","Info","Invoice","List","Locker","Loadout","Lunch","LunchIn","LunchOut","Maintenance","Marker","Menu","Megaphone","Move","NotAllowed","Notes","Pause","Package","PackageBack","PackageCheck","PackageTimes","Parking","ParkingGeoIn","ParkingGeoOut","Phone","Person","Play","Plus","Printer","PunchIn","PunchOut","Radius","Refresh","Replace","Rts","Segment","Search","Skill","TimeLine","Times","TimesNarrow","Trash","TrendDown","TrendUp","Upload","VehicleOil","Warning","Items","Object","keys","sort","a","b","localeCompare","map","key","Help","App","mergeRefs","refs","forEach","current","Title","h1","SubTitle","h3","ThirdTitle","Text","p","attrs","as","maxOptions","optionsSize","openTo","hasChildren","visibleOptionsQty","optionsSizeCustom","OptionsPeople","SelectHidden","select","PhotoCover","CustomCheckBox","ColorOption","index","getSelected","options","defaultValue","selected","some","item","Dropdown","placeholder","defaultSelected","desc","open","setOpen","selectedOpt","setSelected","nodeSelect","useRef","valueRef","handleClick","contains","reset","resetCallback","setDefaultValues","useCallback","hasDefault","toString","useEffect","dispatchEvent","Event","document","addEventListener","removeEventListener","disabled","length","Icon","noOptions","onSelect","BoxOptions","paddingRight","optionsRef","stopPropagation","el","optionsBounds","getBoundingClientRect","window","innerWidth","undefined","divider","CustomDropdown","multiple","tooltip","handlOpenSelect","classList","defaults","Array","from","filter","opt","indexOf","every","k","display","alignItems","overflow","HandleState","includes","ret","splice","newSelected","assign","push","stateMap","SelectOption","profile","PhotoComponent","customStyle","zIndex","marginLeft","SelectValueRender","Pictures","Names","seq","total","plural","new_desc","split","join","solveSpace","Number","isInteger","BaseSpace","bottom","inline","Spacer","all","HiddenCheckbox","HiddenRadioBox","CheckboxContainer","radio","h5","NoOptions","CheckboxBase","checked","title","preventClass","CheckBox","values","verticalAlign","defaultValues","RadioBoxBase","RadioBox","Password","visible","setVisible","ImgStyle","height","eyeImg","Select","TagsValues","Tag","canCreate","randId","Math","random","Date","getTime","safeName","search","setSearch","autoFocus","newOptions","setNewOption","defaultOptions","setDefaultOptions","containerRef","searchRef","isSelected","useMemo","toLowerCase","JSON","stringify","concat","timer","clearTimeout","s","setTimeout","handleSelect","singleOption","handleRemove","focus","elm","handleFocus","handleBlur","activeElement","handleKey","list","querySelectorAll","arr","activeIndex","findIndex","add","active","remove","toBeActive","scrollIntoView","block","querySelector","preventDefault","click","addNewOption","newObj","v","i","fromHookFrom","TagOptions","CreateOption","underscored","find","searchToUnderscore","replaceAll","RegExp","noDataOption","msg","__html","hexToRgb","hex","shorthandRegex","m","r","g","result","exec","parseInt","luminance","pow","calculateContrast","background","color1luminance","color2luminance","ratio","Field","WraperBucket","ColorBox","InputColor","defaultState","isBlack","textColor","selectedColor","setSelectedColor","require$$0","defaultShadow","Base","Primary","Secondary","Cancel","Delete","Small","Big","Exportedd","typeStyle","Exported","Type","Profile","HiddenInput","Uploader","picture","setPicture","acceptedTypes","handleFile","file","files","URL","createObjectURL","imageToBase64","reader","FileReader","Promise","resolve","onload","ev","src","readAsDataURL","documentFile","genericFile","processFileList","fileList","promises","match","DropUploaderList","DropUploaderPreview","preview","DropUploader","accept","setFiles","inputRef","dropRef","handleFileChanges","inputs","handleDrop","dataTransfer","dropFile","nFiles","deleted","FileListItem","onDelete","expand","w","outerWidth","outerHeight","write","download","fetch","then","res","blob","rej","anchor","createElement","href","pop","addHighlight","removeHighlight","preventDefaults","addListeners","slice","call","isArray","arguments","c","d","File","TypeError","ClipboardEvent","clipboardData","DataTransfer","items","removeListeners","validPlaceholder","f","Button","substr","CheckBoxWrapper","CheckBoxLabel","ToggleLabel","Toggle","offText","onText","singleText","on","setValue","textOn","textOff","range","floor","id","padZero","n","pattern","prototype","stdTimezoneOffset","jan","getFullYear","jul","max","getTimezoneOffset","dst","today","offset","offsetHours","offsetMinutes","toUTC","hours","minutes","h","fromUTC","fromFormat","str","matches","period","toFormat","fromValue","toValue","nw","fromMilliseconds","milliseconds","fraction","TimePickerOptionsStyle","TimePickerOptions","setTime","what","newTime","li","TimePicker","displayRef","maybeClose","evt","handleKeyDown","persist","test","sendChange","realDefaultValue","format","pointerEvents","Container","ArrowContainer","popupRef","handleContainerClick","handleArrowClick","handleClickOutside","fn","BtnGroup","ButtonGroup","generateClassName","btnProps","cn","className","track","btn","listAnimation","keyframes","POSITION_LIST","POSITION_LIST_DISTANCE","generateAnimationDelay","direction","delayNumber","ListContent","spaceBetween","childrenQuantity","PreviewContent","ButtonIcon","event","Preview","ButtonPreview","previewRef","DIRECTIONS","ButtonList","dir","setDir","toArray","reverse","contentRef","bounds","windowWidth","windowHeight","innerHeight","defaultProps","Div","useClose","Content","SmallContent","Close","solveContent","content","isSmall","Alert","Symbol","isOpen","borderColor","addPadding","AlertError","typeAlert","AlertInfo","AlertWarning","AlertSuccess","Success","Error"],"mappings":"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"}
|