{"version":3,"sources":["app/assets/images/userpic.png","app/context/FeedContext.js","app/context/ThemeContext.js","app/components/Layout.js","app/hooks/useFeed.js","app/components/Icon.js","app/components/EditMenu.js","app/components/Bubble.js","app/components/Success.js","app/components/ModalGallery.js","app/components/Images.js","app/components/Docs.js","app/components/Rate.js","app/components/Feed.js","app/components/SkipAction.js","app/components/SingleSelect.js","app/components/BoolSelect.js","app/components/SubmitBtn.js","app/components/MultipleSelect.js","app/components/TimePick.js","app/components/TextInput.js","app/components/RateInput.js","app/components/ImageInput.js","app/components/DocInput.js","app/components/DateQuickSelect.js","app/components/DatePick.js","app/components/SuccessActions.js","app/components/EditAllActions.js","app/components/Actions.js","app/components/Dialog.js","app/components/Loader.js","app/pages/IndexPage.js","app/App.js","index.js"],"names":["module","exports","FeedContext","React","createContext","FeedProvider","props","_useState","useState","urn","isPreview","dialogDscr","dialogData","isLoaded","isFinished","isEditing","isEditingAll","feed","step","action","values","success","hasError","hasSubmitError","isInit","submittedAt","dependentItemToEdit","dependentItemsToEdit","dependentItemsData","dependentItemsPostFinished","_useState2","Object","slicedToArray","context","setContext","react_default","a","createElement","Provider","value","children","theme","textColor","wrapperBg","wrapperColor","answerBg","screenLgMin","screenSmMax","remMixin","pxValue","concat","Wrapper","styled","div","_templateObject","bgcolor","WrapperInner","_templateObject2","Head","header","_templateObject3","Main","main","_templateObject4","Logo","img","_templateObject5","Layout","_useContext","useContext","title","setState","_context$dialogDscr","LogoUrl","Title","HeaderColor","useEffect","newTitle","process","document","state","objectSpread","styled_components_browser_esm","src","alt","API_URL","useFeed","_useContext2","checkIfDependentItemIsVisible","stepData","_conditionParentValue","Conditions","length","conditionParent","find","x","Header","Name","conditionParentValue","undefined","Value","text","getDependencySkippedAnswer","type","id","isSkipped","getNextAction","nextStep","nextQuestion","nextHeader","nextActionType","TypeString","nextActionOptions","Options","nextActionSubtype","Subtype","options","subtype","isRequired","IsRequired","handleSubmit","answer","nextFeed","toConsumableArray","prevValues","nextValues","nextAnswer","index","findIndex","item","indexValues","dependentItems","filter","c","moveAhead","postForID","itemHeader","slice","parentPrevValue","parentNextValue","data","formData","headers","file","axiosArray","forEach","i","url","getPreviewPrefix","files","images","docs","FormData","base64ToBlob","append","name","JSON","stringify","Content-Type","accept","postData","push","send","axios","post","then","response","Success","handleSubmitError","catch","error","handleApiError","status","postAllData","setTimeout","fetchDialog","get","dataurl","arr","split","mime","match","byteChars","window","atob","byteArrays","offset","len","byteNumbers","Array","charCodeAt","byteArray","Uint8Array","Blob","sc","errorCode","errorMsg","nextMsg","errorResponse","ErrorCode","uniqueID","Math","random","toString","substr","scrollDialog","dialogFeed","getElementById","scrollTop","scrollHeight","initDialog","validationMessage","AlreadySubmitted","AllowMultipleSubmits","ExpirationDate","Date","getNextQuestion","stepid","nextAction","handleEdit","handleBodyLock","lock","appWrapper","bodyScroll","body","style","position","top","scroll","removeProperty","showSuccess","finStr","replacements","map","v","SuccessMessageTemplate","successTemplateChunks","r","join","template","now","fetchData","handleDependentItem","prevValue","nextValue","stepID","dd","feedAnswer","f","feedQuestion","dependentItemWasVisible","dependentItemIsVisible","Icon","Fragment","xmlns","width","height","viewBox","d","fill","stroke","fillRule","strokeLinecap","strokeWidth","EditWrapper","attrs","className","isVisible","EditMenu_templateObject","EditBtn","button","EditMenu_templateObject2","EditActionBtnWrapper","EditMenu_templateObject3","EditActionBtn","EditMenu_templateObject4","EditMenu","visible","setVisible","editWrapperRef","useRef","handleClose","e","current","contains","target","removeEventListener","ref","onClick","preventDefault","addEventListener","components_Icon","itemId","Avatar","Bubble_templateObject","BubbleWrapper","Bubble_templateObject2","hasObjects","css","Bubble_templateObject3","noPadding","Bubble_templateObject4","Bubble_templateObject5","_templateObject6","Row","typeOf","_templateObject7","isHidden","Bubble","UserPic","userpic","components_EditMenu","Success_templateObject","IconWrapper","Success_templateObject2","Success_templateObject3","Success_templateObject4","components_Bubble","Success_Title","Success_Main","Modal","ModalGallery_templateObject","ModalGallery_templateObject2","ModalGallery_templateObject3","SlideCounter","ModalGallery_templateObject4","CloseBtn","ModalGallery_templateObject5","SliderWrapper","ModalGallery_templateObject6","Slide","ModalGallery_templateObject7","screenMdMin","BtnArrow","_templateObject8","BtnPrev","_templateObject9","BtnNext","_templateObject10","ModalGallery","setIndex","slider","slickGoTo","isSelected","sliderSettings","beforeChange","next","afterChange","dots","infinite","speed","slidesToShow","slidesToScroll","arrows","autoplay","items","handleCloseModal","lib_default","assign","key","slickPrev","slickNext","ImgWrapper","Images_templateObject","ImgPreview","Images_templateObject2","Images","selected","setSelected","_useState3","_useState4","modal","setModal","backgroundImage","components_ModalGallery","DocWrapper","Docs_templateObject","File","Docs_templateObject2","Docs_templateObject3","Docs","Docs_IconWrapper","StarWrapper","Rate_templateObject","Rate","rating","parseInt","DialogScrollWrapper","Feed_templateObject","DialogWrapper","Feed_templateObject2","Feed","timeingOptions","timeout","transitionEnterTimeout","transitionLeaveTimeout","classNames","dialogWrapper","ResizeObserver","entries","observer","observe","keys","TransitionGroup","CSSTransition","require","components_Rate","components_Images","components_Docs","components_Success","SkipRow","SkipAction_templateObject","SkipBtn","SkipAction_templateObject2","SkipAction","SingleSelect_templateObject","RowInner","SingleSelect_templateObject2","Option","SingleSelect_templateObject3","SingleSelect","SingleSelect_Row","option","val","handleSelect","components_SkipAction","BoolSelect_templateObject","BoolSelect_templateObject2","BoolSelect_templateObject3","BoolSelect","BoolSelect_Row","BoolSelect_RowInner","BoolSelect_Option","Btn","SubmitBtn_templateObject","SubmitBtn","MultipleSelect_templateObject","MultipleSelect_templateObject2","Submit","MultipleSelect_templateObject3","MultipleSelect","setValues","MultipleSelect_Row","MultipleSelect_Option","includes","disabled","el","Columns","cols","Col","it","j","TimeOption","TimePick_templateObject","RowScrollWrapper","TimePick_templateObject2","TimePick_templateObject3","TimePick_templateObject4","TimePick_templateObject5","TimePick_templateObject6","TimePick_templateObject7","TimePick_templateObject8","TimePick","setStep","steps","offsetWidth","ceil","TimePick_Row","TimePick_RowInner","transform","TimePick_Columns","TimePick_BtnPrev","TimePick_BtnNext","TextInput_templateObject","sharedInputStyle","TextInput_templateObject2","Textarea","textarea","TextInput_templateObject3","Input","input","TextInput_templateObject4","TextInput_templateObject5","TextInput","rows","setRows","handleChange","_ref","defineProperty","previousRows","currentRows","nextRows","scrollIntoView","behavior","TextInput_Row","onChange","placeholder","TextInput_Submit","RateInput_templateObject","RateWrapper","RateInput_templateObject2","RateInput_templateObject3","label","RateInput_templateObject4","hasHover","StarInput","RateInput_templateObject5","RateInput","setValue","hover","setHover","handleMouseLeave","RateInput_Row","count","RateInput_StarWrapper","onMouseEnter","onMouseLeave","RateInput_Submit","Preview","PreviewWrapper","ImageInput_CloseBtn","handleImgRemove","PreviewImg","ImageInput_templateObject","OptionLabel","ImageInput_templateObject2","ImgInput","ImageInput_templateObject3","ImageInput_templateObject4","PreviewRow","ImageInput_templateObject5","ImageInput_templateObject6","ImageInput_templateObject7","ImageInput_templateObject8","ImageInput_templateObject9","ImageInput","_useFeed","handleImageChange","filesAmount","_loop","reader","FileReader","nextImages","imgName","imgType","onload","ev","newImg","result","readAsDataURL","ImageInput_Row","ImageInput_Preview","ImageInput_Submit","multiple","DocInput_PreviewWrapper","DocInput_CloseBtn","handleDocRemove","doc","DocInput_IconWrapper","DocInput_templateObject","DocInput_templateObject2","FileInput","DocInput_templateObject3","DocInput_templateObject4","DocInput_templateObject5","DocInput_templateObject6","DocInput_templateObject7","DocInput_templateObject8","DocInput_templateObject9","DocInput","handleDocChange","newDoc","nextDocs","DocInput_Row","DocInput_PreviewRow","DocInput_Preview","DocInput_Submit","DocInput_OptionLabel","DateQuickSelect_templateObject","DateQuickSelect_templateObject2","DateQuickSelect_templateObject3","DateQuickSelect","DateQuickSelect_Row","DateQuickSelect_RowInner","DateQuickSelect_Option","registerLocale","ru","DatePick_templateObject","DatePick_templateObject2","DatePick_templateObject3","DatePick_templateObject4","DatePick_templateObject5","DatePick_templateObject6","DatePick","today","allowPast","startDate","addMonths","mm","maxMonth","DatePick_Row","DatePick_RowScrollWrapper","DatePick_RowInner","react_datepicker_min_default","inline","locale","onSelect","date","format","minDate","monthsShown","dayClassName","differenceInCalendarDays","DatePick_BtnPrev","DatePick_BtnNext","components_DateQuickSelect","addDays","SuccessActions_templateObject","SuccessActions_templateObject2","SuccessActions_templateObject3","SuccessActions","allowEdit","AllowEdit","lockEdit","SuccessActions_Row","SuccessActions_RowInner","SuccessActions_Option","pop","EditAllActions_templateObject","EditAllActions_templateObject2","EditAllActions_templateObject3","EditAllActions","EditAllActions_Row","EditAllActions_RowInner","EditAllActions_Option","SelectTypes","components_RateInput","components_SingleSelect","ActionsWrapper","Actions_templateObject","Actions","Actions_SelectTypes","components_BoolSelect","components_TimePick","components_DatePick","components_MultipleSelect","components_TextInput","components_ImageInput","components_DocInput","components_SuccessActions","components_EditAllActions","Dialog","maxStep","dependentItem","EditTimeoutMinutes","timeLimit","stopIn","min","hasSuccess","components_Feed","components_Actions","LoaderWrapper","Loader_templateObject","LoaderSpinner","Loader_templateObject2","LoaderSpinnerDot","Loader_templateObject3","uid","Loader_templateObject4","Loader_templateObject5","Loader_templateObject6","Loader_templateObject7","Loader_templateObject8","Loader_templateObject9","Loader_templateObject10","_templateObject11","Loader","IndexPage","previewPath","params","prv","components_Layout","components_Dialog","components_Loader","config","App","FeedContext_FeedProvider","react_router","exact","path","component","ReactDOM","render","react_router_dom","app_App"],"mappings":"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","file":"static/js/main.0404a45f.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAB5pJREFUeAHlW0lsE2cUfv/YMVkwBIgdttiEgIOSqBsgVYqK2kpce4h64hRChdoLgvaQJidOSaMuIC6tUAmcOFU5cEVqK6pIlaBFVZMIgkJwwhY7JYDJgrFn+r4J40wmjpfxP8SQJ1njWf7vf9+bf33vjSCH5cGDmG8mMXNAIWpUNaon0kJCoyoS5NU08qJ6IShGGsU0QZN8NqwIuqkSDZa7y69s2eKNOqmicAI8HI7uTQr1kEZ0kCto0jSmZkOEEGwjGuDCl12acjEY9P1lAyZjEVuKpUOMRqPe2Kx6lMm28f2GdM9IuDbERun1lilnfT5fTAIeN8QCZXRqqlJ9Gj/OQMc00jYUCJdTcUFiilvGGWWd53Tthg2Pcyq0zEO2DYBmfWc82qqS2sP917cMvrOXBUUVUtp31PguoLvYqcyWAUbuPwrQixcXeUBrtlOp/DKin0pKDtVt3TiWL3beBgjfm2hOJLQ+rsifb2UOPx9xu0VLcFt1fz718OyUu4yMRdqY/K9cotjIg4QfukHH3BkR5WQA7u+u0bGJH0hTzzG4J58KXvGzHugIXaFzLnVn7QI6+fFIHx8/yQWwWJ7hQfFSbY2/hY/JTDplbQF3xiPfvm7kQRg6Q/dM5HEvYwvQ+9N8s8+GU7z3hXKkLuDvXU7BZQ3wcrTHgCetz0/PzFF4/CGN3YvQ02fTNMPnkPLyUlq3toIC2/wUrNlMFXwuUeI8O3y83OyQ1gDz83z8KishZbSfmZ2ja//cpOGRu2iaGblxn6VQ3Xba93Y9lZdJM0SESjz7060TlhiAFRS3xyJ/yFrkhO9O0G/913ndlMhI3HqzpMRNHzW/S8Ht1dZbNs9F/86A/wPrinGJAUbHIodVTV22z+RT+8CNUfrz2iCvlO0JlHt/XyM17am1B2AppQilrTbgP2++vMgA+sYm9nxYxtoeb/7y71dtkzeUhIIHP9wvpyVg7+BdEzJvoBZNg9jVySCPPo9mb/fNG+RxBAawgFmw8KZN52gCShkA+3m29jHTPdt/MeDl2+czVQYsYMoQcARXAytlAN2ZIWE/j6kOo71sASawCxX4LMDVwEkZgEf/NuNiIUfM89mmOjv4wAS2DDFz1Q0AHx4DS3FjYZHjlEjEbnjJeX43CAemLKWxwnNKZGIbnPUWwCPtQVlKG8tbWXhmHJnYBmcFfnseGZvMFRXy/0Ui4+6zEGiSiQ3O4O5G0IJHLT5fXcIDodADNtwHGlcX9QW24K7Mh6sWLq6mf+DORtBCq4n0Yq5aSNEDlYuvrpozcFcQpV01jK1EmbtihKit91bDObjrCyGZZEvcObnjbVXpBLaiJyfYUid9ITg4nRLZ2OCusMdBSpzdIA3vrlMiHZu5K/NpKfJUhmvbKZGNDe48BohhmQrDrw/XtmwBJrDlCucjISFJJiiCGvDryxZgSg6YELgrKmdjyVYWQQ349WUJsIApW8BdQSqaNVhQaEWI6CCoIaMjAANYEqNEOj1wBncFeXjsHBgolLS1PCI6CGoUYgSUBYa86NCCluAM7vpCiCu6vHBL3j9EdBDUsNMdUAZlZUWFrKwMzvoLgoMwQclr1odknRdBcHQJFTe59iHxUjcA7o6EH2IwlOIZXlLbywsrFB5Pp85QXXCz7ghKDdU8KPSym+i7dE/LuoZprKF+h/6ThWkHB1yNcqnNENJPkYFp3HhTj+AIrga/lAGQe8sj4xnjxpt6BEdznnHKACCM3Fuet6JvKnlw0zmaCKYGQeOajAQJRHMnHz2hyORjivz3mKanZ2l2Lk5zc88pkcwcN3C7XFRauobKSj1UUVFG/k2V5K+qpKqN621NpwYvHLMmSOAh+MvtpMjEns1w8HKCRscf0ETkkZTcAOhjCN5UtX8j1dZs4U1RNXnXlhu3cjzmmCIDtFyTpBKJBN26c59uDIf1N56jJlIeQ4vYEwrS7h1bye1OTWbLYeeeJGUgZEqTe8pve5Dzf4Zvj1M8nl/yk4Ev6+jxuCm0s4YaedW5Ln2ryD9NzlDOmig5OxunvweG6catMKkcVSgmwb5+z+4gvdcUorIyU2qj3URJgxwSjxNJ9cT1gVv079CI1AClUYfMIxynbzXsoneadpHbpZyqDVR/mQl/ySxgfZgHRdf3P/3Sx6P6a5UszWPEpa8+/7TwZGleNiYDm7QWTqU4ZTVO0Z6zrtAZumfTMWsLMAN0dv/cpqniR040MnUy8xMr+5+XuXGhaF90dXyWWutn0ygvAwCso+tCs0bJPl4wOOf+zaZ1uvtCRAS5Wro7W537ZAb1ooJSpWQ/O2nzqiidzrKuQRfolC951J93CzCUxoqxs/t8K68de/j/inw2x32c9y2ivavj8Kv9bM4wAo4nT52vjM+ox1WhHeP17yv5cJJf2xRHdM54ypXTJ08cXpkPJ81GwP+ennPeJwk6ytGWNm4RjniW+I0PcUy/d72bzra3H5ES0rPdBawGMJ9/3X1hr9CS+sfTfL3JdhLW/Neg+sfTmnBd/KajtXg/njYbwPy/o6vXx2koB1RNsA9OrSdNhLiVVLHlvdxl5pMzOErLC+sYv91JEhqH6pSbXGaQy1zp7mxz1D/xP6+c8AZ13GiRAAAAAElFTkSuQmCC\"","import React, { useState } from \"react\";\r\n\r\nconst FeedContext = React.createContext([{}, () => {}]);\r\n\r\nconst FeedProvider = props => {\r\n const [context, setContext] = useState({\r\n urn: null,\r\n isPreview: false,\r\n dialogDscr: {},\r\n dialogData: [],\r\n isLoaded: false,\r\n isFinished: false,\r\n isEditing: false,\r\n isEditingAll: false,\r\n feed: [],\r\n step: 0,\r\n action: {},\r\n values: [],\r\n success: false,\r\n hasError: false,\r\n hasSubmitError: null,\r\n isInit: false,\r\n submittedAt: null,\r\n dependentItemToEdit: null,\r\n dependentItemsToEdit: null,\r\n dependentItemsData: {},\r\n dependentItemsPostFinished: []\r\n });\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport { FeedContext, FeedProvider };\r\n","/* STyle variables */\r\nconst theme = {\r\n /* Colors */\r\n textColor: \"#1a1a1a\",\r\n wrapperBg: \"#777777\", // e30713\r\n wrapperColor: \"#ffffff\",\r\n answerBg: \"#f0f0f0\",\r\n\r\n /* Screen breakpoints */\r\n screenLgMin: \"425px\",\r\n screenSmMax: \"424px\",\r\n\r\n /* Mixins */\r\n /* Converts pixel values to rem */\r\n remMixin: pxValue => `${pxValue / 16}rem`\r\n};\r\n\r\nexport default theme;\r\n","import React, { useState, useContext, useEffect } from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport { FeedContext } from \"../context/FeedContext\";\r\n\r\nimport { ThemeProvider } from \"styled-components\";\r\nimport theme from \"../context/ThemeContext\";\r\n\r\nconst Layout = props => {\r\n const [context] = useContext(FeedContext);\r\n const [, setState] = useState({ title: \"\" });\r\n\r\n const { LogoUrl, Title, HeaderColor } = context.dialogDscr;\r\n\r\n useEffect(setTitle, [context.dialogDscr]);\r\n\r\n function setTitle() {\r\n const newTitle = Title ? Title : process.env.REACT_APP_DEF_TITLE;\r\n\r\n document.title = newTitle;\r\n\r\n setState(state => ({ ...state, title: newTitle }));\r\n }\r\n\r\n return (\r\n \r\n \r\n {LogoUrl ? : null}\r\n \r\n
{props.children}
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst Wrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n min-height: 100%;\r\n flex: 1;\r\n width: 100vw;\r\n background-color: ${props => props.bgcolor || props.theme.wrapperBg};\r\n color: ${props => props.theme.wrapperColor};\r\n\r\n @media screen and (min-width: ${props => props.theme.screenLgMin}) {\r\n height: calc(100vh - ${props => props.theme.remMixin(24)});\r\n min-height: calc(100vh - ${props => props.theme.remMixin(24)});\r\n width: ${props => props.theme.remMixin(424)};\r\n border-radius: ${props => props.theme.remMixin(20)};\r\n padding: 0 ${props => props.theme.remMixin(12)}\r\n ${props => props.theme.remMixin(12)} ${props => props.theme.remMixin(12)};\r\n margin: ${props => props.theme.remMixin(12)} auto;\r\n }\r\n`;\r\n\r\nconst WrapperInner = styled.div`\r\n border-radius: ${props => props.theme.remMixin(10)}\r\n ${props => props.theme.remMixin(10)} 0 0;\r\n background-color: #ffffff\r\n margin-top: auto;\r\n border-radius: ${props => props.theme.remMixin(10)} ${props =>\r\n props.theme.remMixin(10)} 0 0;\r\n height: calc(100% - ${props => props.theme.remMixin(84)});\r\n\r\n @media screen and (max-width: ${props => props.theme.screenSmMax}) {\r\n flex: 1;\r\n }\r\n\r\n @media screen and (min-width: ${props => props.theme.screenLgMin}) {\r\n border-radius: ${props => props.theme.remMixin(10)};\r\n height: calc(100% - ${props => props.theme.remMixin(68)});\r\n }\r\n`;\r\n\r\nconst Head = styled.header`\r\n height: ${props => props.theme.remMixin(48)};\r\n padding: ${props => props.theme.remMixin(8)}\r\n ${props => props.theme.remMixin(16)};\r\n\r\n @media screen and (min-width: ${props => props.theme.screenLgMin}) {\r\n height: ${props => props.theme.remMixin(68)};\r\n padding: ${props => props.theme.remMixin(20)}\r\n ${props => props.theme.remMixin(14)};\r\n }\r\n`;\r\n\r\nconst Main = styled.main`\r\n position: relative;\r\n display: flex;\r\n flex-direction: column;\r\n justify-content: flex-end;\r\n height: 100%;\r\n max-height: 100%;\r\n color: ${props => props.theme.textColor};\r\n`;\r\n\r\nconst Logo = styled.img`\r\n display: block;\r\n max-height: ${props => props.theme.remMixin(32)};\r\n\r\n @media screen and (min-width: ${props => props.theme.screenLgMin}) {\r\n max-height: ${props => props.theme.remMixin(36)};\r\n }\r\n`;\r\n\r\nexport default Layout;\r\n","import { useContext } from \"react\";\r\nimport { FeedContext } from \"../context/FeedContext\";\r\n\r\nimport axios from \"axios\";\r\n\r\nconst API_URL = \"/dialogs/\";\r\n// const API_URL = \"http://localhost:6337/dialogs/\";\r\n// const API_URL = \"https://www.mforms.ru/dialogs/\";\r\n// const API_URL = \"https://testwww.mforms.ru/dialogs/\";\r\n\r\nconst useFeed = () => {\r\n const [context, setContext] = useContext(FeedContext);\r\n\r\n function uniqueID() {\r\n return Math.random()\r\n .toString(36)\r\n .substr(2, 9);\r\n }\r\n\r\n function scrollDialog() {\r\n let dialogFeed = document.getElementById(\"dialog\");\r\n\r\n if (!dialogFeed) return;\r\n\r\n dialogFeed.scrollTop = dialogFeed.scrollHeight;\r\n }\r\n\r\n function initDialog() {\r\n const { dialogDscr, hasError } = context;\r\n\r\n const nextFeed = [...context.feed];\r\n\r\n if (context.hasSubmitError) {\r\n const nextMsg = {\r\n type: \"question\",\r\n text: context.hasSubmitError\r\n };\r\n\r\n nextFeed.push(nextMsg);\r\n\r\n setContext(context => ({\r\n ...context,\r\n step: context.step - 1,\r\n hasSubmitError: null,\r\n feed: nextFeed\r\n }));\r\n\r\n return;\r\n }\r\n\r\n if (hasError) return;\r\n\r\n // Проверяем доступность формы\r\n {\r\n var validationMessage;\r\n if (dialogDscr.AlreadySubmitted && !dialogDscr.AllowMultipleSubmits) {\r\n validationMessage = {\r\n type: \"question\",\r\n text: \"Повторное прохождение недоступно.\"\r\n };\r\n }\r\n else if (dialogDscr.ExpirationDate && new Date(dialogDscr.ExpirationDate) < new Date()) {\r\n validationMessage = {\r\n type: \"question\",\r\n text: \"Эта форма уже недоступна: время на ее заполнение истекло.\"\r\n };\r\n }\r\n\r\n if (validationMessage) {\r\n nextFeed.push(validationMessage);\r\n setContext(context => ({ ...context, feed: nextFeed }));\r\n return;\r\n }\r\n }\r\n\r\n const nextMsg = {\r\n type: \"question\",\r\n text: dialogDscr.Title\r\n };\r\n\r\n nextFeed.push(nextMsg);\r\n\r\n setContext(context => ({ ...context, feed: nextFeed }));\r\n\r\n setTimeout(() => {\r\n setContext(context => ({ ...context, isInit: true }));\r\n }, 800);\r\n }\r\n\r\n function checkIfDependentItemIsVisible(stepData, dialogData, values, _conditionParentValue) {\r\n if (stepData.Conditions && stepData.Conditions.length) {\r\n const conditionParent = dialogData.find(x => x.Header === stepData.Conditions[0].Name);\r\n if (conditionParent) {\r\n var conditionParentValue = _conditionParentValue !== undefined ? _conditionParentValue : values.find(x => x.header === conditionParent.Header);\r\n if (conditionParentValue === undefined || !stepData.Conditions.find(x => x.Value === conditionParentValue.text)) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n function handleDependentItem(itemHeader, prevValue, nextValue) {\r\n const stepID = context.dialogData.findIndex(dd => dd.Header === itemHeader);\r\n const stepData = context.dialogData[stepID];\r\n var feedAnswer = context.feed.find(f => f.id === stepID);\r\n var feedQuestion = context.feed.find(f => f.stepid === stepID);\r\n const dependentItemWasVisible = checkIfDependentItemIsVisible(stepData, context.dialogData, [], prevValue);\r\n const dependentItemIsVisible = checkIfDependentItemIsVisible(stepData, context.dialogData, [], nextValue);\r\n\r\n if (!dependentItemWasVisible && dependentItemIsVisible) {\r\n // стал видимым – запрашиваем ввод\r\n feedAnswer.isEditing = true;\r\n feedAnswer.isSkipped = false;\r\n feedQuestion.isSkipped = false;\r\n\r\n var action = {\r\n id: stepID,\r\n header: stepData.Header,\r\n type: stepData.TypeString,\r\n options: stepData.Options ? stepData.Options : null,\r\n subtype: stepData.Subtype ? stepData.Subtype : null,\r\n isRequired: stepData.IsRequired\r\n };\r\n\r\n setContext(context => ({\r\n ...context,\r\n action: action,\r\n isEditing: true,\r\n }));\r\n }\r\n else if (dependentItemWasVisible && !dependentItemIsVisible) {\r\n // стал невидимым – молча скрываем, оформляем как пропущенный (isSkipped)\r\n feedQuestion.isSkipped = true;\r\n const answer = getDependencySkippedAnswer(stepID, stepData.Header);\r\n handleSubmit(answer);\r\n }\r\n else if (context.dependentItemsToEdit && context.dependentItemsToEdit.length) {\r\n // видимость не изменилась и элемент не последний – подпедаливаем следующий\r\n setContext(context => ({\r\n ...context,\r\n dependentItemToEdit: { itemHeader: context.dependentItemsToEdit[0].Header },\r\n dependentItemsToEdit: context.dependentItemsToEdit.length > 1 ? context.dependentItemsToEdit.slice(1) : null,\r\n }));\r\n } else {\r\n // видимость не изменилась и элемент последний – возвращаемся на шаг, бывший активным перед началом редактирования\r\n setContext(context => ({\r\n ...context,\r\n action: getNextAction(context.step),\r\n dependentItemToEdit: null,\r\n dependentItemsToEdit: null,\r\n isEditing: false,\r\n }));\r\n }\r\n }\r\n\r\n // зависимость-пропущенный ответ (скрываем в ленте)\r\n function getDependencySkippedAnswer(step, header) {\r\n return {\r\n type: \"answer\",\r\n id: step,\r\n header: header,\r\n value: null,\r\n text: \"Пропущено\",\r\n isSkipped: true\r\n };\r\n }\r\n\r\n function getNextAction(nextStep) {\r\n const nextQuestion = context.dialogData[nextStep],\r\n nextHeader = nextQuestion.Header,\r\n nextActionType = nextQuestion.TypeString,\r\n nextActionOptions = nextQuestion.Options,\r\n nextActionSubtype = nextQuestion.Subtype,\r\n nextActionIsRequired = nextQuestion.IsRequired;\r\n\r\n return {\r\n id: nextStep,\r\n header: nextHeader,\r\n type: nextActionType,\r\n options: nextActionOptions ? nextActionOptions : null,\r\n subtype: nextActionSubtype ? nextActionSubtype : null,\r\n isRequired: nextActionIsRequired\r\n };\r\n }\r\n\r\n function getNextQuestion() {\r\n const { dialogData, step, values } = context;\r\n\r\n const nextFeed = [...context.feed],\r\n nextQuestion = dialogData[step],\r\n nextHeader = nextQuestion && nextQuestion.Header,\r\n nextActionType = nextQuestion && nextQuestion.TypeString,\r\n nextActionOptions = nextQuestion && nextQuestion.Options,\r\n nextActionSubtype = nextQuestion && nextQuestion.Subtype,\r\n nextActionIsRequired = nextQuestion && nextQuestion.IsRequired;\r\n\r\n const nextMsg = {\r\n type: \"question\",\r\n text: nextHeader,\r\n stepid: step\r\n };\r\n\r\n const nextAction = {\r\n id: step,\r\n header: nextHeader,\r\n type: nextActionType,\r\n options: nextActionOptions ? nextActionOptions : null,\r\n subtype: nextActionSubtype ? nextActionSubtype : null,\r\n isRequired: nextActionIsRequired\r\n };\r\n\r\n // Шаг скрыт зависимостями, оформляем вопрос-ответа как пропущенные – скрываем их в feed'е (isSkipped)\r\n if (!checkIfDependentItemIsVisible(nextQuestion, dialogData, values)) {\r\n const answer = getDependencySkippedAnswer(step, nextQuestion.Header);\r\n nextFeed.push({...nextMsg, isSkipped: true });\r\n setContext(context => ({ ...context, feed: nextFeed }));\r\n handleSubmit(answer, nextFeed);\r\n return;\r\n }\r\n\r\n nextFeed.push(nextMsg);\r\n\r\n setContext(context => ({ ...context, feed: nextFeed }));\r\n\r\n setTimeout(() => {\r\n setContext(context => ({ ...context, action: nextAction }));\r\n }, 800);\r\n }\r\n\r\n function handleSubmit(answer, feed) {\r\n setContext(context => ({ ...context, action: {} }));\r\n\r\n const nextFeed = feed || [...context.feed],\r\n prevValues = [...context.values],\r\n nextValues = [...context.values],\r\n nextAnswer = { ...answer },\r\n nextStep = context.isEditing ? context.step : context.step + 1;\r\n\r\n if (context.isEditing) {\r\n const index = nextFeed.findIndex(item => item.id === answer.id);\r\n const indexValues = nextValues.findIndex(item => item.id === answer.id);\r\n\r\n answer.isEditing = false;\r\n\r\n nextFeed[index] = answer;\r\n nextValues[indexValues] = answer;\r\n\r\n // либо есть зависимые для проверки их видимости с одного из прошлых шагов, либо ищем новые\r\n var dependentItems = context.dependentItemsToEdit || context.dialogData\r\n .filter(x => x.Conditions && x.Conditions.find(c => c.Name === answer.header))\r\n .filter(x => nextValues.findIndex(a => a.header === x.Header) > 0 || x.Header === context.dialogData[nextStep]) || []; // для текущего шага ещё нет значения в nextValues\r\n\r\n // продвигаемся к следующему зависимому (если они есть); postForID – если нужно будет дождаться ответа сервера (иначе из-за гонок могут быть проблемы)\r\n var moveAhead = function (postForID) {\r\n setContext(context => ({\r\n ...context,\r\n step: nextStep,\r\n feed: nextFeed,\r\n action: dependentItems.length ? {} : getNextAction(nextStep),\r\n values: nextValues,\r\n isEditing: dependentItems.length > 0,\r\n dependentItemToEdit: dependentItems.length ? { itemHeader: dependentItems[0].Header } : null, // откусываем голову массива зависимых\r\n dependentItemsToEdit: dependentItems.length > 1 ? dependentItems.slice(1) : null, // хвост массива зависимых\r\n dependentItemsData: !dependentItems.length ? null // обновляем postForID на каждом шаге, родителськие значения только при начале новой сессии редактирования\r\n : context.dependentItemsToEdit ? { ...context.dependentItemsData, postForID: postForID } : { postForID: postForID, parentPrevValue: prevValues[indexValues], parentNextValue: nextValues[indexValues] },\r\n dependentItemsPostFinished: context.dependentItemsToEdit ? context.dependentItemsPostFinished : [] // сбрасываем dependentItemsPostFinished при начале новой сессии редактирования\r\n }));\r\n }\r\n\r\n if (context.isEditingAll) {\r\n // сначала разбираемся с зависимостями\r\n if (dependentItems.length) {\r\n moveAhead(-1); // -1 – ответа от сервера не ждём, т.к. его не будет\r\n return;\r\n }\r\n\r\n postAllData(nextValues);\r\n\r\n setContext(context => ({\r\n ...context,\r\n feed: nextFeed,\r\n values: nextValues,\r\n action: {},\r\n isEditing: false,\r\n isEditingAll: false,\r\n step: context.step + 1\r\n }));\r\n\r\n return;\r\n }\r\n\r\n postData(answer.id, answer.value, true, answer.images || answer.docs);\r\n\r\n moveAhead(answer.id); // ??? answer.isSkipped ? -1 :\r\n\r\n return;\r\n }\r\n\r\n postData(answer.id, answer.value, false, answer.images || answer.docs);\r\n\r\n nextFeed.push(nextAnswer);\r\n nextValues.push(nextAnswer);\r\n\r\n setTimeout(() => {\r\n setContext(context => ({\r\n ...context,\r\n feed: nextFeed,\r\n values: nextValues\r\n }));\r\n }, 800);\r\n\r\n setTimeout(() => {\r\n setContext(context => ({ ...context, step: nextStep }));\r\n }, 1400);\r\n }\r\n\r\n function showSuccess() {\r\n const { dialogDscr } = context;\r\n const nextFeed = [...context.feed];\r\n\r\n let finStr = \"\",\r\n replacements = {};\r\n\r\n context.values.map(v => (replacements[v.header] = v.text));\r\n\r\n if (dialogDscr.SuccessMessageTemplate) {\r\n let successTemplateChunks = dialogDscr.SuccessMessageTemplate.split(\"#\");\r\n finStr = successTemplateChunks\r\n .map((r, i) => {\r\n return replacements[r]\r\n ? (successTemplateChunks[i] = replacements[r])\r\n : successTemplateChunks[i];\r\n })\r\n .join(\"\");\r\n }\r\n\r\n const nextMsg = {\r\n type: \"success\",\r\n template: finStr\r\n };\r\n\r\n const nextAction = {\r\n type: \"success\"\r\n };\r\n\r\n nextFeed.push(nextMsg);\r\n\r\n const submittedAt = Date.now();\r\n\r\n setContext(context => ({\r\n ...context,\r\n feed: nextFeed,\r\n action: nextAction,\r\n isFinished: true,\r\n submittedAt: context.submittedAt ? context.submittedAt : submittedAt\r\n }));\r\n }\r\n\r\n function handleEdit(id) {\r\n const { dialogData } = context,\r\n stepData = dialogData[id],\r\n nextFeed = [...context.feed];\r\n\r\n nextFeed\r\n .filter(item => {\r\n return item.id === id;\r\n })\r\n .forEach(item => (item.isEditing = true));\r\n\r\n const nextAction = {\r\n id,\r\n header: stepData.Header,\r\n type: stepData.TypeString,\r\n options: stepData.Options ? stepData.Options : null,\r\n subtype: stepData.Subtype ? stepData.Subtype : null,\r\n isRequired: stepData.IsRequired\r\n };\r\n\r\n setContext(context => ({\r\n ...context,\r\n feed: nextFeed,\r\n action: nextAction,\r\n isEditing: true\r\n }));\r\n }\r\n\r\n function handleBodyLock(lock) {\r\n const appWrapper = document.getElementById(\"root\");\r\n\r\n if (lock) {\r\n let bodyScroll = document.body.scrollTop;\r\n\r\n appWrapper.style.position = \"fixed\";\r\n appWrapper.style.top = `-${bodyScroll}px`;\r\n\r\n setContext(context => ({\r\n ...context,\r\n scroll: bodyScroll\r\n }));\r\n } else {\r\n appWrapper.style.removeProperty(\"position\");\r\n appWrapper.style.removeProperty(\"top\");\r\n\r\n document.body.scrollTop = context.scroll;\r\n }\r\n }\r\n\r\n function fetchData(urn, isPreview) {\r\n const url = API_URL + getPreviewPrefix(isPreview) + urn;\r\n\r\n axios\r\n .get(url)\r\n .then(response => {\r\n setContext(context => ({\r\n ...context,\r\n urn: urn,\r\n isPreview: isPreview,\r\n dialogDscr: response.data\r\n }));\r\n })\r\n .then(() => {\r\n fetchDialog(urn, isPreview); // isPreview не успевает проставиться в контекст до использования в вызове\r\n })\r\n .catch(error => {\r\n if (error.response) handleApiError(error.response.status);\r\n });\r\n\r\n return;\r\n }\r\n\r\n function fetchDialog(urn, isPreview) {\r\n const url = API_URL + getPreviewPrefix(isPreview) + urn + \"/messages\";\r\n\r\n axios\r\n .get(url)\r\n .then(response => {\r\n setContext(context => ({\r\n ...context,\r\n isLoaded: true,\r\n dialogData: response.data\r\n }));\r\n })\r\n .catch(error => {\r\n if (error.response) handleApiError(error.response.status);\r\n });\r\n\r\n return;\r\n }\r\n\r\n function base64ToBlob(dataurl) {\r\n const arr = dataurl.split(\",\");\r\n const mime = arr[0].match(/:(.*?);/)[1];\r\n const sliceSize = 1024;\r\n const byteChars = window.atob(arr[1]);\r\n const byteArrays = [];\r\n\r\n for (\r\n let offset = 0, len = byteChars.length;\r\n offset < len;\r\n offset += sliceSize\r\n ) {\r\n let slice = byteChars.slice(offset, offset + sliceSize);\r\n\r\n const byteNumbers = new Array(slice.length);\r\n for (let i = 0; i < slice.length; i++) {\r\n byteNumbers[i] = slice.charCodeAt(i);\r\n }\r\n\r\n const byteArray = new Uint8Array(byteNumbers);\r\n\r\n byteArrays.push(byteArray);\r\n }\r\n\r\n return new Blob(byteArrays, { type: mime });\r\n }\r\n\r\n function postData(id, value, isEditing, files) {\r\n const url = `${API_URL}${getPreviewPrefix()}${context.urn}/messages/${id}` + (isEditing ? \"?isEdit=1\" : \"\");\r\n let data, headers, file;\r\n\r\n if (files !== undefined) {\r\n const allowMultiple = process.env.REACT_APP_IMG_MULTISELECT === \"true\";\r\n\r\n data = new FormData();\r\n\r\n if (allowMultiple) {\r\n for (let i = 0; i < files.length; i++) {\r\n file = base64ToBlob(files[i].src);\r\n\r\n data.append(\"img[]\", file, files[i].name);\r\n }\r\n } else {\r\n file = base64ToBlob(files[0].src);\r\n\r\n data.append(\"img\", file, files[0].name);\r\n }\r\n\r\n headers = {\r\n headers: {\r\n \"Content-Type\": \"multipart/form-data\",\r\n accept: \"application/json\"\r\n }\r\n };\r\n } else {\r\n data = JSON.stringify({\r\n Value: value\r\n });\r\n\r\n headers = {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n accept: \"application/json\"\r\n }\r\n };\r\n }\r\n\r\n const sc = function () {\r\n // отмечаем, что post окончен – используется при последовательном редактировании зависимых элементов\r\n setContext(context => ({\r\n ...context,\r\n dependentItemsPostFinished: [ ...context.dependentItemsPostFinished, id]\r\n }));\r\n };\r\n\r\n axios\r\n .post(url, data, headers)\r\n .then(function (response) {\r\n if (response.data.Success === false) handleSubmitError(response.data);\r\n sc();\r\n })\r\n .catch(function (error) {\r\n if (error.response) handleApiError(error.response.status);\r\n sc();\r\n });\r\n }\r\n\r\n function postAllData(data) {\r\n let axiosArray = [];\r\n let formData, headers, file;\r\n\r\n data.forEach((item, i) => {\r\n const url = `${API_URL}${getPreviewPrefix()}${context.urn}/messages/${item.id}?isEdit=1`;\r\n const files = item.images || item.docs;\r\n\r\n if (files !== undefined) {\r\n const allowMultiple = process.env.REACT_APP_IMG_MULTISELECT === \"true\";\r\n\r\n formData = new FormData();\r\n\r\n if (allowMultiple) {\r\n for (let i = 0; i < files.length; i++) {\r\n file = base64ToBlob(files[i].src);\r\n formData.append(\"img[]\", file, files[i].name);\r\n }\r\n } else {\r\n file = base64ToBlob(files[0].src);\r\n formData.append(\"img\", file, files[0].name);\r\n }\r\n } else {\r\n formData = JSON.stringify({\r\n Value: item.value\r\n });\r\n }\r\n\r\n headers = {\r\n headers: {\r\n \"Content-Type\":\r\n item.files !== undefined\r\n ? \"multipart/form-data\"\r\n : \"application/json\",\r\n accept: \"application/json\"\r\n }\r\n };\r\n\r\n let postData = { url: url, data: formData, headers: headers };\r\n\r\n axiosArray.push(postData);\r\n });\r\n\r\n const send = index => {\r\n if (index > axiosArray.length) {\r\n return;\r\n }\r\n\r\n axios\r\n .post(\r\n axiosArray[index].url,\r\n axiosArray[index].data,\r\n axiosArray[index].headers\r\n )\r\n .then(function(response) {\r\n if (response.data.Success === false) handleSubmitError(response.data);\r\n\r\n send(index + 1);\r\n })\r\n .catch(function(error) {\r\n if (error.response) handleApiError(error.response.status);\r\n });\r\n };\r\n\r\n send(0);\r\n }\r\n\r\n function handleApiError(errorCode) {\r\n let errorMsg;\r\n\r\n switch (errorCode) {\r\n case 400:\r\n errorMsg =\r\n \"Ошибка в запросе. Пожалуйста, проверьте адрес и повторите попытку.\";\r\n break;\r\n\r\n case 404:\r\n errorMsg =\r\n \"Ошибка в запросе. Пожалуйста, проверьте адрес и повторите попытку.\";\r\n break;\r\n\r\n case 500:\r\n errorMsg =\r\n \"Общий сбой на стороне сервера. Пожалуйста, Повторите попытку позже.\";\r\n break;\r\n\r\n default:\r\n errorMsg = \"Ошибка. Пожалуйста, Повторите попытку позже.\";\r\n break;\r\n }\r\n\r\n const nextFeed = [...context.feed];\r\n const nextMsg = {\r\n type: \"question\",\r\n text: errorMsg\r\n };\r\n\r\n nextFeed.push(nextMsg);\r\n\r\n setContext(context => ({\r\n ...context,\r\n feed: nextFeed,\r\n isLoaded: true,\r\n hasError: true\r\n }));\r\n }\r\n\r\n function handleSubmitError(errorResponse) {\r\n const errorCode = errorResponse.ErrorCode;\r\n let errorMsg;\r\n\r\n switch (errorCode) {\r\n case 3:\r\n errorMsg =\r\n \"Размер загружаемого изображение превышает допустимый размер.\";\r\n break;\r\n\r\n case 4:\r\n errorMsg = \"Формат загружаемого изображения не поддерживается.\";\r\n break;\r\n\r\n case 5:\r\n errorMsg = \"Не удалось загрузить изображение.\";\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n setContext(context => ({\r\n ...context,\r\n hasSubmitError: errorMsg\r\n }));\r\n }\r\n\r\n function getPreviewPrefix(isPreview) {\r\n return isPreview || context.isPreview ? \"p/\" : \"\";\r\n }\r\n\r\n return {\r\n uniqueID,\r\n scrollDialog,\r\n initDialog,\r\n handleSubmit,\r\n getNextQuestion,\r\n handleEdit,\r\n handleBodyLock,\r\n showSuccess,\r\n fetchData,\r\n fetchDialog,\r\n handleApiError,\r\n handleSubmitError,\r\n handleDependentItem\r\n };\r\n};\r\n\r\nexport default useFeed;\r\n","import React from \"react\";\r\n\r\nconst Icon = props => {\r\n return (\r\n <>\r\n {(() => {\r\n switch (props.name) {\r\n case \"arrow_left\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"arrow_right\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"plus\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"close\":\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n case \"doc\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"dots\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"star\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"arrow_up\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"check\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n })()}\r\n \r\n );\r\n};\r\n\r\nexport default Icon;\r\n","import React, { useState, useRef } from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport useFeed from \"../hooks/useFeed\";\r\n\r\nimport Icon from \"./Icon\";\r\n\r\nconst EditMenu = props => {\r\n const [visible, setVisible] = useState(false);\r\n const { handleEdit } = useFeed();\r\n const editWrapperRef = useRef(null);\r\n\r\n function handleOpen(e) {\r\n e.preventDefault();\r\n\r\n setVisible(!visible);\r\n\r\n document.addEventListener(\"mousedown\", handleClose);\r\n document.addEventListener(\"touchend\", handleClose);\r\n }\r\n\r\n function handleClose(e) {\r\n if (editWrapperRef.current && !editWrapperRef.current.contains(e.target)) {\r\n setVisible(false);\r\n\r\n document.removeEventListener(\"mousedown\", handleClose);\r\n document.removeEventListener(\"touchend\", handleClose);\r\n }\r\n }\r\n\r\n function edit(id) {\r\n setVisible(false);\r\n handleEdit(id);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n\r\n \r\n edit(props.itemId)}>\r\n Изменить\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst EditWrapper = styled.div.attrs(props => ({\r\n className: props.isVisible ? \"drop\" : null\r\n}))`\r\n position: relative;\r\n margin: auto 0;\r\n`;\r\n\r\nconst EditBtn = styled.button`\r\n background-color: #ffffff;\r\n border: none;\r\n padding: 0;\r\n width: ${props => props.theme.remMixin(28)};\r\n height: ${props => props.theme.remMixin(36)};\r\n -webkit-tap-highlight-color: transparent;\r\n\r\n & svg {\r\n fill: #ccc;\r\n transition: fill 0.2s linear;\r\n }\r\n\r\n &:hover svg {\r\n fill: ${props => props.theme.wrapperBg};\r\n }\r\n\r\n .drop & svg {\r\n fill: ${props => props.theme.wrapperBg};\r\n }\r\n`;\r\n\r\nconst EditActionBtnWrapper = styled.div`\r\n position: absolute;\r\n top: 100%;\r\n left: -50%;\r\n right: -50%;\r\n z-index: 99;\r\n display: flex;\r\n justify-content: center;\r\n opacity: 0;\r\n visibility: hidden;\r\n transition: opacity 0.2s ease;\r\n\r\n .drop & {\r\n opacity: 1;\r\n visibility: visible;\r\n }\r\n`;\r\n\r\nconst EditActionBtn = styled.button`\r\n background-color: #000000;\r\n color: #ffffff;\r\n border-radius: ${props => props.theme.remMixin(4)};\r\n line-height: ${props => props.theme.remMixin(36)};\r\n padding: 0 ${props => props.theme.remMixin(12)};\r\n border: none;\r\n`;\r\n\r\nexport default EditMenu;\r\n","import React, { useContext } from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nimport { FeedContext } from \"../context/FeedContext\";\r\n\r\nimport EditMenu from \"./EditMenu\";\r\nimport userpic from \"../assets/images/userpic.png\";\r\n\r\nconst Bubble = props => {\r\n const [context] = useContext(FeedContext);\r\n\r\n return (\r\n \r\n {props.typeOf === \"inbox\" || props.typeOf === \"success\" ? (\r\n \r\n ) : null}\r\n\r\n {props.typeOf === \"outbox\" && !context.isFinished && !context.isEditing ? (\r\n \r\n ) : null}\r\n\r\n \r\n {props.children}\r\n \r\n \r\n );\r\n};\r\n\r\nconst Avatar = styled.img`\r\n display: block;\r\n width: ${props => props.theme.remMixin(32)};\r\n min-width: ${props => props.theme.remMixin(32)};\r\n height: ${props => props.theme.remMixin(32)};\r\n border-radius: 50%;\r\n margin-right: ${props => props.theme.remMixin(8)};\r\n`;\r\n\r\nconst BubbleWrapper = styled.div`\r\n border-radius: ${props => props.theme.remMixin(5)};\r\n line-height: 1.43;\r\n\r\n ${props =>\r\n (props.hasObjects &&\r\n css`\r\n padding: ${props => props.theme.remMixin(2)};\r\n max-width: ${props => props.theme.remMixin(232)};\r\n `) ||\r\n (props.noPadding &&\r\n css`\r\n padding: 0;\r\n max-width: ${props => props.theme.remMixin(192)};\r\n `) ||\r\n css`\r\n padding: ${props => props.theme.remMixin(8)}\r\n ${props => props.theme.remMixin(12)};\r\n max-width: ${props => props.theme.remMixin(232)};\r\n `};\r\n\r\n ${props =>\r\n !props.isEditing &&\r\n css`\r\n .is-editing & {\r\n opacity: 0.3;\r\n }\r\n `};\r\n\r\n .inbox & {\r\n background-color: ${props => props.theme.answerBg};\r\n }\r\n\r\n .outbox & {\r\n background-color: ${props => props.theme.wrapperBg};\r\n color: ${props => props.theme.wrapperColor};\r\n }\r\n\r\n .success & {\r\n background-image: linear-gradient(to bottom, #15be50, #6fca4e);\r\n color: #ffffff;\r\n }\r\n\r\n & a {\r\n color: inherit;\r\n text-decoration-color: inherit;\r\n }\r\n`;\r\n\r\nconst Row = styled.div.attrs(props => ({\r\n className: props.typeOf\r\n}))`\r\n position: relative;\r\n display: ${props => props.isHidden ? \"none\" : \"flex\"};\r\n padding: ${props => props.theme.remMixin(8)} 0;\r\n\r\n &:first-child {\r\n margin-top: ${props => props.theme.remMixin(20)};\r\n }\r\n\r\n &.inbox,\r\n &.success {\r\n justify-content: flex-start;\r\n }\r\n\r\n &.outbox {\r\n justify-content: flex-end;\r\n }\r\n\r\n &.inbox + &.inbox {\r\n padding-top: 0;\r\n }\r\n\r\n &.inbox + &.inbox ${Avatar} {\r\n display: none;\r\n }\r\n\r\n &.inbox + &.inbox ${BubbleWrapper} {\r\n margin-left: ${props => props.theme.remMixin(40)};\r\n }\r\n\r\n @media screen and (min-width: ${props => props.theme.screenLgMin}) {\r\n width: ${props => props.theme.remMixin(368)};\r\n }\r\n`;\r\n\r\nexport default Bubble;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport Bubble from \"./Bubble\";\r\nimport Icon from \"./Icon\";\r\n\r\nconst Success = props => (\r\n \r\n
\r\n \r\n \r\n \r\n Готово\r\n
\r\n\r\n {props.children.length ? (\r\n
{props.children}
\r\n ) : null}\r\n
\r\n);\r\n\r\nconst Header = styled.div`\r\n padding: ${props => props.theme.remMixin(40)} 0\r\n ${props => props.theme.remMixin(32)} 0;\r\n text-align: center;\r\n min-width: ${props => props.theme.remMixin(192)};\r\n`;\r\n\r\nconst IconWrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: ${props => props.theme.remMixin(56)};\r\n height: ${props => props.theme.remMixin(56)};\r\n background-color: rgba(255, 255, 255, 0.5);\r\n border-radius: 50%;\r\n margin: 0 auto;\r\n\r\n & > svg {\r\n fill: #ffffff;\r\n width: ${props => props.theme.remMixin(22)};\r\n height: ${props => props.theme.remMixin(19)};\r\n }\r\n`;\r\n\r\nconst Title = styled.div`\r\n font-weight: 500;\r\n margin-top: ${props => props.theme.remMixin(8)};\r\n`;\r\n\r\nconst Main = styled.div`\r\n background-color: rgba(38, 133, 38, 0.6);\r\n border-radius: 0 0 ${props => props.theme.remMixin(5)}\r\n ${props => props.theme.remMixin(5)};\r\n padding: ${props => props.theme.remMixin(8)}\r\n ${props => props.theme.remMixin(12)};\r\n`;\r\n\r\nexport default Success;\r\n","import React, { useState, useRef, useEffect } from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nimport Slider from \"react-slick\";\r\nimport \"../assets/styles/lib/slick.scss\";\r\n\r\nimport Icon from \"./Icon\";\r\n\r\nconst ModalGallery = props => {\r\n const [index, setIndex] = useState(1);\r\n const slider = useRef();\r\n\r\n useEffect(() => {\r\n slider.current.slickGoTo(props.isSelected);\r\n }, [props.isSelected]);\r\n\r\n var sliderSettings = {\r\n beforeChange: (current, next) => setIndex(current + 1),\r\n afterChange: current => setIndex(current + 1),\r\n dots: false,\r\n infinite: true,\r\n speed: 500,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n arrows: false,\r\n autoplay: false\r\n };\r\n\r\n return (\r\n \r\n \r\n {index} / {props.items.length}\r\n \r\n\r\n props.handleCloseModal()}>\r\n \r\n \r\n\r\n \r\n \r\n {props.items.map((img, i) => {\r\n return (\r\n \r\n \"\"\r\n \r\n );\r\n })}\r\n \r\n \r\n\r\n slider.current.slickPrev()}>\r\n \r\n \r\n\r\n slider.current.slickNext()}>\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst Modal = styled.div`\r\n background-color: rgba(0, 0, 0, 0.91);\r\n color: #ffffff;\r\n padding: ${props => props.theme.remMixin(48)} 0;\r\n position: fixed;\r\n top: 0;\r\n right: 0;\r\n left: 0;\r\n bottom: 0;\r\n z-index: -1;\r\n display: flex;\r\n align-items: center;\r\n transition: opacity 0.1s ease;\r\n\r\n ${props =>\r\n (props.isVisible === true &&\r\n css`\r\n z-index: 999;\r\n opacity: 1;\r\n `) ||\r\n css`\r\n opacity: 0;\r\n transition: opacity 0.1s ease;\r\n `};\r\n`;\r\n\r\nconst SlideCounter = styled.div`\r\n position: absolute;\r\n left: ${props => props.theme.remMixin(16)};\r\n top: ${props => props.theme.remMixin(16)};\r\n`;\r\n\r\nconst CloseBtn = styled.button`\r\n background: none;\r\n border: none;\r\n width: ${props => props.theme.remMixin(32)};\r\n height: ${props => props.theme.remMixin(32)};\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 0;\r\n position: absolute;\r\n top: ${props => props.theme.remMixin(8)};\r\n right: ${props => props.theme.remMixin(8)};\r\n z-index: 99;\r\n\r\n &:hover svg {\r\n stroke: ${props => props.theme.wrapperBg};\r\n }\r\n\r\n & svg {\r\n transition: stroke 0.2s linear;\r\n }\r\n`;\r\n\r\nconst SliderWrapper = styled.div`\r\n width: 100%;\r\n`;\r\n\r\nconst Slide = styled.div`\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n & img {\r\n max-width: 100%;\r\n max-height: 100%;\r\n }\r\n\r\n @media screen and (min-width: ${props => props.theme.screenMdMin}) {\r\n padding: ${props => props.theme.remMixin(40)};\r\n }\r\n`;\r\n\r\nconst BtnArrow = styled.button`\r\n position: absolute;\r\n top: 50%;\r\n bottom: 50%;\r\n z-index: 99;\r\n margin-top: -${props => props.theme.remMixin(24)};\r\n width: ${props => props.theme.remMixin(48)};\r\n height: ${props => props.theme.remMixin(48)};\r\n border-radius: 50%;\r\n box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.16);\r\n background-color: #ffffff;\r\n border: none;\r\n padding: 0;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n &:hover svg {\r\n fill: ${props => props.theme.wrapperBg};\r\n }\r\n\r\n & svg {\r\n transition: fill 0.2s linear;\r\n }\r\n\r\n @media screen and (max-width: ${props => props.theme.screenSmMax}) {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst BtnPrev = styled(BtnArrow)`\r\n left: 0;\r\n`;\r\n\r\nconst BtnNext = styled(BtnArrow)`\r\n right: 0;\r\n`;\r\n\r\nexport default ModalGallery;\r\n","import React, { useState } from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport Bubble from \"./Bubble\";\r\nimport ModalGallery from \"./ModalGallery\";\r\n\r\nimport useFeed from \"../hooks/useFeed\";\r\n\r\nconst Images = props => {\r\n const [selected, setSelected] = useState(null);\r\n const [modal, setModal] = useState(false);\r\n const { handleBodyLock } = useFeed();\r\n\r\n function showModal(index) {\r\n setModal(true);\r\n setSelected(index);\r\n handleBodyLock(true);\r\n }\r\n\r\n function handleCloseModal() {\r\n setModal(false);\r\n setSelected(null);\r\n handleBodyLock(false);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {props.items.map((img, i) => {\r\n return (\r\n showModal(i)}\r\n />\r\n );\r\n })}\r\n \r\n \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nconst ImgWrapper = styled.div`\r\n max-width: ${props => props.theme.remMixin(180)};\r\n display: flex;\r\n flex-wrap: wrap;\r\n`;\r\n\r\nconst ImgPreview = styled.button`\r\n background-size: cover;\r\n background-position: center center;\r\n background-repeat: no-repeat;\r\n width: ${props => props.theme.remMixin(56)};\r\n height: ${props => props.theme.remMixin(56)};\r\n border-radius: ${props => props.theme.remMixin(4)};\r\n margin: ${props => props.theme.remMixin(2)};\r\n border: none;\r\n padding: none;\r\n`;\r\n\r\nexport default Images;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport Bubble from \"./Bubble\";\r\nimport Icon from \"./Icon\";\r\n\r\nconst Docs = props => (\r\n \r\n \r\n {props.items.map((file, i) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {file.name}\r\n \r\n );\r\n })}\r\n \r\n \r\n);\r\n\r\nconst DocWrapper = styled.div`\r\n padding: ${props => props.theme.remMixin(4)} ${props => props.theme.remMixin(8)};\r\n`;\r\n\r\nconst File = styled.div`\r\n display: flex;\r\n align-items: center;\r\n line-height: 1;\r\n\r\n & + & {\r\n margin-top: ${props => props.theme.remMixin(4)};\r\n }\r\n\r\n & span {\r\n line-height: 1.43;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n }\r\n`;\r\n\r\nconst IconWrapper = styled.div`\r\n width: ${props => props.theme.remMixin(30)};\r\n min-width: ${props => props.theme.remMixin(30)};\r\n height: ${props => props.theme.remMixin(30)};\r\n border-radius: ${props => props.theme.remMixin(2)};\r\n background-color: rgba(240, 240, 240, 0.6);\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n margin-right: ${props => props.theme.remMixin(7)};\r\n`;\r\n\r\nexport default Docs;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport Bubble from \"./Bubble\";\r\nimport Icon from \"./Icon\";\r\n\r\nconst Rate = props => {\r\n const rating = parseInt(props.rating) + 1;\r\n\r\n return (\r\n \r\n \r\n {[...Array(rating)].map((e, i) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n};\r\n\r\nconst StarWrapper = styled.div`\r\n display: flex;\r\n\r\n & svg + svg {\r\n margin-left: ${props => props.theme.remMixin(4)};\r\n }\r\n`;\r\n\r\nexport default Rate;\r\n","import React, { useEffect, useRef } from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport ResizeObserver from \"resize-observer-polyfill\";\r\n\r\nimport Bubble from \"./Bubble\";\r\nimport Success from \"./Success\";\r\nimport Images from \"./Images\";\r\nimport Docs from \"./Docs\";\r\nimport Rate from \"./Rate\";\r\n\r\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\"; //https://github.com/reactjs/react-transition-group/tree/v1-stable\r\n\r\nimport useFeed from \"../hooks/useFeed\";\r\n\r\nconst Feed = props => {\r\n const timeingOptions = {\r\n timeout: 600,\r\n transitionEnterTimeout: 600,\r\n transitionLeaveTimeout: 600,\r\n classNames: \"feed-node\"\r\n };\r\n\r\n const dialogWrapper = useRef();\r\n\r\n const { scrollDialog } = useFeed();\r\n\r\n useEffect(handleResize, []);\r\n\r\n useEffect(() => {\r\n if (Object.keys(props.feed).length !== 0) scrollDialog();\r\n });\r\n\r\n function handleResize() {\r\n const ro = new ResizeObserver((entries, observer) => {\r\n scrollDialog();\r\n });\r\n\r\n ro.observe(dialogWrapper.current);\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n {props.feed.map((item, i) => {\r\n switch (item.type) {\r\n case \"question\":\r\n return (\r\n \r\n \r\n {require(\"html-react-parser\")(item.text)}\r\n \r\n \r\n );\r\n\r\n case \"answer\":\r\n return (\r\n \r\n \r\n {item.text}\r\n \r\n \r\n );\r\n\r\n case \"rating\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"time\":\r\n return (\r\n \r\n \r\n {item.text}\r\n \r\n \r\n );\r\n\r\n case \"date\":\r\n return (\r\n \r\n \r\n {item.text}\r\n \r\n \r\n );\r\n\r\n case \"text\":\r\n return (\r\n \r\n \r\n {item.text.split(\"\\n\").map((item, key) => {\r\n return (\r\n \r\n {item}\r\n
\r\n
\r\n );\r\n })}\r\n \r\n
\r\n );\r\n\r\n case \"images\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"docs\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"success\":\r\n return (\r\n \r\n {item.template}\r\n \r\n );\r\n\r\n case \"editAll\":\r\n return (\r\n \r\n \r\n Для редактирования своего ответа нажмите на три точки\r\n рядом с ним\r\n \r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n })}\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst DialogScrollWrapper = styled.div`\r\n overflow: hidden;\r\n display: flex;\r\n`;\r\n\r\nconst DialogWrapper = styled.div`\r\n padding: 0 ${props => props.theme.remMixin(16)} 0\r\n ${props => props.theme.remMixin(16)};\r\n width: 100%;\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n padding-top: ${props => props.theme.remMixin(20)};\r\n overflow-y: scroll;\r\n padding-right: ${props => props.theme.remMixin(16)};\r\n max-height: 100%;\r\n\r\n & > div {\r\n width: 100%;\r\n overflow: hidden;\r\n }\r\n\r\n @media screen and (min-width: ${props => props.theme.screenLgMin}) {\r\n width: calc(100% + ${props => props.theme.remMixin(16)});\r\n margin-right: -${props => props.theme.remMixin(16)};\r\n }\r\n`;\r\n\r\nexport default Feed;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport useFeed from \"../hooks/useFeed\";\r\n\r\nconst SkipAction = props => {\r\n const { handleSubmit } = useFeed();\r\n\r\n function handleSkip() {\r\n const type = \"answer\",\r\n id = props.id,\r\n header = props.header,\r\n value = null,\r\n text = \"Пропущено\";\r\n\r\n handleSubmit({ id, header, type, value, text });\r\n }\r\n\r\n return (\r\n \r\n Пропустить вопрос\r\n \r\n );\r\n};\r\n\r\nconst SkipRow = styled.div`\r\n width: 100%;\r\n padding-top: ${props => props.theme.remMixin(8)};\r\n text-align: center;\r\n`;\r\n\r\nconst SkipBtn = styled.button`\r\n background: none;\r\n border: none;\r\n padding: 0;\r\n font-size: ${props => props.theme.remMixin(12)};\r\n line-height: 1.67;\r\n text-align: center;\r\n`;\r\n\r\nexport default SkipAction;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport SkipAction from \"./SkipAction\";\r\n\r\nconst SingleSelect = props => {\r\n function handleSelect(option, val) {\r\n const type = \"answer\",\r\n id = props.id,\r\n header = props.header,\r\n value = val,\r\n text = option;\r\n\r\n props.handleSubmit({ id, header, type, value, text });\r\n }\r\n\r\n return (\r\n \r\n \r\n {props.options.map((option, i) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n\r\n {!props.isRequired ? (\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nconst Row = styled.div`\r\n margin: 0 -${props => props.theme.remMixin(16)};\r\n overflow: auto;\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n`;\r\n\r\nconst RowInner = styled.div`\r\n display: inline-flex;\r\n justify-content: center;\r\n min-width: 100%;\r\n padding: 0 ${props => props.theme.remMixin(16)};\r\n flex-wrap: wrap;\r\n`;\r\n\r\nconst Option = styled.button`\r\n background-color: ${props => props.theme.answerBg};\r\n border-radius: ${props => props.theme.remMixin(18)};\r\n border: none;\r\n white-space: nowrap;\r\n padding: ${props => props.theme.remMixin(8)}\r\n ${props => props.theme.remMixin(10)};\r\n font-weight: 500;\r\n transition: background-color 0.2s linear;\r\n margin: ${props => props.theme.remMixin(2)} 0;\r\n\r\n &:hover {\r\n background-color: #e0e0e0;\r\n }\r\n\r\n & + & {\r\n margin-left: ${props => props.theme.remMixin(8)};\r\n }\r\n`;\r\n\r\nexport default SingleSelect;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport SkipAction from \"./SkipAction\";\r\n\r\nconst BoolSelect = props => {\r\n function handleSelect(option, val) {\r\n const type = \"answer\",\r\n id = props.id,\r\n header = props.header,\r\n value = val,\r\n text = option;\r\n\r\n props.handleSubmit({ id, header, type, value, text });\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n\r\n {!props.isRequired ? (\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nconst Row = styled.div`\r\n margin: 0 -${props => props.theme.remMixin(16)};\r\n overflow: auto;\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n`;\r\n\r\nconst RowInner = styled.div`\r\n display: inline-flex;\r\n justify-content: center;\r\n min-width: 100%;\r\n padding: 0 ${props => props.theme.remMixin(16)};\r\n`;\r\n\r\nconst Option = styled.button`\r\n background-color: ${props => props.theme.answerBg};\r\n border-radius: ${props => props.theme.remMixin(18)};\r\n border: none;\r\n white-space: nowrap;\r\n padding: ${props => props.theme.remMixin(8)}\r\n ${props => props.theme.remMixin(10)};\r\n font-weight: 500;\r\n transition: background-color 0.2s linear;\r\n\r\n &:hover {\r\n background-color: #e0e0e0;\r\n }\r\n\r\n & + & {\r\n margin-left: ${props => props.theme.remMixin(8)};\r\n }\r\n`;\r\n\r\nexport default BoolSelect;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport Icon from \"./Icon\";\r\n\r\nconst SubmitBtn = props => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst Btn = styled.button`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border: none;\r\n width: 48px;\r\n height: 36px;\r\n border-radius: 18px;\r\n background-color: #0f6bff;\r\n padding: 0;\r\n transition: background-color 0.2s ease;\r\n\r\n &:hover {\r\n background-color: #4d91ff;\r\n }\r\n\r\n &:disabled {\r\n background-color: #e0e0e0;\r\n pointer-events: none;\r\n }\r\n\r\n & > svg {\r\n fill: #ffffff;\r\n }\r\n`;\r\n\r\nexport default SubmitBtn;\r\n","import React, { useState } from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport SubmitBtn from \"./SubmitBtn\";\r\n\r\nconst MultipleSelect = props => {\r\n const [values, setValues] = useState({ selected: [] });\r\n const type = \"answer\";\r\n\r\n function handleSelect(option) {\r\n let nextValues = [...values.selected];\r\n\r\n if (nextValues.includes(option)) {\r\n nextValues = nextValues.filter(value => value !== option);\r\n } else {\r\n nextValues.push(option);\r\n }\r\n\r\n setValues({ selected: nextValues });\r\n }\r\n\r\n function handleSubmit() {\r\n const id = props.id;\r\n\r\n const text = values.selected\r\n .map(el => {\r\n return el.title;\r\n })\r\n .join(\", \");\r\n\r\n const value = values.selected.map(el => {\r\n return el.value;\r\n });\r\n\r\n props.handleSubmit({ id, type, value, text });\r\n }\r\n\r\n return (\r\n \r\n {props.options.map((option, i) => {\r\n return (\r\n handleSelect(option)}\r\n >\r\n {option.title}\r\n \r\n );\r\n })}\r\n\r\n \r\n \r\n );\r\n};\r\n\r\nconst Row = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n margin: 0 -${props => props.theme.remMixin(2)};\r\n`;\r\n\r\nconst Option = styled.button`\r\n line-height: ${props => props.theme.remMixin(34)};\r\n white-space: nowrap;\r\n padding: 0 ${props => props.theme.remMixin(12)};\r\n border-radius: ${props => props.theme.remMixin(18)};\r\n border: solid 1px ${props => (props.isSelected ? \"#000000\" : \"#dbdbdb\")};\r\n background-color: ${props => (props.isSelected ? \"#000000\" : \"#ffffff\")};\r\n color: ${props => (props.isSelected ? \"#ffffff\" : \"#1a1a1a\")};\r\n margin: ${props => props.theme.remMixin(2)};\r\n transition: border-color 0.2s linear;\r\n\r\n &:hover {\r\n border-color: ${props => (props.isSelected ? \"#000000\" : \"#cccccc\")};\r\n }\r\n`;\r\n\r\nconst Submit = styled(SubmitBtn)`\r\n margin: ${props => props.theme.remMixin(2)}\r\n ${props => props.theme.remMixin(2)} ${props => props.theme.remMixin(2)} auto;\r\n`;\r\n\r\nexport default MultipleSelect;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport Icon from \"./Icon\";\r\nimport SkipAction from \"./SkipAction\";\r\n\r\nconst TimePick = props => {\r\n const [step, setStep] = useState(1);\r\n\r\n const ref = useRef(null),\r\n width = useRef(),\r\n steps = useRef(),\r\n scrollStep = 384;\r\n\r\n useEffect(() => {\r\n width.current = ref.current ? ref.current.offsetWidth : 0;\r\n steps.current = Math.ceil(width.current / scrollStep);\r\n }, []);\r\n\r\n function handleNext() {\r\n if (step !== steps.current) setStep(step + 1);\r\n }\r\n\r\n function handlePrev() {\r\n if (step !== 1) setStep(step - 1);\r\n }\r\n\r\n function handleSelect(value) {\r\n const id = props.id,\r\n header = props.header,\r\n type = \"time\",\r\n text = value;\r\n\r\n props.handleSubmit({ id, header, type, value, text });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {step !== 1 ? (\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {step !== steps.current ? (\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {!props.isRequired ? (\r\n \r\n ) : null}\r\n \r\n \r\n );\r\n};\r\n\r\nconst Columns = props => {\r\n const col_size = 3,\r\n cols = props.items\r\n .map((e, i) => {\r\n return i % col_size === 0 ? props.items.slice(i, i + col_size) : null;\r\n })\r\n .filter(e => {\r\n return e;\r\n });\r\n\r\n return (\r\n <>\r\n {cols.map((item, i) => {\r\n return (\r\n \r\n {item.map((it, j) => {\r\n return (\r\n props.handleSelect(it)}>\r\n {it}\r\n \r\n );\r\n })}\r\n \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nconst Row = styled.div`\r\n position: relative;\r\n`;\r\n\r\nconst RowScrollWrapper = styled.div`\r\n margin: 0 -${props => props.theme.remMixin(16)} -${props =>\r\n props.theme.remMixin(16)} -${props => props.theme.remMixin(16)};\r\n overflow: auto;\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n\r\n @media screen and (min-width: ${props => props.theme.screenLgMin}) {\r\n overflow: hidden;\r\n }\r\n`;\r\n\r\nconst RowInner = styled.div`\r\n display: inline-flex;\r\n padding: 0 ${props => props.theme.remMixin(14)}\r\n ${props => props.theme.remMixin(16)} ${props => props.theme.remMixin(14)};\r\n transition: transform 0.2s ease;\r\n`;\r\n\r\nconst TimeOption = styled.button`\r\n line-height: ${props => props.theme.remMixin(34)};\r\n white-space: nowrap;\r\n padding: 0 ${props => props.theme.remMixin(12)};\r\n border-radius: ${props => props.theme.remMixin(18)};\r\n border: none;\r\n background-color: ${props => props.theme.answerBg};\r\n color: ${props => props.theme.textColor};\r\n margin: ${props => props.theme.remMixin(2)};\r\n transition: background-color 0.2s linear;\r\n\r\n &:hover {\r\n background-color: #e0e0e0;\r\n }\r\n\r\n &:disabled {\r\n background-color: transparent;\r\n color: #cccccc;\r\n }\r\n`;\r\n\r\nconst BtnArrow = styled.button`\r\n position: absolute;\r\n top: 50%;\r\n bottom: 50%;\r\n margin-top: -${props => props.theme.remMixin(24)};\r\n width: ${props => props.theme.remMixin(48)};\r\n height: ${props => props.theme.remMixin(48)};\r\n border-radius: 50%;\r\n box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.16);\r\n background-color: #ffffff;\r\n border: none;\r\n padding: 0;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n &:hover svg {\r\n fill: ${props => props.theme.wrapperBg};\r\n }\r\n\r\n & svg {\r\n transition: fill 0.2s linear;\r\n }\r\n\r\n @media screen and (max-width: ${props => props.theme.screenSmMax}) {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst BtnPrev = styled(BtnArrow)`\r\n left: -${props => props.theme.remMixin(48)};\r\n`;\r\n\r\nconst BtnNext = styled(BtnArrow)`\r\n right: -${props => props.theme.remMixin(48)};\r\n`;\r\n\r\nconst Col = styled.div``;\r\n\r\nexport default TimePick;\r\n","import React, { useState } from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nimport useFeed from \"../hooks/useFeed\";\r\n\r\nimport SubmitBtn from \"./SubmitBtn\";\r\nimport SkipAction from \"./SkipAction\";\r\n\r\nconst TextInput = props => {\r\n const { scrollDialog } = useFeed();\r\n const [values, setValues] = useState({ name: \"\" });\r\n const [rows, setRows] = useState(1);\r\n\r\n function handleChange({ target }) {\r\n const { name, value } = target;\r\n const nextValues = { [name]: value };\r\n\r\n setValues({ ...nextValues });\r\n\r\n const textareaLineHeight = 22,\r\n minRows = 1,\r\n maxRows = 8,\r\n previousRows = target.rows;\r\n\r\n target.rows = minRows;\r\n\r\n const currentRows = ~~(target.scrollHeight / textareaLineHeight);\r\n\r\n if (currentRows === previousRows) {\r\n target.rows = currentRows;\r\n }\r\n\r\n if (currentRows >= maxRows) {\r\n target.rows = maxRows;\r\n target.scrollTop = target.scrollHeight;\r\n }\r\n\r\n let nextRows = currentRows < maxRows ? currentRows : maxRows;\r\n\r\n if (rows !== nextRows) {\r\n target.scrollIntoView({ behavior: \"smooth\" });\r\n }\r\n\r\n setRows(nextRows);\r\n scrollDialog();\r\n }\r\n\r\n function handleSubmit() {\r\n const id = props.id,\r\n type = \"text\",\r\n header = props.header,\r\n value = values.name,\r\n text = values.name;\r\n\r\n props.handleSubmit({ id, header, type, value, text });\r\n\r\n setValues({ name: \"\" });\r\n }\r\n\r\n return (\r\n \r\n {props.type === \"text\" ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n \r\n\r\n {!props.isRequired ? (\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nconst Row = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n`;\r\n\r\nconst sharedInputStyle = css`\r\n flex: 1;\r\n border: none;\r\n padding: 0;\r\n line-height: 1.43;\r\n resize: none;\r\n margin: auto 0;\r\n -moz-appearance: textfield;\r\n\r\n &::-webkit-outer-spin-button,\r\n &::-webkit-inner-spin-button {\r\n -webkit-appearance: none;\r\n }\r\n`;\r\n\r\nconst Textarea = styled.textarea`\r\n ${sharedInputStyle}\r\n`;\r\n\r\nconst Input = styled.input`\r\n ${sharedInputStyle}\r\n`;\r\n\r\nconst Submit = styled(SubmitBtn)`\r\n margin-left: auto;\r\n margin-top: auto;\r\n`;\r\n\r\nexport default TextInput;\r\n","import React, { useState } from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport SubmitBtn from \"./SubmitBtn\";\r\nimport Icon from \"./Icon\";\r\nimport SkipAction from \"./SkipAction\";\r\n\r\nconst RateInput = props => {\r\n const type = \"rating\";\r\n const [value, setValue] = useState(null);\r\n const [hover, setHover] = useState(null);\r\n\r\n function handleChange(val) {\r\n setValue(val);\r\n }\r\n\r\n function handleSubmit() {\r\n const id = props.id,\r\n header = props.header,\r\n text = (parseInt(value, 10) + 1).toString();\r\n\r\n props.handleSubmit({ id, header, type, value, text });\r\n\r\n setValue(null);\r\n }\r\n\r\n function handleMouseEnter(index) {\r\n setHover(index);\r\n }\r\n\r\n function handleMouseLeave() {\r\n setHover(null);\r\n }\r\n\r\n return (\r\n \r\n \r\n {[...Array(props.count)].map((e, i) => (\r\n handleMouseEnter(i)}\r\n onMouseLeave={handleMouseLeave}\r\n hasHover={hover !== null && hover >= i}\r\n >\r\n handleChange(e.target.value)}\r\n />\r\n = 0 && value <= i ? \"rgba(227,6,19,.2)\" : \"#e30613\"}\r\n fill={value !== null && value >= i ? \"#e30613\" : \"none\"}\r\n />\r\n \r\n ))}\r\n \r\n\r\n \r\n\r\n {!props.isRequired ? (\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nconst Row = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n`;\r\n\r\nconst RateWrapper = styled.div`\r\n display: flex;\r\n align-items: center;\r\n border-radius: ${props => props.theme.remMixin(18)};\r\n border: solid 1px rgba(0, 0, 0, 0.1);\r\n padding: 0 ${props => props.theme.remMixin(12)};\r\n`;\r\n\r\nconst Submit = styled(SubmitBtn)`\r\n margin-left: auto;\r\n`;\r\n\r\nconst StarWrapper = styled.label`\r\n position: relative;\r\n width: ${props => props.theme.remMixin(24)};\r\n height: ${props => props.theme.remMixin(24)};\r\n cursor: pointer;\r\n\r\n & svg {\r\n fill: ${props => props.hasHover && \"#e30613\"};\r\n stroke: ${props => props.hasHover && \"#e30613\"};\r\n transition: fill 0.2s linear, stroke 0.2s linear;\r\n }\r\n\r\n & + & {\r\n margin-left: ${props => props.theme.remMixin(4)};\r\n }\r\n`;\r\n\r\nconst StarInput = styled.input`\r\n position: absolute;\r\n opacity: 0;\r\n pointer-events: none;\r\n`;\r\n\r\nexport default RateInput;\r\n","import React, { useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport useFeed from \"../hooks/useFeed\";\r\n\r\nimport SubmitBtn from \"./SubmitBtn\";\r\nimport Icon from \"./Icon\";\r\nimport SkipAction from \"./SkipAction\";\r\n\r\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\r\n\r\nconst ImageInput = props => {\r\n const timeingOptions = {\r\n timeout: 300,\r\n transitionEnterTimeout: 300,\r\n transitionLeaveTimeout: 300,\r\n classNames: \"preview-node\"\r\n };\r\n\r\n const [state, setState] = useState({\r\n images: []\r\n });\r\n\r\n const { uniqueID, scrollDialog } = useFeed();\r\n\r\n const allowMultiple = process.env.REACT_APP_IMG_MULTISELECT === \"true\";\r\n\r\n function handleImageChange(e) {\r\n e.preventDefault();\r\n\r\n if (e.target.files) {\r\n const filesAmount = e.target.files.length;\r\n\r\n let i;\r\n\r\n for (i = 0; i < filesAmount; i++) {\r\n let reader = new FileReader(),\r\n nextImages = state.images;\r\n\r\n const imgName = e.target.files[i].name,\r\n imgType = e.target.files[i].type;\r\n\r\n reader.onload = function(ev) {\r\n const newImg = {\r\n id: uniqueID(),\r\n name: imgName,\r\n type: imgType,\r\n src: ev.target.result\r\n };\r\n\r\n nextImages.push(newImg);\r\n\r\n setState(state => ({ ...state, images: nextImages }));\r\n\r\n scrollDialog();\r\n };\r\n\r\n reader.readAsDataURL(e.target.files[i]);\r\n }\r\n }\r\n }\r\n\r\n function handleImgRemove(e) {\r\n let nextImages = state.images;\r\n\r\n nextImages = state.images.filter(img => {\r\n return img.id !== e;\r\n });\r\n\r\n setState(images => ({ ...images, images: nextImages }));\r\n }\r\n\r\n function handleSubmit() {\r\n const id = props.id,\r\n header = props.header,\r\n type = \"images\",\r\n images = state.images;\r\n\r\n props.handleSubmit({ id, header, type, images });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {state.images.length ? (\r\n \r\n \r\n {state.images.map((el, i) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n\r\n {allowMultiple ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n\r\n \r\n \r\n ) : (\r\n \r\n \r\n Выбрать фото\r\n \r\n )}\r\n\r\n {!props.isRequired ? (\r\n \r\n ) : null}\r\n \r\n \r\n );\r\n};\r\n\r\nconst Preview = props => {\r\n return (\r\n \r\n props.handleImgRemove(props.id)}>\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst Row = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n`;\r\n\r\nconst OptionLabel = styled.label`\r\n cursor: pointer;\r\n background-color: ${props => props.theme.answerBg};\r\n border-radius: ${props => props.theme.remMixin(18)};\r\n border: none;\r\n white-space: nowrap;\r\n padding: ${props => props.theme.remMixin(8)}\r\n ${props => props.theme.remMixin(12)};\r\n margin: 0 auto;\r\n font-weight: 500;\r\n transition: background-color 0.2s linear;\r\n\r\n &:hover {\r\n background-color: #e0e0e0;\r\n }\r\n`;\r\n\r\nconst AddLabel = styled.label`\r\n width: ${props => props.theme.remMixin(64)};\r\n height: ${props => props.theme.remMixin(64)};\r\n border-radius: ${props => props.theme.remMixin(5)};\r\n background-color: #f0f0f0;\r\n margin: ${props => props.theme.remMixin(6)};\r\n cursor: pointer;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n transition: background-color 0.2s linear;\r\n\r\n &:hover {\r\n background-color: #e0e0e0;\r\n }\r\n`;\r\n\r\nconst ImgInput = styled.input`\r\n width: 0.1px;\r\n height: 0.1px;\r\n opacity: 0;\r\n overflow: hidden;\r\n position: absolute;\r\n z-index: -1;\r\n`;\r\n\r\nconst PreviewRow = styled.div`\r\n flex: 1;\r\n\r\n & > div {\r\n display: flex;\r\n flex-wrap: wrap;\r\n position: relative;\r\n margin: -${props => props.theme.remMixin(6)};\r\n padding-right: ${props => props.theme.remMixin(60)};\r\n }\r\n`;\r\n\r\nconst PreviewWrapper = styled.div`\r\n position: relative;\r\n margin: ${props => props.theme.remMixin(6)};\r\n`;\r\n\r\nconst CloseBtn = styled.button`\r\n position: absolute;\r\n top: -${props => props.theme.remMixin(12)};\r\n right: -${props => props.theme.remMixin(12)};\r\n width: ${props => props.theme.remMixin(24)};\r\n height: ${props => props.theme.remMixin(24)};\r\n border-radius: 50%;\r\n background-color: #ffffff;\r\n border: none;\r\n padding: 0;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n &:hover svg {\r\n stroke: ${props => props.theme.wrapperBg};\r\n }\r\n\r\n & svg {\r\n width: ${props => props.theme.remMixin(16)};\r\n height: ${props => props.theme.remMixin(16)};\r\n transition: stroke 0.2s linear;\r\n }\r\n`;\r\n\r\nconst PreviewImg = styled.img`\r\n width: ${props => props.theme.remMixin(64)};\r\n height: ${props => props.theme.remMixin(64)};\r\n border-radius: ${props => props.theme.remMixin(5)};\r\n`;\r\n\r\nconst Submit = styled(SubmitBtn)`\r\n position: absolute;\r\n right: ${props => props.theme.remMixin(16)};\r\n bottom: ${props => props.theme.remMixin(16)};\r\n`;\r\n\r\nexport default ImageInput;\r\n","import React, { useState } from \"react\";\r\nimport styled from \"styled-components\";\r\nimport useFeed from \"../hooks/useFeed\";\r\nimport SubmitBtn from \"./SubmitBtn\";\r\nimport Icon from \"./Icon\";\r\nimport SkipAction from \"./SkipAction\";\r\n\r\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\";\r\n\r\nconst DocInput = props => {\r\n const timeingOptions = {\r\n timeout: 300,\r\n transitionEnterTimeout: 300,\r\n transitionLeaveTimeout: 300,\r\n classNames: \"preview-node\"\r\n };\r\n\r\n const [state, setState] = useState({\r\n docs: []\r\n });\r\n\r\n const { uniqueID, scrollDialog } = useFeed();\r\n\r\n const allowMultiple = process.env.REACT_APP_IMG_MULTISELECT === \"true\";\r\n\r\n function handleDocChange(e) {\r\n e.preventDefault();\r\n\r\n if (e.target.files) {\r\n const files = e.target.files,\r\n filesAmount = files.length;\r\n\r\n let i;\r\n\r\n for (i = 0; i < filesAmount; i++) {\r\n let reader = new FileReader(),\r\n file = files[i];\r\n\r\n reader.onload = function(ev) {\r\n const newDoc = {\r\n id: uniqueID(),\r\n name: file.name,\r\n type: file.type,\r\n src: ev.target.result\r\n };\r\n\r\n let nextDocs = state.docs;\r\n\r\n nextDocs.push(newDoc);\r\n\r\n setState(state => ({ ...state, docs: nextDocs }));\r\n\r\n scrollDialog();\r\n };\r\n\r\n reader.readAsDataURL(e.target.files[i]);\r\n }\r\n }\r\n }\r\n\r\n function handleDocRemove(id) {\r\n let nextDocs = state.docs;\r\n\r\n nextDocs = state.docs.filter(doc => {\r\n return doc.id !== id;\r\n });\r\n\r\n setState(docs => ({ ...docs, docs: nextDocs }));\r\n }\r\n\r\n function handleSubmit() {\r\n const id = props.id,\r\n type = \"docs\",\r\n header = props.header,\r\n docs = state.docs;\r\n\r\n props.handleSubmit({ id, header, type, docs });\r\n }\r\n\r\n return (\r\n <>\r\n \r\n {state.docs.length ? (\r\n \r\n \r\n {state.docs.map((el, i) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n })}\r\n\r\n {allowMultiple ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : null}\r\n \r\n\r\n \r\n \r\n ) : (\r\n \r\n \r\n Выбрать документ\r\n \r\n )}\r\n\r\n {!props.isRequired ? (\r\n \r\n ) : null}\r\n \r\n \r\n );\r\n};\r\n\r\nconst Preview = props => {\r\n return (\r\n \r\n props.handleDocRemove(props.doc.id)}>\r\n \r\n \r\n\r\n \r\n \r\n \r\n {props.doc.name}\r\n \r\n );\r\n};\r\n\r\nconst Row = styled.div`\r\n display: flex;\r\n flex-wrap: wrap;\r\n`;\r\n\r\nconst OptionLabel = styled.label`\r\n cursor: pointer;\r\n background-color: ${props => props.theme.answerBg};\r\n border-radius: ${props => props.theme.remMixin(18)};\r\n border: none;\r\n white-space: nowrap;\r\n padding: ${props => props.theme.remMixin(8)}\r\n ${props => props.theme.remMixin(12)};\r\n margin: 0 auto;\r\n font-weight: 500;\r\n transition: background-color 0.2s linear;\r\n\r\n &:hover {\r\n background-color: #e0e0e0;\r\n }\r\n`;\r\n\r\nconst AddLabel = styled.label`\r\n width: ${props => props.theme.remMixin(64)};\r\n height: ${props => props.theme.remMixin(64)};\r\n border-radius: ${props => props.theme.remMixin(5)};\r\n background-color: #f0f0f0;\r\n margin: ${props => props.theme.remMixin(6)};\r\n cursor: pointer;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n transition: background-color 0.2s linear;\r\n\r\n &:hover {\r\n background-color: #e0e0e0;\r\n }\r\n`;\r\n\r\nconst FileInput = styled.input`\r\n width: 0.1px;\r\n height: 0.1px;\r\n opacity: 0;\r\n overflow: hidden;\r\n position: absolute;\r\n z-index: -1;\r\n`;\r\n\r\nconst PreviewRow = styled.div`\r\n flex: 1;\r\n\r\n & > div {\r\n display: flex;\r\n flex-wrap: wrap;\r\n position: relative;\r\n margin: -${props => props.theme.remMixin(6)};\r\n padding-right: ${props => props.theme.remMixin(60)};\r\n }\r\n`;\r\n\r\nconst PreviewWrapper = styled.div`\r\n position: relative;\r\n display: flex;\r\n align-items: center;\r\n max-width: ${props => props.theme.remMixin(208)};\r\n border-radius: ${props => props.theme.remMixin(4)};\r\n border: solid 1px rgba(0, 0, 0, 0.1);\r\n padding: ${props => props.theme.remMixin(3)}\r\n ${props => props.theme.remMixin(9)} ${props => props.theme.remMixin(3)}\r\n ${props => props.theme.remMixin(3)};\r\n margin-right: auto;\r\n\r\n & + & {\r\n margin-top: ${props => props.theme.remMixin(12)};\r\n }\r\n\r\n & span {\r\n line-height: 1.43;\r\n text-overflow: ellipsis;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n }\r\n`;\r\n\r\nconst IconWrapper = styled.div`\r\n width: ${props => props.theme.remMixin(30)};\r\n min-width: ${props => props.theme.remMixin(30)};\r\n height: ${props => props.theme.remMixin(30)};\r\n border-radius: ${props => props.theme.remMixin(2)};\r\n background-color: #f0f0f0;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n margin-right: ${props => props.theme.remMixin(7)};\r\n\r\n & svg {\r\n fill: #000000;\r\n }\r\n`;\r\n\r\nconst CloseBtn = styled.button`\r\n position: absolute;\r\n top: -${props => props.theme.remMixin(12)};\r\n right: -${props => props.theme.remMixin(12)};\r\n width: ${props => props.theme.remMixin(24)};\r\n height: ${props => props.theme.remMixin(24)};\r\n border-radius: 50%;\r\n background-color: #ffffff;\r\n border: none;\r\n padding: 0;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n &:hover svg {\r\n stroke: ${props => props.theme.wrapperBg};\r\n }\r\n\r\n & svg {\r\n width: ${props => props.theme.remMixin(16)};\r\n height: ${props => props.theme.remMixin(16)};\r\n transition: stroke 0.2s linear;\r\n }\r\n`;\r\n\r\nconst Submit = styled(SubmitBtn)`\r\n position: absolute;\r\n right: ${props => props.theme.remMixin(16)};\r\n bottom: ${props => props.theme.remMixin(16)};\r\n`;\r\n\r\nexport default DocInput;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nconst DateQuickSelect = props => {\r\n function handleSelect(option) {\r\n const type = \"answer\",\r\n id = props.id,\r\n header = props.header,\r\n value = option.value,\r\n text = option.value;\r\n\r\n props.handleSubmit({ id, header, type, value, text });\r\n }\r\n\r\n return (\r\n \r\n \r\n {props.options.map((option, i) => {\r\n return (\r\n handleSelect(option)}\r\n >\r\n {option.title}\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nconst Row = styled.div`\r\n margin: 0 -${props => props.theme.remMixin(16)};\r\n overflow: auto;\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n`;\r\n\r\nconst RowInner = styled.div`\r\n display: inline-flex;\r\n justify-content: center;\r\n min-width: 100%;\r\n padding: 0 ${props => props.theme.remMixin(16)};\r\n`;\r\n\r\nconst Option = styled.button`\r\n background-color: ${props => props.theme.answerBg};\r\n border-radius: ${props => props.theme.remMixin(18)};\r\n border: none;\r\n white-space: nowrap;\r\n padding: ${props => props.theme.remMixin(8)}\r\n ${props => props.theme.remMixin(10)};\r\n font-weight: 500;\r\n transition: background-color 0.2s linear;\r\n\r\n &:hover {\r\n background-color: #e0e0e0;\r\n }\r\n\r\n & + & {\r\n margin-left: ${props => props.theme.remMixin(8)};\r\n }\r\n`;\r\n\r\nexport default DateQuickSelect;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport DateQuickSelect from \"./DateQuickSelect\";\r\nimport DatePicker, { registerLocale } from \"react-datepicker\";\r\nimport Icon from \"./Icon\";\r\nimport SkipAction from \"./SkipAction\";\r\n\r\nimport { format, addDays, addMonths, differenceInCalendarDays } from \"date-fns\";\r\n\r\nimport \"../assets/styles/lib/datepicker.scss\";\r\nimport ru from \"date-fns/locale/ru\";\r\nregisterLocale(\"ru\", ru);\r\n\r\nconst DatePick = props => {\r\n\r\n const today = new Date();\r\n\r\n const [state, setState] = useState({\r\n step: props.allowPast ? 3 : 1,\r\n startDate: props.allowPast ? addMonths(today, -3) : today\r\n });\r\n\r\n const ref = useRef(null),\r\n width = useRef(),\r\n steps = useRef(),\r\n scrollStep = 384;\r\n\r\n const mm = props.maxMonth ? props.maxMonth : 2;\r\n\r\n useEffect(() => {\r\n width.current = ref.current ? ref.current.offsetWidth : 0;\r\n steps.current = Math.ceil(width.current / scrollStep);\r\n }, []);\r\n\r\n function handleNext() {\r\n if (state.step !== steps.current) setState({ ...state, step: state.step + 1 });\r\n }\r\n\r\n function handlePrev() {\r\n if (state.step !== 1) setState({ ...state, step: state.step - 1 });\r\n }\r\n\r\n function handleSelect(date) {\r\n const id = props.id,\r\n header = props.header,\r\n type = \"date\",\r\n value = format(date, \"d MMMM\", { locale: ru }),\r\n text = format(date, \"d MMMM\", { locale: ru });\r\n\r\n props.handleSubmit({ id, header, type, value, text });\r\n }\r\n\r\n function handleQuickDate(date) {\r\n const id = props.id,\r\n header = props.header,\r\n type = \"date\",\r\n value = date.value,\r\n text = date.value;\r\n\r\n props.handleSubmit({ id, header, type, value, text });\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n // отображаемый по monthsShown календарь всегда начинается с selected даты – вынуждены ставить туда дату в прошлом. но выделять хотим сегодняшнюю дату – колхозим это вручную.\r\n differenceInCalendarDays(date, today) === 0 ? \"react-datepicker__day--selected\" : \"react-datepicker__day--notselected\"\r\n }\r\n />\r\n \r\n \r\n\r\n {state.step !== 1 ? (\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {state.step !== steps.current ? (\r\n \r\n \r\n \r\n ) : null}\r\n\r\n \r\n\r\n {!props.isRequired ? (\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nconst Row = styled.div`\r\n position: relative;\r\n`;\r\n\r\nconst RowInner = styled.div`\r\n display: inline-flex;\r\n padding: 0 ${props => props.theme.remMixin(6)};\r\n transition: transform 0.2s ease;\r\n`;\r\n\r\nconst RowScrollWrapper = styled.div`\r\n margin: 0 -${props => props.theme.remMixin(16)};\r\n overflow: auto;\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n\r\n @media screen and (min-width: ${props => props.theme.screenLgMin}) {\r\n overflow: hidden;\r\n }\r\n`;\r\n\r\nconst BtnArrow = styled.button`\r\n position: absolute;\r\n top: 50%;\r\n bottom: 50%;\r\n margin-top: -${props => props.theme.remMixin(24)};\r\n width: ${props => props.theme.remMixin(48)};\r\n height: ${props => props.theme.remMixin(48)};\r\n border-radius: 50%;\r\n box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.16);\r\n background-color: #ffffff;\r\n border: none;\r\n padding: 0;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n\r\n &:hover svg {\r\n fill: ${props => props.theme.wrapperBg};\r\n }\r\n\r\n & svg {\r\n transition: fill 0.2s linear;\r\n }\r\n\r\n @media screen and (max-width: ${props => props.theme.screenSmMax}) {\r\n display: none;\r\n }\r\n`;\r\n\r\nconst BtnPrev = styled(BtnArrow)`\r\n left: -${props => props.theme.remMixin(48)};\r\n`;\r\n\r\nconst BtnNext = styled(BtnArrow)`\r\n right: -${props => props.theme.remMixin(48)};\r\n`;\r\n\r\nexport default DatePick;\r\n","import React, { useContext } from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport { FeedContext } from \"../context/FeedContext\";\r\n\r\nconst SuccessActions = props => {\r\n const [context, setContext] = useContext(FeedContext);\r\n\r\n const { AllowMultipleSubmits, AllowEdit } = context.dialogDscr;\r\n\r\n const allowEdit = AllowEdit && !context.lockEdit;\r\n\r\n function handleRefill() {\r\n setContext(context => ({\r\n ...context,\r\n feed: [],\r\n action: {},\r\n values: [],\r\n step: 0,\r\n lockEdit: false,\r\n isFinished: false,\r\n isInit: false,\r\n submittedAt: null\r\n }));\r\n }\r\n\r\n function handleEditDialog() {\r\n const nextFeed = [...context.feed];\r\n nextFeed.pop();\r\n\r\n const nextAction = {\r\n type: \"editAll\"\r\n };\r\n\r\n setContext(context => ({\r\n ...context,\r\n feed: nextFeed,\r\n action: {},\r\n isFinished: false,\r\n isEditingAll: true\r\n }));\r\n\r\n setTimeout(() => {\r\n nextFeed.push({ type: \"editAll\" });\r\n\r\n setContext(context => ({\r\n ...context,\r\n feed: nextFeed,\r\n action: nextAction\r\n }));\r\n }, 600);\r\n }\r\n\r\n return (\r\n \r\n \r\n {AllowMultipleSubmits ? (\r\n \r\n ) : null}\r\n\r\n {allowEdit ? (\r\n \r\n ) : null}\r\n \r\n \r\n );\r\n};\r\n\r\nconst Row = styled.div`\r\n margin: 0 -${props => props.theme.remMixin(16)};\r\n overflow: auto;\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n`;\r\n\r\nconst RowInner = styled.div`\r\n display: inline-flex;\r\n justify-content: center;\r\n min-width: 100%;\r\n padding: 0 ${props => props.theme.remMixin(16)};\r\n`;\r\n\r\nconst Option = styled.button`\r\n background-color: ${props => props.theme.answerBg};\r\n border-radius: ${props => props.theme.remMixin(18)};\r\n border: none;\r\n white-space: nowrap;\r\n padding: ${props => props.theme.remMixin(8)}\r\n ${props => props.theme.remMixin(10)};\r\n font-weight: 500;\r\n transition: background-color 0.2s linear;\r\n\r\n &:hover {\r\n background-color: #e0e0e0;\r\n }\r\n\r\n & + & {\r\n margin-left: ${props => props.theme.remMixin(8)};\r\n }\r\n`;\r\n\r\nexport default SuccessActions;\r\n","import React, { useContext } from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport { FeedContext } from \"../context/FeedContext\";\r\n\r\nimport useFeed from \"../hooks/useFeed\";\r\n\r\nconst EditAllActions = props => {\r\n const [context, setContext] = useContext(FeedContext);\r\n\r\n const { showSuccess } = useFeed();\r\n\r\n function handleCancel() {\r\n const nextFeed = [...context.feed];\r\n\r\n nextFeed.pop();\r\n\r\n setContext(context => ({\r\n ...context,\r\n feed: nextFeed,\r\n action: {},\r\n isEditingAll: false\r\n }));\r\n\r\n showSuccess();\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst Row = styled.div`\r\n margin: 0 -${props => props.theme.remMixin(16)};\r\n overflow: auto;\r\n -webkit-overflow-scrolling: touch;\r\n -ms-overflow-style: -ms-autohiding-scrollbar;\r\n`;\r\n\r\nconst RowInner = styled.div`\r\n display: inline-flex;\r\n justify-content: center;\r\n min-width: 100%;\r\n padding: 0 ${props => props.theme.remMixin(16)};\r\n`;\r\n\r\nconst Option = styled.button`\r\n background-color: ${props => props.theme.answerBg};\r\n border-radius: ${props => props.theme.remMixin(18)};\r\n border: none;\r\n white-space: nowrap;\r\n padding: ${props => props.theme.remMixin(8)}\r\n ${props => props.theme.remMixin(10)};\r\n font-weight: 500;\r\n transition: background-color 0.2s linear;\r\n\r\n &:hover {\r\n background-color: #e0e0e0;\r\n }\r\n\r\n & + & {\r\n margin-left: ${props => props.theme.remMixin(8)};\r\n }\r\n`;\r\n\r\nexport default EditAllActions;\r\n","import React from \"react\";\r\nimport styled from \"styled-components\";\r\n\r\nimport useFeed from \"../hooks/useFeed\";\r\n\r\nimport { CSSTransition, TransitionGroup } from \"react-transition-group\"; //https://github.com/reactjs/react-transition-group/tree/v1-stable\r\n\r\nimport SingleSelect from \"../components/SingleSelect\";\r\nimport BoolSelect from \"../components/BoolSelect\";\r\nimport MultipleSelect from \"../components/MultipleSelect\";\r\nimport TimePick from \"../components/TimePick\";\r\nimport TextInput from \"../components/TextInput\";\r\nimport RateInput from \"../components/RateInput\";\r\nimport ImageInput from \"../components/ImageInput\";\r\nimport DocInput from \"../components/DocInput\";\r\nimport DatePick from \"../components/DatePick\";\r\nimport SuccessActions from \"../components/SuccessActions\";\r\nimport EditAllActions from \"../components/EditAllActions\";\r\n\r\nconst Actions = props => {\r\n const timeingOptions = {\r\n timeout: 600,\r\n transitionEnterTimeout: 600,\r\n transitionLeaveTimeout: 600,\r\n classNames: \"action-node\"\r\n };\r\n\r\n const { handleSubmit } = useFeed();\r\n\r\n return (\r\n \r\n {props.action ? (\r\n \r\n {(() => {\r\n switch (props.action.type) {\r\n case \"Select\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"Boolean\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"Time\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"Date\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"multiple_select\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"String\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"Text\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"Integer\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"Double\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"Picture\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"File\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"success\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n case \"editAll\":\r\n return (\r\n \r\n \r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n })()}\r\n \r\n ) : null}\r\n \r\n );\r\n};\r\n\r\nconst SelectTypes = props => {\r\n return (\r\n <>\r\n {props.action.subtype === 1 ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst ActionsWrapper = styled.div`\r\n padding: ${props => props.theme.remMixin(8)}\r\n ${props => props.theme.remMixin(16)} ${props => props.theme.remMixin(16)}\r\n ${props => props.theme.remMixin(16)};\r\n`;\r\n\r\nexport default Actions;\r\n","import React, { useContext, useEffect } from \"react\";\r\n\r\nimport { FeedContext } from \"../context/FeedContext\";\r\n\r\nimport Feed from \"./Feed\";\r\nimport Actions from \"./Actions\";\r\n\r\nimport useFeed from \"../hooks/useFeed\";\r\n\r\nconst Dialog = props => {\r\n const [context, setContext] = useContext(FeedContext);\r\n const { initDialog, getNextQuestion, showSuccess, handleDependentItem } = useFeed();\r\n\r\n useEffect(handleSteps, [context.isInit, context.step]);\r\n\r\n useEffect(handleDependency, [context.dependentItemsToEdit, context.dependentItemsData, context.dependentItemsPostFinished]);\r\n\r\n useEffect(setEditTimeout, [context.submittedAt]);\r\n\r\n useEffect(lockMsg, [context.lockEdit]);\r\n\r\n function handleDependency() {\r\n const dependentItem = context.dependentItemToEdit;\r\n\r\n // есть ли что-то?\r\n if (!dependentItem || !context.dependentItemsData || !context.dependentItemsPostFinished) return;\r\n\r\n // ждём ответа от сервера, если указан postForID\r\n if (context.dependentItemsData.postForID !== -1 && context.dependentItemsPostFinished.findIndex(x => x === context.dependentItemsData.postForID) < 0) return;\r\n\r\n // обрабатываем очередного зависимого\r\n handleDependentItem(dependentItem.itemHeader, context.dependentItemsData.parentPrevValue, context.dependentItemsData.parentNextValue);\r\n }\r\n\r\n function handleSteps() {\r\n const step = context.step,\r\n maxStep = context.dialogData.length;\r\n\r\n if (context.hasError) return;\r\n\r\n if (!context.isInit) {\r\n initDialog();\r\n return;\r\n }\r\n\r\n if (step >= maxStep) {\r\n showSuccess();\r\n return;\r\n }\r\n\r\n getNextQuestion();\r\n }\r\n\r\n function setEditTimeout() {\r\n if (\r\n context.submittedAt &&\r\n context.dialogDscr.EditTimeoutMinutes &&\r\n context.dialogDscr.AllowEdit\r\n ) {\r\n const timeLimit =\r\n context.submittedAt + context.dialogDscr.EditTimeoutMinutes * 60000;\r\n\r\n const stopIn = Math.min(2147483647, timeLimit - Date.now());\r\n\r\n setTimeout(() => {\r\n setContext(context => ({\r\n ...context,\r\n lockEdit: true,\r\n step: context.step + 1\r\n }));\r\n }, stopIn);\r\n }\r\n }\r\n\r\n function lockMsg() {\r\n if (!context.lockEdit) return;\r\n\r\n const nextMsg = {\r\n type: \"question\",\r\n text: \"Время для редактирования диалога истекло.\"\r\n };\r\n\r\n const nextFeed = [...context.feed, nextMsg];\r\n\r\n const hasSuccess = nextFeed.findIndex(item => {\r\n return item.type === \"success\";\r\n });\r\n\r\n setContext(context => ({\r\n ...context,\r\n feed: nextFeed,\r\n step: hasSuccess > 0 ? context.step : context.step + 1\r\n }));\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Dialog;\r\n","import React from \"react\";\r\nimport styled, { css } from \"styled-components\";\r\n\r\nconst Loader = props => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst LoaderWrapper = styled.div`\r\n display: flex;\r\n flex: 1;\r\n background-color: ${props => props.theme.wrapperBg};\r\n`;\r\n\r\nconst LoaderSpinner = styled.div`\r\n position: relative;\r\n width: 58px;\r\n height: 58px;\r\n margin: auto;\r\n`;\r\n\r\nconst LoaderSpinnerDot = styled.div`\r\n position: absolute;\r\n background-color: #ffffff;\r\n width: 14px;\r\n height: 14px;\r\n border-radius: 9px;\r\n animation-name: spin;\r\n animation-duration: 1.1s;\r\n animation-iteration-count infinite;\r\n animation-direction: normal;\r\n\r\n ${props =>\r\n props.uid === 1 &&\r\n css`\r\n left: 0;\r\n top: 23px;\r\n animation-delay: 0.41s;\r\n `};\r\n\r\n ${props =>\r\n props.uid === 2 &&\r\n css`\r\n left: 6px;\r\n top: 6px;\r\n animation-delay: 0.55s;\r\n `};\r\n\r\n ${props =>\r\n props.uid === 3 &&\r\n css`\r\n top: 0;\r\n left: 23px;\r\n animation-delay: 0.69s;\r\n `};\r\n\r\n ${props =>\r\n props.uid === 4 &&\r\n css`\r\n right: 6px;\r\n top: 6px;\r\n animation-delay: 0.83s;\r\n `};\r\n\r\n ${props =>\r\n props.uid === 5 &&\r\n css`\r\n right: 0;\r\n top: 23px;\r\n animation-delay: 0.97s;\r\n `};\r\n\r\n ${props =>\r\n props.uid === 6 &&\r\n css`\r\n right: 6px;\r\n bottom: 6px;\r\n animation-delay: 1.1s;\r\n `};\r\n\r\n ${props =>\r\n props.uid === 7 &&\r\n css`\r\n left: 23px;\r\n bottom: 0;\r\n animation-delay: 1.24s;\r\n `};\r\n\r\n ${props =>\r\n props.uid === 8 &&\r\n css`\r\n left: 6px;\r\n bottom: 6px;\r\n animation-delay: 1.38s;\r\n `};\r\n`;\r\n\r\nexport default Loader;\r\n","import React, { useEffect, useContext } from \"react\";\r\n\r\nimport Layout from \"../components/Layout\";\r\nimport Dialog from \"../components/Dialog\";\r\nimport Loader from \"../components/Loader\";\r\n\r\nimport { FeedContext } from \"../context/FeedContext\";\r\nimport useFeed from \"../hooks/useFeed\";\r\n\r\nconst IndexPage = props => {\r\n const [context] = useContext(FeedContext);\r\n\r\n const { fetchData } = useFeed();\r\n const { isLoaded } = { ...context };\r\n\r\n useEffect(initApp, []);\r\n\r\n function initApp() {\r\n const previewPath = props.match.params.prv;\r\n const urn = props.match.params.urn;\r\n\r\n fetchData(urn, previewPath === \"p\");\r\n }\r\n\r\n return {isLoaded ? : };\r\n};\r\n\r\nexport default IndexPage;\r\n","import React from \"react\";\r\nimport { Switch, Route } from \"react-router-dom\";\r\n\r\nimport { FeedProvider } from \"./context/FeedContext\";\r\nimport IndexPage from \"./pages/IndexPage\";\r\n\r\nimport \"./App.scss\";\r\n\r\nrequire(\"dotenv\").config();\r\n\r\nfunction App() {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default App;\r\n","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { BrowserRouter } from \"react-router-dom\";\r\nimport App from \"./app/App\";\r\n\r\n/* polyfill ECMAScript */\r\nimport \"core-js/stable\";\r\nimport \"regenerator-runtime/runtime\";\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n"],"sourceRoot":""}