{"version":3,"sources":["assets/header/Lan.svg","assets/header/Menu.svg","assets/Error.svg","components/Mobile/ToastPopup.tsx","styles/fontStyls.ts","assets/Back.svg","assets/menu/logo.svg","assets/menu/formatSize.svg","assets/menu/Dot.svg","assets/menu/DotPoint.svg","assets/menu/home.svg","assets/menu/share.svg","assets/menu/quiz.svg","components/Mobile/Menu.tsx","components/Mobile/Haeder.tsx","assets/input/Send.svg","api/functions.ts","api/clientAPI.js","api/axiosFunction.ts","modules/chatting.ts","modules/visualPage.ts","modules/bookMark.ts","modules/userChatting.ts","modules/intent.ts","components/Mobile/Intent.tsx","modules/carousel.ts","modules/chatBubbles.ts","modules/checkerBoard.ts","modules/oneCard.ts","modules/relation.ts","modules/temporary.ts","modules/thunks.ts","components/Mobile/BookMark.tsx","assets/bookmark/Open.png","components/Mobile/Input.tsx","modules/modal.ts","components/Mobile/ChatBubbles/ChattingBubbles.tsx","components/Mobile/ChatBubbles/User.tsx","components/Mobile/Client.tsx","components/Mobile/Loading.tsx","assets/indicator.gif","components/Mobile/ResponseType/Carousel.tsx","assets/RelationList/Dropdown.svg","components/Mobile/ResponseType/Relation.tsx","components/Mobile/ResponseType/CheckerBoard.tsx","assets/RelationList/Next.svg","components/Mobile/ResponseType/OneCard.tsx","components/Map.tsx","components/Mobile/VisualPage.tsx","components/Mobile/Greeting.tsx","components/Mobile/Chatting.tsx","assets/modal/close.svg","components/Mobile/Modal.tsx","pages/Mobile/Mobile.tsx","modules/defaults.ts","modules/display.ts","styles/greetingState.ts","api/clientName.js","App.tsx","reportWebVitals.ts","styles/global-styles.ts","modules/index.ts","styles/custom/kfo.ts","styles/clientStyles.ts","styles/custom/kfo-work.ts","styles/custom/kfo-sbiz.ts","index.tsx"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","d","stroke","strokeWidth","_ref3","fill","_ref4","_ref5","SvgLan","_ref","svgRef","title","titleId","props","width","height","viewBox","xmlns","ref","id","ForwardRef","SvgMenu","SvgError","ToastPopup","Wrap","NotoSans16px","fadeinout","keyframes","styled","div","NotoSans13","css","NotoSans14","NotoSans15","NotoSans16","NotoSans17","NotoSans18","NotoSans20","Poppins11","Poppins12","PoppinsAndNotoSans14","SvgBack","_ref6","_ref7","_ref8","_ref9","_ref10","opacity","_ref11","_ref12","SvgLogo","fillOpacity","SvgFormatSize","cx","cy","r","SvgDot","SvgDotPoint","SvgHome","SvgShare","SvgQuiz","Menu","state","setState","useState","animtion","setAnimation","radioState","setRadioState","useEffect","setTimeout","ContentsWrap","animation","HeaderWrap","ButtonWrap","onClick","MenuTitle","LogoWrap","ContentWrap","MainWrap","MainEle","window","location","reload","MainEleText","Tempcomp","FooterWrap","SelectWrap","SelectTitle","TextSize","SelectTypes","SelectEles","SelectEle","Line","SelectOptionTextWrap","SelectOptionTextSmall","SelectOptionTextMidium","SelectOptionTextLarge","FooterText","input","Header","clientName","useSelector","defaults","header","name","errorState","setErrorState","menuState","setMenuState","clientname","MenuBtn","CompanyWrap","href","origin","pathname","HomeImg","src","Title","LanBtn","theme","wrap","background","button","company","Lan","color","img","SvgSend","getTime","date","Date","hours","getHours","hoursNew","hoursZeroPlust","minute","getMinutes","responseParsing","response","responseKeys","relationCheck","reduce","acc","cur","contentsArr","contents","element","type","data","autoIntentsArr","relationArr","values","sources","getURLParams","params","search","replace","str","value","kfo","kfowork","kfoedu","axios","baseURL","hostname","apis","split","splitHostname","keysIndex","valueIndex","slice","reloadURL","switchParameter","headers","post","document","cookie","match","setTime","uuid","toUTCString","filter","ele","setCookieUUID","postMessage2","content","control","intent","platform","user_key","vp_test","RENDINGDATA","ADDLOADING","SWITCHDATA","FINISHLOADING","AUTOINTENT","ADDGREETING","addRendingData","list","addLoaing","time","switchData","obj","index","finishLoading","initialState","chatting","action","newChattingData","push","ADDVISUALPAGE","OPENVISUALPAGE","CLOSEVISUALPAGE","closeVisualPage","visualPage","array","ADDBOOKMARK","SWITCHSTATE","OFFSTATE","BUTTONSTATE","BUTTONOFF","initailState","bookmarkState","buttonState","bookmark","ADDUSERCHATTING","addUserBubbles","message","userChatting","newState","ADDSEARCHINTENT","AUTOINTENTSTATE","addSearchIntent","autoIntentState","searchIntent","chagneTextStyleBold","filterName","arrFilterName","map","word","filterIndex","toUpperCase","num","Intent","setInput","postInputUpdate","dispatch","useDispatch","searchIntentList","intents","intentSearch","trim","arrInput","searchWordss","searchWords","IntentEleWrap","handleOnClick","selected","ADDCAROUSEL","carousel","ADDBUBBLES","addChatBubbles","chatbubbles","ADDCHECKERBOARD","checkerBoard","ADDONECARD","onecard","ADDRELATION","relation","ADD","DELETE","temporary","answerGenerator","responseArr","getState","chattingArr","image","bubbleState","buttons","actions","addCheckerBoard","addCarousel","addOnecard","negative","negativeButton","positive","positiveButton","timeArr","forEach","some","visualPageIndex","findIndex","BookMark","bookMark","buttonClickState","dataArray","delay","setDelay","onUserData","onButtonState","clickData","responseType","a","newContent","responseData","overflowState","RelationWrap","Button","imageUrl","Relation","Input","onSwitchBookMark","onOffState","changeAutoIntentState","inputRef","useRef","inputText","setInputText","inputState","setInputState","selectedListText","setSelectedListText","selectedListIndex","setSelectedListIndex","inputButtonState","setInputButtonState","checkResponseEmail","setCheckResponseEmail","resetSeletedList","selectSearchWord","arrowKey","listIndex","current","setAttribute","focus","placeholder","checkAutoIntent","item","InputWrap","PostWrap","inputstate","TextInput","onFocus","onBlur","onChange","e","onKeyPress","onKeyDown","checkDuplicateEntries","freezeTextCursor","disabled","SendButton","inputWrap","postWrap","border","on","off","textInput","sendbutton","check","interval","event","selectionEnd","selectionStart","MODALDATA","setModalData","url","modal","ChattingBubbles","Response","TextWrap","ResText","className","alt","phoneNumber","emailAddress","messageArr","ResTextP","emailTag","ResTextA","dangerouslySetInnerHTML","__html","urlTag","Action","open","EmotionWrap","RelationButtonWrap","positiveText","negativeText","chattingBubbles","resText","hoverColor","relationButton","hover","active","p","User","text","Request","ReqText","ReqTime","user","reqText","reqTime","Client","ClientWrap","ClientImage","ClientTitle","client","Loading","SwiperCore","use","Navigation","CarouselEle","CarouselEleWrap","CarouselContent","CarouselImg","CarouselTitle","CarouselDescription","CarouselButton","buttonName","Carousel","CarouselWrap","CarouselMoving","autoHeight","spaceBetween","freeMode","navigation","breakpoints","0","slidesPerView","332","idx","swiper","description","SvgDropdown","RelationButtonEle","btnState","btnstate","listBox","anchorEl","setAnchorEl","handleClick","currentTarget","handleClose","RelationListsWrap","ListBoxText","DropdownButton","StyledMenu","keepMounted","Boolean","onClose","SelectListEle","backgroundstate","Tooltip","placement","listbutton","hoverBackground","fillColor","listboxtext","fontWeight","MenuItem","listele","backgroundColor","odd","even","classes","paper","listmenu","CheckerBoardElement","clickState","setClickState","CheckerBoardEleWrap","CheckerBoardImgWrap","CheckerBoardImg","CheckerBoardText","CheckerBoardWrap","checkerboard","display","gridTemplateColumns","flexDirection","imgEle","objectFit","maxWidth","maxHeight","borderRadius","letterSpacing","CheckerBoard","SvgNext","RelationButton","NextButton","OneCard","oneCard","OneCardWrap","OnecardImage","shared","Content","font","Next","kakao","Description","DescriptionNameP","DescriptionAddressP","Map","address","place_name","pageAnimation","maps","load","container","getElementById","options","center","LatLng","level","services","Geocoder","addressSearch","result","status","Status","OK","coords","y","x","marker","Marker","position","clickable","InfoWindow","setCenter","addListener","style","VisualPage","setPageAnimation","scrollY","setScrollY","scrollEle","addEventListener","scrollTop","VisualPageOutside","animationState","VisualPageWrap","scrollTo","VisualPageMapWrap","Image","YoutubeIframeWrap","frameBorder","allow","allowFullScreen","youtube_id","InnerDiv","Ifram","render","VisualPageFooter","visualpage","outside","borderTop","iframe","footer","contentsWrap","marginLeft","Greeting","autoPlay","muted","Chatting","chatState","visualPageState","substr","wrapRef","scrollDown","scrollIntoView","behavior","scroll","scrollHeight","viewHeight","getBoundingClientRect","heightFromBottom","desktop","bookMarkState","contentArray","rendering","controlCase","Modal","modalData","ModalBackGroundWrap","ModalWrap","CloseButtonWrap","closeButton","Mobile","TotalWrap","EmptyWrapLeft","EmptyWrapRight","ADDINTENT","ADDCLIENTINFO","ADDCLIENTNAME","addClientName","intentData","MOBILE","DESKTOP","gretting","getFaviconEl","App","favicon","defaultsData","keywordsData","addIntentBookMark","intentes","agent","LISTBOX","INPUT","get","greeting","greetingState","queryParams","keyword","decodeURI","urlQueryRes","htmlTitle","querySelector","clientNameKey","clientTitleName","clientNameValue","htmlTitleName","innerHTML","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","GlobalStyle","createGlobalStyle","normalize","rootReducer","combineReducers","store","createStore","composeWithDevTools","applyMiddleware","thunk","ReactDOM","StylesProvider","injectFirst","StrictMode","path","component","exact"],"mappings":"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","file":"static/js/main.4ea533e6.chunk.js","sourcesContent":["function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 20.999C16.9706 20.999 21 16.9865 21 12.037C21 7.08738 16.9706 3.07495 12 3.07495C7.02944 3.07495 3 7.08738 3 12.037C3 16.9865 7.02944 20.999 12 20.999Z\",\n stroke: \"#A1A1A1\",\n strokeWidth: 2\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.0375 4C11.8483 4 11.2314 4.44295 10.6309 5.75911C9.89629 7.36916 9.47498 9.64387 9.47498 12C9.47498 14.3561 9.89629 16.6308 10.6309 18.2409C11.2314 19.5571 11.8483 20 12.0375 20C12.2267 20 12.8437 19.5571 13.4442 18.2409C14.1787 16.6308 14.6001 14.3561 14.6001 12C14.6001 9.64387 14.1787 7.36916 13.4442 5.75911C12.8437 4.44295 12.2267 4 12.0375 4ZM12.0375 2C14.5573 2 16.6001 6.47715 16.6001 12C16.6001 17.5229 14.5573 22 12.0375 22C9.51769 22 7.47498 17.5229 7.47498 12C7.47498 6.47715 9.51769 2 12.0375 2Z\",\n fill: \"#A1A1A1\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.798 7.90698H3.36902V9.73198H20.798V7.90698Z\",\n fill: \"#A1A1A1\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.798 14.722H3.36902V16.547H20.798V14.722Z\",\n fill: \"#A1A1A1\"\n});\n\nfunction SvgLan(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4, _ref5);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLan);\nexport default __webpack_public_path__ + \"static/media/Lan.6c8fdfcd.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21 20H3V17H21V20ZM21 14H3V11H21V14ZM21 8H3V5H21V8Z\",\n fill: \"#A1A1A1\"\n});\n\nfunction SvgMenu(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgMenu);\nexport default __webpack_public_path__ + \"static/media/Menu.eb9dd864.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 2C8.272 2 2 8.272 2 16C2 23.728 8.272 30 16 30C23.728 30 30 23.728 30 16C30 8.272 23.728 2 16 2ZM16 17.4C15.23 17.4 14.6 16.77 14.6 16V10.4C14.6 9.63 15.23 9 16 9C16.77 9 17.4 9.63 17.4 10.4V16C17.4 16.77 16.77 17.4 16 17.4ZM17.4 23H14.6V20.2H17.4V23Z\",\n fill: \"white\"\n});\n\nfunction SvgError(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgError);\nexport default __webpack_public_path__ + \"static/media/Error.6d88cbb9.svg\";\nexport { ForwardRef as ReactComponent };","import styled, {keyframes} from \"styled-components\";\nimport { ReactComponent as Error } from '../../assets/Error.svg'\n\nconst ToastPopup = ()=>{\n return (\n \n \n 해당 기능은 현재 준비중입니다.\n \n )\n}\n\nexport default ToastPopup\n\nconst fadeinout = keyframes`\n 0%{ opacity:0}\n 25%{ opacity:1}\n 75%{ opacity:1}\n 100%{opacity:0}\n`\n\nconst Wrap = styled.div`\n top:40px;\n left: calc( 50% - 150px);\n position: fixed;\n display: flex;\n flex-direction: row;\n justify-content: flex-start;\n align-items: center;\n padding: 14px 30px 14px 20px;\n width: calc(300px - 50px);\n height: calc(60px - 28px);\n animation: ${fadeinout} linear 1s;\n background: rgba(164, 164, 164, 0.8);\n box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.16);\n border-radius: 12px;\n`\nconst NotoSans16px = styled.div`\n font-family: Noto Sans KR;\n font-style: normal;\n font-weight: 500;\n font-size: 16px;\n line-height: 23px;\n letter-spacing: -0.02em;\n\n color: #FFFFFF;\n\n\n /* Inside Auto Layout */\n\n flex: none;\n order: 1;\n flex-grow: 1;\n margin: 0px 16px;\n`","import {css} from \"styled-components\";\nexport const NotoSans12 = css`\n font-family: Noto Sans CJK KR;\n font-style: normal;\n font-weight: normal;\n font-size: 12px;\n line-height: 18px;\n`\nexport const NotoSans13 = css`\n font-family: Noto Sans KR;\n font-style: normal;\n font-weight: bold;\n font-size: 13px;\n line-height: 19px;\n`\nexport const NotoSans14 = css`\n font-family: Noto Sans KR;\n font-style: normal;\n font-weight: normal;\n font-size: 14px;\n line-height: 20px;\n`\nexport const NotoSans15 = css`\n font-family: Noto Sans KR;\n font-style: normal;\n font-weight: 500;\n font-size: 15px;\n line-height: 22px;\n`\nexport const NotoSans16 = css`\n font-family: Poppins, Noto Sans KR;\n font-style: normal;\n font-weight: 400;\n font-size: 16px;\n line-height: 160%;\n`\nexport const NotoSans17 = css`\n font-family: Noto Sans KR;\n font-style: normal;\n font-weight: bold;\n font-size: 17px;\n line-height: 25px;\n`\nexport const NotoSans18 =css`\n font-family: Noto Sans KR Poppins;\n font-style: normal;\n font-weight: 600;\n font-size: 18px;\n line-height: 27px;\n`\nexport const NotoSans20 = css`\n font-family: Noto Sans CJK KR;\n font-style: normal;\n font-weight: bold;\n font-size: 20px;\n line-height: 30px;\n`\nexport const NotoSans40 = css`\n font-family: Noto Sans KR;\n font-style: normal;\n font-weight: 900;\n font-size: 40px;\n line-height: 50px;\n` \nexport const Poppins11 = css`\n font-family: Poppins;\n font-style: normal;\n font-weight: 500;\n font-size: 11px;\n line-height: 18px;\n`\nexport const Poppins12 = css`\n font-family: Poppins;\n font-style: normal;\n font-weight: 500;\n font-size: 12px;\n line-height: 18px;\n`\nexport const PoppinsAndNotoSans14 = css`\n font-family: Poppins, Noto Sans KR;\n font-stretch: normal;\n font-style: normal;\n font-size: 14px;\n line-height: 20px;\n`","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.5 14L15.5 5\",\n stroke: \"current\",\n strokeWidth: 3\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.5 21L6.5 12\",\n stroke: \"current\",\n strokeWidth: 3\n});\n\nfunction SvgBack(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 25,\n viewBox: \"0 0 24 25\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgBack);\nexport default __webpack_public_path__ + \"static/media/Back.0512ea23.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.9575 11.5977H49.0828V28.2143H54.9575C60.2758 28.2143 63.708 24.9636 63.708 19.9265C63.708 14.8659 60.2758 11.5977 54.9575 11.5977ZM52.7552 14.7546H54.8403C58.0969 14.7546 59.9653 16.6406 59.9653 19.9265C59.9653 23.1713 58.0969 25.0281 54.8403 25.0281H52.7552V14.7546Z\",\n fill: \"white\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M74.5203 22.2277C74.5203 24.1137 73.548 25.1972 71.8553 25.1972C70.1743 25.1972 69.2137 24.1137 69.2137 22.2277V14.9355H65.5413V22.6904C65.5413 26.1461 67.644 28.3777 70.9064 28.3777C72.318 28.3777 73.63 27.8505 74.5261 26.9485V28.2137H78.222V14.9355H74.5261V22.2277H74.5203Z\",\n fill: \"white\"\n});\n\nvar _ref4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.1704 16.388C89.1864 15.3279 87.7456 14.7246 86.1349 14.7246C82.6089 14.7246 80.0552 17.5829 80.0552 21.5247C80.0552 25.5193 82.603 28.4186 86.1115 28.4186C87.7222 28.4186 89.1982 27.7919 90.1704 26.7259V28.2136H93.8663V14.9355H90.1704V16.388ZM90.1704 21.5775C90.1704 24.0316 88.5129 25.1503 86.9725 25.1503C85.391 25.1503 83.7979 23.9086 83.7979 21.5306C83.7979 19.1057 85.4437 18.0046 86.9725 18.0046C88.5129 18.0046 90.1704 19.1233 90.1704 21.5775Z\",\n fill: \"white\"\n});\n\nvar _ref5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.7938 10.6191H96.1214V28.214H99.7938V10.6191Z\",\n fill: \"white\"\n});\n\nvar _ref6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M115.766 11.5977H103.46V14.6375H107.777V28.2143H111.449V14.6375H115.766V11.5977Z\",\n fill: \"white\"\n});\n\nvar _ref7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M125.225 16.388C124.241 15.3279 122.801 14.7246 121.19 14.7246C117.664 14.7246 115.11 17.5829 115.11 21.5247C115.11 25.5193 117.658 28.4186 121.166 28.4186C122.777 28.4186 124.253 27.7919 125.225 26.7259V28.2136H128.921V14.9355H125.225V16.388ZM125.225 21.5775C125.225 24.0316 123.568 25.1503 122.027 25.1503C120.446 25.1503 118.853 23.9086 118.853 21.5306C118.853 19.1057 120.499 18.0046 122.027 18.0046C123.568 18.0046 125.225 19.1233 125.225 21.5775Z\",\n fill: \"white\"\n});\n\nvar _ref8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M134.849 10.6191H131.176V28.214H134.849V10.6191Z\",\n fill: \"white\"\n});\n\nvar _ref9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M143.722 21.5954L149.568 14.9358H144.776L140.776 19.9964V10.6191H137.104V28.214H140.776V23.13L144.823 28.214H149.62L143.722 21.5954Z\",\n fill: \"white\"\n});\n\nvar _ref10 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.6,\n d: \"M16.0134 0.105749C15.3632 -0.210536 14.6135 0.217034 14.5315 0.931604C13.8521 6.82973 9.23083 11.4159 3.64313 11.4159H1.03671C0.462713 11.4159 0 11.8786 0 12.4526V27.0251C0 27.5991 0.462713 28.0618 1.03671 28.0618H3.64313C4.6447 28.0618 5.6287 27.9915 6.60098 27.8744C10.5487 19.4518 18.3914 13.1789 27.2591 11.8317C27.8975 10.3792 28.4364 8.86215 28.8464 7.29244C28.9752 6.81216 28.7468 6.30259 28.3016 6.08588L16.0134 0.105749Z\",\n fill: \"white\"\n});\n\nvar _ref11 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.9,\n d: \"M6.60684 27.8687C5.88055 29.415 5.28899 31.0375 4.84384 32.7126C4.71499 33.1929 4.94341 33.7024 5.38856 33.9192L17.6651 39.8934C18.3035 40.2039 19.0708 39.8056 19.1587 39.1027C19.9201 33.1343 25.2149 28.1967 30.8144 28.1967H33.4208C33.9948 28.1967 34.4575 27.734 34.4575 27.16V12.5934C34.4575 12.0194 33.9948 11.5566 33.4208 11.5566H30.8144C29.6136 11.5566 28.4246 11.6504 27.2532 11.8319C23.4285 20.4946 15.7205 26.7442 6.60684 27.8687Z\",\n fill: \"white\"\n});\n\nvar _ref12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.60687 27.8688C15.7206 26.7443 23.4285 20.4947 27.2591 11.832C18.3914 13.1792 10.5487 19.4522 6.60687 27.8688Z\",\n fill: \"white\"\n});\n\nfunction SvgLogo(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 150,\n height: 40,\n viewBox: \"0 0 150 40\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3, _ref4, _ref5, _ref6, _ref7, _ref8, _ref9, _ref10, _ref11, _ref12);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgLogo);\nexport default __webpack_public_path__ + \"static/media/logo.db83cf51.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 5V9H19V25H23V9H30V5H12ZM4 15.6667H8V25H12V15.6667H16V12H4V15.6667Z\",\n fill: \"#111111\",\n fillOpacity: 0.5\n});\n\nfunction SvgFormatSize(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgFormatSize);\nexport default __webpack_public_path__ + \"static/media/formatSize.9bee46d3.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 10.5,\n fill: \"white\",\n stroke: \"#C4C4C4\",\n strokeWidth: 3\n});\n\nfunction SvgDot(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDot);\nexport default __webpack_public_path__ + \"static/media/Dot.6177810c.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 10.5,\n fill: \"white\",\n stroke: \"#C4C4C4\",\n strokeWidth: 3\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 6,\n fill: \"#111111\"\n});\n\nfunction SvgDotPoint(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDotPoint);\nexport default __webpack_public_path__ + \"static/media/DotPoint.26bd1d10.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.3333 25.3333V18.6666H18.6667V25.3333C18.6667 26.0666 19.2667 26.6666 20 26.6666H24C24.7333 26.6666 25.3333 26.0666 25.3333 25.3333V16H27.6C28.2133 16 28.5067 15.24 28.04 14.84L16.8933 4.79996C16.3867 4.34663 15.6133 4.34663 15.1067 4.79996L3.95999 14.84C3.50666 15.24 3.78666 16 4.39999 16H6.66666V25.3333C6.66666 26.0666 7.26666 26.6666 7.99999 26.6666H12C12.7333 26.6666 13.3333 26.0666 13.3333 25.3333Z\",\n fill: \"#111111\"\n});\n\nfunction SvgHome(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgHome);\nexport default __webpack_public_path__ + \"static/media/home.59681d78.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24 21.4403C22.9867 21.4403 22.08 21.8403 21.3867 22.467L11.88 16.9337C11.9467 16.627 12 16.3203 12 16.0003C12 15.6803 11.9467 15.3737 11.88 15.067L21.28 9.58699C22 10.2537 22.9467 10.667 24 10.667C26.2133 10.667 28 8.88033 28 6.66699C28 4.45366 26.2133 2.66699 24 2.66699C21.7867 2.66699 20 4.45366 20 6.66699C20 6.98699 20.0533 7.29366 20.12 7.60033L10.72 13.0803C10 12.4137 9.05333 12.0003 8 12.0003C5.78667 12.0003 4 13.787 4 16.0003C4 18.2137 5.78667 20.0003 8 20.0003C9.05333 20.0003 10 19.587 10.72 18.9203L20.2133 24.467C20.1467 24.747 20.1067 25.0403 20.1067 25.3337C20.1067 27.4803 21.8533 29.227 24 29.227C26.1467 29.227 27.8933 27.4803 27.8933 25.3337C27.8933 23.187 26.1467 21.4403 24 21.4403Z\",\n fill: \"#111111\"\n});\n\nfunction SvgShare(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgShare);\nexport default __webpack_public_path__ + \"static/media/share.62e811ad.svg\";\nexport { ForwardRef as ReactComponent };","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.6667 26.6667H5.33333V9.33333C5.33333 8.6 4.73333 8 4 8C3.26667 8 2.66667 8.6 2.66667 9.33333V26.6667C2.66667 28.1333 3.86667 29.3333 5.33333 29.3333H22.6667C23.4 29.3333 24 28.7333 24 28C24 27.2667 23.4 26.6667 22.6667 26.6667Z\",\n fill: \"#111111\"\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.6667 2.66699H10.6667C9.2 2.66699 8 3.86699 8 5.33366V21.3337C8 22.8003 9.2 24.0003 10.6667 24.0003H26.6667C28.1333 24.0003 29.3333 22.8003 29.3333 21.3337V5.33366C29.3333 3.86699 28.1333 2.66699 26.6667 2.66699ZM18.68 20.0003C17.8933 20.0003 17.28 19.3737 17.28 18.6003C17.28 17.8137 17.9067 17.2137 18.68 17.2137C19.4667 17.2137 20.0667 17.8137 20.0667 18.6003C20.0533 19.3737 19.4667 20.0003 18.68 20.0003ZM22.0133 11.7737C21.1733 13.0137 20.3733 13.387 19.9333 14.187C19.8267 14.3737 19.76 14.5337 19.72 14.8403C19.6533 15.3603 19.24 15.747 18.72 15.747H18.68C18.0933 15.747 17.6267 15.2403 17.68 14.6537C17.72 14.2803 17.8 13.8937 18.0133 13.5337C18.56 12.5603 19.5867 11.987 20.1867 11.1337C20.8267 10.227 20.4667 8.54699 18.6667 8.54699C17.8533 8.54699 17.32 8.97366 16.9867 9.48033C16.7333 9.86699 16.2267 10.0003 15.8 9.81366C15.24 9.57366 15 8.88033 15.3467 8.38699C16.0267 7.40033 17.16 6.66699 18.6533 6.66699C20.2933 6.66699 21.4267 7.41366 22 8.34699C22.4933 9.16033 22.7733 10.6537 22.0133 11.7737Z\",\n fill: \"#111111\"\n});\n\nfunction SvgQuiz(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgQuiz);\nexport default __webpack_public_path__ + \"static/media/quiz.b7e2a28d.svg\";\nexport { ForwardRef as ReactComponent };","import { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { ReactComponent as Back } from '../../assets/Back.svg';\nimport { ReactComponent as Logo } from '../../assets/menu/logo.svg';\nimport { ReactComponent as Text } from '../../assets/menu/formatSize.svg';\nimport { ReactComponent as Dot } from '../../assets/menu/Dot.svg';\nimport { ReactComponent as DotPoint } from '../../assets/menu/DotPoint.svg';\nimport { ReactComponent as Home } from '../../assets/menu/home.svg';\nimport { ReactComponent as Share } from '../../assets/menu/share.svg';\nimport { ReactComponent as Quiz } from '../../assets/menu/quiz.svg';\nimport { NotoSans13, NotoSans15, NotoSans18, NotoSans20, Poppins11 } from '../../styles/fontStyls';\n\ninterface MenuProps {\n state: boolean;\n setState:(state:boolean)=>void;\n}\n\nconst Menu = ({state,setState}:MenuProps)=>{\n const [animtion,setAnimation] = useState(false)\n const [radioState, setRadioState] = useState('medium')\n useEffect(()=>{\n if(state){\n setTimeout(()=>{setAnimation(true)},100)\n }\n },[state])\n return(\n \n \n \n \n {\n setAnimation(false)\n setTimeout(()=>{setState(false)},1000)\n }}>\n Menu\n \n \n \n \n \n \n \n {window.location.reload()}}>처음으로\n {\n\n }}> 공유하기\n {}}> 견적문의\n \n \n \n \n \n 글자 크기\n \n \n \n {setRadioState('small')}}>\n {radioState==='small'?:}\n \n \n {setRadioState('medium')}}>\n {radioState==='medium'?:}\n \n \n {setRadioState('large')}}>\n {radioState==='large'?:}\n \n \n \n 작게\n 보통\n 크게\n \n \n \n \n
\n Copyright © 2021 by Xinapse.\n
\n
\n All rights reserved.\n
\n
\n
\n
\n
\n
\n )\n}\n\nexport default Menu;\n\ninterface WarpProps {\n state:boolean;\n}\n\nconst Wrap = styled.div`\n display: ${props=>props.state?'':'none'};\n position:absolute;\n top: 0px;\n left:0px;\n height: calc(100%);\n width: 101%;\n margin-right: 95px;\n background-color: rgba(0,0,0,0.8);\n z-index:1000;\n transition: all linear 1s;\n`\ninterface ContentWrapProps {\n animation:boolean;\n}\nconst ContentsWrap = styled.div`\n position: absolute;\n top:0px;\n left:${props=>props.animation? \"0px\":\"-100%\"};\n width:280px;\n height: 100%;\n transition: all linear 1s;\n`\nconst HeaderWrap = styled.div`\n display: flex;\n flex-direction: column;\n background: #111111;\n border-radius: 0px 36px 0px 0px;\n`\nconst ButtonWrap = styled.div`\n width: 280px;\n display: flex;\n align-items: center;\n margin-top: 16px;\n margin-left: 20px;\n`\nconst MenuTitle = styled.div`\n ${NotoSans18}\n margin-left: 16px;\n color:#ffffff;\n`\nconst LogoWrap = styled.div`\n margin-left: 24px;\n margin: 24px;\n`\nconst ContentWrap = styled.div`\n height: calc(100% - 136px);\n width: 100%;\n background: #FFFFFF;\n`\nconst MainWrap = styled.div`\n width: 100%;\n height: calc(100% - 230px - 20px);\n display: flex;\n flex-direction: column;\n padding-top: 20px;\n`\nconst MainEle = styled.div`\n width: calc(100% - 24px);\n padding-left: 24px;\n height: 56px;\n display: flex;\n align-items: center;\n`\nconst MainEleText = styled.div`\n ${NotoSans15}\n margin-left: 20px;\n`\nconst FooterWrap = styled.div`\n width: 100%;\n height: 230px;\n background: rgba(196,196,196,0.2);\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n`\nconst SelectWrap = styled.div`\n width:100%;\n display: flex;\n flex-direction: column;\n`\nconst SelectTitle = styled.div`\n width: 100%;\n margin-left: 24px;\n margin-top: 25px;\n display: flex;\n flex-direction: row;\n align-items: center;\n`\nconst SelectTypes = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n\n margin-top: 29px;\n margin-bottom: 18px;\n`\nconst SelectEles = styled.div`\n width:194px;\n display:flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n`\nconst SelectEle = styled.div`\n display: flex;\n align-items: center;\n justify-content: center;\n`\nconst Line =styled.div`\n width: 100%;\n height: 2px;\n background: #C4C4C4;\n`\nconst SelectOptionTextWrap = styled.div`\n width: 205px;\n height: 30px;\n display:flex;\n align-items: center;\n justify-content: space-between;\n`\nconst SelectOptionTextSmall = styled.div`\n ${NotoSans13}\n width: 30px;\n text-align: center;\n letter-spacing: -0.02em;\n`\nconst SelectOptionTextMidium = styled.div`\n ${NotoSans15}\n text-align: center;\n letter-spacing: -0.02em;\n`\nconst SelectOptionTextLarge = styled.div` \n ${NotoSans20}\n text-align: center;\n letter-spacing: -0.02em;\n`\n\nconst TextSize = styled.div`\n ${NotoSans15}\n margin-left:20px;\n letter-spacing: -0.02em;\n color: rgba(17, 17, 17, 0.5);\n`\nconst FooterText = styled.div`\n ${Poppins11}\n letter-spacing: -0.03em;\n color: #C4C4C4;\n margin-left: 18px;\n margin-bottom:30px;\n`\n\nconst Tempcomp = styled.input`\n display:none;\n`","import { useState } from 'react';\nimport styled from 'styled-components';\nimport { ReactComponent as Lan } from '../../assets/header/Lan.svg';\nimport { ReactComponent as Menu } from '../../assets/header/Menu.svg';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '../../modules';\nimport ToastPopup from './ToastPopup';\nimport { NotoSans17 } from '../../styles/fontStyls';\nimport MenuComponent from './Menu';\nimport { ClientNameProps, StyleThemeProps } from '../../types';\n\nconst Header = () => {\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n const { header } = useSelector((state: RootState) => ({\n header: state.defaults.name,\n }));\n const [errorState, setErrorState] = useState(false);\n const [menuState, setMenuState] = useState(false);\n return (\n \n {menuState ? (\n \n ) : (\n ''\n )}\n {clientName === 'defaults' ? (\n {\n setMenuState(true);\n }}\n />\n ) : (\n
\n )}\n\n {\n window.location.href = `${window.location.origin}${window.location.pathname}`;\n }}\n >\n \n {header}\n \n {clientName === 'defaults' ? (\n {\n setErrorState(true);\n setTimeout(() => {\n setErrorState(false);\n }, 1000);\n }}\n />\n ) : (\n
\n )}\n\n {errorState ? : ''}\n \n );\n};\n\nexport default Header;\n\nconst HeaderWrap = styled.div`\n width: 375px;\n height: 58px;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n box-shadow: 0 6px 4px 0 rgb(46 47 48 / 4%);\n background: ${({ theme, clientname }) =>\n theme[clientname].header.wrap.background};\n z-index: 1000;\n position: fixed;\n top: 0;\n`;\nconst CompanyWrap = styled.button`\n height: 25px;\n display: flex;\n align-items: center;\n border: 0px;\n background: ${({ theme, clientname }) =>\n theme[clientname].header.company.background};\n`;\nconst MenuBtn = styled(Menu)`\n margin-left: 18px;\n`;\nconst LanBtn = styled(Lan)`\n margin-right: 18px;\n`;\nconst Title = styled.div`\n ${NotoSans17}\n color:${({ theme, clientname }) => theme[clientname].header.title.color};\n margin-left: 12px;\n`;\nconst HomeImg = styled.img`\n path {\n fill: ${({ theme, clientname }) => theme[clientname].header.title.color};\n }\n`;\nconst LogoImg = styled.img`\n width: 142.63px;\n`;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 1\n}, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.5 5.04953C1.5 3.09244 3.1709 1.50024 5.22461 1.50024C5.8335 1.50034 6.44238 1.64697 6.98486 1.92429L20.5765 8.87479C21.7632 9.48227 22.5 10.6797 22.5 12.0002C22.5 13.3207 21.7633 14.5182 20.5773 15.1254L6.98511 22.0761C6.44226 22.3536 5.83362 22.5002 5.22485 22.5002C3.1709 22.5002 1.5 20.9081 1.5 18.951V15.0001C1.5 13.8955 2.39543 13.0001 3.5 13.0001H10.0001C10.5524 13.0001 11.0001 12.5523 11.0001 12.0001C11.0001 11.4478 10.5524 11.0001 10.0001 11.0001H3.5C2.39543 11.0001 1.5 10.1046 1.5 9.00006V5.04953Z\",\n fill: \"#FF6A28\"\n}));\n\nfunction SvgSend(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSend);\nexport default __webpack_public_path__ + \"static/media/Send.5f78c2f5.svg\";\nexport { ForwardRef as ReactComponent };","import { CarouselList } from \"../modules/carousel\";\nimport { ChatBubblesObject } from \"../modules/chatBubbles\";\nimport { ChattingType } from \"../modules/chatting\";\nimport { CheckerBoardList } from \"../modules/checkerBoard\";\nimport { OnecardList } from \"../modules/oneCard\";\nimport { RelationList } from \"../modules/relation\";\nimport { VisualPageState } from \"../modules/visualPage\";\nimport { ChatState, ResponseDataArrProps } from \"../types\";\n\n\nconst getTime = ()=>{\n let date = new Date();\n const hours = date.getHours();\n const hoursNew = hours>12?hours-12:hours;\n const hoursZeroPlust = hoursNew<10? `0${hoursNew}`:`${hoursNew}`\n const minute = date.getMinutes();\n return `${hours>12?'오후':'오전'} ${hoursZeroPlust}:${minute<10? `0${minute}`:minute}`\n}\n\ninterface NavigaeteCaseProps {\n response: any;\n chatState:ChatState;\n onAddChatBubble:(obj:ChatBubblesObject)=>void\n onAddCheckerBoard:(list:CheckerBoardList)=>void;\n onAddCarousel:(list:CarouselList)=>void;\n onAddOnecard:(list:OnecardList)=>void;\n onAddRelation: (list:RelationList)=>void\n onAddVisualPage:(array:VisualPageState)=>void\n onRendingData:(list:ChattingType,index:number,time:string,visualPageState:boolean)=>void\n onAddTemporary:(list:ChattingType)=>void\n}\n\nconst responseParsing = (response:any)=>{\n const responseKeys = Object.keys(response)\n // relation check => checkerboard, carousel, one_card에 대한 리스폰스가 있는 지를 체크 하는 Boolean상태\n const relationCheck = responseKeys.reduce((acc:boolean,cur)=>{\n if(cur===('checkerboard')||cur===('carousel') || cur===('one_card')|| acc===true){\n return true\n }\n return false\n },false)\n\n const contentsArr:ResponseDataArrProps[] = response.contents.reduce((acc:Array,element:any) => {\n const elementKeys = Object.keys(element);\n if(elementKeys.indexOf('negativeButton')!==-1){\n return acc\n }\n return [...acc,{\n type:'ChatBubbles',\n data: element\n }]\n },[]);\n\n const autoIntentsArr:ResponseDataArrProps[] = response.contents.reduce((acc:Array,element:any)=>{\n const elementKeys = Object.keys(element);\n if(elementKeys.indexOf('negativeButton')!==-1){\n return [...acc,{\n type:'AutoIntents',\n data: element\n }];\n }\n return acc;\n },[])\n const relationArr:ResponseDataArrProps[] = responseKeys.reduce((acc:Array,cur:any)=>{\n switch(cur){\n case 'button':\n if( response[cur].values.length!==0 && !relationCheck){\n return [...acc, {\n type:'Relation',\n data:response[cur].values\n }]\n }\n return [...acc]\n case 'visual_page':\n if(response[cur].sources[0]){\n return [...acc,{\n type:'VisualPage',\n data: response[cur].sources\n }]\n }\n return [...acc]\n case 'checkerboard': \n return [...acc,{\n type: 'CheckerBoard',\n data: response[cur].values\n }]\n case 'carousel': \n return [...acc,{\n type: 'Carousel',\n data: response[cur].values\n }]\n case 'one_card':\n return [...acc,{\n type: 'OneCard',\n data: response[cur].values\n }]\n default:\n return [...acc]\n }\n },[])\n return [...contentsArr, ...relationArr, ...autoIntentsArr]\n}\n\nfunction getURLParams(){\n let params:any = {};\n window.location.search.replace(\n /[?&]+([^=&]+)=([^&]*)/gi,\n (str,key,value)=>{params[key]=value; return ''}\n );\n return params;\n}\n\nexport{\n getTime,\n responseParsing,\n getURLParams\n}\n\nexport type{\n NavigaeteCaseProps,\n}","// eslint-disable-next-line import/no-anonymous-default-export\nexport default {\n kfo: 'M5IttTXXff-NBsSwhyZLM1rD4uOtfEmL',\n 'kfo-test': '-BgqnfT6YPVeB0bggtBYTFhCfvUyRWDu',\n kfowork: 'a05pkh7QBMwhKElvtjmvHk1d3JDul9ah',\n 'kfowork-test': '__HKkdY0MLM70mF_WMBdJDsNL3XKfBr3',\n kfoedu: 'PVgCs01-Ny83joo0z64ZIwPL1ij-eDEh',\n 'kfoedu-test': 'G5Z8xaWyguIau0SK5FXCioeuII3aqhPj',\n // 'kfo-sbiz': 'VZ3J4-mmW7kJ_v5VHRvwzzzV4I6NKkX7',\n 'kfo-sbiz': 'VZ3J4-mmW7kJ_v5VHRvwzzzV4I6NKkX7',\n};\n","import axios from 'axios';\nimport apis from './clientAPI';\nimport { v4 as uuid } from 'uuid';\n\n//dualtalk\n\nconst switchParameter = () => {\n const { hostname, pathname } = window.location;\n const keys = Object.keys(apis);\n const values = Object.values(apis);\n if (\n hostname.split('.')[0] === 'localhost' ||\n hostname.split('.')[0] === 'test-dualtalk' ||\n hostname.split('.')[0] === 'dev-vp-platform' ||\n hostname.split('.')[1] === 'localhost' ||\n hostname.split('.')[1] === 'test-dualtalk' ||\n hostname.split('.')[1] === 'dev-vp-platform' ||\n hostname === '192.168.1.138'\n ) {\n const valueIndex = values.indexOf(pathname.slice(1));\n const keysIndex = keys.indexOf(pathname.slice(1));\n if (valueIndex > -1) {\n const reloadURL = window.location.origin + '/' + keys[valueIndex];\n window.location.replace(reloadURL);\n } else if (keysIndex > -1) {\n return `http://192.168.0.11:8001/chats/v_0_0_1/platforms/xinapse/${values[keysIndex]}`;\n } else {\n return 'http://192.168.0.11:8001/chats/v_0_0_1/platforms/xinapse/sUYAa5ml5jA3nFIhmDg5VZfR2HrZMkBw';\n }\n } else {\n const splitHostname = hostname.split('.');\n if (splitHostname[0] === 'www') {\n const keysIndex = keys.indexOf(splitHostname[1]);\n return `https://api.xinapse.co.kr/chats/v_0_0_1/platforms/xinapse/${values[keysIndex]}`;\n } else {\n const keysIndex = keys.indexOf(splitHostname[0]);\n return `https://api.xinapse.co.kr/chats/v_0_0_1/platforms/xinapse/${values[keysIndex]}`;\n }\n }\n};\n\naxios.defaults.baseURL = `${switchParameter()}`;\naxios.defaults.headers.post['Access-Control-Allow-Origin'] = '*';\n\nconst API_KEY = {\n xinapse_test: 'dc7cb66d840232fb09862c2a762e0d44',\n};\nconst key = setCookieUUID();\n\nfunction postDefault() {\n //유저키 발급은 어떻게?\n return axios.post('defaults', {\n user_key: key,\n });\n}\n\nfunction getKeyboard2() {\n return axios.get(\n `/keyboard2?user_key=${key}&&type=buttons&platform=vp&vp_test=false`\n );\n}\n\nfunction postMessage2(content: string, id: string | null, type: string) {\n if (id) {\n return axios.post('/message2', {\n content,\n control: { intent: { id: id } },\n platform: 'vp',\n type,\n user_key: key,\n vp_test: false,\n });\n }\n return axios.post('/message2', {\n content,\n platform: 'vp',\n type,\n user_key: key,\n vp_test: false,\n });\n}\n\nfunction setCookieUUID() {\n // document.cookie = 'uuid=; expires=Thu, 18 Dec 1999 12:00:00 GMT';\n if (!document.cookie.match('uuid')) {\n let date = new Date();\n date.setTime(date.getTime() + 7 * 24 * 60 * 60 * 1000);\n document.cookie =\n 'uuid=guest-' + uuid() + ';expire=' + date.toUTCString() + ';path=/';\n }\n const cookie = document.cookie.split(';');\n const uuidCookie = cookie.filter((ele) => ele.indexOf('uuid') > -1)[0];\n return uuidCookie;\n}\n\nexport { API_KEY, postDefault, getKeyboard2, postMessage2, setCookieUUID };\n\n// function domain () {\n// let apiUrl = 'http://dev-api.xinapse.ai/chats/v_0_0_1/platforms/xinapse/E0jXZJqUkjJHKUBqjl9cAbcAo43H3G1a'\n// const curUrl = window.location.href;\n// const ipRegex = /^(http:\\/\\/)(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?):([0-9]{2,5})/g\n// if (curUrl.indexOf('localhost') > -1 || curUrl.indexOf('dev-') > -1 || ipRegex.test(curUrl)) {\n// axios.defaults.baseURL = \"http://dev-api.xinapse.ai\"\n// // Test\n// } else if (curUrl.indexOf('test-') > -1) {\n// axios.defaults.baseURL = \"http://test-api.xinapse.ai\"\n// // Staging\n// } else if (curUrl.indexOf('staging-') > -1) {\n// axios.defaults.baseURL = \"http://staging-api.xinapse.ai\"\n// }\n// return axios.defaults.baseURL;\n// }\n","import {AnyAction }from 'redux';\n\nconst RENDINGDATA = 'chatting/RendingData';\nconst ADDLOADING = 'chatting/AddLoading';\nconst SWITCHDATA = 'chatting/SwitchData';\nconst FINISHLOADING = 'chatting/FinishLoading';\nconst AUTOINTENT = 'chatting/AutoIntent';\nconst ADDGREETING = 'chatting/AddGreeting';\n\n// Chatting을 추가하는 Function\nconst addRendingData = (list: ChattingType)=>({\n type:RENDINGDATA,\n list\n});\n// Client를 추가해놓고 Loading을 그 다음에 추가해놓는 Function\nconst addLoaing = (time:string)=>({\n type:ADDLOADING,\n time\n})\n// 로딩이 존재하는 곳에 데이터를 로딩을 지우고 원하는 데이터를 Switching 시키며\nconst switchData = (obj:ChattingObject,index:number)=>({\n type:SWITCHDATA,\n obj,\n index\n})\n\nconst finishLoading = (obj:ChattingObject,index:number)=>({\n type:FINISHLOADING,\n obj,\n index\n})\nconst autoIntent = (obj:ChattingObject,index:number)=>({\n type:AUTOINTENT,\n obj,\n index\n})\nconst addGreeting = ()=>({\n type:ADDGREETING\n})\n\nconst initialState:ChattingState = [];\n\nconst chatting = (\n state:ChattingState=initialState,\n action:AnyAction\n)=>{\n let newChattingData = state.slice()\n switch(action.type){\n //\n case RENDINGDATA:\n newChattingData.push(action.list)\n return newChattingData;\n case ADDLOADING:\n newChattingData.push([\n {\n type:'Client',\n id:0,\n time:action.time\n },\n {\n type:'Loading',\n id:0,\n time:action.time\n }\n ])\n return newChattingData\n case SWITCHDATA:\n newChattingData[action.index]=[\n ...newChattingData[action.index].slice(0,-1),\n action.obj,\n {\n type:'Loading',\n id:0,\n time:action.time\n }\n ]\n return newChattingData;\n case FINISHLOADING:\n newChattingData[action.index]=[\n ...newChattingData[action.index].slice(0,-1),\n action.obj\n ]\n return newChattingData;\n case AUTOINTENT:\n newChattingData[action.index]=[\n ...newChattingData[action.index].slice(0,-1),\n action.obj,\n {\n type:'null',\n id:0,\n time:0\n }\n ]\n return newChattingData;\n case ADDGREETING:\n newChattingData.push([{\n type:'Greeting',\n id:0,\n time:''\n }])\n return newChattingData\n default:\n return state\n }\n};\n\ntype ChatType = 'ChatBubbles' \n| 'Relation' \n| 'CheckerBoard' \n| 'Carousel' \n| 'OneCard' \n| 'Action'\n| 'User'\n| 'Client'\n| 'Loading'\n| 'AutoIntents'\n| 'Greeting'\n| 'VisualPage'\n| 'null'\n// ChatObject에서 time은 chat을 더할때마다 컨트롤한다.\n\ntype ChattingObject = {\n type:ChatType; //어떤 타입의 chatting을 의미하는지\n id: number; // type의 몇번째 chatting을 의미하는지\n time: string; //채팅이 만들어진 시점을 저장\n};\n// 하나의 Chatting을 Array로 묶어놓는다. 이 Array는 한번의 유저의 요청 그리고 요청에 대한 Response가 담겨있다.\ntype ChattingType = ChattingObject[]; \n// 모든 대화를 저장한다.\ntype ChattingState = ChattingType[];\n\nexport {\n addRendingData,\n addLoaing,\n switchData,\n finishLoading,\n autoIntent,\n addGreeting\n};\n\nexport type {\n ChatType,\n ChattingObject,\n ChattingType,\n ChattingState\n}\n\nexport default chatting;","import { AnyAction } from \"redux\";\n\nconst ADDVISUALPAGE = 'visualpage/Add'\nconst OPENVISUALPAGE = 'visualpage/Open';\nconst CLOSEVISUALPAGE = 'visualpage/CLOSE';\n\nconst addVisualPage = (array:VisualPageState)=>({\n type:ADDVISUALPAGE,\n array\n})\n\nconst openVisualPage = ()=>({\n type:OPENVISUALPAGE\n})\n\nconst closeVisualPage = ()=>({\n type:CLOSEVISUALPAGE\n})\n\nconst initialState:VisualPageState= {\n source:[],\n state:false\n}\n\nconst visualPage = (\n state:VisualPageState = initialState,\n action:AnyAction\n)=>{\n switch(action.type){\n case ADDVISUALPAGE:\n return {\n source:action.array ,\n state:false\n }\n case OPENVISUALPAGE:\n return {\n ...state,\n state:true\n }\n case CLOSEVISUALPAGE:\n return {\n ...state,\n state:false\n }\n default:\n return state\n }\n}\n\ntype VisualPageState = {\n source:any;\n state:boolean;\n};\nexport {\n addVisualPage,\n openVisualPage,\n closeVisualPage\n}\n\nexport type{\n VisualPageState\n}\n\nexport default visualPage;","const ADDBOOKMARK = 'bookmark/AddBookMark';\nconst SWITCHSTATE = 'bookmark/SwitchState';\nconst OFFSTATE = 'bookmark/OffState';\nconst BUTTONSTATE = 'bookmark/ButtonState';\nconst BUTTONOFF = 'bookmark/ButtonOff';\n\nexport const addBookMark = (list: BookMarkObject[]) => ({\n type: ADDBOOKMARK,\n list,\n});\nexport const switchState = () => ({ type: SWITCHSTATE });\nexport const offState = () => ({ type: OFFSTATE });\nexport const buttonState = () => ({ type: BUTTONSTATE });\nexport const buttonOff = () => ({ type: BUTTONOFF });\nconst initailState: BookMarkType = {\n bookmarkState: false,\n buttonState: false,\n data: [],\n};\n\nconst bookmark = (state: BookMarkType = initailState, action: any) => {\n switch (action.type) {\n case ADDBOOKMARK:\n return {\n ...state,\n data: [...state.data, ...action.list],\n };\n case SWITCHSTATE:\n return {\n ...state,\n bookmarkState: true,\n };\n case OFFSTATE:\n return {\n ...state,\n bookmarkState: false,\n };\n case BUTTONSTATE:\n return {\n ...state,\n buttonState: !state.buttonState,\n };\n case BUTTONOFF:\n return {\n ...state,\n buttonState: false,\n };\n default:\n return state;\n }\n};\n\nexport default bookmark;\n\nexport interface BookMarkObject {\n type: string;\n name: string;\n value: string;\n id: string;\n}\n\nexport type BookMarkType = {\n bookmarkState: boolean;\n buttonState: boolean;\n data: BookMarkObject[];\n};\n\ntype AddBookMarkAction = ReturnType;\ntype AddSwitchStateAction = ReturnType;\n\nexport type Actions = AddBookMarkAction | AddSwitchStateAction;\n","const ADDUSERCHATTING = 'user/AddUserChatting';\n\nconst addUserBubbles = (message: string) => ({\n type: ADDUSERCHATTING,\n message,\n});\n\nconst initialState: UserChattingState = [];\n\nconst userChatting = (\n state: UserChattingState = initialState,\n action: Actions\n) => {\n let newState = state.slice();\n switch (action.type) {\n case ADDUSERCHATTING:\n newState.push(action.message);\n return newState;\n default:\n return state;\n }\n};\n\ntype UserChattingState = string[];\n\ntype Actions = ReturnType;\n\nexport { addUserBubbles };\n\nexport type { UserChattingState, Actions };\n\nexport default userChatting;\n","const ADDSEARCHINTENT = 'intent/AddSearchIntent';\nconst AUTOINTENTSTATE = 'intent/AutoIntentState';\n\nconst addSearchIntent = (list: IntentType) => ({\n type: ADDSEARCHINTENT,\n list,\n});\n\nconst autoIntentState = (state: boolean) => ({\n type: AUTOINTENTSTATE,\n state,\n});\n\nconst initailState: IntentType = {\n searchIntent: [],\n autoIntentState: false,\n};\n\nconst intent = (state: IntentType = initailState, action: any) => {\n // console.log(action);\n // console.log(state);\n switch (action.type) {\n case ADDSEARCHINTENT:\n return {\n ...state,\n searchIntent: [...action.list],\n };\n case AUTOINTENTSTATE:\n return {\n ...state,\n autoIntentState: action.state,\n };\n\n default:\n return state;\n }\n};\n\n// type Actions = ReturnType;\ntype IntentType = any;\n\nexport type { IntentType };\n\nexport default intent;\nexport { addSearchIntent, autoIntentState };\n","import { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport styled from 'styled-components';\nimport { RootState } from '../../modules';\nimport { IntentObject } from '../../modules/defaults';\nimport { addSearchIntent, IntentType } from '../../modules/intent';\nimport { NotoSans14 } from '../../styles/fontStyls';\nimport { ClientNameProps } from '../../types';\n\ninterface IntentProps {\n input: string;\n setInput: (str: string) => void;\n postInputUpdate: (input: string, id: string) => void;\n}\n\nconst chagneTextStyleBold = (name: string, input: string) => {\n if (input.length !== 0) {\n const filterName: string = name;\n const arrFilterName: (string | JSX.Element)[] = filterName.split('');\n const arrInput = input.split(' ');\n\n const styledText = arrInput.map((word) => {\n const filterIndex = filterName.toUpperCase().indexOf(word.toUpperCase());\n let num = 0;\n if (filterIndex > -1 && num === 0) {\n for (let i = filterIndex; i < filterIndex + word.length; i++) {\n arrFilterName[i] = {arrFilterName[i]};\n }\n num++;\n }\n\n return arrFilterName;\n });\n return styledText[0];\n }\n};\n\nconst Intent = ({ input, setInput, postInputUpdate }: IntentProps) => {\n const dispatch = useDispatch();\n const searchIntentList = (list: IntentType) => {\n dispatch(addSearchIntent(list));\n };\n\n const { intents } = useSelector((state: RootState) => ({\n intents: state.defaults.intent,\n }));\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n const { intentSearch } = useSelector((state: RootState) => ({\n intentSearch: state.intent,\n }));\n\n useEffect(() => {\n if (!input || !input.trim()) return searchIntentList([]);\n\n const arrInput = input.split(' ');\n const filterInput = arrInput.filter(\n (word, index) => word !== ' ' && arrInput.indexOf(word) === index\n );\n\n const searchWordss: IntentType = filterInput.map((word, index: number) => {\n let searchWords = [];\n\n searchWords = intents.filter((ele: IntentObject) => {\n const intent = ele.name.toUpperCase();\n return index === 0 && intent.indexOf(word.toUpperCase()) > -1;\n });\n\n if (index > 0) {\n searchWords = searchWords.filter(\n (search: { name: string }) => search.name.indexOf(word) > -1\n );\n }\n\n return searchWords;\n });\n\n searchIntentList(searchWordss[0].slice(0, 4));\n\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [input, intents]);\n\n const handleOnClick = (ele: { name: string; id: string }) => {\n setInput('');\n postInputUpdate(ele.name, ele.id);\n };\n\n return (\n \n {intentSearch.searchIntent.map(\n (ele: { id: any; selected?: any; name: any }) => {\n return (\n handleOnClick(ele)}\n selected={ele?.selected}\n >\n {chagneTextStyleBold(ele.name, input)}\n \n );\n }\n )}\n \n );\n};\n\nexport default Intent;\n\ninterface WrapProps {\n state: boolean;\n}\ninterface IntentWrap {\n clientname: string;\n selected: boolean;\n}\n\nconst Wrap = styled.div`\n display: ${(props) => (props.state ? '' : 'none')};\n position: fixed;\n top: 0px;\n left: 50%;\n transform: translateX(-50%);\n width: 100%;\n max-width: 375px;\n height: ${(props) => (props.state ? 'calc(100% - 72px)' : '0px')};\n background-color: rgba(0, 0, 0, 0.8);\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n align-items: flex-end;\n z-index: 1000;\n`;\n\nconst IntentEleWrap = styled.div`\n border-radius: 20px 20px 0 20px;\n padding: 11px 20px 13px 12px;\n margin-bottom: 12px;\n margin-right: 18px;\n background-color: ${(props) => (props.selected ? '#f4f4f4' : '#fff')};\n color: #898e92;\n ${NotoSans14}\n b {\n color: ${({ theme, clientname }) => theme[clientname].intent.color};\n }\n :hover {\n background-color: #c9c9c9;\n cursor: pointer;\n }\n`;\n","import { AnyAction } from \"redux\";\n\nconst ADDCAROUSEL = 'carousel/AddCarousel';\n\nconst addCarousel = (list: CarouselList)=>({\n type:ADDCAROUSEL,\n list\n})\n\nconst initialState:CarouselState = [];\n\nconst carousel =(\n state:CarouselState = initialState,\n action:AnyAction\n)=>{\n let newState = state.slice()\n switch(action.type){\n case ADDCAROUSEL:\n newState.push(action.list);\n return newState;\n default:\n return state;\n }\n}\n\ntype CarouselObject = {\n\tbuttonName:string;\n\tid:string;\n\tcontent:string; // 해당 내용은 HTML\n\ttitle:string; // 해당 내용은 HTML\n\timage:string;\n type:string;\n}\ntype CarouselList = CarouselObject[];\ntype CarouselState = CarouselList[];\n\nexport default carousel;\nexport {\n addCarousel\n}\nexport type{\n CarouselObject,\n CarouselList,\n CarouselState\n}","const ADDBUBBLES = 'chatbubbles/AddChatBubbles';\n\nconst addChatBubbles = (obj: ChatBubblesObject) => ({\n type: ADDBUBBLES,\n obj,\n});\n\nconst initialState: ChatBubblesState = [];\n\nconst chatbubbles = (\n state: ChatBubblesState = initialState,\n action: Actions\n) => {\n let newState = state.slice();\n switch (action.type) {\n case ADDBUBBLES:\n newState.push(action.obj);\n return newState;\n default:\n return state;\n }\n};\n\n//chatBubble\ninterface actionArrayEle {\n name: string;\n value: string;\n type: string;\n}\n\ntype ChatBubblesObject = {\n image: string;\n message: string;\n bubbleState: boolean;\n buttons: {\n negative: string;\n positive: string;\n } | null;\n action: actionArrayEle[] | null;\n};\n\ntype ChatBubblesState = ChatBubblesObject[];\n\ntype Actions = ReturnType;\n\nexport { addChatBubbles };\n\nexport type { ChatBubblesObject, ChatBubblesState, Actions };\nexport default chatbubbles;\n","import { AnyAction } from \"redux\";\n\nconst ADDCHECKERBOARD = 'checkerBoard/AddCheckerBoard';\n\nconst addCheckerBoard = (list:CheckerBoardList)=>({\n type:ADDCHECKERBOARD,\n list\n})\n\nconst initialState:CheckerBoardState = [];\n\nconst checkerBoard =(\n state:CheckerBoardState = initialState,\n action:AnyAction\n)=>{\n let newState = state.slice()\n switch(action.type){\n case ADDCHECKERBOARD:\n newState.push(action.list)\n return newState\n default:\n return state\n }\n}\n\ntype CheckerBoardObject = {\n\tbuttonName:string;\n\tid:string;\n\timage:string;\n type:string;\n};\n\ntype CheckerBoardList = CheckerBoardObject[];\ntype CheckerBoardState = CheckerBoardList[];\n\nexport default checkerBoard;\nexport{\n addCheckerBoard\n}\nexport type{\n CheckerBoardObject,\n CheckerBoardList,\n CheckerBoardState\n}","import { AnyAction } from \"redux\";\n\nconst ADDONECARD = 'onecard/AddOnecard';\n\nconst addOnecard = (list:OnecardList)=>({\n type:ADDONECARD,\n list\n})\n\nconst initialState:OnecardState = [];\n\nconst onecard = (\n state:OnecardState = initialState,\n action:AnyAction\n)=>{\n let newState = state.slice();\n switch(action.type){\n case ADDONECARD:\n newState.push(action.list);\n return newState;\n default:\n return state;\n }\n}\n\ntype OnecardObject={\n buttonName:string;\n id:string;\n shared:{\n content:string;\n image:string;\n \"image-src\":string;\n }\n}\ntype OnecardList = OnecardObject[];\ntype OnecardState = OnecardList[];\n\nexport default onecard;\nexport{\n addOnecard\n}\nexport type{\n OnecardObject,\n OnecardList,\n OnecardState\n}","import { AnyAction } from \"redux\";\n\nconst ADDRELATION = 'relation/AddRelation';\n\nconst addRelation = (list:RelationList)=>({\n type:ADDRELATION,\n list\n})\n\nconst initialState:RelationState = [];\n\nconst relation = (\n state:RelationState = initialState,\n action:AnyAction\n)=>{\n let newState = state.slice();\n switch(action.type){\n case ADDRELATION:\n newState.push(action.list)\n return newState\n default:\n return state\n }\n}\n\nexport default relation;\nexport{\n addRelation\n}\nexport type{\n RelationObject,\n RelationList,\n RelationState\n}\n\ntype RelationObject = {\n id:string;\n name:string;\n type:string;\n value:string;\n}\ntype RelationList = RelationObject[];\ntype RelationState = RelationList[];","import { AnyAction } from \"redux\";\nimport { ChattingType } from \"../types\";\n\nconst ADD = 'temporary/AddTemporary';\nconst DELETE = 'temporary/DeleteTemporary';\n\nconst addTemporary = (list:ChattingType)=>({\n type:ADD,\n list\n})\n\nconst deleteTemporary = ()=>({\n type:DELETE\n})\n\nconst initialState:ChattingType = [];\n\nconst temporary = (\n state:ChattingType = initialState,\n action: AnyAction\n)=>{\n switch(action.type){\n case ADD:\n return action.list;\n case DELETE:\n return [];\n default:\n return state;\n }\n}\n\nexport default temporary;\n\nexport{\n addTemporary,\n deleteTemporary\n}","import { Action } from 'redux';\nimport { ThunkAction } from 'redux-thunk';\nimport { RootState } from '.';\nimport { getTime } from '../api/functions';\nimport { ResponseDataArrProps } from '../types';\nimport { addCarousel } from './carousel';\nimport { addChatBubbles } from './chatBubbles';\nimport { addLoaing, ChatType, finishLoading, switchData } from './chatting';\nimport { addCheckerBoard } from './checkerBoard';\nimport { addOnecard } from './oneCard';\nimport { addRelation } from './relation';\nimport { addTemporary } from './temporary';\nimport { addVisualPage, openVisualPage } from './visualPage';\ninterface ChattingArrTypes {\n type: ChatType;\n id: number;\n time: string;\n}\n\nexport const answerGenerator =\n (\n responseArr: ResponseDataArrProps[]\n ): ThunkAction> =>\n (dispatch, getState) => {\n // eslint-disable-next-line array-callback-return\n const chattingArr: ChattingArrTypes[] = responseArr.map((ele, index) => {\n switch (ele.type) {\n case 'ChatBubbles':\n dispatch(\n addChatBubbles({\n image: ele.data.image ? ele.data.image : '',\n message: ele.data.message,\n bubbleState: index === 0 ? true : false,\n buttons: null,\n action: ele.data.actions.length !== 0 ? ele.data.actions : null,\n })\n );\n return {\n type: 'ChatBubbles',\n id: getState().chatbubbles.length - 1,\n time: getTime(),\n };\n case 'Relation':\n dispatch(addRelation(ele.data));\n return {\n type: 'Relation',\n id: getState().relation.length - 1,\n time: getTime(),\n };\n case 'VisualPage':\n dispatch(addVisualPage(ele.data));\n return {\n type: 'VisualPage',\n id: 0,\n time: getTime(),\n };\n case 'CheckerBoard':\n dispatch(addCheckerBoard(ele.data));\n return {\n type: 'CheckerBoard',\n id: getState().checkerBoard.length - 1,\n time: getTime(),\n };\n case 'Carousel':\n dispatch(addCarousel(ele.data));\n return {\n type: 'Carousel',\n id: getState().carousel.length - 1,\n time: getTime(),\n };\n case 'OneCard':\n dispatch(addOnecard(ele.data));\n return {\n type: 'OneCard',\n id: getState().onecard.length - 1,\n time: getTime(),\n };\n case 'AutoIntents':\n dispatch(\n addChatBubbles({\n image: ele.data.image ? ele.data.image : '',\n message: ele.data.message,\n bubbleState: true,\n buttons: {\n negative: ele.data.negativeButton,\n positive: ele.data.positiveButton,\n },\n action: null,\n })\n );\n return {\n type: 'AutoIntents',\n id: getState().chatbubbles.length - 1,\n time: getTime(),\n };\n default:\n return {\n type: 'null',\n id: 0,\n time: '',\n };\n }\n });\n let timeArr: Array = [];\n chattingArr.forEach((ele, index) => {\n if (index === 0) {\n return timeArr.push(1000);\n } else if (ele?.type === 'AutoIntents') {\n // 2.5\n return timeArr.push(timeArr[index - 1] + 3500);\n } else {\n return timeArr.push(timeArr[index - 1] + 1000);\n }\n });\n\n dispatch(addLoaing(getTime()));\n // eslint-disable-next-line array-callback-return\n chattingArr.some((ele, index) => {\n if (index === 0 && chattingArr.length !== 1) {\n setTimeout(() => {\n dispatch(switchData(ele, getState().chatting.length - 1));\n }, timeArr[index]);\n } else if (index === 0 && chattingArr.length === 1) {\n setTimeout(() => {\n dispatch(finishLoading(ele, getState().chatting.length - 1));\n }, timeArr[index]);\n } else if (ele?.type === 'VisualPage') {\n setTimeout(() => {\n dispatch(openVisualPage());\n dispatch(\n finishLoading(\n {\n type: 'null',\n id: 0,\n time: '',\n },\n getState().chatting.length - 1\n )\n );\n }, timeArr[index]);\n return true;\n } else if (ele?.type === 'AutoIntents') {\n setTimeout(() => {\n dispatch(\n switchData(\n { type: 'Client', id: 0, time: getTime() },\n getState().chatting.length - 1\n )\n );\n }, timeArr[index - 1] + 500);\n setTimeout(() => {\n dispatch(finishLoading(ele, getState().chatting.length - 1));\n }, timeArr[index]);\n } else if (index === chattingArr.length - 1) {\n setTimeout(() => {\n dispatch(finishLoading(ele, getState().chatting.length - 1));\n }, timeArr[index]);\n } else {\n setTimeout(() => {\n dispatch(switchData(ele, getState().chatting.length - 1));\n }, timeArr[index]);\n }\n });\n\n const visualPageIndex = chattingArr.findIndex(\n (ele) => ele.type === 'VisualPage'\n );\n if (visualPageIndex > -1) {\n dispatch(addTemporary(chattingArr.slice(visualPageIndex + 1)));\n }\n };\n","import OpenImage from '../../assets/bookmark/Open.png';\nimport styled from 'styled-components';\nimport { BookMarkObject, buttonState } from '../../modules/bookMark';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { RootState } from '../../modules';\nimport { ChattingType, ClientNameProps, StyleThemeProps } from '../../types';\nimport { addRendingData } from '../../modules/chatting';\n\nimport { addUserBubbles } from '../../modules/userChatting';\nimport { getTime, responseParsing } from '../../api/functions';\nimport { postMessage2 } from '../../api/axiosFunction';\nimport { answerGenerator } from '../../modules/thunks';\nimport { useEffect, useState } from 'react';\n\nconst BookMark = () => {\n // redux state\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n const { userChatting } = useSelector((state: RootState) => ({\n userChatting: state.userChatting,\n }));\n const data = useSelector((state: RootState) => ({\n bookMark: state.bookmark,\n }));\n const { buttonClickState } = useSelector((state: RootState) => ({\n buttonClickState: state.bookmark.buttonState,\n }));\n\n const dataArray: BookMarkObject[] = data.bookMark.data;\n const state: boolean = data.bookMark.bookmarkState;\n\n const [delay, setDelay] = useState(false);\n\n useEffect(() => {\n if (state) setTimeout(() => setDelay(true), 200);\n if (!state) setDelay(false);\n }, [state]);\n\n const dispatch = useDispatch();\n const onUserData = (message: string, list: ChattingType) => {\n dispatch(addUserBubbles(message));\n dispatch(addRendingData(list));\n };\n const onButtonState = () => dispatch(buttonState());\n\n const clickData = async (\n responseType: string,\n content: string,\n id: string | null\n ) => {\n onButtonState();\n\n if (content[0] === '<') {\n const newContent = content.split('>')[1].split('<')[0];\n onUserData(newContent, [\n { type: 'User', id: userChatting.length, time: getTime() },\n ]);\n const {\n data: { response },\n } = await postMessage2(newContent, id, 'button');\n const responseData = responseParsing(response);\n dispatch(answerGenerator(responseData));\n } else {\n onUserData(content, [\n { type: 'User', id: userChatting.length, time: getTime() },\n ]);\n const {\n data: { response },\n } = await postMessage2(content, id, 'button');\n const responseData = responseParsing(response);\n dispatch(answerGenerator(responseData));\n }\n };\n if (state && delay && dataArray.length !== 0) {\n return (\n \n \n {buttonClickState ? (\n dataArray.map((ele, index) => {\n return (\n clickData(ele.type, ele.name, ele.id)}\n key={index}\n clientname={clientName}\n >\n {ele.name}\n \n );\n })\n ) : (\n {dataArray[0].name}\n )}\n \n \n \n );\n } else {\n return
;\n }\n};\n\nexport default BookMark;\n\ninterface WrapType {\n overflowState: boolean;\n clientName: string;\n}\n\nconst Wrap = styled.div`\n width: 100%;\n height: ${(props) => (props.overflowState ? '140px' : '49px')};\n background: ${({ theme, clientName }) =>\n theme[clientName].bookmark.wrap.background};\n box-shadow: 0px -6px 10px rgba(1, 1, 1, 0.1);\n border-radius: 30px 30px 0px 0px;\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n transition: all 0.3s linear;\n`;\nconst RelationWrap = styled.div`\n width: 100%;\n margin-top: 3px;\n margin-left: 42px;\n height: 100%;\n overflow-y: scroll;\n scrollbar-width: none;\n &::-webkit-scrollbar {\n display: none;\n }\n`;\n\nconst Relation = styled.div`\n width: 100%;\n font-family: Noto Sans KR;\n font-style: normal;\n font-weight: normal;\n font-size: 15px;\n line-height: 22px;\n /* identical to box height */\n opacity: ${({ theme, clientname }) =>\n theme[clientname].bookmark?.relation?.opacity || '0.6'};\n margin-top: 10px;\n cursor: pointer;\n color: ${({ theme, clientname }) =>\n theme[clientname].bookmark?.relation?.color || '#111111'};\n`;\n\ninterface ButtonProps {\n imageUrl: string;\n state: boolean;\n clientName: string;\n}\n\nconst Button = styled.button`\n width: 24px;\n height: 24px;\n padding: 0px;\n border: 0px;\n margin-right: 30px;\n margin-top: 12px;\n background-color: ${({ theme, clientName }) =>\n theme[clientName].bookmark.button.background};\n background-image: url(${(props) => props.imageUrl});\n background-position: center;\n background-repeat: no-repeat;\n transition: all 0.3s linear;\n transform: ${(props) => (props.state ? 'rotate(180deg)' : 'rotate(0deg)')};\n`;\n","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEBSURBVHgB7ZI/C4JAGMbvPEUETxB06QM4RE3NQVNT37OtpbGloSmqqQ/Q1qChciEm/um9oTBJMR1a7gfC+5y+7z2PdwgJBALyy8e2beuKoowNw2BRFCVtejBqiWmao6IoJhhjles8zw9hGJ56b8Bdp2k6g3Lw5TWTZXntuu690wZV1xzQj7LmNKUhda5VVZ1DOYRhcmnwPgiCja7rXL8TwfpA0zSHUnqpng1u4xq4EkK2nuex14JlWTTLsgWUtCnNRwJw4EiSNK269n1/V3XGdRzH529p4KaxJEluXEvlJvgtZXmFA1zB8DNqAFIdId0SSlYz5xOI7vAHdaBPr0DwR55t93btbPq3pAAAAABJRU5ErkJggg==\"","import styled from 'styled-components';\nimport { useRef, useState } from 'react';\nimport { ReactComponent as SendSVG } from '../../assets/input/Send.svg';\nimport { getTime, responseParsing } from '../../api/functions';\nimport { postMessage2 } from '../../api/axiosFunction';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { RootState } from '../../modules';\n\nimport { addRendingData, ChattingType } from '../../modules/chatting';\nimport { closeVisualPage } from '../../modules/visualPage';\nimport { offState, switchState } from '../../modules/bookMark';\nimport { addUserBubbles } from '../../modules/userChatting';\nimport {\n autoIntentState,\n addSearchIntent,\n IntentType,\n} from '../../modules/intent';\nimport Intent from './Intent';\nimport { ClientNameProps, StyleThemeProps } from '../../types';\nimport BookMark from './BookMark';\nimport { answerGenerator } from '../../modules/thunks';\n\ninterface pressInput {\n key: string;\n}\n\nconst Input = () => {\n // Redux state\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n const { userChatting } = useSelector((state: RootState) => ({\n userChatting: state.userChatting,\n }));\n const { intents } = useSelector((state: RootState) => ({\n intents: state.intent,\n }));\n const { defaults } = useSelector((state: RootState) => ({\n defaults: state.defaults,\n }));\n\n // Redux Dispatch Functions\n const dispatch = useDispatch();\n const onSwitchBookMark = () => {\n dispatch(switchState());\n };\n const onOffState = () => {\n dispatch(offState());\n };\n const onUserData = (message: string, list: ChattingType) => {\n dispatch(addUserBubbles(message));\n dispatch(addRendingData(list));\n };\n const OnCloseVisualPage = () => {\n dispatch(closeVisualPage());\n };\n const searchIntentList = (list: IntentType) => {\n dispatch(addSearchIntent(list));\n };\n const changeAutoIntentState = (state: boolean) => {\n dispatch(autoIntentState(state));\n };\n\n const inputRef = useRef(null);\n\n // React\n const [inputText, setInputText] = useState('');\n const [inputState, setInputState] = useState(false);\n const [selectedListText, setSelectedListText] = useState('');\n const [selectedListIndex, setSelectedListIndex] = useState(0);\n const [inputButtonState, setInputButtonState] = useState(false);\n const [checkResponseEmail, setCheckResponseEmail] = useState(false);\n\n const focusInput = () => {\n setInputState(true);\n onOffState();\n };\n\n const blurInput = () => {\n setInputState(false);\n if (checkResponseEmail) {\n onOffState();\n } else {\n onSwitchBookMark();\n }\n };\n\n const changeInput = (e: any) => {\n setInputText(e.target.value);\n resetSeletedList();\n };\n\n const clickSendBtn = () => {\n if (inputText.trim() !== '') {\n postInputUpdate(inputText, null);\n resetSeletedList();\n }\n };\n\n const resetSeletedList = () => {\n setSelectedListIndex(0);\n intents.searchIntent.forEach(\n (list: { selected: boolean }) => (list.selected = false)\n );\n };\n\n const selectSearchWord = (arrowKey: string) => {\n if (!arrowKey || intents.searchIntent.length === 0) return;\n\n let listIndex = 0;\n if (arrowKey === 'ArrowUp') {\n listIndex =\n selectedListIndex === 0\n ? intents.searchIntent.length\n : selectedListIndex - 1;\n\n // selected cycle\n if (listIndex === 0) listIndex = intents.searchIntent.length;\n }\n\n if (arrowKey === 'ArrowDown') {\n listIndex = selectedListIndex === 0 ? 1 : selectedListIndex + 1;\n\n // selected cycle\n if (listIndex === intents.searchIntent.length + 1) listIndex = 1;\n }\n\n setSelectedListIndex(listIndex);\n\n intents.searchIntent.forEach(\n (list: { selected: boolean; name: string }, index: number) => {\n if (listIndex === index + 1) {\n list.selected = true;\n setSelectedListText(list.name);\n } else {\n list.selected = false;\n }\n }\n );\n\n searchIntentList(intents.searchIntent);\n };\n\n const onKeyDownArrowBtn = (e: { key: string; target: any }) => {\n if (e.key === 'ArrowUp' || e.key === 'ArrowDown') {\n const checkEntries = checkDuplicateEntries(100);\n if (!checkEntries) selectSearchWord(e.key);\n\n freezeTextCursor(e);\n }\n };\n\n const onPressInput = ({ key }: pressInput) => {\n if (key === 'Enter' && inputText.trim() !== '') {\n const text = selectedListIndex === 0 ? inputText : selectedListText;\n\n postInputUpdate(text, null);\n resetSeletedList();\n }\n };\n\n const postInputUpdate = async (input: string, id: string | null) => {\n OnCloseVisualPage();\n setInputText('');\n onUserData(input, [\n { type: 'User', id: userChatting.length, time: getTime() },\n ]);\n if (checkResponseEmail) {\n setInputButtonState(true);\n inputRef?.current?.setAttribute('placeholder', '잠시만 기다려 주세요...');\n }\n\n const {\n data: { response },\n } = await postMessage2(input, id, 'text');\n if (response?.contents[0]?.message === '👉 문의 내용을 입력해주세요.') {\n setCheckResponseEmail(true);\n }\n if (checkResponseEmail) {\n setCheckResponseEmail(false);\n setInputButtonState(false);\n inputRef?.current?.focus();\n inputRef?.current?.setAttribute('placeholder', defaults.placeholder);\n }\n const responseData = responseParsing(response);\n checkAutoIntent(responseData);\n if (responseData.length === 1 && intents.autoIntentState) {\n if (\n responseData[0].data.message === '' ||\n responseData[0].data.message ===\n '해당 인텐트의 리스폰스가 아직 등록되지 않았습니다.'\n ) {\n const input = '1:1 문의';\n const id = '6058376fbf039a045c8e57be';\n const {\n data: { response },\n } = await postMessage2(input, id, 'text');\n const responseData = responseParsing(response);\n dispatch(answerGenerator(responseData));\n changeAutoIntentState(false);\n } else {\n dispatch(answerGenerator(responseData));\n }\n } else {\n dispatch(answerGenerator(responseData));\n }\n };\n\n const checkAutoIntent = (data: any[]) => {\n data.forEach((item) => {\n if (\n item.type === 'AutoIntents' &&\n item.data.message === '1:1 문의로 연결할까요?😲'\n ) {\n changeAutoIntentState(true);\n }\n });\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default Input;\n\ninterface Image {\n inputstate: boolean;\n clientname: string;\n}\n\ninterface PostProps {\n inputstate: boolean;\n clientname: string;\n}\n\ninterface TextInputProps {\n inputstate: boolean;\n clientname: string;\n}\n\n// 49 +72\nconst Wrap = styled.div`\n position: fixed;\n bottom: 0px;\n width: 100%;\n max-width: 375px;\n display: flex;\n flex-direction: column-reverse;\n z-index: 999;\n background: ${({ theme, clientname }) =>\n theme[clientname].input?.inputWrap?.background};\n`;\nconst InputWrap = styled.div`\n width: 100%;\n height: 72px;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n background-color: ${({ theme, clientname }) =>\n theme[clientname].input.wrap.background};\n z-index: 999;\n`;\n\nconst PostWrap = styled.div`\n width: calc(100% - 36px);\n height: calc(100% - 22px);\n border: ${({ inputstate, theme, clientname }) =>\n inputstate\n ? theme[clientname].input.postWrap.border.on\n : theme[clientname].input.postWrap.border.off};\n box-sizing: border-box;\n border-radius: 100px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: ${({ inputstate, theme, clientname }) =>\n inputstate\n ? theme[clientname].input.postWrap?.background?.on || '#ffffff'\n : theme[clientname].input.postWrap?.background?.off || '#ffffff'};\n`;\n\nconst TextInput = styled.input`\n border: 0px;\n width: 100%;\n height: 23px;\n font-family: 'Noto Sans KR', Poppins;\n font-size: 16px;\n line-height: 23px;\n margin-left: 24px;\n outline: none;\n background-color: ${({ inputstate, theme, clientname }) =>\n inputstate\n ? theme[clientname].input?.textInput?.background?.on\n : theme[clientname].input?.textInput?.background?.off};\n color: ${({ inputstate, theme, clientname }) =>\n inputstate\n ? theme[clientname].input?.textInput?.color?.on\n : theme[clientname].input?.textInput?.color?.off};\n ::placeholder,\n ::-webkit-input-placeholder {\n color: ${({ theme, clientname }) =>\n theme[clientname].input?.textInput?.placeholder ||\n 'rgba(11, 11, 11, 0.2)'};\n }\n`;\n\nconst SendButton = styled.div`\n width: 30px;\n height: 22px;\n border: 0px;\n padding: 0px;\n fill: red;\n /* background-color: white; */\n g {\n opacity: ${({ inputstate }) => (inputstate ? '1' : '0.2')};\n }\n path {\n fill: ${({ theme, clientname }) =>\n theme[clientname].input.sendbutton.background};\n }\n margin-right: 13px;\n`;\n\nconst checkDuplicateEntries = (() => {\n let check = true;\n\n return (interval: number) => {\n if (!check) return true;\n\n check = false;\n\n setTimeout(() => (check = true), interval);\n\n return check;\n };\n})();\n\nconst freezeTextCursor = (event: { target: any }) => {\n const selectionEnd = event.target.selectionEnd;\n\n setTimeout(() => {\n event.target.selectionStart = event.target.selectionEnd = selectionEnd;\n }, 0);\n};\n","const MODALDATA = 'modal/ModalState';\n\nexport const setModalData = ({ state, url }: ModalType) => ({\n type: MODALDATA,\n state,\n url,\n});\n\ninterface ModalType {\n state: string;\n url: string;\n}\n\nconst initailState: ModalType = {\n state: 'close',\n url: 'none',\n};\n\nconst modal = (state: ModalType = initailState, action: Actions) => {\n switch (action.type) {\n case MODALDATA:\n return { ...state, state: action.state, url: action.url };\n\n default:\n return state;\n }\n};\n\ntype ModalStateActions = ReturnType;\n\nexport type { ModalType };\nexport type Actions = ModalStateActions;\n\nexport default modal;\n","import { Button } from '@material-ui/core';\nimport styled from 'styled-components';\nimport { NotoSans16 } from '../../../styles/fontStyls';\nimport {\n ChatBubblesObject,\n ClickDataFuction,\n ClientNameProps,\n StyleThemeProps,\n} from '../../../types';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { RootState } from '../../../modules';\nimport { setModalData } from '../../../modules/modal';\n\ninterface BotProps {\n index: number;\n content: ChatBubblesObject;\n clickData: ClickDataFuction;\n}\n\nconst ChattingBubbles = ({ index, content, clickData }: BotProps) => {\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n const dispatch = useDispatch();\n const imageModalOpen = () => {\n dispatch(setModalData({ state: 'open', url: content.image }));\n };\n\n return (\n
\n \n \n
\n \n {content.image !== '' ? (\n
\n \n
\n ) : (\n ''\n )}\n {content.message === ''\n ? ''\n : content.message.split('\\n').map((ele, index) => {\n const phoneNumber = ele.match(/\\d{2,3}-\\d{3,4}-\\d{4}/);\n const emailAddress: any = ele.match(\n /([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+\\.[a-zA-Z0-9_-]+)/gi\n );\n let url: any = ele.match(/(https?:\\/\\/[^ ]*)/);\n if (!url) url = ele.match(/(http?:\\/\\/[^ ]*)/);\n if (phoneNumber) {\n const messageArr = ele.split(phoneNumber[0]);\n return (\n \n {messageArr[0]}\n {\n document.location.href = `tel:${phoneNumber}`;\n }}\n >\n {phoneNumber}\n \n {messageArr[1]}\n \n );\n }\n if (emailAddress) {\n const emailTag = `${emailAddress}`;\n\n ele = ele.replace(emailAddress, emailTag);\n return (\n <>\n \n \n \n \n );\n }\n if (url) {\n const urlTag = `${url[0]}`;\n ele = ele.replace(url[0], urlTag);\n\n return (\n <>\n \n \n \n \n );\n }\n\n return (\n \n {ele} {phoneNumber}\n \n );\n })}\n {content.action\n ? content.action.map(\n (item: { name: string; value: string }, index) => (\n {\n window.open(item.value);\n }}\n >\n {item.name}\n \n )\n )\n : ''}\n {/* {} */}\n \n
\n
\n
\n {content.buttons !== null ? (\n \n \n {\n const positiveText = content.buttons?.positive\n ? content.buttons?.positive\n : '네';\n clickData('User', 'text', positiveText, null);\n }}\n >\n

\n {content.buttons.positive === ''\n ? '네'\n : content.buttons.positive}\n

\n \n
\n \n {\n const negativeText = content.buttons?.negative\n ? content.buttons?.negative\n : '아니오';\n clickData('User', 'text', negativeText, null);\n }}\n >\n

\n {content.buttons.negative === ''\n ? '아니오'\n : content.buttons.negative}\n

\n \n
\n
\n ) : (\n ''\n )}\n
\n );\n};\n\nexport default ChattingBubbles;\ninterface ResTextProps {\n state: boolean;\n clientname: ClientNameProps;\n action: boolean;\n}\n\ntype RelationButtonProps = {\n state: boolean;\n clientname: ClientNameProps;\n};\nconst Response = styled.div`\n display: flex;\n flex-direction: column;\n margin-left: 18px;\n margin-right: 18px;\n width: calc(80% - 18px);\n`;\n\nconst TextWrap = styled.div`\n display: inline-flex;\n flex-direction: column;\n`;\nconst ResText = styled.div`\n width: ${({ action }) => (action ? 'auto' : '100%')};\n padding: 10px 16px;\n margin-top: 4px;\n display: inline-flex;\n flex-direction: column;\n background: ${({ theme, clientname }) =>\n theme[clientname].chattingBubbles.resText.background};\n border: ${({ theme, clientname }) =>\n theme[clientname].chattingBubbles.resText.border};\n box-sizing: border-box;\n border-radius: ${(props) => {\n if (props.state) {\n return '0px';\n } else {\n return '22px';\n }\n }}\n 22px 22px 22px;\n .imageWrap {\n width: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n img {\n width: fit-content;\n max-width: 100%;\n object-fit: cover;\n margin-bottom: 10px;\n border-radius: 10px;\n }\n }\n`;\ninterface ResTextPProps {\n state: boolean;\n clientname: string;\n}\nconst ResTextP = styled.div`\n ${NotoSans16}\n /* identical to box height, or 26px */\n height: ${({ state }) => (state ? '25px' : '')};\n letter-spacing: -0.025em;\n color: ${({ theme, clientname }) =>\n theme[clientname].chattingBubbles.resText.color};\n margin: 0;\n button {\n border: 0px;\n color: blue;\n background-color: inherit;\n }\n`;\n\nconst ResTextA = styled.div`\n ${NotoSans16}\n letter-spacing: -0.025em;\n margin: 0;\n`;\n\nconst EmotionWrap = styled.div`\n margin-left: 18px;\n margin-right: 18px;\n display: flex;\n align-items: flex-start;\n`;\nconst Action = styled.button`\n ${NotoSans16}\n font-weight: bold;\n min-height: 44px;\n background: ${({ theme, clientname }) =>\n theme[clientname].chattingBubbles.action.background};\n border: ${({ theme, clientname }) =>\n theme[clientname].chattingBubbles.action.border};\n box-sizing: border-box;\n box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.08);\n border-radius: 36px;\n margin: 3px 0 3px 0;\n text-align: center;\n color: ${({ theme, clientname }) =>\n theme[clientname].chattingBubbles.action.color};\n &:hover {\n background: ${({ theme, clientname }) =>\n theme[clientname].chattingBubbles.action.hoverColor};\n }\n &:nth-child(1) {\n margin: 5px 0 3px 0;\n }\n`;\nconst RelationButtonWrap = styled.div`\n button {\n height: 43px;\n background: ${({ theme, clientname, state }) =>\n state\n ? theme[clientname].chattingBubbles.relationButton.background.on\n : theme[clientname].chattingBubbles.relationButton.background.off};\n border: ${({ theme, clientname }) =>\n theme[clientname].chattingBubbles.relationButton.border};\n box-sizing: border-box;\n /* Carousel_1 */\n box-shadow: 4px 6px 14px rgba(57, 57, 57, 0.08);\n border-radius: 16px;\n /* Inside Auto Layout */\n flex: none;\n order: 0;\n flex-grow: 0;\n margin-right: 6px;\n margin-top: 14px;\n flex: none;\n order: 0;\n flex-grow: 0;\n padding: 10px 16px;\n &:hover {\n background: ${({ theme, clientname }) =>\n theme[clientname].chattingBubbles.relationButton.hover.background};\n p {\n color: ${({ theme, clientname }) =>\n theme[clientname].chattingBubbles.relationButton.hover.color};\n }\n }\n &:active {\n background: ${({ theme, clientname }) =>\n theme[clientname].chattingBubbles.relationButton.active.background};\n }\n p {\n ${NotoSans16}\n font-weight: 700;\n /* identical to box height, or 150% */\n text-align: center;\n text-transform: uppercase;\n color: ${({ theme, clientname, state }) =>\n state\n ? theme[clientname].chattingBubbles.relationButton.p.color.on\n : theme[clientname].chattingBubbles.relationButton.p.color.off};\n padding: 0px;\n margin: 0px;\n }\n }\n`;\n","import { useSelector } from 'react-redux';\nimport styled from 'styled-components';\nimport { RootState } from '../../../modules';\nimport { ClientNameProps, StyleThemeProps } from '../../../types';\n\ninterface UserProps {\n id: number;\n time: string;\n index: number;\n}\n\nconst User = ({ id, time, index }: UserProps) => {\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n const { text } = useSelector((state: RootState) => ({\n text: state.userChatting[id],\n }));\n return (\n \n \n {text === ' ' ? '' : text}\n {time}\n \n \n );\n};\n\nexport default User;\nconst Wrap = styled.div`\n display: flex;\n align-items: center;\n flex-direction: row-reverse;\n`;\n\nconst Request = styled.div`\n display: inline-flex;\n flex-direction: column;\n margin: 15px 18px;\n max-width: calc(80% - 18px);\n position: relative;\n`;\n\nconst ReqText = styled.p`\n background: ${({ theme, clientname }) =>\n theme[clientname].user.reqText.background};\n border-radius: 24px;\n padding: 10px 16px;\n font-family: Poppins, Noto Sans KR;\n font-style: normal;\n font-weight: 500;\n font-size: 16px;\n line-height: 24px;\n /* identical to box height, or 150% */\n text-align: left;\n color: ${({ theme, clientname }) => theme[clientname].user.reqText.color};\n margin: 0;\n`;\nconst ReqTime = styled.p`\n font-family: Noto Sans KR;\n font-style: normal;\n font-weight: 500;\n font-size: 12px;\n line-height: 17px;\n letter-spacing: -0.025em;\n position: absolute;\n bottom: -17px;\n right: 0;\n width: 100px;\n text-align: right;\n margin: 0;\n color: ${({ theme, clientname }) => theme[clientname].user.reqTime.color};\n opacity: 0.4;\n`;\n","import { useDispatch, useSelector } from 'react-redux';\nimport styled from 'styled-components';\nimport { RootState } from '../../modules';\nimport { ClientNameProps, StyleThemeProps } from '../../types';\nimport { setModalData } from '../../modules/modal';\n\ninterface ClientProps {\n time: string;\n index: number;\n}\n\nconst Client = ({ time }: ClientProps) => {\n const { defaults } = useSelector((state: RootState) => ({\n defaults: state.defaults,\n }));\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n const dispatch = useDispatch();\n const imageModalOpen = () =>\n dispatch(setModalData({ state: 'open', url: defaults.image }));\n\n return (\n \n \n \n

{defaults.name}

\n

{time}

\n
\n
\n );\n};\n\nexport default Client;\n\nconst ClientWrap = styled.div`\n display: flex;\n flex-direction: row;\n margin-top: 15px;\n margin-left: 18px;\n`;\n\nconst ClientImage = styled.img`\n width: 60px;\n height: 60px;\n border-radius: 24px;\n margin-right: 12px;\n`;\nconst ClientTitle = styled.div`\n height: 60px;\n display: flex;\n flex-direction: column;\n justify-content: center;\n margin-bottom: 10px;\n h4 {\n font-family: 'Noto Sans KR', Poppins;\n font-style: normal;\n font-weight: bold;\n font-size: 16px;\n line-height: 22px;\n padding: 0px;\n margin: 0px;\n /* identical to box height, or 137% */\n letter-spacing: -0.025em;\n color: ${({ theme, clientname }) =>\n theme[clientname].client?.title.color || '#111111'};\n }\n p {\n font-family: Noto Sans KR;\n font-style: normal;\n font-weight: 500;\n font-size: 12px;\n line-height: 16px;\n padding: 0px;\n margin: 0px;\n /* identical to box height, or 133% */\n letter-spacing: -0.025em;\n color: ${({ theme, clientname }) =>\n theme[clientname].client?.title.color || '#111111'};\n opacity: 0.4;\n }\n`;\n","import styled from \"styled-components\";\nimport indicator from '../../assets/indicator.gif';\n\ninterface LoadingProps {\n index:number;\n}\n\nconst Loading =({index}:LoadingProps)=>{\n return(\n \n loading\n \n )\n};\n\nexport default Loading;\n\nconst Wrap = styled.div`\n margin-top:4px;\n margin-left: 18px;\n img{\n object-fit: contain;\n width: 40px;\n height: 22px;\n }\n`","export default \"data:image/gif;base64,R0lGODlhTwAsAPIAAMnJydfX17y8vOTk5P///wAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh/wtYTVAgRGF0YVhNUDw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMDY3IDc5LjE1Nzc0NywgMjAxNS8wMy8zMC0yMzo0MDo0MiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDpiOTI3OWQwNC00YTNjLTBkNDUtYTk3NS02NTA1ZTc0ZTAxMDYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NzJCNkIwQzMyQkEyMTFFNTk4MjI4NjU1MjYxOUY5Q0YiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NzJCNkIwQzIyQkEyMTFFNTk4MjI4NjU1MjYxOUY5Q0YiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6Y2FkY2RmOTQtODA1NC1hNDQ3LWE2MGMtM2NmNWIwNjU0ZmFiIiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MTA1MDM3ZTAtMmJhMS0xMWU1LTgzMjAtOGE0YTVlNGUyMmUyIi8+IDwvcmRmOkRlc2NyaXB0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\"","import styled from 'styled-components';\nimport { Swiper, SwiperSlide } from 'swiper/react';\nimport SwiperCore, { Navigation } from 'swiper/core';\nimport 'swiper/swiper.scss';\nimport 'swiper/components/navigation/navigation.scss';\nimport {\n CarouselList,\n CarouselObject,\n ClickDataFuction,\n ClientNameProps,\n StyleThemeProps,\n} from '../../../types';\nimport { NotoSans14, NotoSans16 } from '../../../styles/fontStyls';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '../../../modules';\nimport { useState } from 'react';\n\ninterface CarouselProps {\n index: number;\n list: CarouselList;\n clickData: ClickDataFuction;\n}\ninterface CarouselEleProps {\n ele: CarouselObject;\n clickData: ClickDataFuction;\n}\nSwiperCore.use([Navigation]);\nconst CarouselEle = ({ ele, clickData }: CarouselEleProps) => {\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n const [state, setState] = useState(false);\n return (\n \n \n \n \n \n \n {\n clickData('User', 'button', ele.title, ele.id);\n setState(true);\n }}\n >\n {ele.buttonName}\n \n \n );\n};\n\nconst Carousel = ({ index, list, clickData }: CarouselProps) => {\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n return (\n \n \n \n {list.map((ele, idx) => {\n return (\n \n \n \n );\n })}\n \n \n \n );\n};\n\nexport default Carousel;\ninterface CarouselEleWrapProps {\n state: boolean;\n clientname: string;\n}\n\nconst CarouselWrap = styled.div`\n display: flex;\n width: calc(100%);\n margin-top: 12px;\n`;\n\nconst CarouselMoving = styled.div`\n height: 330px;\n width: 100%;\n overflow: visible;\n .swiper-container {\n padding-left: 18px;\n overflow: flow;\n height: 330px;\n }\n\n .swiper-container > .swiper-button-prev {\n left: 5px;\n top: 70px;\n color: ${({ theme, clientname }) =>\n theme[clientname].carousel?.swiper?.color || 'gray'};\n }\n .swiper-container > .swiper-button-next {\n right: 5px;\n top: 70px;\n color: ${({ theme, clientname }) =>\n theme[clientname].carousel?.swiper?.color || 'gray'};\n }\n\n .swiper-container > .swiper-button-prev.swiper-button-disabled,\n .swiper-container > .swiper-button-next.swiper-button-disabled {\n opacity: 0;\n }\n .swiper-container > .swiper-button-prev::after,\n .swiper-container > .swiper-button-next::after {\n font-size: 28px;\n }\n`;\n\nconst CarouselEleWrap = styled.div`\n width: 148px;\n height: 317px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: space-between;\n border: ${({ theme, clientname, state }) =>\n state\n ? theme[clientname].carousel.ele.border.on\n : theme[clientname].carousel.ele.border.off};\n box-sizing: border-box;\n box-shadow: 4px 6px 14px rgba(57, 57, 57, 0.2);\n border-radius: 24px;\n background-color: ${({ theme, clientname, state }) =>\n state\n ? theme[clientname].carousel?.ele?.background.on\n : theme[clientname].carousel?.ele?.background.off};\n`;\n\nconst CarouselContent = styled.div`\n width: 100%;\n height: calc(100% - 46px);\n display: flex;\n align-items: center;\n flex-direction: column;\n overflow: hidden;\n border-radius: 24px 24px 0px 0px;\n`;\nconst CarouselImg = styled.img`\n background-color: ${({ theme, clientname }) =>\n theme[clientname].carousel?.image?.background || 'gray'};\n width: 100%;\n height: 130px;\n user-select: none;\n object-fit: cover;\n border: 0px;\n`;\n\nconst CarouselTitle = styled.div`\n width: calc(100% - 24px);\n margin-left: 12px;\n margin-right: 12px;\n ${NotoSans16}\n font-weight: 500;\n margin-top: 12px;\n color: ${({ theme, clientname }) => theme[clientname].carousel.title.color};\n p {\n ${NotoSans16}\n font-weight: bold;\n /* identical to box height, or 125% */\n color: ${({ theme, clientname }) => theme[clientname].carousel.title.color};\n margin-top: 0px;\n user-select: none;\n }\n`;\n\nconst CarouselDescription = styled.div`\n width: calc(100% - 24px);\n margin-top: 6px;\n margin-left: 12px;\n margin-right: 12px;\n ${NotoSans14}\n p {\n ${NotoSans14}\n color: ${({ theme, clientname }) =>\n theme[clientname].carousel.description.color};\n margin: 0px;\n user-select: none;\n }\n`;\n\nconst CarouselButton = styled.button`\n margin-left: 12px;\n margin-right: 12px;\n margin-bottom: 12px;\n width: 124px;\n height: 34px;\n background: ${({ theme, clientname }) =>\n theme[clientname].carousel.button.background};\n border-radius: 18px;\n border: 0px;\n color: white;\n font-family: Noto Sans KR;\n font-style: normal;\n font-weight: bold;\n font-size: 14px;\n line-height: 24px;\n /* or 171% */\n\n text-align: center;\n text-transform: uppercase;\n cursor: pointer;\n color: ${({ theme, clientname }) => theme[clientname].carousel.button.color};\n`;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.1215 20.7374C16.5247 21.4092 15.4753 21.4092 14.8785 20.7374L9.55689 14.7461C8.69755 13.7787 9.38436 12.25 10.6784 12.25L21.3216 12.25C22.6156 12.25 23.3025 13.7787 22.4431 14.7461L17.1215 20.7374Z\",\n fill: \"#current\"\n});\n\nfunction SvgDropdown(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"current\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDropdown);\nexport default __webpack_public_path__ + \"static/media/Dropdown.df23f8aa.svg\";\nexport { ForwardRef as ReactComponent };","import styled from 'styled-components';\nimport { ReactComponent as Dropdown } from '../../../assets/RelationList/Dropdown.svg';\nimport { Menu, MenuItem, Button, Tooltip } from '@material-ui/core';\nimport React, { useState } from 'react';\nimport {\n ClickDataFuction,\n ClientNameProps,\n RelationList,\n RelationObject,\n StyleThemeProps,\n} from '../../../types';\nimport { NotoSans16 } from '../../../styles/fontStyls';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '../../../modules';\n\ninterface RelationProps {\n index: number;\n relation: RelationList;\n listBox: string;\n clickData: ClickDataFuction;\n}\n\ninterface RelationEleProps {\n ele: RelationObject;\n idx: number;\n clickData: ClickDataFuction;\n}\n\nconst RelationButtonEle = ({ ele, idx, clickData }: RelationEleProps) => {\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n const [btnState, setState] = useState(false);\n return (\n \n {\n clickData('Relation', 'button', ele.name, ele.id);\n setState(true);\n }}\n >\n

{ele.name}

\n \n
\n );\n};\n\nconst Relation = ({ index, relation, listBox, clickData }: RelationProps) => {\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n const [anchorEl, setAnchorEl] = useState(null);\n const handleClick = (event: React.MouseEvent) => {\n setAnchorEl(event.currentTarget);\n };\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const RelationButtons = () => {\n return relation.map((ele, idx) => {\n return (\n \n );\n });\n };\n const RelationLists = () => {\n return (\n \n \n {\n handleClose();\n }}\n >\n {relation.map((ele, idx) => {\n return (\n {\n handleClose();\n clickData('Relation', 'button', ele.name, ele.id);\n }}\n >\n \n
{ele.name}
\n
\n \n );\n })}\n \n
\n );\n };\n\n return (\n \n {relation?.length >= 8 ? RelationLists() : RelationButtons()}\n \n );\n};\n\nexport default Relation;\n\ntype RelationButtonProps = {\n btnstate: boolean;\n clientname: string;\n};\ntype SelectListEleProps = {\n backgroundstate: number;\n clientname: string;\n};\n\nconst RelationWrap = styled.div`\n width: calc(100% - 36px);\n margin-right: 18px;\n margin-left: 18px;\n margin-top: 4px;\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n justify-content: flex-start;\n`;\nconst RelationButtonWrap = styled.div`\n button {\n background: ${({ btnstate, theme, clientname }) =>\n btnstate\n ? theme[clientname].relation.button.background.on\n : theme[clientname].relation.button.background.off};\n border: ${({ theme, clientname }) =>\n theme[clientname].relation.button.border};\n box-sizing: border-box;\n /* Carousel_1 */\n box-shadow: 4px 6px 14px rgba(57, 57, 57, 0.08);\n border-radius: 16px;\n /* Inside Auto Layout */\n flex: none;\n order: 0;\n flex-grow: 0;\n margin-right: 6px;\n margin-top: 14px;\n flex: none;\n order: 0;\n flex-grow: 0;\n padding: 10px 16px;\n &:hover {\n background: ${({ theme, clientname }) =>\n theme[clientname].relation.button.hover.background};\n }\n &:hover p {\n color: ${({ theme, clientname }) =>\n theme[clientname].relation.button?.hover?.color};\n }\n &:active {\n background: ${({ theme, clientname }) =>\n theme[clientname].relation.button.active.background};\n color: ${({ theme, clientname }) =>\n theme[clientname].relation.button?.active?.color};\n }\n p {\n ${NotoSans16}\n font-weight: 700;\n line-height: 24px;\n /* identical to box height, or 150% */\n text-align: center;\n text-transform: uppercase;\n color: ${({ btnstate, theme, clientname }) =>\n btnstate\n ? theme[clientname].relation.button.color.on\n : theme[clientname].relation.button.color.off};\n padding: 0px;\n margin: 0px;\n }\n }\n`;\n\nconst RelationListsWrap = styled.div`\n min-width: 270px;\n max-width: 300px;\n width: 100%;\n margin-top: 10px;\n button {\n width: 100%;\n height: 44px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n background-color: ${({ theme, clientname }) =>\n theme[clientname].relation.listbutton.background};\n border: ${({ theme, clientname }) =>\n theme[clientname].relation.listbutton.border};\n box-sizing: border-box;\n /* Carousel_1 */\n box-shadow: 4px 6px 14px rgba(57, 57, 57, 0.08);\n border-radius: 24px;\n &:hover {\n background-color: ${({ theme, clientname }) =>\n theme[clientname].relation.listbutton.hoverBackground};\n }\n }\n`;\nconst DropdownButton = styled(({ ...props }) => (\n \n))`\n path {\n fill: ${({ theme, clientname }) => {\n const fillColor = theme[clientname].relation.listboxtext?.fillColor;\n return fillColor\n ? fillColor\n : theme[clientname].relation.listboxtext.color;\n }};\n }\n`;\n\nconst ListBoxText = styled.p`\n font-family: Noto Sans KR;\n font-style: normal;\n font-weight: ${({ theme, clientname }) =>\n theme[clientname].relation.listboxtext?.fontWeight || 'bold'};\n font-size: 16px;\n line-height: 24px;\n /* identical to box height, or 150% */\n text-align: center;\n text-transform: uppercase;\n color: ${({ theme, clientname }) =>\n theme[clientname].relation.listboxtext.color};\n margin: 0px;\n margin-left: 10px;\n`;\n\nconst SelectListEle = styled(({ ...props }) => (\n \n))`\n width: 276px;\n min-height: 44px;\n transition: all 0.3s linear;\n background-color: ${({ backgroundstate, theme, clientname }) =>\n backgroundstate % 2 !== 0\n ? theme[clientname].relation.listele.backgroundColor.odd\n : theme[clientname].relation.listele.backgroundColor.even};\n padding: 5px 12px;\n border: 0px;\n border-radius: 10px;\n font-family: Noto Sans KR;\n font-style: normal;\n font-weight: normal;\n font-size: 17px;\n line-height: 24px;\n word-break: break-all;\n white-space: break-spaces;\n color: ${({ theme, clientname }) => theme[clientname].relation.listele.color};\n &:hover {\n background-color: ${({ theme, clientname }) =>\n theme[clientname].relation.listele.hoverBackground};\n }\n`;\nconst StyledMenu = styled(({ className, ...props }) => (\n \n))`\n background: ${({ theme, clientname }) =>\n theme[clientname].relation?.listmenu?.background || '#ffffff'};\n border: ${({ theme, clientname }) =>\n theme[clientname].relation?.listmenu?.border || '1px solid #e9eaef'};\n box-sizing: border-box;\n /* Carousel_1 */\n box-shadow: 4px 6px 14px rgba(57, 57, 57, 0.08);\n border-radius: 24px;\n width: 300px;\n padding: 0px 12px;\n`;\n","import { useState } from 'react';\nimport { useSelector } from 'react-redux';\nimport styled from 'styled-components';\nimport { RootState } from '../../../modules';\nimport { CheckerBoardList } from '../../../modules/checkerBoard';\nimport {\n ClickDataFuction,\n ClientNameProps,\n StyleThemeProps,\n} from '../../../types';\n\ninterface CheckerBoardProps {\n index: number;\n checkerBoard: CheckerBoardList;\n clickData: ClickDataFuction;\n}\n\ninterface CheckerBoardEle {\n buttonName: string;\n image: string;\n id: string;\n clickData: ClickDataFuction;\n}\n\nconst CheckerBoardElement = ({\n buttonName,\n image,\n id,\n clickData,\n}: CheckerBoardEle) => {\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n const [clickState, setClickState] = useState(false);\n return (\n {\n clickData('CheckerBoard', 'button', buttonName, id);\n setClickState(true);\n }}\n >\n \n \n \n {buttonName}\n \n );\n};\nconst CheckerBoard = ({\n index,\n checkerBoard,\n clickData,\n}: CheckerBoardProps) => {\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n return (\n \n {checkerBoard.map((ele, index) => {\n return (\n \n );\n })}\n \n );\n};\nconst CheckerBoardWrap = styled.div`\n margin: 0px 18px;\n margin-top: 14px;\n display: ${({ theme, clientname }) =>\n theme[clientname].checkerboard?.wrap?.display || 'inline-flex;'};\n grid-template-columns: ${({ theme, clientname }) =>\n theme[clientname].checkerboard?.wrap?.gridTemplateColumns};\n flex-wrap: wrap;\n flex-direction: row;\n transform: translateZ(0);\n`;\ntype CheckerBoardEleWrapProps = {\n state: boolean;\n clientname: string;\n};\nconst CheckerBoardEleWrap = styled.button`\n width: 109px;\n height: 109px;\n border: ${({ state, clientname, theme }) =>\n state\n ? theme[clientname].checkerboard.ele.border.on\n : theme[clientname].checkerboard.ele.border.off};\n box-sizing: border-box;\n background: ${({ theme, clientname }) =>\n theme[clientname].checkerboard?.ele.background || '#ffffff'};\n display: ${({ theme, clientname }) =>\n theme[clientname].checkerboard?.ele.display};\n flex-direction: ${({ theme, clientname }) =>\n theme[clientname].checkerboard?.ele.flexDirection};\n /* Carousel_1 */\n padding: 0px;\n filter: drop-shadow(4px 6px 14px rgba(57, 57, 57, 0.08));\n border-radius: 24px;\n overflow: hidden;\n &:hover {\n border: ${({ clientname, theme }) => theme[clientname].checkerboard.hover};\n }\n margin-right: 6px;\n margin-bottom: 6px;\n`;\nconst CheckerBoardImgWrap = styled.div`\n width: 100%;\n height: ${({ theme, clientname }) =>\n theme[clientname].checkerboard?.imgEle?.height || '72px'};\n display: flex;\n align-items: center;\n justify-content: center;\n background: ${({ theme, clientname }) =>\n theme[clientname].checkerboard?.imgEle?.background};\n`;\nconst CheckerBoardImg = styled.img`\n background: ${({ theme, clientname }) =>\n theme[clientname].checkerboard?.img?.background || '#ffffff'};\n object-fit: ${({ theme, clientname }) =>\n theme[clientname].checkerboard?.img?.objectFit || 'contain'};\n max-width: ${({ theme, clientname }) =>\n theme[clientname].checkerboard?.img?.maxWidth};\n max-height: ${({ theme, clientname }) =>\n theme[clientname].checkerboard?.img?.maxHeight};\n border-radius: ${({ theme, clientname }) =>\n theme[clientname].checkerboard?.img?.borderRadius || '24px 24px 0px 0px'};\n`;\nconst CheckerBoardText = styled.div`\n width: 100%;\n height: ${({ theme, clientname }) =>\n theme[clientname].checkerboard?.text?.height};\n font-family: Noto Sans KR;\n font-style: normal;\n font-weight: bold;\n font-size: 13px;\n line-height: 24px;\n background: ${({ theme, clientname }) =>\n theme[clientname].checkerboard.text.background};\n text-align: center;\n /* identical to box height, or 185% */\n text-align: center;\n letter-spacing: ${({ theme, clientname }) =>\n theme[clientname].checkerboard?.text?.letterSpacing || '-0.03em'};\n color: ${({ theme, clientname }) =>\n theme[clientname].checkerboard.text.color};\n`;\n\nexport default CheckerBoard;\n","function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nvar _ref2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.013 12.56L8.953 6.5\",\n stroke: \"current\",\n strokeWidth: 2\n});\n\nvar _ref3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.013 11.2129L8.953 17.2729\",\n stroke: \"current\",\n strokeWidth: 2\n});\n\nfunction SvgNext(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, [\"title\", \"titleId\"]);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _ref2, _ref3);\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNext);\nexport default __webpack_public_path__ + \"static/media/Next.2393d416.svg\";\nexport { ForwardRef as ReactComponent };","import styled from 'styled-components';\nimport { ReactComponent as Next } from '../../../assets/RelationList/Next.svg';\nimport { useState } from 'react';\nimport {\n ClickDataFuction,\n ClientNameProps,\n OnecardList,\n StyleThemeProps,\n} from '../../../types';\nimport { PoppinsAndNotoSans14 } from '../../../styles/fontStyls';\nimport { useSelector } from 'react-redux';\nimport { RootState } from '../../../modules';\n\ninterface OneCardProps {\n index: number;\n oneCard: OnecardList;\n clickData: ClickDataFuction;\n}\n\ninterface RelationButtonProps {\n buttonName: string;\n id: string;\n clickData: ClickDataFuction;\n}\n\nconst RelationButton = ({ buttonName, id, clickData }: RelationButtonProps) => {\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n const [state, setState] = useState(false);\n return (\n {\n clickData('OneCard', 'button', buttonName, id);\n setState(true);\n }}\n >\n

{buttonName}

\n \n \n );\n};\n\nconst OneCard = ({ index, oneCard, clickData }: OneCardProps) => {\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n return (\n \n \n \n {oneCard.map((ele, idx) => {\n return (\n \n );\n })}\n \n );\n};\n\nexport default OneCard;\n\ntype RelationButtonWrapProps = {\n state: boolean;\n clientname: string;\n};\n\ntype NextButtonProps = {\n state: boolean;\n clientname: string;\n};\n\nconst OneCardWrap = styled.div`\n width: 290px;\n background: ${({ theme, clientname }) =>\n theme[clientname].onecard.wrap.background};\n border: ${({ theme, clientname }) => theme[clientname].onecard.wrap.border};\n box-sizing: border-box;\n /* Carousel_1 */\n\n box-shadow: 4px 6px 14px rgba(57, 57, 57, 0.08);\n border-radius: 24px;\n display: flex;\n flex-direction: column;\n margin-left: 18px;\n margin-top: 14px;\n overflow: hidden;\n`;\nconst OnecardImage = styled.img`\n width: 100%;\n height: 169px;\n border-radius: 24px 24px 0px 0px;\n object-fit: cover;\n background: ${({ theme, clientname }) =>\n theme[clientname].onecard?.image?.background};\n`;\nconst Content = styled.div`\n width: calc(100% - 40px);\n display: flex;\n justify-content: center;\n padding: 20px;\n p {\n margin: 0px;\n color: ${({ theme, clientname }) =>\n theme[clientname].onecard?.content?.color};\n ${PoppinsAndNotoSans14}\n }\n`;\n\nconst RelationButtonWrap = styled.button`\n width: 100%;\n height: 44px;\n padding: 12px 14px 12px 20px;\n background: ${({ state, theme, clientname }) =>\n state\n ? theme[clientname].onecard.button.background.on\n : theme[clientname].onecard.button.background.off};\n border: ${({ state, theme, clientname }) =>\n state\n ? theme[clientname].onecard.button.border.on\n : theme[clientname].onecard.button.border.off};\n box-sizing: border-box;\n display: flex;\n justify-content: space-between;\n align-items: center;\n p {\n font-family: Noto Sans KR;\n font-style: normal;\n font-weight: 500;\n font-size: 14px;\n line-height: 20px;\n /* identical to box height, or 143% */\n margin: 0px;\n padding: 0px;\n color: ${({ state, theme, clientname }) =>\n state\n ? theme[clientname].onecard.button.font.on\n : theme[clientname].onecard.button.font.off};\n }\n`;\n\nconst NextButton = styled(Next)`\n path {\n stroke: ${({ state, theme, clientname }) =>\n state\n ? theme[clientname].onecard.button.font.on\n : theme[clientname].onecard.button.font.off};\n }\n`;\n","import styled from 'styled-components';\nimport { useEffect } from 'react';\n// import styled from 'styled-components';\nconst { kakao } = window as any;\n\ninterface MapProps {\n address: string;\n place_name: string;\n pageAnimation: Boolean;\n}\n\nconst Map = ({ address, place_name, pageAnimation }: MapProps) => {\n useEffect(() => {\n kakao.maps.load(() => {\n let container = document.getElementById('map');\n let options = {\n center: new kakao.maps.LatLng(0, 0),\n level: 3,\n };\n let map = new kakao.maps.Map(container, options);\n\n let geocoder = new kakao.maps.services.Geocoder();\n geocoder.addressSearch(address, (result: any, status: any) => {\n if (status === kakao.maps.services.Status.OK) {\n const coords = new kakao.maps.LatLng(result[0].y, result[0].x);\n const marker = new kakao.maps.Marker({\n map: map,\n position: coords,\n clickable: true,\n });\n var infowindow = new kakao.maps.InfoWindow({\n content:\n '
검색하기
',\n });\n infowindow.open(map, marker);\n map.setCenter(coords);\n kakao.maps.event.addListener(marker, 'click', () => {\n window.open(`https://map.kakao.com/link/search/${place_name}`);\n });\n }\n });\n });\n }, [address, place_name, pageAnimation]);\n return (\n // \n <>\n
\n \n {place_name} \n {address}\n \n \n );\n};\n\nconst Description = styled.div`\n margin: 0;\n padding: 0;\n display: flex;\n`;\n\nconst DescriptionNameP = styled.p`\n font-size: 12px;\n font-weight: bold;\n margin: 10px 5px 10px 0;\n`;\n\nconst DescriptionAddressP = styled.p`\n font-size: 12px;\n margin: 10px 0 10px 0;\n`;\n\nexport default Map;\n","import styled from 'styled-components';\nimport { ReactComponent as Back } from '../../assets/Back.svg';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { RootState } from '../../modules';\nimport { useEffect, useState } from 'react';\nimport { closeVisualPage, addVisualPage } from '../../modules/visualPage';\nimport { Poppins12 } from '../../styles/fontStyls';\nimport { deleteTemporary } from '../../modules/temporary';\nimport { addLoaing, finishLoading, switchData } from '../../modules/chatting';\nimport { getTime } from '../../api/functions';\nimport { ClientNameProps, StyleThemeProps } from '../../types';\n\nimport Map from '../Map';\n\nconst VisualPage = () => {\n const [pageAnimation, setPageAnimation]: any = useState(null);\n const dispatch = useDispatch();\n const onCloseVisualPage = () => {\n dispatch(closeVisualPage());\n };\n const [scrollY, setScrollY] = useState(0);\n\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n const { temporary } = useSelector((state: RootState) => ({\n temporary: state.temporary,\n }));\n const { visualPage } = useSelector((state: RootState) => ({\n visualPage: state.visualPage,\n }));\n const { chatting } = useSelector((state: RootState) => ({\n chatting: state.chatting,\n }));\n useEffect(() => {\n if (pageAnimation === false) setPageAnimation(null);\n if (visualPage.state) setTimeout(() => setPageAnimation(true), 700);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [visualPage.state]);\n\n useEffect(() => {\n const scrollEle = document.getElementById('visualPageScroll');\n\n if (scrollEle) {\n scrollEle.addEventListener('scroll', (e: any) => {\n setScrollY(e.target.scrollTop);\n });\n }\n }, [visualPage]);\n\n const handleCloseVisualPage = () => {\n if (temporary.length > 0) {\n setTimeout(() => {\n dispatch(addLoaing(getTime()));\n }, 1000);\n temporary.map((ele: any, idx: number) => {\n if (idx === temporary.length - 1) {\n return setTimeout(() => {\n dispatch(finishLoading(ele, chatting.length));\n }, 3500 * (idx + 1));\n }\n return setTimeout(() => {\n return dispatch(switchData(ele, chatting.length));\n }, 3500 * (idx + 1));\n });\n }\n dispatch(deleteTemporary());\n setPageAnimation(false);\n // dispatch(addVisualPage({ source: [], state: false }));\n\n setTimeout(() => {\n const scrollEle = document.getElementById('visualPageScroll');\n scrollEle && scrollY !== 0 && scrollEle.scrollTo(0, 0);\n onCloseVisualPage();\n }, 1000);\n };\n\n // \n const render = () => {\n if (visualPage.source[0]) {\n if (visualPage.source[0].type === 'webpage') {\n if (visualPage.source[0].value.url) {\n return (\n \n );\n }\n } else {\n return (\n \n {visualPage.source.map((ele: MapEleProps, index: number) => {\n if (ele.type === 'image') {\n return (\n \n );\n } else if (ele.type === 'youtube') {\n return (\n \n \n \n );\n } else if (ele.type === 'map') {\n return (\n \n );\n } else {\n return (\n \n );\n }\n })}\n \n );\n }\n }\n };\n type MapEleProps = {\n type: string;\n value: any;\n };\n\n return (\n <>\n \n \n
\n \n

Dual Page

\n
\n {/* */}\n \n \n {render()}\n \n\n \n Powered by Dual Talk\n
\n Copyright © 2021 by Xinapse. All rights reserved.\n
\n {/*
*/}\n
\n \n \n \n );\n};\n\nexport default VisualPage;\ntype OutSideProps = {\n state: boolean;\n animationState: boolean;\n clientname: string;\n};\ntype VisualPageProps = {\n state: boolean;\n};\nconst VisualPageOutside = styled.div`\n display: ${(props) =>\n props.animationState === null || !props.state ? 'none' : ''};\n position: absolute;\n top: 0px;\n left: 0px;\n width: 100%;\n height: 100vh;\n z-index: 1000;\n background: ${({ clientname, theme }) =>\n theme[clientname].visualpage?.outside?.background || 'rgba(0, 0, 0, 0.8)'};\n opacity: ${(props) => (props.state ? '1' : '0')};\n font-family: 'Noto Sans KR', Poppins;\n`;\n\nconst VisualPageWrap = styled.div`\n width: calc(100% - 30px);\n animation-duration: 1500ms;\n animation-name: ${(props) =>\n props.state ? 'visualPageSlideShow' : 'visualPageSlideHide'};\n visibility: ${(props) => (props.state === null ? 'hidden' : 'visible')};\n display: flex;\n flex-direction: column;\n overflow: scroll;\n border-radius: 0px 36px 0px 0px;\n scrollbar-width: none;\n &::-webkit-scrollbar {\n display: none;\n }\n @keyframes visualPageSlideShow {\n from {\n transform: translateX(-375px);\n }\n to {\n transform: translateX(0);\n }\n }\n @keyframes visualPageSlideHide {\n from {\n transform: translateX(0);\n }\n to {\n transform: translateX(-375px);\n }\n }\n`;\nconst Header = styled.div`\n width: calc(100% - 40px);\n height: 58px;\n background: ${({ theme, clientname }) =>\n theme[clientname].visualpage.header.background};\n display: flex;\n align-items: center;\n padding-left: 20px;\n /* position: absolute;\n top:0px; */\n border-radius: 0px 36px 0px 0px;\n p {\n margin: 0px;\n margin-left: 16px;\n font-family: Poppins, Noto Sans KR;\n font-style: normal;\n font-weight: 600;\n font-size: 18px;\n line-height: 27px;\n /* identical to box height */\n letter-spacing: -0.03em;\n color: ${({ theme, clientname }) =>\n theme[clientname].visualpage.header.color};\n }\n`;\n\nconst Wrap = styled.div`\n width: calc(100% - 20px);\n height: calc(100vh - 58px);\n background-color: ${({ theme, clientname }) =>\n theme[clientname].visualpage?.wrap?.background || '#ffffff'};\n border-top: ${({ theme, clientname }) =>\n theme[clientname].visualpage?.wrap?.borderTop};\n display: flex;\n flex-direction: column;\n align-items: center;\n div {\n font-family: 'Noto Sans KR';\n }\n`;\nconst Ifram = styled.iframe`\n border: 0px;\n`;\nconst VisualPageFooter = styled.div`\n ${Poppins12}\n /* or 150% */\n letter-spacing: -0.03em;\n color: ${({ theme, clientname }) =>\n theme[clientname].visualpage?.footer?.color || '#c4c4c4'};\n /* Inside Auto Layout */\n flex: none;\n order: 1;\n align-self: stretch;\n flex-grow: 0;\n margin: 17px 18px;\n`;\n\nconst VisualPageMapWrap = styled.div`\n width: 100%;\n display: flex;\n flex-direction: column;\n`;\nconst ContentsWrap = styled.div`\n width: ${({ theme, clientname }) =>\n theme[clientname].visualpage?.contentsWrap?.width || 'calc(100% - 48px)'};\n height: calc(100%);\n margin-top: 24px;\n overflow: scroll;\n margin-left: ${({ theme, clientname }) =>\n theme[clientname].visualpage?.contentsWrap?.marginLeft || '0'};\n scrollbar-width: none;\n &::-webkit-scrollbar {\n display: none;\n }\n`;\nconst YoutubeIframeWrap = styled.div`\n position: relative;\n min-width: 260px;\n width: 100%;\n height: 0;\n padding-bottom: 56.25%;\n margin-bottom: 20px;\n iframe {\n position: absolute;\n left: 0;\n width: 100%;\n height: 100%;\n border-radius: 12px;\n }\n`;\nconst Image = styled.img`\n margin: 10px 0px;\n width: 100%;\n object-fit: cover;\n`;\nconst InnerDiv = styled.div`\n margin: 10px 0px;\n img {\n object-fit: cover;\n }\n`;\n","import { useSelector } from \"react-redux\";\nimport styled from \"styled-components\";\nimport { RootState } from \"../../modules\";\n\nconst Greeting = ()=>{\n const {clientName} = useSelector((state:RootState)=>({\n clientName:state.defaults.clientName\n }))\n return (\n \n \n \n )\n}\n\nexport default Greeting;\n\nconst Wrap = styled.div`\n width: 100%;\n height: calc(100vh - 82px - 58px);\n display: flex;\n align-items: center;\n justify-content: center;\n video{\n width: 80%;\n height: 80%;\n }\n`","import { useEffect, useRef } from 'react';\nimport styled from 'styled-components';\nimport ChattingBubbles from './ChatBubbles/ChattingBubbles';\nimport User from './ChatBubbles/User';\nimport Client from './Client';\nimport Loading from './Loading';\nimport Carousel from './ResponseType/Carousel';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { RootState } from '../../modules';\nimport Relation from './ResponseType/Relation';\nimport CheckerBoard from './ResponseType/CheckerBoard';\nimport OneCard from './ResponseType/OneCard';\nimport MBVisualPage from './VisualPage';\nimport { ClientNameProps } from '../../types';\nimport {\n addRendingData,\n ChattingObject,\n ChattingType,\n} from '../../modules/chatting';\nimport { buttonOff } from '../../modules/bookMark';\n\nimport { getTime, responseParsing } from '../../api/functions';\nimport { addUserBubbles } from '../../modules/userChatting';\nimport { postMessage2 } from '../../api/axiosFunction';\nimport Greeting from './Greeting';\nimport { answerGenerator } from '../../modules/thunks';\nimport { autoIntentState } from '../../modules/intent';\n\nconst Chatting = () => {\n // redux state\n const chatState = useSelector((state: RootState) => ({\n chatbubbles: state.chatbubbles,\n carousel: state.carousel,\n checkerBoard: state.checkerBoard,\n userChatting: state.userChatting,\n relation: state.relation,\n onecard: state.onecard,\n chatting: state.chatting,\n defaults: state.defaults,\n }));\n const { bookmarkState } = useSelector((state: RootState) => ({\n bookmarkState: state.bookmark.bookmarkState,\n }));\n const { visualPageState } = useSelector((state: RootState) => ({\n visualPageState: state.display,\n }));\n const { buttonClickState } = useSelector((state: RootState) => ({\n buttonClickState: state.bookmark.buttonState,\n }));\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n const { intents }: any = useSelector((state: RootState) => ({\n intents: state.intent,\n }));\n\n // redux dispatch\n const dispatch = useDispatch();\n const onUserData = (message: string, list: ChattingType) => {\n dispatch(addUserBubbles(message));\n dispatch(addRendingData(list));\n };\n const changeAutoIntentState = (state: boolean) => {\n dispatch(autoIntentState(state));\n };\n\n const onBookMarkOff = () => {\n if (buttonClickState) {\n dispatch(buttonOff());\n }\n };\n const clickData = async (\n type: string,\n responseType: string,\n content: string,\n id: string | null\n ) => {\n if (content[0] === '<') {\n const newContent = content.split('>')[1].split('<')[0];\n onUserData(newContent, [\n { type: 'User', id: chatState.userChatting.length, time: getTime() },\n ]);\n const {\n data: { response },\n } = await postMessage2(newContent, id, responseType);\n const responseData = responseParsing(response);\n\n dispatch(answerGenerator(responseData));\n } else {\n onUserData(content, [\n { type: 'User', id: chatState.userChatting.length, time: getTime() },\n ]);\n const {\n data: { response },\n } = await postMessage2(content, id, responseType);\n const responseData = responseParsing(response);\n checkAutoIntent(responseData);\n if (responseData.length === 1 && intents.autoIntentState) {\n if (\n responseData[0].data.message === '' ||\n responseData[0].data.message ===\n '해당 인텐트의 리스폰스가 아직 등록되지 않았습니다.'\n ) {\n const input = '1:1 문의';\n const id = '6058376fbf039a045c8e57be';\n const {\n data: { response },\n } = await postMessage2(input, id, 'text');\n const responseData = responseParsing(response);\n dispatch(answerGenerator(responseData));\n changeAutoIntentState(false);\n } else {\n dispatch(answerGenerator(responseData));\n }\n } else {\n dispatch(answerGenerator(responseData));\n }\n }\n };\n\n const checkAutoIntent = (data: any[]) => {\n data.forEach((item) => {\n if (item.type === 'AutoIntents') {\n const intentType = item.data.message.substr(0, 3);\n if (intentType === '1:1') changeAutoIntentState(true);\n }\n });\n };\n\n const wrapRef = useRef(null);\n\n const controlCase = (ele: ChattingObject, index: number) => {\n switch (ele.type) {\n case 'Client':\n return ;\n case 'ChatBubbles':\n return (\n \n );\n case 'User':\n return ;\n case 'Loading':\n return ;\n case 'Carousel':\n return (\n \n );\n case 'Relation':\n return (\n \n );\n case 'CheckerBoard':\n return (\n \n );\n case 'OneCard':\n return (\n \n );\n case 'AutoIntents':\n return (\n \n );\n case 'Greeting':\n return ;\n }\n };\n\n const chattingRendering = () => {\n const chattings = chatState.chatting.map((contentArray) => {\n const rendering = contentArray.map((ele, idx) => {\n return controlCase(ele, idx);\n });\n return [...rendering];\n });\n return chattings;\n };\n\n const scrollDown = () => {\n wrapRef.current?.scrollIntoView({ behavior: 'smooth' });\n wrapRef.current?.scroll(0, wrapRef.current?.scrollHeight);\n };\n\n useEffect(() => {\n const wrap = wrapRef.current;\n\n if (!wrap) return;\n\n const scrollTop: number = wrap?.scrollTop;\n const viewHeight: number = wrap?.getBoundingClientRect().height;\n const height: number = wrap?.scrollHeight;\n const heightFromBottom: number = height - (viewHeight + scrollTop);\n\n buttonClickState\n ? heightFromBottom < 51 && setTimeout(() => scrollDown(), 300)\n : heightFromBottom < 51 &&\n bookmarkState &&\n setTimeout(() => scrollDown(), 300);\n }, [bookmarkState, buttonClickState]);\n\n useEffect(() => {\n scrollDown();\n\n setTimeout(() => {\n scrollDown();\n }, 400);\n }, [chatState.chatting]);\n\n return (\n <>\n \n {chattingRendering()}\n \n \n \n );\n};\n\nexport default Chatting;\n\ninterface WrapProps {\n bookMarkState: boolean;\n buttonState: boolean;\n desktop: boolean;\n clientname: string;\n}\n\nconst Wrap = styled.div`\n width: 100%;\n /* height: 100%; */\n height: ${(props) =>\n props.bookMarkState\n ? props.buttonState\n ? 'calc(100% - 82px - 58px - 140px)'\n : 'calc(100% - 82px - 58px - 49px)'\n : 'calc(100% - 82px - 58px)'};\n transform: translateY(58px);\n border-top: ${({ theme, clientname }) =>\n theme[clientname].chatting?.wrap?.borderTop};\n /* transition: ${(props) =>\n props.buttonState ? 'all 0.3s linear' : 'none'}; */\n transition: all 0.3s linear;\n padding-bottom: 10px;\n background-color: ${({ theme, clientname }) =>\n theme[clientname].chatting?.wrap.background || 'white'};\n overflow-y: scroll;\n -ms-overflow-style: none; /* IE and Edge */\n scrollbar-width: none;\n &::-webkit-scrollbar {\n display: none;\n }\n`;\n//response Wrap\n","export default __webpack_public_path__ + \"static/media/close.d8964795.svg\";","import { useDispatch, useSelector } from 'react-redux';\nimport styled from 'styled-components';\nimport closeButton from '../../assets/modal/close.svg';\nimport { RootState } from '../../modules';\nimport { setModalData } from '../../modules/modal';\n\nconst Modal = () => {\n const { modalData } = useSelector((state: RootState) => ({\n modalData: state.modal,\n }));\n\n const dispatch = useDispatch();\n const imageModalClose = () =>\n dispatch(setModalData({ state: 'close', url: 'none' }));\n\n return (\n <>\n {modalData.state === 'open' && (\n \n \n \n \n \n \"chattingbubble\"\n \n \n )}\n \n );\n};\n\nexport default Modal;\n\nconst ModalWrap = styled.div`\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 337px;\n max-height: 700px;\n background: #fff;\n z-index: 10;\n border: 1 px solid #ccc;\n\n img {\n width: 100%;\n }\n`;\n\nconst CloseButtonWrap = styled.div`\n display: flex;\n justify-content: flex-end;\n img {\n width: 25px;\n height: 25px;\n }\n`;\nconst ModalBackGroundWrap = styled.div`\n background: rgba(0, 0, 0, 0.3);\n top: 0;\n left: 0;\n right: 0;\n width: 100%;\n height: 100%;\n position: absolute;\n z-index: 99999;\n`;\n","// import React, {useState,useEffect} from \"react\";\nimport { useSelector } from 'react-redux';\nimport styled from 'styled-components';\nimport Header from '../../components/Mobile/Haeder';\nimport Input from '../../components/Mobile/Input';\nimport Chatting from '../../components/Mobile/Chatting';\nimport Modal from '../../components/Mobile/Modal';\nimport { RootState } from '../../modules';\nimport { ClientNameProps } from '../../types';\n\nconst Mobile = () => {\n // const [height, setHeight] = useState(window.innerHeight);\n\n // useEffect(() => {\n // const mobileResponseive = () => {\n // setHeight(100);\n // };\n // window.addEventListener('resize', mobileResponseive);\n // return () => {\n // window.removeEventListener('resize', mobileResponseive);\n // };\n // }, [height]);\n\n const { clientName }: { clientName: ClientNameProps } = useSelector(\n (state: RootState) => ({\n clientName: state.defaults.clientName,\n })\n );\n\n return (\n \n \n \n
\n \n \n \n \n \n \n );\n};\n\nexport default Mobile;\ninterface WrapProps {\n clientname: string;\n}\nconst TotalWrap = styled.div`\n display: flex;\n justify-content: center;\n height: 100vh;\n overflow: hidden;\n`;\nconst Wrap = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n min-width: 375px;\n width: 375px;\n max-width: 375px;\n height: 100%;\n background-color: #fff;\n position: relative;\n margin: 0 auto;\n overflow: hidden;\n`;\n\nconst EmptyWrapLeft = styled.div`\n width: 100%;\n background-color: #333333;\n height: 100%;\n z-index: 9999999999999;\n`;\nconst EmptyWrapRight = styled.div`\n width: 100%;\n background-color: #333333;\n height: 100%;\n z-index: 9999999999999;\n`;\n","import { AnyAction } from 'redux';\nimport { ClientNameProps } from '../types';\n\nconst ADDINTENT = 'default/AddIntent';\nconst ADDCLIENTINFO = 'default/AddClientInfo';\nconst ADDCLIENTNAME = 'default/AddClientName';\n\nconst addIntent = (intentData: IntentType) => ({\n type: ADDINTENT,\n intentData,\n});\n\nconst addClientInfo = (\n name: string,\n image: string,\n listBox: string,\n placeholder: string\n) => ({\n type: ADDCLIENTINFO,\n name,\n image,\n listBox,\n placeholder,\n});\n\nconst addClientName = (name: string) => ({\n type: ADDCLIENTNAME,\n name,\n});\n\nconst initialState: DefaultsState = {\n name: '',\n image: '',\n listBox: '',\n placeholder: '',\n intent: [],\n clientName: 'defaults',\n};\n\nconst defaults = (state: DefaultsState = initialState, action: AnyAction) => {\n switch (action.type) {\n case ADDINTENT:\n return {\n ...state,\n intent: action.intentData,\n };\n case ADDCLIENTINFO:\n return {\n ...state,\n name: action.name,\n image: action.image,\n listBox: action.listBox,\n placeholder: action.placeholder,\n };\n case ADDCLIENTNAME:\n return {\n ...state,\n clientName: action.name,\n };\n default:\n return state;\n }\n};\n\ntype IntentObject = {\n count: number;\n id: string;\n name: string;\n is_activate: number;\n};\n\ntype IntentType = IntentObject[];\n\ntype DefaultsState = {\n name: string;\n image: string;\n listBox: string;\n placeholder: string;\n intent: IntentType;\n clientName: ClientNameProps;\n};\n\nexport default defaults;\nexport { addClientInfo, addIntent, addClientName };\nexport type { IntentObject, IntentType, DefaultsState };\n","import { AnyAction } from \"redux\";\nimport { DisplayState } from \"../types\";\n\nconst MOBILE = 'display/Mobile';\nconst DESKTOP = 'display/Desktop';\n\nconst convertMobile = ()=>({\n type:MOBILE,\n});\n\nconst converDesktop = ()=>({\n type:DESKTOP\n});\n\nconst initialState:DisplayState = {\n state: 'Mobile'\n};\n\nconst display = (\n state:DisplayState=initialState,\n action: AnyAction\n)=>{\n switch(action.type){\n case MOBILE:\n return {\n state:'Mobile'\n }\n case DESKTOP:\n return {\n state:'Desktop'\n }\n default:\n return state\n }\n};\n\nexport default display;\n\nexport {\n convertMobile,\n converDesktop,\n};","import { GreetingType } from '../types';\n\nconst gretting: GreetingType = {};\n\nexport default gretting;\n","// eslint-disable-next-line import/no-anonymous-default-export\nexport default {\n kfo: '한국직업개발원',\n kfowork: '한국직업개발원',\n kfoedu: '한국직업개발원',\n 'kfo-sbiz': '소상공인아카데미',\n};\n","import { useEffect } from 'react';\nimport Mobile from './pages/Mobile/Mobile';\nimport Desktop from './pages/Desktop/Desktop';\nimport { postDefault, getKeyboard2, postMessage2 } from './api/axiosFunction';\nimport { useDispatch } from 'react-redux';\nimport {\n addClientInfo,\n addClientName,\n addIntent,\n IntentType,\n} from './modules/defaults';\nimport { addBookMark, BookMarkObject } from './modules/bookMark';\nimport { addGreeting } from './modules/chatting';\nimport { getURLParams, responseParsing } from './api/functions';\nimport { converDesktop, convertMobile } from './modules/display';\nimport apis from './api/clientAPI';\nimport greetingState from './styles/greetingState';\nimport clientTitleName from './api/clientName';\nimport { answerGenerator } from './modules/thunks';\n\nfunction App() {\n\n useEffect(() => {\n const client = clientName();\n const favicon = getFaviconEl();\n if (favicon) {\n favicon.setAttribute('href', `/favicon/${client}.png`);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n // console.log(document.cookie)\n const client = clientName();\n defaultsData();\n keywordsData(client);\n // eslint-disable-next-line\n }, []);\n\n //redux Dispatch\n const dispatch = useDispatch();\n const addIntentBookMark = (\n intentes: IntentType,\n bookMark: BookMarkObject[]\n ) => {\n dispatch(addIntent(intentes));\n dispatch(addBookMark(bookMark));\n };\n\n const onConverMobile = () => {\n convertMobile();\n };\n const onConverDesktop = () => {\n converDesktop();\n };\n\n const defaultsData = async () => {\n const { data } = await postDefault();\n\n dispatch(\n addClientInfo(\n data.agent.name,\n data.agent.image,\n data.placeholder.response.LISTBOX,\n data.placeholder.response.INPUT\n )\n );\n };\n const keywordsData = async (client: string) => {\n const {\n data: { response, intents },\n } = await getKeyboard2();\n\n const responseData = responseParsing(response);\n const greeting = Object.keys(greetingState);\n const queryParams = getURLParams();\n\n if (!queryParams.keyword) {\n if (greeting.indexOf(client) > -1) {\n dispatch(addGreeting());\n setTimeout(() => {\n dispatch(answerGenerator(responseData));\n }, 6000);\n } else {\n dispatch(answerGenerator(responseData));\n }\n } else {\n const urlQueryRes = await postMessage2(\n decodeURI(queryParams.keyword),\n null,\n 'text'\n );\n const responseData = responseParsing(urlQueryRes.data.response);\n dispatch(answerGenerator(responseData));\n }\n\n addIntentBookMark(intents, response.button.values);\n\n return responseData;\n };\n const clientName = () => {\n const { hostname, pathname } = window.location;\n const keys = Object.keys(apis);\n const values = Object.values(apis);\n const htmlTitle = document.querySelector('title') as HTMLTitleElement;\n let clientName = '';\n\n if (\n hostname.split('.')[0] === 'localhost' ||\n hostname.split('.')[0] === 'test-dualtalk' ||\n hostname.split('.')[0] === 'dev-vp-platform' ||\n hostname.split('.')[1] === 'localhost' ||\n hostname.split('.')[1] === 'test-dualtalk' ||\n hostname.split('.')[1] === 'dev-vp-platform' ||\n hostname === '192.168.1.209'\n ) {\n const valueIndex = values.indexOf(pathname.slice(1));\n const keysIndex = keys.indexOf(pathname.slice(1));\n if (valueIndex > -1) {\n const clientNameKey = Object.keys(clientTitleName);\n const clientNameValue = Object.values(clientTitleName);\n dispatch(addClientName(keys[valueIndex].split('-')[0]));\n clientName = keys[valueIndex].split('-')[0];\n const clientNameKeyIndex = clientNameKey.indexOf(clientName);\n const htmlTitleName = clientNameValue[clientNameKeyIndex];\n htmlTitle.innerHTML = htmlTitleName;\n } else if (keysIndex > -1) {\n const clientNameKey = Object.keys(clientTitleName);\n const clientNameValue = Object.values(clientTitleName);\n dispatch(addClientName(keys[keysIndex].split('-')[0]));\n clientName = keys[keysIndex].split('-')[0];\n const clientNameKeyIndex = clientNameKey.indexOf(clientName);\n const htmlTitleName = clientNameValue[clientNameKeyIndex];\n htmlTitle.innerHTML = htmlTitleName;\n } else {\n clientName = 'defaults';\n dispatch(addClientName('defaults'));\n }\n } else {\n const splitHostname = hostname.split('.');\n if (splitHostname[0] === 'www') {\n clientName = splitHostname[1];\n dispatch(addClientName(splitHostname[1]));\n const clientNameKey = Object.keys(clientTitleName);\n const clientNameValue = Object.values(clientTitleName);\n const clientNameKeyIndex = clientNameKey.indexOf(splitHostname[1]);\n const htmlTitleName = clientNameValue[clientNameKeyIndex];\n htmlTitle.innerHTML = htmlTitleName;\n } else {\n clientName = splitHostname[0];\n dispatch(addClientName(splitHostname[0]));\n const clientNameKey = Object.keys(clientTitleName);\n const clientNameValue = Object.values(clientTitleName);\n const clientNameKeyIndex = clientNameKey.indexOf(splitHostname[0]);\n const htmlTitleName = clientNameValue[clientNameKeyIndex];\n htmlTitle.innerHTML = htmlTitleName;\n }\n }\n return clientName;\n };\n\n onConverMobile();\n return ;\n}\n\nconst getFaviconEl = () => {\n return document.getElementById('favicon');\n};\n\nexport default App;\n","import { ReportHandler } from 'web-vitals';\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler) => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import { createGlobalStyle } from \"styled-components\";\nimport { normalize } from 'styled-normalize';\n\nconst GlobalStyle = createGlobalStyle`\n ${normalize}\n`\n\nexport default GlobalStyle;","import { combineReducers } from 'redux';\nimport bookmark from './bookMark';\nimport carousel from './carousel';\nimport chatbubbles from './chatBubbles';\nimport chatting from './chatting';\nimport checkerBoard from './checkerBoard';\nimport defaults from './defaults';\nimport userChatting from './userChatting';\nimport relation from './relation';\nimport onecard from './oneCard';\nimport visualPage from './visualPage';\nimport display from './display';\nimport temporary from './temporary';\nimport intent from './intent';\nimport modal from './modal';\n\nconst rootReducer = combineReducers({\n bookmark,\n carousel,\n chatbubbles,\n chatting,\n checkerBoard,\n defaults,\n userChatting,\n relation,\n onecard,\n visualPage,\n display,\n temporary,\n intent,\n modal,\n});\n\nexport default rootReducer;\n\nexport type RootState = ReturnType;\n","const kfo = {\n title: 'assets/custom/kfo/title.svg',\n wrap: {\n background: '#ffffff',\n },\n chattingBubbles: {\n resText: {\n background: '#F5F5F5',\n border: ' 1px solid rgba(196, 196, 196, 0.3)',\n color: '#111111',\n },\n action: {\n background: '#ffffff',\n border: '1.5px solid #C32A24',\n hoverColor: '#FEF8F6',\n color: '#C32A24',\n },\n relationButton: {\n background: {\n on: '#D01700',\n off: '#ff361d',\n },\n border: '1.5px solid #d01700',\n hover: {\n background: '#D01700',\n color: '#fffff',\n },\n active: {\n background: '#D01700',\n },\n p: {\n color: {\n on: '#FFFFFF',\n off: '#ffffff',\n },\n },\n },\n },\n user: {\n reqText: {\n background: 'linear-gradient(90deg, #C32A24 15.18%, #DD4F20 100%)',\n color: '#ffffff',\n },\n reqTime: {\n color: '#111111',\n },\n },\n carousel: {\n ele: {\n border: {\n on: '1px solid #ff361d',\n off: '1px solid rgba(64, 64, 64, 0.3)',\n },\n background: '#393939',\n },\n image: {\n background: '#ffffff',\n },\n swiper: {\n color: 'rgb(195, 42, 36)',\n },\n title: {\n color: '#C32A24',\n background: '#ffffff',\n },\n description: {\n color: '#383838',\n },\n button: {\n background: 'linear-gradient(90deg, #C32A24 15.18%, #DD4F20 100%)',\n color: '#ffffff',\n },\n },\n checkerboard: {\n wrap: {\n display: 'grid',\n gridTemplateColumns: 'repeat(3,1fr)',\n },\n ele: {\n border: {\n on: '1.5px solid #C32A24',\n off: '1px solid #EAEAEA',\n },\n hover: '1.5px solid #111111',\n background: '#ffffff',\n display: 'flex',\n flexDirection: 'column',\n },\n text: {\n background: '#ffffff',\n color: '#C32A24',\n height: '24px',\n },\n imgEle: {\n height: '72px',\n background: '#ffffff',\n },\n img: {\n background: '#ffffff',\n objectFit: 'cover',\n maxWidth: '100%',\n maxHeight: '55px',\n borderRadius: '0',\n },\n },\n onecard: {\n wrap: {\n background: '#ffffff',\n border: '1px solid #e5e5e5',\n },\n button: {\n background: {\n on: '#C32A24',\n off: '#FEF8F6',\n },\n border: {\n on: '#C32A24',\n off: '#F6ECE9',\n },\n font: {\n on: '#FFFFFF',\n off: '#C32A24',\n },\n },\n content: {\n color: '#383838',\n },\n image: {\n background: '#ffffff',\n },\n },\n relation: {\n button: {\n background: {\n on: '#C32A24',\n off: '#ffffff',\n },\n border: '1.5px solid #C32A24',\n hover: {\n background: '#FEF8F6',\n color: '#C32A24',\n },\n active: {\n background: '#C32A24',\n color: '#ffffff',\n },\n color: {\n on: '#ffffff',\n off: '#C32A24',\n },\n },\n listbutton: {\n background: '#ffffff',\n border: '1.5px solid #C32A24',\n hoverBackground: '#FEF8F6',\n },\n listboxtext: {\n color: '#C32A24',\n fillColor: '#C32A24',\n fontWeight: '500',\n },\n listele: {\n backgroundColor: {\n odd: '#ffffff',\n even: '#FEF8F6',\n },\n color: '#111111',\n hoverBackground: '#FEF8F6',\n },\n listmenu: {\n background: '#ffffff',\n border: '1.5px solid #C32A24',\n },\n },\n bookmark: {\n wrap: {\n background: '#ffffff',\n },\n button: {\n background: '#ffffff',\n },\n relation: {\n color: '#3F2B2B',\n },\n },\n header: {\n wrap: {\n background: 'linear-gradient(90deg, #C32A24 15.18%, #DD4F20 100%)',\n },\n company: {\n background: 'rgba(0,0,0,0)',\n },\n title: {\n color: 'white',\n },\n },\n chatting: {\n wrap: {\n background: '#ffffff',\n },\n },\n client: {\n title: {\n color: '#111111',\n },\n },\n input: {\n inputWrap: {\n background: '#ffffff',\n },\n wrap: {\n background: '#ffffff',\n },\n postWrap: {\n border: {\n on: '1px solid #C32A24',\n off: '1px solid rgba(63, 43, 43, 0.1)',\n },\n background: {\n on: '#ffffff',\n off: '#FEF8F6',\n },\n },\n textInput: {\n background: {\n on: '#ffffff',\n off: '#FEF8F6',\n },\n color: {\n on: '#111111',\n off: '#111111',\n },\n placeholder: 'rgba(17,17,17,0.2)',\n },\n sendbutton: {\n background: '#C32A24',\n },\n },\n visualpage: {\n header: {\n background: 'linear-gradient(90deg, #C32A24 15.18%, #DD4F20 100%)',\n color: '#FFFFFF',\n },\n wrap: {\n background: '#ffffff',\n },\n footer: {\n color: '#C4C4C4',\n },\n },\n intent: {\n color: '#C32A24',\n },\n};\nexport default kfo;\n","import kfo from './custom/kfo';\nimport kfoedu from './custom/kfo';\nimport kfowork from './custom/kfo-work';\nimport kfosbiz from './custom/kfo-sbiz';\nconst defaults = {\n title: 'assets/custom/jardin/title.png',\n chattingBubbles: {\n resText: {\n background: '#F5F5F5',\n border: ' 1.5px solid rgba(196, 196, 196, 0.3)',\n color: '#111111',\n },\n action: {\n background: '#FFFFFF',\n border: '1.5px solid #111111',\n hoverColor: '#F5F5F5',\n color: '#111111',\n },\n relationButton: {\n background: {\n on: '#111111',\n off: '#FFFFFF',\n },\n border: '1.7px solid #111111',\n hover: {\n background: '#C9C9C9',\n color: '#fff',\n },\n active: {\n background: '#111111',\n },\n p: {\n color: {\n on: '#FFFFFF',\n off: '#111111',\n },\n },\n },\n },\n user: {\n reqText: {\n background: '#111111',\n color: '#FFFFFF',\n },\n reqTime: {\n color: '#111111',\n },\n },\n carousel: {\n ele: {\n border: {\n on: '1px solid #111111',\n off: '1px solid #F3F3F3',\n },\n },\n title: {\n color: '#111111',\n },\n description: {\n color: '#383838',\n },\n button: {\n background: '#111111',\n color: '#FFFFFF',\n },\n },\n checkerboard: {\n ele: {\n border: {\n on: '1.5px solid #111111',\n off: '1.5px solid #EAEAEA',\n },\n hover: '1.5px solid #111111',\n },\n text: {\n background: '#FFFFFF',\n color: '#111111',\n },\n },\n onecard: {\n wrap: {\n background: '#FFFFFF',\n border: '1px solid #EDEDED',\n },\n button: {\n background: {\n on: '#111111',\n off: '#FAFAFA',\n },\n border: {\n on: '#111111',\n off: '#EDEDED',\n },\n font: {\n on: '#FFFFFF',\n off: '#111111',\n },\n },\n },\n relation: {\n button: {\n background: {\n on: '#111111',\n off: '#FFFFFF',\n },\n border: '1.7px solid #111111',\n hover: {\n background: '#C9C9C9',\n },\n active: {\n background: '#111111',\n },\n color: {\n on: '#FFFFFF',\n off: '#111111',\n },\n },\n listbutton: {\n background: '#FFFFFF',\n border: '1.5px solid #111111',\n hoverBackground: '#F5F5F5',\n },\n listboxtext: {\n color: '#111111',\n },\n listele: {\n backgroundColor: {\n odd: '#F4F4F4',\n even: '#FFFFFF',\n },\n color: '#111111',\n hoverBackground: '#DADADA',\n },\n },\n bookmark: {\n wrap: {\n background: 'white',\n },\n button: {\n background: 'white',\n },\n },\n header: {\n wrap: {\n background: 'white',\n },\n company: {\n background: 'white',\n },\n title: {\n color: '#111111',\n },\n },\n input: {\n wrap: {\n background: 'white',\n },\n postWrap: {\n border: {\n on: '1px solid #E7E7E7',\n off: '1px solid #111111',\n },\n },\n sendbutton: {\n background: 'black',\n },\n },\n visualpage: {\n header: {\n background: '#111111',\n color: '#FFFFFF',\n },\n },\n intent: {\n color: 'blue',\n },\n};\nconst theme = {\n kfo,\n kfoedu,\n kfowork,\n 'kfo-sbiz': kfosbiz,\n defaults,\n};\nexport default theme;\n","const kfowork = {\n title: 'assets/custom/kfowork/title.svg',\n wrap: {\n background: '#ffffff',\n },\n chattingBubbles: {\n resText: {\n background: '#F5F5F5',\n border: ' 1px solid rgba(196, 196, 196, 0.3)',\n color: '#111111',\n },\n action: {\n background: '#ffffff',\n border: '1.5px solid rgba(50, 130, 255, 0.6)',\n hoverColor: '#E0ECFF',\n color: '#1E6DE9',\n },\n relationButton: {\n background: {\n on: '#D01700',\n off: '#ff361d',\n },\n border: '1.5px solid #d01700',\n hover: {\n background: '#D01700',\n color: '#fffff',\n },\n active: {\n background: '#D01700',\n },\n p: {\n color: {\n on: '#FFFFFF',\n off: '#ffffff',\n },\n },\n },\n },\n user: {\n reqText: {\n background: '#E0ECFF;',\n color: '#111111',\n },\n reqTime: {\n color: '#111111',\n },\n },\n carousel: {\n ele: {\n border: {\n on: '1.5px solid #3282FF',\n off: '1px solid #E9EAEF',\n },\n background: '#393939',\n },\n image: {\n background: '#ffffff',\n },\n swiper: {\n color: '#3282FF',\n },\n title: {\n color: '#1E6DE9',\n background: '#ffffff',\n },\n description: {\n color: '#383838',\n },\n button: {\n background: '#3282FF',\n color: '#ffffff',\n },\n },\n checkerboard: {\n wrap: {\n display: 'grid',\n gridTemplateColumns: 'repeat(3,1fr)',\n },\n ele: {\n border: {\n on: '1.5px solid #3282FF',\n off: '1px solid #E9EAEF',\n },\n hover: '1.5px solid #3282FF',\n background: '#ffffff',\n display: 'flex',\n flexDirection: 'column',\n },\n text: {\n background: '#ffffff',\n color: '#1E6DE9',\n height: '24px',\n },\n imgEle: {\n height: '72px',\n background: '#ffffff',\n },\n img: {\n background: '#ffffff',\n objectFit: 'cover',\n maxWidth: '100%',\n maxHeight: '55px',\n borderRadius: '0',\n },\n },\n onecard: {\n wrap: {\n background: '#ffffff',\n border: '1px solid #EDEDED',\n },\n button: {\n background: {\n on: '#3282FF',\n off: '#FAFAFA;',\n },\n border: {\n on: 'none',\n off: '#E9EAEF',\n },\n font: {\n on: '#FFFFFF',\n off: '#3282FF',\n },\n },\n content: {\n color: '#383838',\n },\n image: {\n background: '#ffffff',\n },\n },\n relation: {\n button: {\n background: {\n on: '#1367E9',\n off: '#3282FF',\n },\n border: 'none',\n hover: {\n background: '#1367E9',\n color: '#ffffff',\n },\n active: {\n background: '#1367E9',\n color: '#ffffff',\n },\n color: {\n on: '#ffffff',\n off: '#ffffff',\n },\n },\n listbutton: {\n background: '#ffffff',\n border: '1.5px solid rgba(50, 130, 255, 0.6)',\n hoverBackground: '#E0ECFF',\n },\n listboxtext: {\n color: '#1E6DE9',\n fillColor: '#1E6DE9',\n fontWeight: '500',\n },\n listele: {\n backgroundColor: {\n odd: '#ffffff',\n even: '#F4F4F4',\n },\n color: '#000000',\n },\n listmenu: {\n background: '#ffffff',\n border: '1px solid #E9EAEF',\n },\n },\n bookmark: {\n wrap: {\n background: '#ffffff',\n },\n button: {\n background: '#ffffff',\n },\n relation: {\n color: '#1E325F',\n },\n },\n header: {\n wrap: {\n background: '#3282FF',\n },\n company: {\n background: 'rgba(0,0,0,0)',\n },\n title: {\n color: 'white',\n },\n },\n chatting: {\n wrap: {\n background: '#ffffff',\n },\n },\n client: {\n title: {\n color: '#111111',\n },\n },\n input: {\n inputWrap: {\n background: '#ffffff',\n },\n wrap: {\n background: '#ffffff',\n },\n postWrap: {\n border: {\n on: '1px solid #3C5AAA',\n off: '1px solid #E9E9E9',\n },\n background: {\n on: '#ffffff',\n off: '#F9F9F9',\n },\n },\n textInput: {\n background: {\n on: '#ffffff',\n off: '#F9F9F9',\n },\n color: {\n on: '#111111',\n off: '#111111',\n },\n placeholder: 'rgba(17, 17, 17, 0.2) !important',\n },\n sendbutton: {\n background: '#3C5AAA',\n },\n },\n visualpage: {\n header: {\n background: '#3282FF',\n color: '#FFFFFF',\n },\n wrap: {\n background: '#ffffff',\n },\n contentsWrap: {\n width: 'calc(100% - 25px)',\n marginLeft: '0'\n },\n footer: {\n color: '#C4C4C4',\n },\n },\n intent: {\n color: '#3282FF',\n },\n};\nexport default kfowork;\n","const kfosbiz = {\n title: 'assets/custom/kfowork/title.svg',\n wrap: {\n background: '#ffffff',\n },\n chattingBubbles: {\n resText: {\n background: '#F2F4FD',\n border: '1px solid #D6DBEE',\n color: '#000000',\n },\n action: {\n background: '#ffffff',\n border: '1.5px solid #093775',\n hoverColor: '#E0ECFF',\n color: '#093775',\n },\n relationButton: {\n background: {\n on: '#093775',\n off: '#ffffff',\n },\n border: '1.5px solid #093775',\n hover: {\n background: '#F2F4FD',\n color: '#093775',\n },\n active: {\n background: '#093775',\n },\n p: {\n color: {\n on: '#FFFFFF',\n off: '#093775',\n },\n },\n },\n },\n user: {\n reqText: {\n background: '#FF8C12;',\n color: '#000000',\n },\n reqTime: {\n color: '#111111',\n },\n },\n carousel: {\n ele: {\n border: {\n on: '1.5px solid #093775',\n off: '1px solid #D6DBEE',\n },\n background: {\n on: '#FFFFFF',\n off: '#ffffff',\n },\n },\n image: {\n background: '#ffffff',\n },\n swiper: {\n color: '#093775',\n },\n title: {\n color: '#093775',\n background: '#ffffff',\n },\n description: {\n color: '#383838',\n },\n button: {\n background: '#093775',\n color: '#ffffff',\n },\n },\n checkerboard: {\n wrap: {\n display: 'grid',\n gridTemplateColumns: 'repeat(3,1fr)',\n },\n ele: {\n border: {\n on: '1.5px solid #093775',\n off: '1px solid #D6DBEE',\n },\n hover: '1.5px solid #093775',\n background: '#ffffff',\n display: 'flex',\n flexDirection: 'column',\n },\n text: {\n background: '#ffffff',\n color: '#093775',\n height: '24px',\n },\n imgEle: {\n height: '72px',\n background: '#ffffff',\n },\n img: {\n background: '#ffffff',\n objectFit: 'cover',\n maxWidth: '100%',\n maxHeight: '55px',\n borderRadius: '0',\n },\n },\n onecard: {\n wrap: {\n background: '#ffffff',\n border: '1px solid #D6DBEE',\n },\n button: {\n background: {\n on: '#093775',\n off: '#F2F4FD;',\n },\n border: {\n on: '#093775',\n off: '#D6DBEE',\n },\n font: {\n on: '#FFFFFF',\n off: '#093775',\n },\n },\n content: {\n color: '#383838',\n },\n image: {\n background: '#ffffff',\n },\n },\n relation: {\n button: {\n background: {\n on: '#093775',\n off: '#ffffff',\n },\n border: '1.5px solid #093775',\n hover: {\n background: '#F2F4FD',\n color: '#093775',\n },\n active: {\n background: '#093775',\n color: '#ffffff',\n },\n color: {\n on: '#ffffff',\n off: '#093775',\n },\n },\n listbutton: {\n background: '#ffffff',\n border: '1.5px solid #093775',\n hoverBackground: '#F2F4FD',\n },\n listboxtext: {\n color: '#000000',\n fillColor: '#0068B7',\n fontWeight: '500',\n },\n listele: {\n backgroundColor: {\n odd: '#ffffff',\n even: '#F4F4F4',\n },\n color: '#000000',\n hoverBackground: '#F6F7FE',\n },\n listmenu: {\n background: '#ffffff',\n border: '1px solid #E9EAEF',\n },\n },\n bookmark: {\n wrap: {\n background: '#ffffff',\n },\n button: {\n background: '#ffffff',\n },\n relation: {\n opacity: '1',\n color: '#111111',\n },\n },\n header: {\n wrap: {\n background: '#093775',\n },\n company: {\n background: 'rgba(0,0,0,0)',\n },\n title: {\n color: 'white',\n },\n },\n chatting: {\n wrap: {\n background: '#ffffff',\n },\n },\n client: {\n title: {\n color: '#111111',\n },\n },\n input: {\n inputWrap: {\n background: '#ffffff',\n },\n wrap: {\n background: '#ffffff',\n },\n postWrap: {\n border: {\n on: '1px solid #093775',\n off: '1px solid #D6DBEE',\n },\n background: {\n on: '#ffffff',\n off: '#F2F4FD',\n },\n },\n textInput: {\n background: {\n on: '#ffffff',\n off: '#F2F4FD',\n },\n color: {\n on: '#111111',\n off: '#111111',\n },\n placeholder: 'rgba(17, 17, 17, 0.2) !important',\n },\n sendbutton: {\n background: '#093775',\n },\n },\n visualpage: {\n header: {\n background: '#093775',\n color: '#FFFFFF',\n },\n wrap: {\n background: '#ffffff',\n },\n contentsWrap: {\n width: 'calc(100% - 25px)',\n marginLeft: '0',\n },\n footer: {\n color: '#C4C4C4',\n },\n },\n intent: {\n color: '#093775',\n },\n};\nexport default kfosbiz;\n","import './fonts/fonts.css'\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport App from './App';\nimport reportWebVitals from './reportWebVitals';\nimport GlobalStyle from './styles/global-styles';\nimport rootReducer from './modules'\nimport { createStore, applyMiddleware } from 'redux';\nimport thunk from 'redux-thunk'\nimport {composeWithDevTools} from 'redux-devtools-extension';\nimport {Provider} from 'react-redux';\nimport { StylesProvider, } from '@material-ui/styles';\nimport {\n BrowserRouter as Router,\n Switch,\n Route,\n} from 'react-router-dom';\n// ThemeProvider as MuiThemeProvider \nimport { ThemeProvider as StyledThemeProvider } from 'styled-components';\nimport theme from './styles/clientStyles';\n\nconst store = createStore(rootReducer,composeWithDevTools(applyMiddleware(thunk)));\n\nReactDOM.render(\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}