{"version":3,"sources":["configs/index.js","i18n.js","apis/textSegmentation.js","actions/index.js","actions/actionTypes.js","utils/index.js","modal/index.js","modal/new-analysis-modal/index.js","shared/popover/index.js","content/index.js","content/helper.js","sidebar/components/topics/components/collapsible-tree/treeUtils.js","sidebar/components/topics/components/collapsible-tree/components/node/index.js","sidebar/components/topics/components/collapsible-tree/index.js","sidebar/components/topics/components/topic-details/index.js","sidebar/components/topics/index.js","sidebar/index.js","modal/agreement-modal/index.js","user-input-area/index.js","sidebar/components/settings/index.js","modal/settings-modal/index.js","modal/about-modal/index.js","top-menu-navbar/index.js","App.js","serviceWorker.js","reducers/agreement.js","reducers/settings.js","reducers/topicInfo.js","reducers/collapsibleTree.js","reducers/index.js","reducers/documentType.js","reducers/documentTypes.js","reducers/defaultDocumentType.js","reducers/notification.js","reducers/topicColors.js","reducers/topicMappings.js","index.js","shared/popover/styles.module.css","top-menu-navbar/styles.module.css","user-input-area/styles.module.css"],"names":["env","key","type","defaultValue","process","value","lower","toLowerCase","includes","Error","parsed","parseInt","isNaN","BASE_URL","PREFIX","COMPONENTS","settingsVisible","changeTypeButtonVisible","aboutButtonVisible","licenseVisible","notificationsEnabled","moveButtonsEnabled","LANG","DOC_TYPE_ENABLED","COLORS","i18n","init","lng","configs","resources","en","translations","ButtonAbout","ButtonAccept","ButtonReject","ButtonOk","ButtonCancel","ButtonChangeType","ButtonFindTopics","ButtonUpdate","ButtonClassifyText","ButtonCompareTexts","ButtonMakeNewAnalysis","ButtonSaveChanges","LabelMaxSplits","LabelTypeText","LabelLoadByUrl","LabelThreshold","LabelFrequency","LabelTypeOfSegmentation","LabelSegmentationLength","LabelContextWindow","LabelContextGap","LabelEnterText","LabelSettings","LabelSelectAll","LabelChangeDocumentType","LinkLicenseAgreement","LicenseAgreement","LicenseAgreementLink","PlaceholderEnterURL","SelectParagraph","SelectContextGreedy","SelectContextOptimal","SelectContextByWords","SelectSentence","SelectWhole","TabSelectText","TabSettings","Topics","TabCompare","TabClassify","TextAreaPlaceholder","TitleChangeDocumentType","TitleNotification","MsgAllEssentialConditionsFulfilled","MsgAllEssentialConditionsNotFulfilled","MsgAcceptLicense","Result","NoTopics","EmptySidebarMsg","MovePrev","MoveNext","MoveDisabled","ru","fallbackLng","debug","ns","defaultNS","keySeparator","interpolation","escapeValue","formatSeparator","react","wait","axios","defaults","withCredentials","create","baseURL","setDocumentType","docType","topicify","url","text","dispatch","getState","a","settings","textSegmentation","post","documentType","response","payload","isShown","data","document_type","collapsibleTree","link_mapping","checkDarkColor","hexColor","rgbColor","substring","arrayIntersect","arr1","arr2","filter","el","generateKey","clip","letters","uuid","Array","from","length","Math","floor","random","reduce","prev","curr","Date","getTime","Modal","close","iconStyles","title","children","className","style","outline","onClick","NewAnalysisModal","state","selectedDocumentType","props","handleAgree","event","preventDefault","agreeCallback","handleReject","rejectCallback","handleSelect","setState","target","htmlFor","i18next","t","onChange","this","name","documentTypes","map","React","Component","connect","Popover","isVisible","childrenRef","createRef","popoverMessageRef","styles","ref","popover","pop","config","Content","topic2color","newAnalysisModalOpened","hideNewAnalysisModal","moveToNextAllowed","bind","moveToPrevAllowed","topicRefs","generateTopic2ColorMapping","setTopicColors","topics","selectTopic","prevProps","prevState","snapshot","i","arraysEqual","mostCommonTopics","notificationShown","initiallySelectedTopics","store","addNotification","message","insert","container","animationIn","animationOut","dismiss","duration","onScreen","notSelectedTopics","notSelectedTopicsNames","idx","topicMapping","letter","conditions","join","toUpperCase","showNotification","colorNumber","forEach","topicInfo","topicInd2Sim","Object","keys","ind","index","Number","getNewColor","arg","filterSelectedTopicColors","maxSimInd","isArray","r","NEGATIVE_INFINITY","obj","predicate","byKey","result","hasOwnProperty","selectedTopics","indexOf","topic_ind","topic_weights","parseFloat","toFixed","topic_words","sort","b","currentTopicIndex","currentMark","topicRef","tooltip","generateTooltip","isSelected","selectedTopic","backgroundColor","getTopicColor","toggleSelectedTopic","content","lines","accumulatedLength","start","end","mapLinesToOriginalTextPositions","split","line","paragraphLength","prevStartInParagraph","startInParagraph","endInParagraph","push","createTopicRef","renderTopic","topicIdx","deselectTopic","prevTopic","scrollToView","nextTopic","current","scrollIntoView","block","behavior","marginTop","background","left","right","zIndex","moveToPrevTopic","moveToNextTopic","clear","id","whiteSpace","position","top","generateHighlightedHTML","handleDocumentTypeChange","generateRandomColor","avoidDark","topicColors","defaultDocType","items","currentlySelected","newItems","undefined","selected","showChildren","parentid","parent","Node","getClassName","classNames","handleClick","onSelection","renderChild","childId","listStyleType","ConnectedNode","indent","topicId","link","parentNode","role","leafNode","href","rel","paddingLeft","ownProps","Tree","selection","toggleChildren","nextProps","topIds","updateStore","topId","ConnectedTree","nodeId","TopicDetails","linksOpen","treeUtils","checked","readOnly","width","minHeight","textAlign","handleToggleLinks","borderColor","PureComponent","clickedTopic","removeSelectedTopic","addSelectedTopic","currentTopic","selectAllTopics","deselectAllTopics","topicName","allTopicsSelected","handleSelectAll","getButtonColor","topic","topicNumber","Sidebar","overflow","height","noTopics","AgreementModal","UserInputArea","agreementModalVisible","handleSubmitManual","isAgreementAccepted","handleChange","closeAgreementModal","localStorage","setItem","acceptAgreement","onSubmit","placeholder","fontSize","handleAcceptAgreement","handleRejectAgreement","setTopicMappings","Settings","changeSettings","threshold","fragmentsSize","segmentType","segmentLength","contextWindow","contextGap","maxSplits","onSelect","SettingsModal","handleSubmit","setSettings","AboutModal","dangerouslySetInnerHTML","__html","about","TopMenuNavbar","useState","settingsOpened","setSettingsOpened","aboutOpened","setAboutOpened","App","document","createElement","innerText","description","head","appendChild","retrieveDocumentTypes","get","then","names","defaultIdx","defaultDocTypeIdx","setDocumentTypes","setDefaultDocumentType","Boolean","window","location","hostname","match","initialState","getItem","initialSettings","userInputArea","node","action","combineReducers","topic_mapping","original_text","initially_selected_topics","most_common_topics","concat","newState","oldSelectedNodeId","TagManager","initialize","gtmId","devTools","dummy","createStore","setText","compose","applyMiddleware","thunk","ReactDOM","render","getElementById","navigator","serviceWorker","ready","registration","unregister","module","exports"],"mappings":"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","file":"static/js/main.9df92a60.chunk.js","sourcesContent":["const env = (key, type, defaultValue) => {\n if (!process.env[key]) return defaultValue;\n\n const value = process.env[key];\n switch (type) {\n case \"string\":\n return value;\n case \"boolean\":\n const lower = value.toLowerCase();\n if ([\"1\", \"true\", \"yes\", \"y\", \"ok\", \"on\"].includes(lower)) return true;\n if ([\"0\", \"false\", \"no\", \"n\", \"nok\", \"off\"].includes(lower)) return false;\n throw new Error(`Invalid env variable ${key}. Expected a boolean: ${value}`);\n case \"number\":\n const parsed = parseInt(value);\n if (isNaN(parsed)) throw new Error(`Invalid env variable ${key}. Expected a number: ${value}`);\n return parsed;\n default:\n throw new Error(`Unsupported type ${type} for env variable ${key}. Should be 'string', 'boolean' or 'number'`);\n }\n}\n\n\nexport default {\n BASE_URL: env('REACT_APP_BASE_URL', 'string'),\n PREFIX: env('REACT_APP_PREFIX', 'string', ''),\n COMPONENTS: {\n settingsVisible: env('REACT_APP_SETTINGS_BUTTON', 'boolean', true),\n changeTypeButtonVisible: env('REACT_APP_CHANGE_TYPE_BUTTON', 'boolean', true),\n aboutButtonVisible: env('REACT_APP_ABOUT_BUTTON', 'boolean', true),\n licenseVisible: env('REACT_APP_LICENSE_VISIBLE', 'boolean', true),\n notificationsEnabled: env('REACT_APP_NOTIFICATIONS', 'boolean' ,true),\n moveButtonsEnabled: env('REACT_APP_MOVE_BUTTONS', 'boolean', false)\n },\n LANG: env('REACT_APP_LANG', 'string', 'ru'),\n DOC_TYPE_ENABLED: env('REACT_APP_DOC_TYPE_ENABLED', 'boolean', true),\n COLORS: [\"#1f77b4\", \"#aec7e8\", \"#ff7f0e\", \"#ffbb78\",\n \"#2ca02c\", \"#98df8a\", \"#d62728\", \"#ff9896\",\n \"#9467bd\", \"#c5b0d5\", \"#8c564b\", \"#c49c94\",\n \"#e377c2\", \"#f7b6d2\", \"#7f7f7f\", \"#c7c7c7\",\n \"#bcbd22\", \"#dbdb8d\", \"#17becf\", \"#9edae5\"]\n}\n","import i18n from 'i18next';\nimport configs from './configs';\n\ni18n.init({\n // we init with resources\n lng: configs.LANG,\n resources: {\n en: {\n translations: {\n ButtonAbout: \"About\",\n ButtonAccept: \"Accept\",\n ButtonReject: \"Reject\",\n ButtonOk: \"OK\",\n ButtonCancel: \"Cancel\",\n ButtonChangeType: \"Change type\",\n ButtonFindTopics: \"Find contract clauses\",\n ButtonUpdate: \"Update\",\n ButtonClassifyText: \"Classify text\",\n ButtonCompareTexts: \"Compare texts\",\n ButtonMakeNewAnalysis: \"Make new analysis\",\n ButtonSaveChanges: \"Save changes\",\n\n LabelMaxSplits: \"Max splits\",\n LabelTypeText: \"Type text\",\n LabelLoadByUrl: \"Load by URL\",\n LabelThreshold: \"Threshold\",\n LabelFrequency: \"Frequency\",\n LabelTypeOfSegmentation: \"Type of segmentation\",\n LabelSegmentationLength: \"Segmentation length\",\n LabelContextWindow: \"Context window\",\n LabelContextGap: \"Context gap\",\n LabelEnterText: \"Enter text\",\n LabelSettings: \"Settings\",\n LabelSelectAll: \"Select all clauses\",\n LabelChangeDocumentType: \"To refine the search for document's conditions, specify the type of document manually\",\n\n LinkLicenseAgreement: \"To process the document you need to accept the conditions of \",\n LicenseAgreement: \"License agreement\",\n LicenseAgreementLink: \"License agreement\",\n\n PlaceholderEnterURL: \"Enter URL...\",\n\n SelectParagraph: \"Paragraph\",\n SelectContextGreedy: \"Context greedy\",\n SelectContextOptimal: \"Context optimal\",\n SelectContextByWords: \"Context by words\",\n SelectSentence: \"Sentence\",\n SelectWhole: \"Whole\",\n\n TabSelectText: \"Select text\",\n TabSettings: \"Settings\",\n Topics: \"Contract clauses\",\n TabCompare: \"Compare\",\n TabClassify: \"Classify\",\n\n TextAreaPlaceholder: \"To analyze contract please paste its text here and click FIND CONTRACT CLAUSES\",\n\n TitleChangeDocumentType: \"Select document type\",\n TitleNotification: \"Notification\",\n\n MsgAllEssentialConditionsFulfilled: \"All essential provisions are found in this document\",\n MsgAllEssentialConditionsNotFulfilled: \"Essential provisions {{conditions}} are not found in this document\",\n MsgAcceptLicense: \"You must accept license agreement before analysis of contract\",\n\n Result: \"Result\",\n NoTopics: \"No provisions found\",\n EmptySidebarMsg: \"Please paste contract text.\",\n MovePrev: \"Move to previous clause\",\n MoveNext: \"Move to next clause\",\n MoveDisabled: \"Disabled until clause is selected\"\n }\n },\n\n ru: {\n translations: {\n ButtonAbout: \"О программе\",\n ButtonAccept: \"Принимаю\",\n ButtonReject: \"Не принимаю\",\n ButtonOk: \"ОК\",\n ButtonCancel: \"Отмена\",\n ButtonChangeType: \"Изменить тип\",\n ButtonFindTopics: \"Найти условия договора\",\n ButtonUpdate: \"Обновить\",\n ButtonClassifyText: \"Классифицировать текст\",\n ButtonCompareTexts: \"Сравнить тексты\",\n ButtonMakeNewAnalysis: \"Новый анализ\",\n ButtonSaveChanges: \"Сохранить изменения\",\n\n LabelMaxSplits: \"Максимальное число разбиений\",\n LabelTypeText: \"Ввести текст\",\n LabelLoadByUrl: \"Загрузить по ссылке\",\n LabelThreshold: \"Пороговое значение\",\n LabelFrequency: \"Частота\",\n LabelTypeOfSegmentation: \"Тип сегментации\",\n LabelSegmentationLength: \"Длина сегмента\",\n LabelContextWindow: \"Констекстное окно\",\n LabelContextGap: \"Контекстный сдвиг\",\n LabelEnterText: \"Введите текст\",\n LabelSettings: \"Настройки\",\n LabelSelectAll: \"Выбрать все условия\",\n LabelChangeDocumentType: \"Для уточнения поиска условий договора укажите тип договора вручную\",\n\n LinkLicenseAgreement: \"Для обработки документа Вам нужно принять условия \",\n LicenseAgreement: \"Пользовательского соглашения\",\n LicenseAgreementLink: \"Пользовательское соглашение\",\n\n PlaceholderEnterURL: \"Введите ссылку...\",\n\n SelectParagraph: \"Абзац\",\n SelectContextGreedy: \"Контекст жадный\",\n SelectContextOptimal: \"Контекст оптимальный\",\n SelectContextByWords: \"Контекст по словам\",\n SelectSentence: \"Предложение\",\n SelectWhole: \"Целый\",\n\n TabSelectText: \"Выбрать текст\",\n TabSettings: \"Настройки\",\n Topics: \"Условия договора\",\n TabCompare: \"Сравнить\",\n TabClassify: \"Классифицировать\",\n\n TextAreaPlaceholder: \"Для того, чтобы проанализировать договор - вставьте его текст и нажмите кнопку НАЙТИ УСЛОВИЯ ДОГОВОРА.\",\n\n TitleChangeDocumentType: \"Выбрать тип договора\",\n TitleNotification: \"Уведомление\",\n\n MsgAllEssentialConditionsFulfilled: \"В договоре предусмотрены все существенные условия\",\n MsgAllEssentialConditionsNotFulfilled: \"В договоре отсутству{{letter}}т {{conditions}}\",\n MsgAcceptLicense: \"Обработка договора невозможна без принятия пользовательского соглашения\",\n\n Result: \"Результат\",\n NoTopics: \"Нет выделенных условий.\",\n EmptySidebarMsg: \"Пожалуйста, введите текст договора.\",\n MovePrev: \"Предыдущее условие\",\n MoveNext: \"Следующее условие\",\n MoveDisabled: \"Отключено пока не выбрано условие\"\n }\n }\n },\n fallbackLng: \"en\",\n debug: true,\n\n // have a common namespace used around the full app\n ns: [\"translations\"],\n defaultNS: \"translations\",\n\n keySeparator: false, // we use content as keys\n\n interpolation: {\n escapeValue: false, // not needed for react!!\n formatSeparator: \",\"\n },\n\n react: {\n wait: true\n }\n});\n\nexport default i18n;\n","import axios from 'axios';\nimport configs from '../configs';\nconst { BASE_URL } = configs;\n\naxios.defaults.withCredentials = process.env.NODE_ENV !== 'development';\n\nexport default axios.create({\n baseURL: BASE_URL\n});\n","import textSegmentation from '../apis/textSegmentation';\nimport {\n SET_TOPIC_MAPPINGS,\n SET_TOPIC_COLORS,\n SET_SETTINGS,\n ADD_SELECTED_TOPIC,\n REMOVE_SELECTED_TOPIC,\n SELECT_TOPIC,\n DESELECT_TOPIC,\n ACCEPT_AGREEMENT,\n SET_DOCUMENT_TYPE,\n SET_DOCUMENT_TYPES,\n TOPICIFY,\n SHOW_NOTIFICATION,\n CLEAR,\n SELECT_ALL_TOPICS,\n DESELECT_ALL_TOPICS,\n SET_DEFAULT_DOCUMENT_TYPE,\n TREE_TOGGLE_CHILDREN,\n TREE_SELECT_NODE,\n TREE_UPDATE_STORE,\n TREE_INITIALIZE\n} from './actionTypes';\n\nexport const setTopicMappings = (topicMapping) => ({\n type: SET_TOPIC_MAPPINGS,\n topicMapping\n});\n\nexport const setTopicColors = (topicColors) => ({\n type: SET_TOPIC_COLORS,\n topicColors\n});\n\nexport const setSettings = (settings) => ({\n type: SET_SETTINGS,\n settings\n});\n\nexport const addSelectedTopic = (topic) => ({\n type: ADD_SELECTED_TOPIC,\n topic\n});\n\nexport const removeSelectedTopic = (topic) => ({\n type: REMOVE_SELECTED_TOPIC,\n topic\n});\n\nexport const selectAllTopics = () => ({\n type: SELECT_ALL_TOPICS\n});\n\nexport const deselectAllTopics = () => ({\n type: DESELECT_ALL_TOPICS\n});\n\nexport const selectTopic = (topicIdx) => ({\n type: SELECT_TOPIC,\n selectedTopic: topicIdx\n});\n\nexport const deselectTopic = () => ({\n type: DESELECT_TOPIC\n})\n\nexport const acceptAgreement = () => ({\n type: ACCEPT_AGREEMENT\n});\n\nexport const setDocumentTypes = (documentTypes) => ({\n type: SET_DOCUMENT_TYPES,\n documentTypes\n});\n\nexport const setDocumentType = (docType) => ({\n type: SET_DOCUMENT_TYPE,\n docType\n});\n\nexport const setDefaultDocumentType = (defaultDocType) => ({\n type: SET_DEFAULT_DOCUMENT_TYPE,\n defaultDocType\n});\n\nexport const topicify = (url, text) => async (dispatch, getState) => {\n const { settings, docType } = getState();\n const response = await textSegmentation.post(url, {\n text,\n ...settings,\n documentType: docType\n });\n dispatch({\n type: TOPICIFY,\n payload: response\n });\n dispatch({\n type: SHOW_NOTIFICATION,\n isShown: true\n });\n dispatch({\n type: SET_DOCUMENT_TYPE,\n docType: response.data.document_type\n });\n dispatch({\n type: TREE_INITIALIZE,\n collapsibleTree: response.data.link_mapping\n })\n};\n\nexport const showNotification = (isShown) => ({\n type: SHOW_NOTIFICATION,\n isShown\n});\n\nexport const clear = () => (dispatch, getState) => {\n const { defaultDocType } = getState();\n dispatch({\n type: SET_DOCUMENT_TYPE,\n docType: defaultDocType\n });\n dispatch({\n type: CLEAR\n });\n};\n\n// ///////////////////////////\n// Collapsible tree actions //\n// ///////////////////////////\nexport const toggleChildren = (topicId, nodeId) => ({\n type: TREE_TOGGLE_CHILDREN,\n topicId,\n nodeId\n});\n\nexport const selectNode = (topicId, nodeId) => ({\n type: TREE_SELECT_NODE,\n topicId,\n nodeId\n});\n\nexport const updateStore = (topicId, store) => ({\n type: TREE_UPDATE_STORE,\n topicId,\n store\n});\n","export const SET_TOPIC_MAPPINGS = 'SET_TOPIC_MAPPINGS';\nexport const SET_TOPIC_COLORS = 'SET_TOPIC_COLORS';\nexport const SET_SETTINGS = 'SET_SETTINGS';\n\nexport const ADD_SELECTED_TOPIC = 'ADD_SELECTED_TOPIC';\nexport const REMOVE_SELECTED_TOPIC = 'REMOVE_SELECTED_TOPIC';\nexport const SELECT_ALL_TOPICS = 'SELECT_ALL_TOPICS';\nexport const DESELECT_ALL_TOPICS = 'DESELECT_ALL_TOPICS';\nexport const SELECT_TOPIC = 'SELECT_TOPIC';\nexport const DESELECT_TOPIC = 'DESELECT_TOPIC';\n\nexport const ACCEPT_AGREEMENT = 'ACCEPT_AGREEMENT';\n\nexport const SET_DOCUMENT_TYPES = 'SET_DOCUMENT_TYPES';\nexport const SET_DOCUMENT_TYPE = 'SET_DOCUMENT_TYPE';\nexport const SET_DEFAULT_DOCUMENT_TYPE = 'SET_DEFAULT_DOCUMENT_TYPE';\n\nexport const TOPICIFY = 'TOPICIFY';\nexport const SHOW_NOTIFICATION = 'SHOW_NOTIFICATION'; // shows notification after topics extraction\nexport const CLEAR = 'CLEAR'; // clears data in store before new analysis\n\n// Collapsible tree actions\nexport const TREE_INITIALIZE = 'TREE_INITIALIZE';\nexport const TREE_TOGGLE_CHILDREN = 'TREE_TOGGLE_CHILDREN';\nexport const TREE_UPDATE_STORE = 'TREE_UPDATE_STORE';\nexport const TREE_SELECT_NODE = 'TREE_SELECT_NODE';\nexport const TREE_UNSELECT = 'TREE_UNSELECT';\n","//////////////////////////////////\n// Color utils\n//////////////////////////////////\n\nfunction generateRandomColor(avoidDark=true) {\n const letters = '0123456789ABCDEF';\n const hexColor = Array.from({ length: 6}, () => letters[Math.floor(Math.random()*16)])\n .reduce((prev, curr) => (prev + curr), '#');\n if (avoidDark && checkDarkColor(hexColor)) return generateRandomColor(); // try once more if color is too dark\n return hexColor;\n}\n\n// see https://stackoverflow.com/questions/12043187/how-to-check-if-hex-color-is-too-black\nfunction checkDarkColor(hexColor) {\n const rgbColor = parseInt(hexColor.substring(1), 16);\n const [r, g, b] = [(rgbColor >> 16) & 0xff, (rgbColor >> 8) & 0xff, (rgbColor >> 0) & 0xff];\n const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n return luma < 60;\n}\n\nexport { generateRandomColor, checkDarkColor }\n\n\n//////////////////////////////////\n// Numerical and functional utils\n//////////////////////////////////\n\nfunction argmax(arg) {\n // arg is expected to be either an array or an object\n if (Array.isArray(arg)) {\n return arg.map((el, i) => [el, i]).reduce((r, a) => (a[0] > r[0] ? a : r), [Number.NEGATIVE_INFINITY, -1])[1];\n }\n\n // returns key of the biggest value in object. All values must be numbers\n return Object.keys(arg)\n .map(key => [Number(arg[key]), key]).reduce((r, a) => (a[0] > r[0] ? a : r), [Number.NEGATIVE_INFINITY, -1])[1];\n}\n\n// filters object's {key:value} pairs leaving only those that passed the predicate function condition\nfunction filter(obj, predicate, byKey=false) {\n const result = {};\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && predicate(byKey ? key : obj[key])) {\n result[key] = obj[key];\n }\n }\n return result;\n}\n\nfunction merge(obj1, obj2) {\n return {...obj1, ...obj2};\n}\n\n// Note: may be not working as expected on arrays with duplicates\nfunction arrayIntersect(arr1, arr2) {\n if (!arr1) return [];\n if (!arr2) return [];\n return arr1.filter(el => arr2.includes(el));\n}\n\n// This should be faster than JSON.stringify(arr1) === JSON.stringify(arr2)\nfunction arraysEqual(arr1, arr2) {\n if(arr1.length !== arr2.length) return false;\n for(let i = arr1.length; i--;) {\n if(arr1[i] !== arr2[i]) return false;\n }\n return true;\n}\n\nfunction arrayCopy(arr) {\n return arr.slice(0);\n}\n\nexport { argmax, filter, merge, arrayIntersect, arraysEqual, arrayCopy }\n\n//////////////////////////////////\n// String utils\n//////////////////////////////////\n\nfunction replaceAt(str, begin, end, replacement) {\n return str.substring(0, begin) + replacement + str.substring(end, str.length);\n}\n\nexport { replaceAt }\n\n//////////////////////////////////\n// React helpers\n//////////////////////////////////\n\nfunction generateKey(data, clip=10) {\n const letters = '0123456789ABCDEF';\n const uuid = Array.from({ length: 6}, () => letters[Math.floor(Math.random()*16)])\n .reduce((prev, curr) => (prev + curr), '');\n return `${data ? data.substring(0, clip) : ''}_${uuid}_${new Date().getTime()}`\n}\n\nexport { generateKey }\n","import React from 'react';\nimport './styles.css';\n\n\nfunction Modal({ close, iconStyles, title, children }) {\n return (\n
{children.length ? children : line.content}
;\n });\n }\n\n handleDocumentTypeChange(docType) {\n this.props.setDocumentType(docType);\n this.props.topicify('/extractTopicsInText', this.props.content);\n }\n\n hideNewAnalysisModal = () => {\n this.setState({newAnalysisModalOpened: false})\n };\n\n toggleSelectedTopic(topicIdx) {\n if (this.props.selectedTopic !== topicIdx) {\n this.props.selectTopic(topicIdx);\n } else {\n this.props.deselectTopic();\n }\n }\n\n moveToPrevAllowed() {\n return this.props.selectedTopic != null && this.props.selectedTopic !== 0;\n }\n\n moveToNextAllowed() {\n return this.props.selectedTopic != null && this.props.selectedTopic !== this.props.topics.length - 1;\n }\n\n moveToPrevTopic() {\n const prevTopic = this.props.selectedTopic - 1;\n if (prevTopic < 0) return;\n this.props.selectTopic(prevTopic);\n this.scrollToView(this.topicRefs[prevTopic]);\n }\n\n moveToNextTopic() {\n const nextTopic = this.props.selectedTopic + 1;\n if (nextTopic >= this.props.topics.length) return;\n this.props.selectTopic(nextTopic);\n this.scrollToView(this.topicRefs[nextTopic]);\n }\n\n scrollToView(ref) {\n ref.current.scrollIntoView({ block: \"center\", behavior: \"smooth\" });\n }\n\n render() {\n return (\n <>\n