code7-leia 0.2.5 → 0.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"code7-leia.esm.js","sources":["../src/components/Tabs/styles.tsx","../src/components/Tabs/index.tsx","../src/utils/languages/en.ts","../src/utils/languages/pt-br.ts","../src/utils/languages/es.ts","../src/utils/getLanguage.tsx","../src/components/FileArea/styles.tsx","../src/components/FileArea/components/Table/styles.tsx","../src/components/FileArea/components/Spinner/styles.tsx","../src/components/FileArea/components/Spinner/index.tsx","../src/components/FileArea/components/Table/index.tsx","../src/components/FileArea/components/Search/styles.tsx","../src/components/FileArea/components/Search/index.tsx","../src/components/FileArea/components/Modal/styles.tsx","../src/components/FileArea/components/Modal/ModalFooter.tsx","../src/components/FileArea/components/Modal/ModalContent.tsx","../src/components/FileArea/components/Modal/index.tsx","../src/components/EmptyState/styles.tsx","../src/components/EmptyState/index.tsx","../src/components/MultiSelect/styles.tsx","../src/components/MultiSelect/index.tsx","../src/components/FileArea/components/AreaUpload/styles.tsx","../src/components/FileArea/components/AreaUpload/index.tsx","../src/service/Api.ts","../src/contexts/SharedPropsProvider.tsx","../src/store/modules/types.ts","../src/store/modules/actions.ts","../src/components/FileArea/index.tsx","../src/components/TestArea/styles.tsx","../src/components/Select/styles.tsx","../src/components/Select/index.tsx","../src/components/TestArea/components/InputTest/styles.tsx","../src/components/TestArea/components/InputTest/index.tsx","../src/components/TestArea/index.tsx","../src/Leia.tsx","../src/store/modules/reducer.ts","../src/components/CustomToast/index.tsx","../src/store/modules/sagas.ts","../src/store/index.ts","../src/index.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { ReactNode } from 'react';\n\ninterface TabProps {\n children: ReactNode;\n}\n\ninterface OptionProps {\n children: ReactNode;\n onClick: () => void;\n}\n\nexport const TabsPane = styled.ul`\n width: max-content;\n display: flex;\n align-items: center;\n border-bottom: 1px solid var(--neutral-1);\n`;\n\nexport const Tab = styled.li<TabProps>`\n padding: 12px;\n color: var(--neutral-3);\n font-size: 0.875rem;\n font-weight: normal;\n position: relative;\n cursor: pointer;\n\n svg {\n fill: var(--neutral-3) !important;\n margin-left: 8px;\n }\n\n &.active {\n color: var(--primary-700-light);\n\n svg {\n fill: var(--primary-700-light) !important;\n }\n\n ::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 2px;\n background-color: var(--primary-700-light);\n }\n }\n\n &:not(:last-child) {\n margin-right: 8px;\n }\n`;\n\nexport const DropdownContainer = styled.div`\n position: absolute;\n left: 0px;\n top: 40px;\n display: flex;\n flex-direction: column;\n\n background: #ffffff;\n\n border: 1px solid #979aa5;\n box-sizing: border-box;\n box-shadow: 0px 6px 12px -6px rgba(24, 39, 75, 0.12),\n 0px 8px 24px -4px rgba(24, 39, 75, 0.08);\n border-radius: 4px;\n padding: 8px;\n z-index: 2;\n`;\n\nexport const Option = styled.div<OptionProps>`\n padding: 8px;\n font-size: 14px;\n border-radius: 4px;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &:hover {\n background-color: var(--primary-800-light);\n color: white;\n }\n`;\n","import React, { ReactNode } from 'react';\nimport PropTypes from 'prop-types';\nimport cc from 'classcat';\n\nimport * as S from './styles';\n\ninterface TabProps {\n children: ReactNode;\n active?: boolean;\n}\n\ninterface ITabsProps {\n children: ReactNode;\n value: string | number;\n onChange: (e: any) => void;\n active?: boolean;\n}\n\nexport const Tab = ({ active, children, ...rest }: TabProps) => {\n return (\n <S.Tab className={cc({ active })} {...rest}>\n {children}\n </S.Tab>\n );\n};\n\nTab.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n PropTypes.node,\n ]).isRequired,\n onChange: PropTypes.func,\n value: PropTypes.string,\n active: PropTypes.bool,\n};\n\nTab.defaultProps = {\n onChange: () => {},\n value: '',\n active: false,\n};\n\nexport const Tabs = ({ children: childrenProp, value, onChange, ...rest }: ITabsProps) => {\n const children = React.Children.map(childrenProp, (child) => {\n if (!React.isValidElement(child)) {\n return null;\n }\n\n if (Array.isArray(child.props?.children)) {\n return React.cloneElement(child as React.ReactElement<any>, {\n active: child.props?.value === value,\n value,\n onChange,\n });\n }\n\n return React.cloneElement(child as React.ReactElement<any>, {\n active: child.props?.value === value,\n onClick: () => onChange(child.props?.value),\n });\n });\n\n return <S.TabsPane {...rest}>{children}</S.TabsPane>;\n};\n\nTabs.propTypes = {\n children: PropTypes.node.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n onChange: PropTypes.func.isRequired,\n};\n","import { Language } from \"../../interface/Language\";\n\nexport const enTranslation: Language = {\n files: 'Files',\n test: 'Test',\n fileArea: {\n description: 'Manage your files with ease! Add new ones and delete old ones as desired.',\n fileName: 'File name',\n status: 'Status',\n presset: 'Presset',\n actions: 'Actions',\n search: 'Search',\n fileUpload: 'File upload',\n training: 'Train preset',\n emptyState: {\n title: 'No data',\n description: 'No files uploaded yet. Start by adding your documents now!',\n },\n modal: {\n descriptionUpload: 'Drag and drop files here or',\n chooseFile: 'Choose a file',\n uploadFile: 'Upload a file',\n deleteFileTitle: 'Delete a file',\n deleteFile: 'Important! By deleting this file, you will lose all its information and will not be able to recover it.',\n trainingTitle: 'Presset Training',\n trainingDescription: 'Select one or more pressets to be trained. Note: If none are selected, Le-IA will train all pressets.'\n },\n },\n buttons: {\n cancel: 'Cancel',\n send: 'Send',\n delete: 'Delete',\n test: 'Test',\n addNewPresset: 'Add new presset',\n addPresset: 'Add presset',\n training: 'Training'\n },\n testArea: {\n description: 'Type a sentence to test artificial intelligence',\n typeSentence: 'Type a sentence',\n selectPersona: 'Select a Persona',\n selectPresset: 'Select a presset',\n emptyState: {\n title: 'No data for analysis',\n description: 'Do a search, click the \"Test\" button.',\n },\n },\n toast: {\n deleteFile: {\n success: {\n title: 'Success',\n description: 'File deleted successfully!'\n },\n fail: {\n title: 'Failure',\n description: 'Error deleting the file!'\n }\n },\n uploadFile: {\n success: {\n title: 'Success',\n description: 'File uploaded successfully!'\n },\n fail: {\n title: 'Failure',\n description: 'Error uploading the file!'\n }\n },\n Test: {\n fail: {\n title: 'Failure',\n description: 'Error testing Le-IA'\n }\n },\n Train: {\n fail: {\n title: 'Failure',\n description: 'Error training Le-IA'\n },\n success: {\n title: 'Success',\n description: 'Le-IA is in the training process!'\n }\n }\n }\n};","import { Language } from \"../../interface/Language\";\n\nexport const ptTranslation: Language = {\n files: 'Arquivos',\n test: 'Teste',\n fileArea: {\n description: 'Gerencie seus arquivos com facilidade! Adicione novos e exclua os antigos conforme desejar.',\n fileName: 'Nome do arquivo',\n status: 'Status',\n presset: 'Predefinição',\n actions: 'Ações',\n search: 'Pesquisar',\n fileUpload: 'Enviar arquivo',\n training: 'Treinar predefinição',\n emptyState: {\n title: 'Sem dados',\n description: 'Nenhum arquivo enviado ainda. Comece adicionando seus documentos agora!',\n },\n modal: {\n descriptionUpload: 'Arraste e solte os arquivos aqui ou',\n chooseFile: 'Escolha um arquivo',\n uploadFile: 'Enviar um arquivo',\n deleteFileTitle: 'Excluir um arquivo',\n deleteFile: 'Importante! Ao excluir este arquivo, você perderá todas as suas informações e não poderá recuperá-las.',\n trainingTitle: 'Treinamento de predefinição',\n trainingDescription: 'Selecione um ou mais predefinições para serem treinadas. Obs: Caso não selecionada nenhuma a Le-IA irá treinar todas as predefinições'\n },\n },\n buttons: {\n cancel: 'Cancelar',\n send: 'Enviar',\n delete: 'Excluir',\n test: 'Teste',\n addNewPresset: 'Adicionar nova predefinição',\n addPresset: 'Adicionar predefinição',\n training: 'Treinamento'\n },\n testArea: {\n description: 'Digite uma frase para testar a inteligência artificial.',\n typeSentence: 'Digite uma frase',\n selectPersona: 'Selecione uma Persona',\n selectPresset: 'Selecione uma predefinição',\n emptyState: {\n title: 'Sem dados para análise',\n description: 'Faça uma pesquisa, clique no botão \"Teste\".',\n },\n },\n toast: {\n deleteFile: {\n success: {\n title: 'Sucesso',\n description: 'Arquivo excluído com sucesso!'\n },\n fail: {\n title: 'Falha',\n description: 'Erro ao excluir o arquivo!'\n }\n },\n uploadFile: {\n success: {\n title: 'Sucesso',\n description: 'Arquivo enviado com sucesso!'\n },\n fail: {\n title: 'Falha',\n description: 'Erro ao enviar o arquivo!'\n }\n },\n Test: {\n fail: {\n title: 'Falha',\n description: 'Erro ao testar Le-IA'\n }\n },\n Train: {\n fail: {\n title: 'Falha',\n description: 'Erro ao treinar a Le-IA'\n },\n success: {\n title: 'Sucesso',\n description: 'A Le-IA está em processo de treinamento!'\n }\n }\n }\n};\n","import { Language } from \"../../interface/Language\";\n\nexport const esTranslation: Language = {\n files: 'Archivos',\n test: 'Prueba',\n fileArea: {\n description: '¡Administre sus archivos fácilmente! Agregue nuevos y elimine los antiguos según desee.',\n fileName: 'Nombre del archivo',\n status: 'Status',\n presset: 'Preconfiguración',\n actions: 'Acciones',\n search: 'Buscar',\n fileUpload: 'Subir archivo',\n training: 'Entrenar preconfiguración',\n emptyState: {\n title: 'Sin datos',\n description: 'Aún no se han subido archivos. ¡Comience agregando sus documentos ahora!',\n },\n modal: {\n descriptionUpload: 'Arrastre y suelte los archivos aquí o',\n chooseFile: 'Elegir un archivo',\n uploadFile: 'Subir un archivo',\n deleteFileTitle: 'Eliminar un archivo',\n deleteFile: '¡Importante! Al eliminar este archivo, perderá toda su información y no podrá recuperarla.',\n trainingTitle: 'Entrenamiento de preconfiguración',\n trainingDescription: 'Seleccione una o más preconfiguracións para ser entrenadas. Nota: Si no se selecciona ninguna, Le-IA entrenará todas las preconfiguracións.'\n },\n },\n buttons: {\n cancel: 'Cancelar',\n send: 'Enviar',\n delete: 'Eliminar',\n test: 'Prueba',\n addNewPresset: 'Agregar nueva preconfiguración',\n addPresset: 'Agregar preconfiguración',\n training: 'Capacitación'\n },\n testArea: {\n description: 'Escribe una frase para probar la inteligencia artificial.',\n typeSentence: 'Escribe una oración',\n selectPersona: 'Seleccionar una Persona',\n selectPresset: 'Seleccionar una preconfiguración',\n emptyState: {\n title: 'Sin datos para el análisis',\n description: 'Realice una búsqueda, haga clic en el botón \"Prueba\".',\n },\n },\n toast: {\n deleteFile: {\n success: {\n title: 'Éxito',\n description: '¡Archivo eliminado correctamente!'\n },\n fail: {\n title: 'Error',\n description: 'Error al eliminar el archivo!'\n }\n },\n uploadFile: {\n success: {\n title: 'Éxito',\n description: '¡Archivo subido correctamente!'\n },\n fail: {\n title: 'Error',\n description: 'Error al subir el archivo!'\n }\n },\n Test: {\n fail: {\n title: 'Error',\n description: 'Error al probar Le-IA'\n }\n },\n Train: {\n fail: {\n title: 'Error',\n description: 'Error al entrenar Le-IA'\n },\n success: {\n title: 'Éxito',\n description: '¡Le-IA está en proceso de entrenamiento!'\n }\n }\n }\n};\n","import { Language } from '../interface/Language';\nimport { enTranslation } from './languages/en';\nimport { ptTranslation } from './languages/pt-br';\nimport { esTranslation } from './languages/es';\n\nexport const getLanguage = (language: keyof Record<'en' | 'pt-br' | 'es', Language>): Language => {\n switch (language) {\n case 'en':\n return enTranslation;\n case 'pt-br':\n return ptTranslation;\n case 'es':\n return esTranslation;\n default:\n return enTranslation;\n }\n};","import styled, { css } from 'styled-components';\n\ninterface ContainerProps {\n isloading?: boolean;\n}\n\nexport const Container = styled.div<ContainerProps>`\n ${(props) =>\n props.isloading &&\n css`\n #loading {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgb(151,154,165, 0.7);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 9999;\n }\n\n #loading::after {\n content: \"\";\n border: 4px solid #f3f3f3; /* Cor do símbolo de carregamento */\n border-top: 4px solid #5a5d68; /* Cor do símbolo de carregamento */\n border-radius: 50%;\n width: 13px;\n height: 13px;\n animation: spin 1s linear infinite;\n }\n\n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n `}\n\n\n .tag {\n padding: 4px 8px 4px 8px;\n background: #C7F9ED;\n border-radius: 4px;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .tags {\n display: flex;\n justify-content: left;\n gap: 4px;\n }\n\n .divDelete {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 4px;\n }\n\n .buttonDelete {\n color: #5b0a1f;\n background: #fae0d2;\n padding: 12px 20px;\n border-radius: 4px;\n }\n\n .buttonDelete:hover {\n background: #f5bba7;\n }\n\n .buttonTraining {\n color: #023906;\n background: #e3f8cc;\n padding: 12px 20px;\n border-radius: 4px;\n margin-right: 10px;\n }\n\n .buttonTraining:hover {\n background: #90d665;\n }\n\n .button {\n padding: 8px 16px 8px 16px;\n border-radius: 4px;\n gap: 10px;\n }\n\n .cancel {\n background: #F3F5F9;\n color: #5A5D68;\n }\n\n .send {\n background: #102693;\n color: white;\n }\n\n .delete {\n background: #871821;\n color: white;\n }\n\n .presset {\n padding-top: 10px;\n display: flex;\n flex-direction: column;\n\n p {\n font-size: 14px;\n font-weight: 600;\n padding: 4px 0;\n }\n }\n\n #warning {\n padding: 10px;\n background: #FAE0D2;\n color: #871821;\n }\n\n #info {\n padding: 10px;\n background: #c7f9ed;\n color: #00344e;\n }\n\n`;\n\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n\n #button-upload {\n margin-right: 10px;\n }\n\n .infos {\n display: flex;\n flex-direction: column;\n padding: 14px 0;\n\n h2 {\n font-size: 20px\n }\n\n p {\n font-size: 14px\n }\n }\n\n .actions {\n display: flex;\n justify-content: space-between;\n padding-bottom: 14px;\n\n button {\n background: #102693;\n padding: 10px 20px;\n color: white;\n border-radius: 4px;\n }\n }\n\n`\n","import styled from 'styled-components';\n\nexport const TableWrapper = styled.div`\n width: 100%;\n height: max-content;\n min-height: 50px;\n position: relative;\n`;\n\nexport const Table = styled.table`\n font-size: 14px;\n line-height: 143%;\n color: black;\n width: 100%;\n border-collapse: collapse;\n border-radius: 4px;\n\n th {\n font-weight: 600;\n font-size: 14px;\n line-height: 143%;\n letter-spacing: 0.018em;\n color: #5A5D68;\n text-align: left;\n padding: 8px;\n border-radius: 4px;\n }\n\n thead tr {\n background: #dadce3;\n }\n\n tbody tr {\n border: 1px solid #dadce3;\n }\n\n &.small td {\n padding: 4px;\n }\n\n &.medium td {\n padding: 8px;\n }\n\n &.large td {\n padding: 16px;\n }\n`;\n\nexport const TableLoadingWrapper = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: #f3f5f961;\n`;\n","import styled from 'styled-components';\n\nexport const SpinnerWrapper = styled.span`\n display: inline-block;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n\n &.spinner--sm {\n width: 24px;\n height: 24px;\n }\n\n &.spinner--md {\n width: 32px;\n height: 32px;\n }\n\n &.spinner--lg {\n width: 60px;\n height: 60px;\n }\n\n span {\n box-sizing: border-box;\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n margin: 8px;\n border: 4px solid #fff;\n border-radius: 50%;\n animation: rotateSpinner 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;\n border-color: ${(props) => `var(--${props.color})`} transparent transparent\n transparent;\n }\n\n & span:nth-child(1) {\n animation-delay: -0.45s;\n }\n\n & span:nth-child(2) {\n animation-delay: -0.3s;\n }\n\n & span:nth-child(3) {\n animation-delay: -0.15s;\n }\n\n @keyframes rotateSpinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n`;\n","import React from 'react';\nimport cc from 'classcat';\n\nimport * as S from './styles';\n\nimport { SpinnerProps } from '../../../../interface/Table'\n\nconst Spinner: React.FC<SpinnerProps> = ({ color = 'neutral-3', size = 'md', className }) => {\n return (\n <S.SpinnerWrapper\n color={color}\n className={cc([`spinner--${size}`, className])}\n >\n <span />\n <span />\n <span />\n <span />\n </S.SpinnerWrapper>\n );\n};\n\nexport default Spinner;\n","import React, { forwardRef, Ref } from 'react';\nimport PropTypes from 'prop-types';\nimport cc from 'classcat';\n\nimport * as S from './styles';\nimport Spinner from '../Spinner';\n\nimport { TableProps } from '../../../../interface/Table'\n\nconst Table = forwardRef(\n ({ size = 'medium', children, isloading = false, className = '', ...props }: TableProps, ref: Ref<HTMLTableElement>) => {\n return (\n <S.TableWrapper className={className}>\n {isloading ? (\n <S.TableLoadingWrapper>\n <Spinner />\n </S.TableLoadingWrapper>\n ) : null}\n <S.Table className={cc([size])} ref={ref} {...props}>\n {children}\n </S.Table>\n </S.TableWrapper>\n );\n }\n);\n\nTable.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n isloading: PropTypes.bool,\n};\n\nexport default Table;\n","import styled from 'styled-components';\n\nexport const InputContainer = styled.div`\n position: relative;\n width: 300px;\n`;\n\nexport const Input = styled.input`\n padding-left: 40px;\n border-radius: 5px;\n border: 1px solid #ccc;\n height: 45px;\n width: 100%;\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 3px #6690ff;\n }\n`;\n\nexport const IconContainer = styled.div`\n position: absolute;\n top: 14px;\n left: 10px;\n pointer-events: none;\n`;\n","import React from 'react';\nimport unorm from 'unorm';\nimport { FaSearch } from 'react-icons/fa';\nimport { InputContainer, Input, IconContainer } from './styles';\nimport type { FileData } from '../../../../interface/FileData';\n\ninterface SearchInputProps {\n placeholder: string;\n initialFiles: FileData[];\n setFiles: React.Dispatch<React.SetStateAction<FileData[]>>;\n}\n\nconst SearchInput: React.FC<SearchInputProps> = ({\n placeholder,\n setFiles,\n initialFiles,\n}) => {\n const searchName = (e: React.ChangeEvent<HTMLInputElement>) => {\n const searchTerm = e.target.value.trim();\n const normalizedSearchTerm = unorm.nfkd(searchTerm).toLowerCase();\n\n const newFiles = initialFiles.filter((file) => {\n const normalizedFileName = unorm.nfkd(file.name).toLowerCase();\n return normalizedFileName.includes(normalizedSearchTerm);\n });\n\n setFiles(searchTerm !== '' ? newFiles : initialFiles);\n };\n\n return (\n <InputContainer>\n <Input\n type=\"text\"\n onChange={(e: any) => searchName(e)}\n placeholder={placeholder}\n />\n <IconContainer>\n <FaSearch />\n </IconContainer>\n </InputContainer>\n );\n};\n\nexport default SearchInput;\n","import styled from 'styled-components';\n\ninterface FullScreenProps {\n isopen: number;\n isfixed: number;\n zindex: number;\n}\n\nexport const FullScreen = styled.div<FullScreenProps>`\n display: ${({ isopen }) => (isopen === 1 ? 'flex' : 'none')};\n cursor: ${({ isfixed }) => (isfixed === 0 ? 'pointer' : 'default')};\n\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n justify-content: center;\n align-items: center;\n z-index: ${({ zindex }) => zindex};\n animation: fadeIn 380ms ease-in-out 1;\n background-color: #2f3845b8;\n backdrop-filter: blur(2px);\n\n @keyframes fadeIn {\n from {\n background-color: #2f384521;\n }\n to {\n background-color: #2f3845b8;\n }\n }\n`;\n\ninterface ModalProps {\n maxwidth?: string;\n maxheight?: string;\n}\n\nexport const Modal = styled.div<ModalProps>`\n background-color: #fff;\n border-radius: 3px;\n position: relative;\n cursor: default;\n width: 100%;\n max-width: ${({ maxwidth }) => maxwidth};\n animation: slideIn 350ms cubic-bezier(0.42, 0, 0.21, 1) 1;\n\n @keyframes slideIn {\n from {\n transform: translateY(-120px);\n opacity: 0;\n }\n\n 20% {\n opacity: 0;\n }\n\n to {\n transform: translateY(0);\n opacity: 1;\n }\n }\n`;\n\ninterface ModalContainerProps {\n maxheight?: string;\n}\n\nexport const ModalContainer = styled.div<ModalContainerProps>`\n width: 100%;\n overflow-y: auto;\n max-height: ${({ maxheight }) => maxheight};\n`;\n\nexport const ModalHeader = styled.header`\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid #dadce3;\n padding: var(--spacement-medium);\n`;\n\nexport const ModalTitle = styled.div`\n font-style: normal;\n font-weight: normal;\n font-size: 20px;\n line-height: 150%;\n letter-spacing: 0.0075em;\n color: var(--neutral-4);\n`;\n\nexport const ModalButtonClose = styled.button`\n outline: none;\n cursor: pointer;\n\n :hover {\n opacity: 0.7;\n }\n`;\n\ninterface ModalContentWrapperProps {\n overflowy?: string;\n maxheight?: string;\n}\n\nexport const ModalContentWrapper = styled.div<ModalContentWrapperProps>`\n width: 100%;\n overflow-y: ${({ overflowy }) => overflowy};\n max-height: ${({ maxheight }) => maxheight};\n padding: var(--spacement-medium);\n`;\n\nexport const ModalFooterWrapper = styled.div`\n padding: var(--spacement-medium);\n background: var(--neutral-0);\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--spacement-medium);\n`;\n","import React, { ReactNode } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ModalFooterWrapper } from './styles';\n\ninterface ModalFooterProps {\n children: ReactNode;\n}\n\nconst ModalFooter: React.FC<ModalFooterProps> = ({ children, ...rest }) => {\n return <ModalFooterWrapper {...rest}>{children}</ModalFooterWrapper>;\n};\n\nModalFooter.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default ModalFooter;\n","import React, { ReactNode } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ModalContentWrapper } from './styles';\n\ninterface ModalContentProps {\n children: ReactNode;\n maxheight?: string;\n overflowy?: string;\n}\n\nconst ModalContent: React.FC<ModalContentProps> = ({ children, maxheight = 'max-content', overflowy = 'initial', ...rest }) => {\n return (\n <ModalContentWrapper maxheight={maxheight} overflowy={overflowy} {...rest}>\n {children}\n </ModalContentWrapper>\n );\n};\n\nModalContent.propTypes = {\n children: PropTypes.node.isRequired,\n maxheight: PropTypes.string,\n overflowy: PropTypes.string,\n};\n\nexport default ModalContent;\n","import React, { useEffect, useCallback, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { MdClose } from 'react-icons/md';\n\nimport * as S from './styles';\nimport ModalFooter from './ModalFooter';\nimport ModalContent from './ModalContent';\nimport ModalHeader from './ModalHeader';\nimport ModalTitle from './ModalTitle';\nimport ModalButtonClose from './ModalButtonClose';\n\ninterface ModalProps {\n isopen: boolean;\n style?: React.CSSProperties;\n maxwidth?: string;\n maxheight?: string;\n className?: string;\n title?: string | React.ReactElement | React.ComponentType;\n children: React.ReactNode;\n onClose?: () => void;\n contentStyle?: React.CSSProperties;\n isfixed?: boolean;\n zindex?: number;\n}\n\nconst Modal: React.FC<ModalProps> = ({\n isopen,\n style,\n maxwidth,\n maxheight,\n className,\n title,\n children,\n onClose,\n contentStyle,\n isfixed,\n zindex,\n}) => {\n const modalRef = useRef<HTMLDivElement>(null);\n\n const handleKeyUp = useCallback(\n (e: KeyboardEvent) => {\n const keys: { [key: number]: () => void } = {\n // ESC Key\n 27: () => {\n e.preventDefault();\n if (!isfixed && onClose) {\n onClose();\n }\n window.removeEventListener('keyup', handleKeyUp, false);\n },\n };\n\n if (keys[e.keyCode] && isopen) {\n keys[e.keyCode]();\n }\n },\n [onClose, isopen, isfixed]\n );\n\n const handleOutsideClick = useCallback(\n (e: MouseEvent) => {\n if (modalRef.current && modalRef.current.parentNode === e.target) {\n if (!isfixed && onClose) {\n onClose();\n }\n document.removeEventListener('click', handleOutsideClick, false);\n }\n },\n [onClose, isfixed]\n );\n\n useEffect(() => {\n window.addEventListener('keyup', handleKeyUp, false);\n document.addEventListener('click', handleOutsideClick, false);\n\n return () => {\n window.removeEventListener('keyup', handleKeyUp, false);\n document.removeEventListener('click', handleOutsideClick, false);\n };\n }, [handleKeyUp, handleOutsideClick]);\n\n return (\n <S.FullScreen isfixed={isfixed ? 1 : 0} isopen={isopen ? 1 : 0} zindex={zindex ?? 0}>\n <S.Modal ref={modalRef} style={style} maxwidth={maxwidth} className={className}>\n <S.ModalContainer className=\"styleOverlay\" maxheight={maxheight} style={contentStyle}>\n <S.ModalHeader>\n <S.ModalTitle>{String(title)}</S.ModalTitle>\n <S.ModalButtonClose type=\"button\" onClick={onClose}>\n <MdClose color=\"#5A5D68\" size={16} />\n </S.ModalButtonClose>\n </S.ModalHeader>\n {children}\n </S.ModalContainer>\n </S.Modal>\n </S.FullScreen>\n );\n};\n\nModal.propTypes = {\n isopen: PropTypes.bool.isRequired,\n title: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.string,\n PropTypes.func,\n ]),\n children: PropTypes.node.isRequired,\n onClose: PropTypes.func,\n style: PropTypes.objectOf(PropTypes.any),\n contentStyle: PropTypes.objectOf(PropTypes.any),\n className: PropTypes.string,\n maxwidth: PropTypes.string,\n maxheight: PropTypes.string,\n isfixed: PropTypes.bool,\n zindex: PropTypes.number,\n};\n\nModal.defaultProps = {\n title: '',\n style: {},\n contentStyle: {},\n className: '',\n maxwidth: '360px',\n maxheight: 'max-content',\n isfixed: false,\n onClose: () => {},\n zindex: 9999,\n};\n\nexport { ModalHeader, ModalTitle, ModalButtonClose, ModalContent, ModalFooter };\nexport default Modal;\n","import styled from 'styled-components';\n\ninterface ContainerProps {\n hasborder?: boolean;\n backgroundcolor?: string;\n backgroundicon?: string;\n}\n\nexport const Container = styled.div<ContainerProps>`\n width: 100%;\n display: flex;\n justify-content: center;\n padding: 24px 0;\n height: 193px;\n \n p {\n margin: 10px 0;\n }\n\n background: ${({ hasborder }) =>\n hasborder &&\n `linear-gradient(\n to right,\n #dadce3 50%,\n rgba(255, 255, 255, 0) 0%\n ),\n linear-gradient(#dadce3 50%, rgba(255, 255, 255, 0) 0%),\n linear-gradient(to right, #dadce3 50%, rgba(255, 255, 255, 0) 0%),\n linear-gradient(#dadce3 50%, rgba(255, 255, 255, 0) 0%)`};\n background-position: top, right, bottom, left;\n background-repeat: repeat-x, repeat-y;\n background-size: 40px 1px, 1px 40px;\n background-color: ${({ backgroundcolor }) => backgroundcolor};\n\n button {\n background: #102693;\n color: white;\n width: fit-content;\n padding: 10px 20px;\n border-radius: 4px;\n }\n\n & .content {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n & > .icon {\n background-color: ${({ backgroundicon }) => backgroundicon};\n border-radius: 16px;\n width: 145px;\n height: 145px;\n\n display: flex;\n justify-content: center;\n\n & svg {\n width: 100%;\n height: 70%;\n margin: 20px;\n }\n }\n\n & .description {\n max-width: 600px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n padding: 8px 0 8px 24px;\n\n .button-add {\n cursor: pointer;\n }\n\n .start-icon {\n display: flex;\n align-items: center;\n }\n }\n }\n`;\n","import React, { FC, ReactElement } from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\n\ninterface EmptyStateProps {\n icon?: string | ReactElement;\n title?: string;\n description?: string;\n activeButton?: boolean;\n iconButton?: ReactElement;\n descriptionButton?: string;\n widthButton?: string;\n button?: ReactElement;\n backgroundIcon?: string;\n backgroundColor?: string;\n hasborder?: boolean;\n}\n\nconst EmptyState: FC<EmptyStateProps> = ({\n icon,\n title,\n description,\n activeButton,\n iconButton,\n descriptionButton,\n widthButton,\n button,\n backgroundIcon,\n backgroundColor,\n hasborder,\n ...rest\n}) => {\n return (\n <S.Container\n backgroundicon={backgroundIcon}\n backgroundcolor={backgroundColor}\n hasborder={hasborder}\n {...rest}\n >\n <div className=\"content\">\n <div className=\"icon\">\n {icon}\n </div>\n <div className=\"description\">\n <h5> {title}</h5>\n\n <p>{description}</p>\n\n {activeButton ? (\n <button>\n {iconButton} {descriptionButton}\n </button>\n ) : null}\n\n {button}\n </div>\n </div>\n </S.Container>\n );\n};\n\nEmptyState.propTypes = {\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n title: PropTypes.string,\n description: PropTypes.string,\n activeButton: PropTypes.bool,\n iconButton: PropTypes.element,\n descriptionButton: PropTypes.string,\n widthButton: PropTypes.string,\n button: PropTypes.element,\n backgroundIcon: PropTypes.string,\n backgroundColor: PropTypes.string,\n hasborder: PropTypes.bool,\n};\n\nEmptyState.defaultProps = {\n icon: '',\n title: '',\n description: '',\n activeButton: false,\n descriptionButton: '',\n widthButton: '140px',\n backgroundIcon: 'var(--neutral-0)',\n backgroundColor: 'var(--absolute-white)',\n hasborder: true,\n};\n\nexport default EmptyState;\n","import styled from 'styled-components';\n\nexport const MultiSelectWrapper = styled.div`\n width: 100%;\n height: 45px;\n`;\n\nexport const SelectBox = styled.div`\n position: relative;\n\n select {\n width: 100%;\n font-weight: bold;\n height: 45px;\n border-radius: 4px;\n }\n`;\n\nexport const OverSelect = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n display: flex;\n\n input {\n height: 43px;\n width: calc(100% - 30px);\n border: none;\n margin: 1px;\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 3px #6690ff;\n }\n }\n`;\n\nexport const Checkboxes = styled.div`\n display: none;\n background: white;\n position: absolute;\n width: 95%;\n z-index: 10;\n\n label {\n padding: 10px 5px;\n }\n`;\n\nexport const CheckboxLabel = styled.label`\n display: block;\n\n &:hover {\n background-color: #6690ff;\n }\n`;\n\nexport const SelectedValues = styled.div`\n position: absolute;\n top: 9px;\n display: flex;\n flex-wrap: wrap;\n margin-left: 5px;\n right: 30px;\n`;\n\nexport const SelectedValue = styled.div`\n background-color: #254EDB;\n color: white;\n border-radius: 15px;\n padding: 5px 10px;\n margin-right: 5px;\n margin-bottom: 5px;\n white-space: nowrap;\n`;","import React, { useEffect, useState } from 'react';\nimport * as S from './styles';\nimport { getLanguage } from '../../utils/getLanguage'\nimport { Language } from '../../interface/Language';\n\ninterface Option {\n label: string;\n value: string;\n}\n\ninterface MultiSelectProps {\n options: Option[];\n presset: string[];\n setPresset: React.Dispatch<React.SetStateAction<string[]>>;\n setOptions: React.Dispatch<React.SetStateAction<Option[]>>;\n modal: boolean;\n hasAddNewOptions: boolean;\n language: keyof Record<'en' | 'pt-br' | 'es', Language>;\n}\n\nconst MultiSelect: React.FC<MultiSelectProps> = ({ options, presset, setPresset, setOptions, modal, language, hasAddNewOptions }) => {\n const [expanded, setExpanded] = useState(false);\n const [newOption, setNewOption] = useState('');\n const t = getLanguage(language)\n\n useEffect(() => {\n setExpanded(false)\n }, [modal])\n\n const handleCheckboxChange = (value: string) => {\n setPresset(prevPresset => {\n if (prevPresset.includes(value)) {\n return prevPresset.filter(val => val !== value);\n } else {\n return [...prevPresset, value];\n }\n });\n }\n\n const showCheckboxes = () => {\n setExpanded(!expanded);\n }\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setNewOption(event.target.value);\n }\n\n const handleInputKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter' && hasAddNewOptions) {\n event.preventDefault();\n const trimmedOption = newOption.trim();\n if (trimmedOption !== '' && !options.some(option => option.value === trimmedOption)) {\n setOptions(prevOptions => [...prevOptions, { label: trimmedOption, value: trimmedOption }]);\n setPresset(prevPresset => [...prevPresset, trimmedOption]);\n }\n setNewOption('');\n }\n }\n\n return (\n <form>\n <S.MultiSelectWrapper>\n <S.SelectBox onClick={showCheckboxes}>\n <select>\n {options.map((option, index) => (\n <option key={index} value={option.value}>{option.label}</option>\n ))}\n </select>\n <S.OverSelect>\n <S.SelectedValues>\n {presset.map((value, index) => (\n <S.SelectedValue key={index}>{value}</S.SelectedValue>\n ))}\n </S.SelectedValues>\n <input\n type=\"text\"\n placeholder={hasAddNewOptions ? t.buttons.addNewPresset : t.buttons.addPresset}\n value={newOption}\n onChange={handleInputChange}\n onKeyPress={handleInputKeyPress}\n />\n </S.OverSelect>\n </S.SelectBox>\n <S.Checkboxes style={{ display: expanded ? 'block' : 'none' }}>\n {options.map((option, index) => (\n <S.CheckboxLabel key={index} htmlFor={option.value}>\n <input\n type=\"checkbox\"\n id={option.value}\n checked={presset.includes(option.value)}\n onChange={() => handleCheckboxChange(option.value)}\n />\n {option.label}\n </S.CheckboxLabel>\n ))}\n </S.Checkboxes>\n </S.MultiSelectWrapper>\n </form>\n );\n}\n\nexport default MultiSelect;\n","import styled from 'styled-components';\n\ninterface ContainerProps {\n isDragAccept?: boolean;\n isDragReject?: boolean;\n isDragActive?: boolean;\n}\n\nconst getColor = (props: ContainerProps) => {\n if (props.isDragAccept) {\n return '#6690ff';\n }\n if (props.isDragReject) {\n return '#e18976';\n }\n if (props.isDragActive) {\n return '#6690ff';\n }\n return '#979aa5';\n};\n\nexport const Container = styled.div<ContainerProps>`\n background-color: #f3f5f9;\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n padding: 20px;\n border-width: 2px;\n border-radius: 4px;\n border-color: var(${(props) => getColor(props)});\n border-style: dashed;\n color: #5a5d68;\n outline: none;\n transition: border 0.24s ease-in-out;\n\n & > span {\n margin: 8px 10px 0 0;\n display: flex;\n }\n\n button {\n padding: 8px 16px 8px 16px;\n border-radius: 4px;\n border: 2px #102693 solid;\n margin-top: 10px;\n }\n`;\n\nexport const ListFiles = styled.div`\n &.horizontal-itens {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n & button {\n margin: 4px;\n white-space: nowrap;\n }\n\n .tag-file {\n display: flex;\n gap: 8px;\n padding: 10px 24px !important;\n color: #102693 !important;\n font-size: 14px;\n letter-spacing: 0px;\n }\n\n .tag-icon {\n cursor: pointer;\n }\n }\n`;\n","import React, { useCallback, useEffect, useState } from 'react';\nimport { getLanguage } from '../../../../utils/getLanguage'\nimport { useDropzone, FileRejection } from 'react-dropzone';\nimport PropTypes from 'prop-types';\n\nimport { Container} from './styles';\n\ninterface FileProperties {\n id: number;\n lastModified: number;\n lastModifiedDate: Date;\n name: string;\n size: number;\n type: string;\n}\n\ninterface AreaUploadProps {\n formatFile?: string;\n multipleFile?: boolean;\n initialFiles?: File[];\n removeItem?: (file: FileProperties) => void;\n setFile?: (file: { content: ArrayBuffer | string; properties: File }) => void;\n file: string | undefined;\n onChange?: (files: File[]) => void;\n hasListFiles?: boolean;\n}\n\nconst AreaUpload: React.FC<AreaUploadProps> = ({\n formatFile = 'application/pdf',\n multipleFile = false,\n initialFiles = [],\n setFile = () => {},\n file = '',\n onChange = () => {},\n}) => {\n const [myFiles, setMyFiles] = useState<File[]>([]);\n const t = getLanguage('pt-br')\n\n useEffect(() => {\n setMyFiles([...initialFiles, ...myFiles]);\n }, []);\n\n const onDrop = useCallback(\n (acceptedFiles: File[], fileRejections: FileRejection[]) => {\n if (fileRejections && fileRejections.length > 0) {\n console.error('Arquivos rejeitados:', fileRejections);\n }\n\n onChange(acceptedFiles);\n\n const files = [...myFiles, ...acceptedFiles];\n const filesWithId = files.map((item, index) => ({\n id: index + 1,\n lastModified: item.lastModified,\n name: item.name,\n size: item.size,\n type: item.type,\n }));\n setMyFiles(filesWithId as unknown as File[]);\n\n acceptedFiles.forEach((file) => {\n const reader = new FileReader();\n\n reader.onload = () => {\n const binaryStr = reader.result;\n setFile({ content: binaryStr as ArrayBuffer, properties: file });\n };\n reader.readAsArrayBuffer(file);\n });\n },\n [myFiles]\n );\n\n const {\n getRootProps,\n getInputProps,\n open,\n isDragActive,\n isDragAccept,\n isDragReject,\n } = useDropzone({\n accept: formatFile as any,\n noClick: true,\n noKeyboard: true,\n multiple: multipleFile,\n onDrop,\n });\n\n return (\n <>\n {(multipleFile || myFiles?.length === 0) || !file ? (\n <Container\n {...getRootProps({ isDragActive, isDragAccept, isDragReject })}\n >\n <input {...getInputProps()} />\n\n <span>\n <p>\n {t.fileArea.modal.descriptionUpload}\n </p>\n </span>\n <button type=\"button\" onClick={open}>\n {t.fileArea.modal.chooseFile}\n </button>\n </Container>\n ) : (\n <Container\n {...getRootProps({ isDragActive, isDragAccept, isDragReject })}\n >\n <p>{file}</p>\n </Container>\n )}\n </>\n );\n};\n\nAreaUpload.propTypes = {\n formatFile: PropTypes.string,\n multipleFile: PropTypes.bool,\n initialFiles: PropTypes.arrayOf(PropTypes.object as any),\n removeItem: PropTypes.func,\n setFile: PropTypes.func,\n onChange: PropTypes.func,\n hasListFiles: PropTypes.bool,\n};\n\nAreaUpload.defaultProps = {\n formatFile: 'application/json',\n multipleFile: false,\n initialFiles: [],\n removeItem: () => {},\n setFile: () => {},\n onChange: () => {},\n hasListFiles: true,\n};\n\nexport default AreaUpload;\n","import axios from 'axios';\n\nexport const API_TOKEN = 'API_TOKEN';\n\nconst url = 'https://api.leia.digitalcontact.cloud';\n\naxios.defaults.baseURL = `${url}`;\n\nexport default axios.create();","import React, { createContext, useContext, useEffect, useState } from 'react';\nimport api from '../service/Api';\n\ninterface Props {\n id: string;\n language: \"en\" | \"pt-br\" | \"es\";\n propTags: { tags: [] }\n personas: [{ name: string, description: string }];\n token: string;\n children?: React.ReactNode;\n}\n\ninterface SharedPropsContextType {\n props: Props;\n}\n\nconst SharedPropsContext = createContext<SharedPropsContextType | undefined>(undefined);\n\nexport const useSharedProps = () => {\n const context = useContext(SharedPropsContext);\n if (!context) {\n throw new Error('useSharedProps deve ser usado dentro de um SharedPropsProvider');\n }\n return context.props;\n};\n\nexport const SharedPropsProvider: React.FC<Props> = ({ children, ...props }) => {\n const { id, language } = props;\n const [tags, setTags] = useState<any>(null);\n const [personas, setPersonas] = useState<any>(null);\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n const { data } = await api.get(`/tags/${id}`);\n\n if (data) {\n setTags(data);\n } else {\n console.error('Erro ao fazer a solicitação');\n }\n } catch (error) {\n console.error('Erro ao fazer a solicitação:', error);\n }\n };\n\n const personas = async () => {\n try {\n const { data } = await api.get(`/personas?language=${language}`);\n\n if (data) {\n setPersonas(data);\n } else {\n console.error('Erro ao fazer a solicitação');\n }\n } catch (error) {\n console.error('Erro ao fazer a solicitação:', error);\n }\n };\n\n fetchData();\n personas();\n }, [id]);\n\n const sharedProps = {\n ...props,\n propTags: tags,\n personas,\n };\n\n return (\n <SharedPropsContext.Provider value={{ props: sharedProps }}>\n {children}\n </SharedPropsContext.Provider>\n );\n};\n","const Types = {\n GET_FILES_REQUEST: 'GET_FILES_REQUEST',\n GET_FILES_SUCCESS: 'GET_FILES_SUCCESS',\n DELETE_FILES_REQUEST: 'DELETE_FILES_REQUEST',\n DELETE_FILES_SUCCESS: 'DELETE_FILES_SUCCESS',\n UPLOAD_FILES_REQUEST: 'UPLOAD_FILES_REQUEST',\n UPLOAD_FILES_SUCCESS: 'UPLOAD_FILES_SUCCESS',\n TRAINING_REQUEST: 'TRAINING_REQUEST',\n TEST_REQUEST: 'TEST_REQUEST',\n TEST_SUCCESS: 'TEST_SUCCESS',\n LOADING_START: 'LOADING_START',\n LOADING_FINISH: 'LOADING_FINISH',\n CHANGING_START: 'CHANGING_START',\n CHANGING_FINISH: 'CHANGING_FINISH',\n NETWORK_ONLINE: 'NETWORK_ONLINE',\n NETWORK_OFFLINE: 'NETWORK_OFFLINE',\n};\n\nexport default Types;\n","import types from './types'\n\nexport const getFilesAction = (id: string, token: string) => {\n return {\n type: types.GET_FILES_REQUEST,\n payload: { id, token }\n }\n}\n\nexport const getFilesActionSuccess = ({ files }: any) => {\n return {\n type: types.GET_FILES_SUCCESS,\n payload: { files }\n }\n}\n\nexport const deleteFilesAction = (name: string, id: string, language: string, token: string) => {\n return {\n type: types.DELETE_FILES_REQUEST,\n payload: { name, id, language, token }\n }\n}\n\nexport const deleteFilesActionSuccess = ({ files }: any) => {\n return {\n type: types.DELETE_FILES_SUCCESS,\n payload: { files }\n }\n}\n\nexport const uploadFilesAction = (file: any, id: string, pressets: string[], language: string, token: string) => {\n return {\n type: types.UPLOAD_FILES_REQUEST,\n payload: { file, id, pressets, language, token }\n }\n}\n\nexport const uploadFilesActionSuccess = ({ files }: any) => {\n return {\n type: types.UPLOAD_FILES_SUCCESS,\n payload: { files }\n }\n}\n\nexport const trainingAction = (id: string, pressets: string[], language: string, token: string) => {\n return {\n type: types.TRAINING_REQUEST,\n payload: { id, pressets, language, token }\n }\n}\n\nexport const testAction = (question: string, profile: string, presset: string, files_directory: string, token: string) => {\n return {\n type: types.TEST_REQUEST,\n payload: { question, profile, presset, files_directory, token }\n }\n}\n\nexport const testActionSuccess = ({ message }: any) => {\n return {\n type: types.TEST_SUCCESS,\n payload: { message }\n }\n}\n\nexport const commonLoadingStart = () => ({\n type: types.LOADING_START,\n });\n \n export const commonLoadingFinish = () => ({\n type: types.LOADING_FINISH,\n });\n \n export const commonChangingStart = () => ({\n type: types.CHANGING_START,\n });\n \n export const commonChangingFinish = () => ({\n type: types.CHANGING_FINISH,\n });\n \n export const commonNetworkOnline = () => ({\n type: types.NETWORK_ONLINE,\n });\n \n export const commonNetworkOffline = () => ({\n type: types.NETWORK_OFFLINE,\n });","import React, { useEffect, useState} from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { renderToString } from 'react-dom/server';\n\nimport { FaUpload, FaList, FaCheck, FaFile } from 'react-icons/fa';\nimport { GiWeightLiftingUp } from \"react-icons/gi\";\nimport { TiDelete } from \"react-icons/ti\";\n\nimport type { FileData, tag } from '../../interface/FileData'\n\nimport { getLanguage } from '../../utils/getLanguage'\n\nimport * as S from './styles';\nimport Table from './components/Table';\nimport Search from './components/Search';\nimport Modal from './components/Modal'\nimport ModalFooter from './components/Modal/ModalFooter'\nimport ModalContent from './components/Modal/ModalContent'\nimport EmptyState from '../EmptyState';\nimport MultiSelect from '../MultiSelect';\nimport AreaUpload from './components/AreaUpload';\nimport { SharedPropsProvider, useSharedProps } from '../../contexts/SharedPropsProvider';\nimport { deleteFilesAction, getFilesAction, uploadFilesAction, trainingAction } from '../../store/modules/actions';\n\nexport const FileArea = () => {\n const { id, language, propTags, token } = useSharedProps();\n const [files, setFiles] = useState<FileData[]>([]);\n const [initialFiles, setInitialFiles] = useState<FileData[]>([]);\n const [uploadFile, setUploadFile] = useState<{ content: ArrayBuffer | string; properties: File }>();\n const [modal, setModal] = useState(false)\n const [modalDelete, setModalDelete] = useState(false)\n const [modalTraining, setModalTraining] = useState(false)\n const [fileDelete, setFileDelete] = useState('')\n const [optionsPresset, setOptionsPresset] = useState<{ label: any; value: any; }[]>([])\n const [presset, setPresset] = useState<string[]>([]);\n const t = getLanguage(language)\n const dispatch = useDispatch();\n const initFiles = useSelector((state: any) => state.files);\n const isloading = useSelector((state: any) => state.isloading);\n const tags = propTags ? propTags.tags : [];\n\n useEffect(() => {\n dispatch(getFilesAction(id, token))\n }, [id])\n\n useEffect(() => {\n if(tags.length > 0){\n const options = tags.map((tag: any) => {\n return { label: tag, value: tag }\n })\n setOptionsPresset(options)\n }else if(optionsPresset.length > 0){\n setOptionsPresset([])\n }\n \n }, [tags])\n\n useEffect(() => {\n if(!modal){\n const options = tags.map((tag: any) => {\n return { label: tag, value: tag }\n })\n setOptionsPresset(options)\n }\n }, [modal])\n\n useEffect(() => {\n if(!!initFiles){\n setFiles(initFiles)\n setInitialFiles(initFiles)\n }\n }, [initFiles])\n\n const pressetTag = (tags: [tag]) => {\n let html = '';\n \n html += tags.map(tag => {\n const checkIcon = tag.trained ? '' : renderToString(<TiDelete size={14} />);\n const tagClass = tag.trained ? 'trained' : '';\n return `<p class='tag ${tagClass}'>${tag.name} ${checkIcon}</p>`;\n }).join('');\n \n return html;\n }\n\n const handleOpenModal = () => {\n if(modal){\n setUploadFile(undefined)\n setPresset([])\n }\n setModal(!modal)\n }\n\n const handleOpenModalDelete = (name: string) => {\n setFileDelete(name + '.pdf')\n setModalDelete(!modalDelete)\n }\n\n const handleOpenModalTraining = (tags?: [tag]) => {\n let pressets: string[] = [] \n tags?.map((tag) => {\n if(!tag.trained){\n pressets.push(tag.name)\n }\n })\n setPresset(pressets)\n setModalTraining(!modalTraining)\n }\n\n const deleteFile = () => {\n dispatch(deleteFilesAction(fileDelete, id, language, token))\n setModalDelete(false)\n }\n\n const handleUploadFile = () => {\n dispatch(uploadFilesAction(uploadFile, id, presset, language, token))\n setModal(false)\n setUploadFile(undefined)\n setPresset([])\n };\n\n const handleTrain = () => {\n dispatch(trainingAction(id, presset, language, token))\n setModalTraining(false)\n setPresset([])\n };\n\n const viewFile = (link: string, name: string) => {\n if(link){\n const checkIcon = renderToString(<FaFile size={14} />);\n return `<a href='${link}' target='_blank'>${checkIcon}</a> ${name}`;\n }\n return name\n };\n\n const renderFiles = () => { \n return (\n <S.Container isloading={isloading}>\n <div id='loading' />\n <S.Header>\n <div className='infos'>\n <h2>{t.files}</h2>\n <p>{t.fileArea.description}</p>\n </div>\n <div className='actions'>\n <Search placeholder={t.fileArea.search} setFiles={setFiles} initialFiles={initialFiles}></Search>\n <div> \n <button id='button-upload' onClick={handleOpenModal}><FaUpload size={14} /> {t.fileArea.fileUpload}</button>\n <button onClick={() => handleOpenModalTraining(undefined)}><GiWeightLiftingUp size={14} /> {t.fileArea.training}</button>\n </div>\n </div>\n </S.Header>\n {\n files.length === 0 ? (\n <EmptyState\n icon={<FaList></FaList>}\n title={t.fileArea.emptyState.title}\n description={t.fileArea.emptyState.description}\n iconButton={<button id='button-upload' onClick={handleOpenModal}><FaUpload size={14} /> {t.fileArea.fileUpload}</button>}\n descriptionButton={t.fileArea.fileUpload}\n widthButton=\"230px\"\n />\n ) : <Table>\n <thead>\n <tr>\n <th key=\"th_file_name\" className=\"th_file_name\">\n {t.fileArea.fileName}\n </th>\n <th key=\"th_file_name\" className=\"th_status\">\n {t.fileArea.status}\n </th>\n <th key=\"th_pressets\" className=\"th_pressets\">\n {t.fileArea.presset}\n </th>\n <th key=\"th_actions\" className=\"th_actions\">\n {t.fileArea.actions}\n </th>\n </tr>\n </thead>\n\n <tbody>\n {files.map((object) => (\n <tr>\n <td dangerouslySetInnerHTML={{ __html: viewFile(object.link, object.name) }} />\n <td>{object.trained ? <FaCheck size={14} style={{ color: 'green' }} /> : <TiDelete size={14} style={{ color: 'red' }} />}</td>\n <td className='tags' dangerouslySetInnerHTML={{ __html: pressetTag(object.tags) }} />\n <td>\n <div className='divDelete'>\n <button className='buttonTraining' onClick={() => handleOpenModalTraining(object.tags)}>{t.buttons.training}</button>\n <button className='buttonDelete' onClick={() => handleOpenModalDelete(object.name)}>{t.buttons.delete}</button>\n </div>\n </td>\n </tr>\n ))}\n </tbody>\n </Table>\n }\n <Modal\n isopen={modal}\n maxwidth=\"600px\"\n maxheight=\"max-content\"\n onClose={handleOpenModal}\n title={t.fileArea.modal.uploadFile}\n >\n <ModalContent>\n <div className='choose-file'>\n <AreaUpload\n setFile={setUploadFile}\n file={uploadFile?.properties.name}\n />\n </div>\n <div className='presset'>\n <p>{t.fileArea.presset}</p>\n <MultiSelect setOptions={setOptionsPresset} options={optionsPresset} presset={presset} setPresset={setPresset} modal={modal} language={language} hasAddNewOptions={true} />\n </div> \n </ModalContent>\n <ModalFooter>\n <button className='button cancel' onClick={handleOpenModal}>\n {t.buttons.cancel}\n </button>\n <button onClick={() => handleUploadFile()} className='button send' type=\"submit\" form=\"form-tts\">\n {t.buttons.send}\n </button>\n </ModalFooter>\n \n </Modal>\n <Modal\n isopen={modalDelete}\n maxwidth=\"600px\"\n maxheight=\"max-content\"\n onClose={() => handleOpenModalDelete('')}\n title={t.fileArea.modal.deleteFileTitle}\n >\n <ModalContent>\n <p id='warning'>{t.fileArea.modal.deleteFile}</p>\n </ModalContent>\n <ModalFooter>\n <button className='button cancel' onClick={() => handleOpenModalDelete('')}>\n {t.buttons.cancel}\n </button>\n <button className='button delete' type=\"submit\" form=\"form-tts\" onClick={deleteFile}>\n {t.buttons.delete}\n </button>\n </ModalFooter>\n </Modal>\n <Modal\n isopen={modalTraining}\n maxwidth=\"600px\"\n maxheight=\"max-content\"\n onClose={() => handleOpenModalTraining(undefined)}\n title={t.fileArea.modal.trainingTitle}\n >\n <ModalContent>\n <p id='info'>{t.fileArea.modal.trainingDescription}</p>\n <div className='presset'>\n <p>{t.fileArea.presset}</p>\n <MultiSelect setOptions={setOptionsPresset} options={optionsPresset} presset={presset} setPresset={setPresset} modal={modal} language={language} hasAddNewOptions={false} />\n </div>\n </ModalContent>\n <ModalFooter>\n <button className='button cancel' onClick={() => handleOpenModalTraining(undefined)}>\n {t.buttons.cancel}\n </button>\n <button onClick={() => handleTrain()} className='button send' type=\"submit\" form=\"form-tts\">\n {t.buttons.send}\n </button>\n </ModalFooter>\n \n </Modal>\n </S.Container>\n );\n }\n\n return (\n <SharedPropsProvider id={id} language={language} token={token} propTags={{ tags: [] }} personas={[{name: '', description: ''}]}>\n <S.Container>\n {renderFiles()}\n </S.Container>\n </SharedPropsProvider>\n );\n};\n","import styled, { css } from 'styled-components';\n\ninterface ContainerProps {\n isloading?: boolean;\n}\n\n\nexport const Container = styled.div<ContainerProps>`\n ${(props) =>\n props.isloading &&\n css`\n #loading {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgb(151,154,165, 0.7);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 9999;\n }\n\n #loading::after {\n content: \"\";\n border: 4px solid #f3f3f3; /* Cor do símbolo de carregamento */\n border-top: 4px solid #5a5d68; /* Cor do símbolo de carregamento */\n border-radius: 50%;\n width: 13px;\n height: 13px;\n animation: spin 1s linear infinite;\n }\n\n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n `}\n\n`;\n\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n .infos {\n display: flex;\n flex-direction: column;\n padding: 14px 0;\n\n h2 {\n font-size: 20px\n }\n\n p {\n font-size: 14px\n }\n }\n`\n\nexport const Inputs = styled.div`\n display: flex;\n justify-content: space-between;\n margin-bottom: 10px;\n\n button {\n background: #102693;\n padding: 10px 20px;\n color: white;\n border-radius: 4px;\n width: 190px;\n height: 45px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n svg {\n width: 23px;\n height: 23px;\n }\n }\n`\n\nexport const Result = styled.div`\n display: flex;\n justify-content: left;\n background: #F3F5F9;\n padding: 15px;\n border-radius: 5px;\n margin-top: 15px;\n\n .text{\n margin-left: 5px;\n font-size: 14px;\n line-height: 1.5;\n }\n\n .icon {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: 5px;\n\n svg {\n width: 35px;\n height: 35px;\n }\n }\n\n`","import styled from 'styled-components';\n\nexport const Container = styled.div`\n position: relative;\n width: 50%;\n margin-right: 5px;\n\n .custom-select {\n position: relative;\n width: 100%;\n cursor: pointer;\n\n .selected-option {\n padding: 12px;\n border-radius: 4px;\n border: 1px solid #979AA5;\n height: 45px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 14px;\n }\n\n .options {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n border: 1px solid #979AA5;\n border-top: none;\n border-radius: 0 0 4px 4px;\n background-color: #fff;\n\n .option {\n padding: 12px;\n cursor: pointer;\n transition: background-color 0.1s;\n letter-spacing: 0.5px;\n font-size: 14px;\n\n &:hover {\n background-color: #6690ff;\n color: white;\n }\n }\n }\n }\n`;\n","import React, { useState } from 'react';\nimport * as S from './styles';\n\ninterface SelectOption {\n value: string | number;\n label: string;\n}\n\ninterface SelectProps {\n options: SelectOption[];\n onSelect: (value: string) => void;\n placeholder?: string;\n}\n\nconst CustomSelect: React.FC<SelectProps> = ({ options, onSelect, placeholder }) => {\n const [isOpen, setIsOpen] = useState(false);\n const [selectedValue, setSelectedValue] = useState<string | number>('');\n\n const handleSelectOption = (value: string | number) => {\n const selected = String(value);\n setSelectedValue(selected);\n onSelect(selected);\n setIsOpen(false);\n };\n\n return (\n <S.Container>\n <div className=\"custom-select\" onClick={() => setIsOpen(!isOpen)}>\n <div className=\"selected-option\">\n {selectedValue || placeholder}\n <span className=\"arrow\">&#9660;</span>\n </div>\n {isOpen && (\n <div className=\"options\">\n {options.map(option => (\n <div\n key={option.value}\n style={{ background: option.value === selectedValue ? '#a0b7f5' : undefined,\n color: option.value === selectedValue ? 'white' : undefined }}\n className=\"option\"\n onClick={() => handleSelectOption(option.value)}\n >\n {option.label}\n </div>\n ))}\n </div>\n )}\n </div>\n </S.Container>\n );\n};\n\nexport default CustomSelect;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n position: relative;\n width: 100%;\n margin-right: 5px;\n`;\n\nexport const StyledInput = styled.input`\n padding-left: 10px;\n padding-right: 40px;\n border-radius: 5px;\n border: 1px solid #ccc;\n height: 45px;\n width: 100%;\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 3px #6690ff;\n }\n`;\n\nexport const RecordAudioButton = styled.div`\n position: absolute;\n top: 14px;\n right: 10px;\n cursor: pointer;\n`;\n","import React from 'react';\nimport * as S from './styles';\n\ninterface InputTestProps {\n placeholder: string;\n onChange: (value: string) => void;\n}\n\nconst InputTest: React.FC<InputTestProps> = ({ placeholder, onChange }) => {\n return (\n <S.Container>\n <S.StyledInput\n type=\"text\"\n onChange={(e: any) => onChange(e.target.value)}\n placeholder={placeholder}\n />\n </S.Container>\n );\n};\n\nexport default InputTest;\n","import React, { useState } from 'react';\nimport { getLanguage } from '../../utils/getLanguage'\nimport * as S from './styles';\nimport Select from '../Select'\nimport InputTest from './components/InputTest'\nimport { PiWaveformBold } from 'react-icons/pi';\nimport { FaList } from 'react-icons/fa';\nimport EmptyState from '../EmptyState';\nimport { SharedPropsProvider, useSharedProps } from '../../contexts/SharedPropsProvider';\nimport { MdPerson2 } from \"react-icons/md\";\nimport { useDispatch, useSelector } from 'react-redux';\nimport { testAction } from '../../store/modules/actions';\n\nexport const TestArea = () => {\n const { id, language, personas, propTags, token } = useSharedProps();\n const t = getLanguage(language)\n const results = useSelector((state: any) => state.message);\n const isloading = useSelector((state: any) => state.isloading);\n const [search, setSearch] = useState('');\n const [profile, setProfile] = useState('');\n const [presset, setPresset] = useState('');\n const dispatch = useDispatch();\n const tags = propTags ? propTags.tags : [];\n\n\n const optionsPersona = personas && personas.map(persona => {\n return { label: persona.name, value: persona.name }\n })\n\n const optionsPresset = tags.map(tag => {\n return { label: tag, value: tag }\n })\n\n const handleSelectPersona = (value: string) => {\n setProfile(value);\n };\n\n const handleSelectPresset = (value: string) => {\n setPresset(value);\n };\n\n const handleSearch = (value: string) => {\n setSearch(value);\n };\n\n const handleTest = () => {\n dispatch(testAction(search, profile, presset, id, token))\n };\n\n const returnTest = () => { \n return (\n <S.Container isloading={isloading}>\n <div id='loading' />\n <S.Header>\n <div className='infos'>\n <h2>{t.test}</h2>\n <p>{t.testArea.description}</p>\n </div>\n </S.Header>\n <S.Inputs>\n <InputTest placeholder={t.testArea.typeSentence} onChange={handleSearch} />\n <Select placeholder={t.testArea.selectPersona} options={optionsPersona} onSelect={handleSelectPersona} />\n <Select placeholder={t.testArea.selectPresset} options={optionsPresset} onSelect={handleSelectPresset} />\n <button onClick={handleTest}><PiWaveformBold /> {t.buttons.test}</button>\n </S.Inputs>\n {\n !results ? (\n <EmptyState\n icon={<FaList></FaList>}\n title={t.testArea.emptyState.title}\n description={t.testArea.emptyState.description}\n activeButton={false}\n />\n ) : <S.Result>\n <div className='icon'>\n <MdPerson2 />\n </div>\n <div className='text'>{results}</div>\n </S.Result>\n }\n </S.Container>\n )\n }\n\n return (\n <SharedPropsProvider id={id} token={token} language={language} propTags={{ tags: [] }} personas={[{name: '', description: ''}]}>\n <S.Container>\n {returnTest()}\n </S.Container>\n </SharedPropsProvider>\n );\n};","import React, { useMemo, Suspense } from 'react';\nimport { Route, useLocation, useRouteMatch, useHistory, Switch as SwitchRoute } from 'react-router-dom';\n\n\nimport type { Props } from './index';\nimport { Tab, Tabs } from './components/Tabs'\nimport { getLanguage } from './utils/getLanguage'\nimport { FileArea } from './components/FileArea';\nimport { TestArea } from './components/TestArea';\n\nimport { SharedPropsProvider } from './contexts/SharedPropsProvider';\n\nexport const Leia = (props: Props) => {\n const match = useRouteMatch();\n const { pathname } = useLocation();\n const history = useHistory();\n\n const t = getLanguage(props.language)\n\n const activeTab = useMemo(() => {\n return pathname.split('/')[5] || 'files';\n }, [pathname]);\n\n return (\n <SharedPropsProvider propTags={{ tags: [] }} personas={[{name: '', description: ''}]} {...props}>\n <>\n <Tabs\n value={activeTab}\n onChange={(value) => history.push(`${match.url}/${value}`)}\n >\n <Tab value=\"files\">{t.files}</Tab>\n <Tab value=\"test\">{t.test}</Tab>\n </Tabs>\n <Suspense fallback={props.loading}>\n <SwitchRoute>\n <Route path={`${match.path}`} exact component={FileArea} />\n <Route path={`${match.path}/files`} component={FileArea} />\n <Route path={`${match.path}/test`} component={TestArea} />\n </SwitchRoute>\n </Suspense>\n </>\n </SharedPropsProvider>\n );\n};\n","import { produce } from 'immer';\nimport types from './types'\n\nconst INITIAL_STATE = {\n files: [],\n message: '',\n isloading: false,\n isChanging: false,\n isOffline: true,\n}\n\nexport default function filesReducer(state = INITIAL_STATE, action: any) {\n return produce(state, (draft) => {\n switch (action.type) {\n case types.GET_FILES_SUCCESS:\n draft.files = action.payload.files;\n break;\n case types.DELETE_FILES_SUCCESS:\n draft.files = action.payload.files;\n break;\n case types.TEST_SUCCESS:\n draft.message = action.payload.message;\n break;\n case types.LOADING_START:\n draft.isloading = true;\n break;\n case types.LOADING_FINISH:\n draft.isloading = false;\n break;\n case types.CHANGING_START:\n draft.isChanging = true;\n break;\n case types.CHANGING_FINISH:\n draft.isChanging = false;\n break;\n case types.NETWORK_ONLINE:\n draft.isOffline = false;\n break;\n case types.NETWORK_OFFLINE:\n draft.isOffline = true;\n break;\n default:\n return action.payload;\n }\n });\n}\n","import React from 'react';\nimport { toast as reactToast } from 'react-toastify';\n\nimport { CustomContainerToast } from './styles';\n\ninterface CustomToastContentProps {\n title: String;\n description?: String;\n}\n\nconst CustomToastContent: React.FC<CustomToastContentProps> = ({\n title,\n description\n}) => {\n return (\n <>\n <div className=\"custom-toastify-content\">\n <strong className=\"custom-toastify-title\">{title}</strong>\n {description && (\n <p className=\"custom-toastify-description\">{description}</p>\n )}\n </div>\n </>\n );\n};\n\nconst toast = {\n default: ({ title, description }: CustomToastContentProps) =>\n reactToast(\n <CustomToastContent\n title={title}\n description={description}\n />\n ),\n success: ({ title, description }: CustomToastContentProps) =>\n reactToast.success(\n <CustomToastContent\n title={title}\n description={description}\n />\n ),\n error: ({ title, description }: CustomToastContentProps) =>\n reactToast.error(\n <CustomToastContent\n title={title}\n description={description}\n />\n ),\n warn: ({ title, description }: CustomToastContentProps) =>\n reactToast.warn(\n <CustomToastContent\n title={title}\n description={description}\n />\n ),\n};\n\nconst ContainerToast: React.FC = () => {\n return <CustomContainerToast autoClose={4000} />;\n};\n\nexport { ContainerToast, toast };\n","import { takeLatest, all, put, call } from 'redux-saga/effects';\nimport api from '../../service/Api'\nimport Types from './types'\nimport { getFilesActionSuccess, \n deleteFilesActionSuccess, \n testActionSuccess, \n uploadFilesActionSuccess, \n commonLoadingStart,\n commonLoadingFinish, } from './actions'\nimport { toast } from '../../components/CustomToast'\nimport { getLanguage } from '../../utils/getLanguage'\n\nexport function* getFilesSaga(action: any) {\n try {\n yield put(commonLoadingStart());\n const { id, token } = action.payload\n const { data } = yield call(api.get, `/training/${id}?token=${token}`);\n yield put(getFilesActionSuccess({ files: data.files}));\n } catch (error) {\n console.log('-----------getFiles.error------------------->', error);\n } finally {\n yield put(commonLoadingFinish());\n }\n}\n\nexport function* deleteFilesSaga(action: any) {\n const t = getLanguage(action.payload.language)\n try {\n yield put(commonLoadingStart());\n const { id, name, token } = action.payload\n\n yield call(api.delete, `/delete/${id}/${name}?token=${token}`);\n const { data } = yield call(api.get, `/training/${id}?token=${token}`);\n yield put(deleteFilesActionSuccess({ files: data.files, success: true }));\n } catch (error) {\n toast.error({title: t.toast.deleteFile.fail.title, description: t.toast.deleteFile.fail.description});\n console.log('-----------deleteFilesSaga.error------------------->', error);\n } finally {\n yield put(commonLoadingFinish());\n }\n}\n\nexport function* testSaga(action: any) {\n try {\n yield put(commonLoadingStart());\n const { question, profile, presset, files_directory, token } = action.payload\n const { data } = yield call(api.post, `/ask`, { question, profile, tag: presset, files_directory, token });\n yield put(testActionSuccess({ message: data.message }));\n } catch (error) {\n console.log('-----------testSaga.error------------------->', error);\n } finally {\n yield put(commonLoadingFinish());\n }\n}\n\nexport function* uploadFilesSaga(action: any) {\n const t = getLanguage(action.payload.language)\n try {\n yield put(commonLoadingStart());\n const { id, file, pressets, token } = action.payload;\n const tags = pressets.join(',');\n\n const blob = new Blob([file.content]);\n\n const formData = new FormData();\n formData.append('file', blob, file.properties.path);\n\n const queryParams = new URLSearchParams({ tags }).toString();\n\n yield call(api.post, `/upload/${id}?token=${token}&${queryParams}`, formData, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n });\n\n const { data } = yield call(api.get, `/training/${id}?token=${token}`);\n yield put(uploadFilesActionSuccess({ files: data.files }));\n } catch (error) {\n toast.error({title: t.toast.uploadFile.fail.title, description: t.toast.uploadFile.fail.description});\n console.log('-----------uploadFilesSaga.error------------------->', error);\n } finally {\n yield put(commonLoadingFinish());\n }\n}\n\nexport function* TrainingSaga(action: any) {\n const t = getLanguage(action.payload.language)\n try {\n yield put(commonLoadingStart());\n const { id, pressets, token } = action.payload;\n const tag = pressets.join(',');\n\n const queryParams = new URLSearchParams({ tag }).toString();\n\n yield call(api.post, pressets.length > 0 ? `/training?token=${token}&${queryParams}` : `/training?token=${token}`,{ files_directory: id });\n\n const { data } = yield call(api.get, `/training/${id}?token=${token}`);\n yield put(uploadFilesActionSuccess({ files: data.files }));\n toast.success({title: t.toast.Train.success.title, description: t.toast.Train.success.description});\n } catch (error) {\n toast.error({title: t.toast.Train.fail.title, description: t.toast.Train.fail.description});\n console.log('-----------TrainingSaga.error------------------->', error);\n } finally {\n yield put(commonLoadingFinish());\n }\n}\n\nexport default function* filesSagas() {\n yield all([\n takeLatest(Types.GET_FILES_REQUEST, getFilesSaga),\n takeLatest(Types.DELETE_FILES_REQUEST, deleteFilesSaga),\n takeLatest(Types.UPLOAD_FILES_REQUEST, uploadFilesSaga),\n takeLatest(Types.TEST_REQUEST, testSaga),\n takeLatest(Types.TRAINING_REQUEST, TrainingSaga)\n ]);\n}\n","import { createStore, applyMiddleware } from 'redux';\nimport createSagaMiddleware from 'redux-saga';\nimport Reducer from './modules/reducer';\nimport Sagas from './modules/sagas';\n\nconst sagaMiddleware = createSagaMiddleware();\n\nconst store = createStore(Reducer, applyMiddleware(sagaMiddleware));\n\nsagaMiddleware.run(Sagas);\n\nexport default store;\n\n","import type { PropsWithChildren, ReactElement } from 'react';\nimport { Provider } from 'react-redux';\nimport React from 'react';\nimport { Leia } from './Leia';\nimport store from './store';\n\nexport type Props = PropsWithChildren<{\n id: string;\n activeTab: string;\n language: \"en\" | \"pt-br\" | \"es\";\n loading: ReactElement\n token: string;\n}>;\n\nexport function Code7(props: Props) {\n return <Provider store={store}>\n <Leia {...props} />\n </Provider>;\n}"],"names":["TabsPane","styled","ul","_templateObject","_taggedTemplateLiteralLoose","Tab","li","_templateObject2","_ref","active","children","rest","_objectWithoutPropertiesLoose","_excluded","React","S","className","cc","propTypes","PropTypes","oneOfType","string","element","node","isRequired","onChange","func","value","bool","defaultProps","Tabs","_ref2","childrenProp","_excluded2","Children","map","child","isValidElement","Array","isArray","_child$props","props","_child$props2","cloneElement","_child$props3","onClick","_child$props4","number","enTranslation","files","test","fileArea","description","fileName","status","presset","actions","search","fileUpload","training","emptyState","title","modal","descriptionUpload","chooseFile","uploadFile","deleteFileTitle","deleteFile","trainingTitle","trainingDescription","buttons","cancel","send","addNewPresset","addPresset","testArea","typeSentence","selectPersona","selectPresset","toast","success","fail","Test","Train","ptTranslation","esTranslation","getLanguage","language","Container","div","isloading","css","Header","_templateObject3","TableWrapper","Table","table","TableLoadingWrapper","SpinnerWrapper","span","color","Spinner","_ref$color","_ref$size","size","forwardRef","ref","_ref$isloading","_ref$className","oneOf","InputContainer","Input","input","IconContainer","SearchInput","placeholder","setFiles","initialFiles","searchName","e","searchTerm","target","trim","normalizedSearchTerm","unorm","nfkd","toLowerCase","newFiles","filter","file","normalizedFileName","name","includes","type","FaSearch","FullScreen","isopen","isfixed","_ref3","zindex","Modal","_ref4","maxwidth","ModalContainer","_ref5","maxheight","ModalHeader","header","_templateObject4","ModalTitle","_templateObject5","ModalButtonClose","button","_templateObject6","ModalContentWrapper","_templateObject7","_ref6","overflowy","_ref7","ModalFooterWrapper","_templateObject8","ModalFooter","ModalContent","_ref$maxheight","_ref$overflowy","style","onClose","contentStyle","modalRef","useRef","handleKeyUp","useCallback","keys","_","preventDefault","window","removeEventListener","keyCode","handleOutsideClick","current","parentNode","document","useEffect","addEventListener","String","MdClose","objectOf","any","hasborder","backgroundcolor","backgroundicon","EmptyState","icon","activeButton","iconButton","descriptionButton","widthButton","backgroundIcon","backgroundColor","MultiSelectWrapper","SelectBox","OverSelect","Checkboxes","CheckboxLabel","label","SelectedValues","SelectedValue","MultiSelect","options","setPresset","setOptions","hasAddNewOptions","_useState","useState","expanded","setExpanded","_useState2","newOption","setNewOption","t","handleCheckboxChange","prevPresset","val","concat","showCheckboxes","handleInputChange","event","handleInputKeyPress","key","trimmedOption","some","option","prevOptions","index","onKeyPress","display","htmlFor","id","checked","getColor","isDragAccept","isDragReject","isDragActive","AreaUpload","formatFile","_ref$formatFile","_ref$multipleFile","multipleFile","_ref$initialFiles","_ref$setFile","setFile","_ref$file","_ref$onChange","myFiles","setMyFiles","onDrop","acceptedFiles","fileRejections","length","console","error","filesWithId","item","lastModified","forEach","reader","FileReader","onload","binaryStr","result","content","properties","readAsArrayBuffer","_useDropzone","useDropzone","accept","noClick","noKeyboard","multiple","getRootProps","getInputProps","open","arrayOf","object","removeItem","hasListFiles","url","axios","defaults","baseURL","create","SharedPropsContext","createContext","undefined","useSharedProps","context","useContext","Error","SharedPropsProvider","tags","setTags","personas","setPersonas","fetchData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$api$get","data","wrap","_callee$","_context","prev","next","api","get","sent","t0","stop","apply","arguments","_callee2","_yield$api$get2","_callee2$","_context2","sharedProps","_extends","propTags","Provider","Types","GET_FILES_REQUEST","GET_FILES_SUCCESS","DELETE_FILES_REQUEST","DELETE_FILES_SUCCESS","UPLOAD_FILES_REQUEST","UPLOAD_FILES_SUCCESS","TRAINING_REQUEST","TEST_REQUEST","TEST_SUCCESS","LOADING_START","LOADING_FINISH","CHANGING_START","CHANGING_FINISH","NETWORK_ONLINE","NETWORK_OFFLINE","getFilesAction","token","types","payload","getFilesActionSuccess","deleteFilesAction","deleteFilesActionSuccess","uploadFilesAction","pressets","uploadFilesActionSuccess","trainingAction","testAction","question","profile","files_directory","testActionSuccess","message","commonLoadingStart","commonLoadingFinish","FileArea","_useSharedProps","setInitialFiles","_useState3","setUploadFile","_useState4","setModal","_useState5","modalDelete","setModalDelete","_useState6","modalTraining","setModalTraining","_useState7","fileDelete","setFileDelete","_useState8","optionsPresset","setOptionsPresset","_useState9","dispatch","useDispatch","initFiles","useSelector","state","tag","pressetTag","html","checkIcon","trained","renderToString","TiDelete","tagClass","join","handleOpenModal","handleOpenModalDelete","handleOpenModalTraining","push","handleUploadFile","handleTrain","viewFile","link","FaFile","renderFiles","Search","FaUpload","GiWeightLiftingUp","FaList","dangerouslySetInnerHTML","__html","FaCheck","form","Inputs","Result","CustomSelect","onSelect","isOpen","setIsOpen","selectedValue","setSelectedValue","handleSelectOption","selected","background","StyledInput","InputTest","TestArea","results","setSearch","setProfile","optionsPersona","persona","handleSelectPersona","handleSelectPresset","handleSearch","handleTest","returnTest","Select","PiWaveformBold","MdPerson2","Leia","match","useRouteMatch","_useLocation","useLocation","pathname","history","useHistory","activeTab","useMemo","split","Suspense","fallback","loading","SwitchRoute","Route","path","exact","component","INITIAL_STATE","isChanging","isOffline","filesReducer","action","produce","draft","CustomToastContent","_default","reactToast","warn","getFilesSaga","_marked2","deleteFilesSaga","_marked3","testSaga","_marked4","uploadFilesSaga","_marked5","TrainingSaga","_marked6","filesSagas","_action$payload","_yield$call","getFilesSaga$","put","call","log","finish","_marked","_action$payload2","_yield$call2","deleteFilesSaga$","_action$payload3","_yield$call3","testSaga$","_context3","post","_action$payload4","blob","formData","queryParams","_yield$call4","uploadFilesSaga$","_context4","Blob","FormData","append","URLSearchParams","toString","headers","_action$payload5","_yield$call5","TrainingSaga$","_context5","filesSagas$","_context6","all","takeLatest","sagaMiddleware","createSagaMiddleware","store","createStore","Reducer","applyMiddleware","run","Sagas","Code7"],"mappings":"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"}
1
+ {"version":3,"file":"code7-leia.esm.js","sources":["../src/components/Tabs/styles.tsx","../src/components/Tabs/index.tsx","../src/utils/languages/en.ts","../src/utils/languages/pt-br.ts","../src/utils/languages/es.ts","../src/utils/getLanguage.tsx","../src/components/FileArea/styles.tsx","../src/components/FileArea/components/Table/styles.tsx","../src/components/FileArea/components/Spinner/styles.tsx","../src/components/FileArea/components/Spinner/index.tsx","../src/components/FileArea/components/Table/index.tsx","../src/components/FileArea/components/Search/styles.tsx","../src/components/FileArea/components/Search/index.tsx","../src/components/FileArea/components/Modal/styles.tsx","../src/components/FileArea/components/Modal/ModalFooter.tsx","../src/components/FileArea/components/Modal/ModalContent.tsx","../src/components/FileArea/components/Modal/index.tsx","../src/components/EmptyState/styles.tsx","../src/components/EmptyState/index.tsx","../src/components/MultiSelect/styles.tsx","../src/components/MultiSelect/index.tsx","../src/components/FileArea/components/AreaUpload/styles.tsx","../src/components/FileArea/components/AreaUpload/index.tsx","../src/service/Api.ts","../src/contexts/SharedPropsProvider.tsx","../src/store/modules/types.ts","../src/store/modules/actions.ts","../src/components/FileArea/index.tsx","../src/components/TestArea/styles.tsx","../src/components/Select/styles.tsx","../src/components/Select/index.tsx","../src/components/TestArea/components/InputTest/styles.tsx","../src/components/TestArea/components/InputTest/index.tsx","../src/components/TestArea/index.tsx","../src/Leia.tsx","../src/store/modules/reducer.ts","../src/components/CustomToast/index.tsx","../src/store/modules/sagas.ts","../src/store/index.ts","../src/index.tsx"],"sourcesContent":["import styled from 'styled-components';\nimport { ReactNode } from 'react';\n\ninterface TabProps {\n children: ReactNode;\n}\n\ninterface OptionProps {\n children: ReactNode;\n onClick: () => void;\n}\n\nexport const TabsPane = styled.ul`\n width: max-content;\n display: flex;\n align-items: center;\n border-bottom: 1px solid var(--neutral-1);\n`;\n\nexport const Tab = styled.li<TabProps>`\n padding: 12px;\n color: var(--neutral-3);\n font-size: 0.875rem;\n font-weight: normal;\n position: relative;\n cursor: pointer;\n\n svg {\n fill: var(--neutral-3) !important;\n margin-left: 8px;\n }\n\n &.active {\n color: var(--primary-700-light);\n\n svg {\n fill: var(--primary-700-light) !important;\n }\n\n ::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 2px;\n background-color: var(--primary-700-light);\n }\n }\n\n &:not(:last-child) {\n margin-right: 8px;\n }\n`;\n\nexport const DropdownContainer = styled.div`\n position: absolute;\n left: 0px;\n top: 40px;\n display: flex;\n flex-direction: column;\n\n background: #ffffff;\n\n border: 1px solid #979aa5;\n box-sizing: border-box;\n box-shadow: 0px 6px 12px -6px rgba(24, 39, 75, 0.12),\n 0px 8px 24px -4px rgba(24, 39, 75, 0.08);\n border-radius: 4px;\n padding: 8px;\n z-index: 2;\n`;\n\nexport const Option = styled.div<OptionProps>`\n padding: 8px;\n font-size: 14px;\n border-radius: 4px;\n cursor: pointer;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &:hover {\n background-color: var(--primary-800-light);\n color: white;\n }\n`;\n","import React, { ReactNode } from 'react';\nimport PropTypes from 'prop-types';\nimport cc from 'classcat';\n\nimport * as S from './styles';\n\ninterface TabProps {\n children: ReactNode;\n active?: boolean;\n}\n\ninterface ITabsProps {\n children: ReactNode;\n value: string | number;\n onChange: (e: any) => void;\n active?: boolean;\n}\n\nexport const Tab = ({ active, children, ...rest }: TabProps) => {\n return (\n <S.Tab className={cc({ active })} {...rest}>\n {children}\n </S.Tab>\n );\n};\n\nTab.propTypes = {\n children: PropTypes.oneOfType([\n PropTypes.string,\n PropTypes.element,\n PropTypes.node,\n ]).isRequired,\n onChange: PropTypes.func,\n value: PropTypes.string,\n active: PropTypes.bool,\n};\n\nTab.defaultProps = {\n onChange: () => {},\n value: '',\n active: false,\n};\n\nexport const Tabs = ({ children: childrenProp, value, onChange, ...rest }: ITabsProps) => {\n const children = React.Children.map(childrenProp, (child) => {\n if (!React.isValidElement(child)) {\n return null;\n }\n\n if (Array.isArray(child.props?.children)) {\n return React.cloneElement(child as React.ReactElement<any>, {\n active: child.props?.value === value,\n value,\n onChange,\n });\n }\n\n return React.cloneElement(child as React.ReactElement<any>, {\n active: child.props?.value === value,\n onClick: () => onChange(child.props?.value),\n });\n });\n\n return <S.TabsPane {...rest}>{children}</S.TabsPane>;\n};\n\nTabs.propTypes = {\n children: PropTypes.node.isRequired,\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n onChange: PropTypes.func.isRequired,\n};\n","import { Language } from \"../../interface/Language\";\n\nexport const enTranslation: Language = {\n files: 'Files',\n test: 'Test',\n fileArea: {\n description: 'Manage your files with ease! Add new ones and delete old ones as desired.',\n fileName: 'File name',\n status: 'Status',\n presset: 'Presset',\n actions: 'Actions',\n search: 'Search',\n fileUpload: 'File upload',\n training: 'Train preset',\n emptyState: {\n title: 'No data',\n description: 'No files uploaded yet. Start by adding your documents now!',\n },\n modal: {\n descriptionUpload: 'Drag and drop files here or',\n chooseFile: 'Choose a file',\n uploadFile: 'Upload a file',\n deleteFileTitle: 'Delete a file',\n deleteFile: 'Important! By deleting this file, you will lose all its information and will not be able to recover it.',\n trainingTitle: 'Presset Training',\n trainingDescription: 'Select one or more pressets to be trained. Note: If none are selected, Le-IA will train all pressets.'\n },\n },\n buttons: {\n cancel: 'Cancel',\n send: 'Send',\n delete: 'Delete',\n test: 'Test',\n addNewPresset: 'Add new presset',\n addPresset: 'Add presset',\n training: 'Training'\n },\n testArea: {\n description: 'Type a sentence to test artificial intelligence',\n typeSentence: 'Type a sentence',\n selectPersona: 'Select a Persona',\n selectPresset: 'Select a presset',\n emptyState: {\n title: 'No data for analysis',\n description: 'Do a search, click the \"Test\" button.',\n },\n },\n toast: {\n deleteFile: {\n success: {\n title: 'Success',\n description: 'File deleted successfully!'\n },\n fail: {\n title: 'Failure',\n description: 'Error deleting the file!'\n }\n },\n uploadFile: {\n success: {\n title: 'Success',\n description: 'File uploaded successfully!'\n },\n fail: {\n title: 'Failure',\n description: 'Error uploading the file!'\n }\n },\n Test: {\n fail: {\n title: 'Failure',\n description: 'Error testing Le-IA'\n }\n },\n Train: {\n fail: {\n title: 'Failure',\n description: 'Error training Le-IA'\n },\n success: {\n title: 'Success',\n description: 'Le-IA is in the training process!'\n }\n }\n }\n};","import { Language } from \"../../interface/Language\";\n\nexport const ptTranslation: Language = {\n files: 'Arquivos',\n test: 'Teste',\n fileArea: {\n description: 'Gerencie seus arquivos com facilidade! Adicione novos e exclua os antigos conforme desejar.',\n fileName: 'Nome do arquivo',\n status: 'Status',\n presset: 'Predefinição',\n actions: 'Ações',\n search: 'Pesquisar',\n fileUpload: 'Enviar arquivo',\n training: 'Treinar predefinição',\n emptyState: {\n title: 'Sem dados',\n description: 'Nenhum arquivo enviado ainda. Comece adicionando seus documentos agora!',\n },\n modal: {\n descriptionUpload: 'Arraste e solte os arquivos aqui ou',\n chooseFile: 'Escolha um arquivo',\n uploadFile: 'Enviar um arquivo',\n deleteFileTitle: 'Excluir um arquivo',\n deleteFile: 'Importante! Ao excluir este arquivo, você perderá todas as suas informações e não poderá recuperá-las.',\n trainingTitle: 'Treinamento de predefinição',\n trainingDescription: 'Selecione um ou mais predefinições para serem treinadas. Obs: Caso não selecionada nenhuma a Le-IA irá treinar todas as predefinições'\n },\n },\n buttons: {\n cancel: 'Cancelar',\n send: 'Enviar',\n delete: 'Excluir',\n test: 'Teste',\n addNewPresset: 'Adicionar nova predefinição',\n addPresset: 'Adicionar predefinição',\n training: 'Treinamento'\n },\n testArea: {\n description: 'Digite uma frase para testar a inteligência artificial.',\n typeSentence: 'Digite uma frase',\n selectPersona: 'Selecione uma Persona',\n selectPresset: 'Selecione uma predefinição',\n emptyState: {\n title: 'Sem dados para análise',\n description: 'Faça uma pesquisa, clique no botão \"Teste\".',\n },\n },\n toast: {\n deleteFile: {\n success: {\n title: 'Sucesso',\n description: 'Arquivo excluído com sucesso!'\n },\n fail: {\n title: 'Falha',\n description: 'Erro ao excluir o arquivo!'\n }\n },\n uploadFile: {\n success: {\n title: 'Sucesso',\n description: 'Arquivo enviado com sucesso!'\n },\n fail: {\n title: 'Falha',\n description: 'Erro ao enviar o arquivo!'\n }\n },\n Test: {\n fail: {\n title: 'Falha',\n description: 'Erro ao testar Le-IA'\n }\n },\n Train: {\n fail: {\n title: 'Falha',\n description: 'Erro ao treinar a Le-IA'\n },\n success: {\n title: 'Sucesso',\n description: 'A Le-IA está em processo de treinamento!'\n }\n }\n }\n};\n","import { Language } from \"../../interface/Language\";\n\nexport const esTranslation: Language = {\n files: 'Archivos',\n test: 'Prueba',\n fileArea: {\n description: '¡Administre sus archivos fácilmente! Agregue nuevos y elimine los antiguos según desee.',\n fileName: 'Nombre del archivo',\n status: 'Status',\n presset: 'Preconfiguración',\n actions: 'Acciones',\n search: 'Buscar',\n fileUpload: 'Subir archivo',\n training: 'Entrenar preconfiguración',\n emptyState: {\n title: 'Sin datos',\n description: 'Aún no se han subido archivos. ¡Comience agregando sus documentos ahora!',\n },\n modal: {\n descriptionUpload: 'Arrastre y suelte los archivos aquí o',\n chooseFile: 'Elegir un archivo',\n uploadFile: 'Subir un archivo',\n deleteFileTitle: 'Eliminar un archivo',\n deleteFile: '¡Importante! Al eliminar este archivo, perderá toda su información y no podrá recuperarla.',\n trainingTitle: 'Entrenamiento de preconfiguración',\n trainingDescription: 'Seleccione una o más preconfiguracións para ser entrenadas. Nota: Si no se selecciona ninguna, Le-IA entrenará todas las preconfiguracións.'\n },\n },\n buttons: {\n cancel: 'Cancelar',\n send: 'Enviar',\n delete: 'Eliminar',\n test: 'Prueba',\n addNewPresset: 'Agregar nueva preconfiguración',\n addPresset: 'Agregar preconfiguración',\n training: 'Capacitación'\n },\n testArea: {\n description: 'Escribe una frase para probar la inteligencia artificial.',\n typeSentence: 'Escribe una oración',\n selectPersona: 'Seleccionar una Persona',\n selectPresset: 'Seleccionar una preconfiguración',\n emptyState: {\n title: 'Sin datos para el análisis',\n description: 'Realice una búsqueda, haga clic en el botón \"Prueba\".',\n },\n },\n toast: {\n deleteFile: {\n success: {\n title: 'Éxito',\n description: '¡Archivo eliminado correctamente!'\n },\n fail: {\n title: 'Error',\n description: 'Error al eliminar el archivo!'\n }\n },\n uploadFile: {\n success: {\n title: 'Éxito',\n description: '¡Archivo subido correctamente!'\n },\n fail: {\n title: 'Error',\n description: 'Error al subir el archivo!'\n }\n },\n Test: {\n fail: {\n title: 'Error',\n description: 'Error al probar Le-IA'\n }\n },\n Train: {\n fail: {\n title: 'Error',\n description: 'Error al entrenar Le-IA'\n },\n success: {\n title: 'Éxito',\n description: '¡Le-IA está en proceso de entrenamiento!'\n }\n }\n }\n};\n","import { Language } from '../interface/Language';\nimport { enTranslation } from './languages/en';\nimport { ptTranslation } from './languages/pt-br';\nimport { esTranslation } from './languages/es';\n\nexport const getLanguage = (language: keyof Record<'en' | 'pt-br' | 'es', Language>): Language => {\n switch (language) {\n case 'en':\n return enTranslation;\n case 'pt-br':\n return ptTranslation;\n case 'es':\n return esTranslation;\n default:\n return enTranslation;\n }\n};","import styled, { css } from 'styled-components';\n\ninterface ContainerProps {\n isloading?: boolean;\n}\n\nexport const Container = styled.div<ContainerProps>`\n ${(props) =>\n props.isloading &&\n css`\n #loading {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgb(151,154,165, 0.7);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 9999;\n }\n\n #loading::after {\n content: \"\";\n border: 4px solid #f3f3f3; /* Cor do símbolo de carregamento */\n border-top: 4px solid #5a5d68; /* Cor do símbolo de carregamento */\n border-radius: 50%;\n width: 13px;\n height: 13px;\n animation: spin 1s linear infinite;\n }\n\n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n `}\n\n\n .tag {\n padding: 4px 8px 4px 8px;\n background: #C7F9ED;\n border-radius: 4px;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n .tags {\n display: flex;\n justify-content: left;\n gap: 4px;\n }\n\n .divDelete {\n display: flex;\n align-items: center;\n justify-content: flex-start;\n gap: 4px;\n }\n\n .buttonDelete {\n color: #5b0a1f;\n background: #fae0d2;\n padding: 12px 20px;\n border-radius: 4px;\n }\n\n .buttonDelete:hover {\n background: #f5bba7;\n }\n\n .buttonTraining {\n color: #023906;\n background: #e3f8cc;\n padding: 12px 20px;\n border-radius: 4px;\n margin-right: 10px;\n }\n\n .buttonTraining:hover {\n background: #90d665;\n }\n\n .button {\n padding: 8px 16px 8px 16px;\n border-radius: 4px;\n gap: 10px;\n }\n\n .cancel {\n background: #F3F5F9;\n color: #5A5D68;\n }\n\n .send {\n background: #102693;\n color: white;\n }\n\n .delete {\n background: #871821;\n color: white;\n }\n\n .presset {\n padding-top: 10px;\n display: flex;\n flex-direction: column;\n\n p {\n font-size: 14px;\n font-weight: 600;\n padding: 4px 0;\n }\n }\n\n #warning {\n padding: 10px;\n background: #FAE0D2;\n color: #871821;\n }\n\n #info {\n padding: 10px;\n background: #c7f9ed;\n color: #00344e;\n }\n\n`;\n\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n\n #button-upload {\n margin-right: 10px;\n }\n\n .infos {\n display: flex;\n flex-direction: column;\n padding: 14px 0;\n\n h2 {\n font-size: 20px\n }\n\n p {\n font-size: 14px\n }\n }\n\n .actions {\n display: flex;\n justify-content: space-between;\n padding-bottom: 14px;\n\n button {\n background: #102693;\n padding: 10px 20px;\n color: white;\n border-radius: 4px;\n }\n }\n\n`\n","import styled from 'styled-components';\n\nexport const TableWrapper = styled.div`\n width: 100%;\n height: max-content;\n min-height: 50px;\n position: relative;\n`;\n\nexport const Table = styled.table`\n font-size: 14px;\n line-height: 143%;\n color: black;\n width: 100%;\n border-collapse: collapse;\n border-radius: 4px;\n\n th {\n font-weight: 600;\n font-size: 14px;\n line-height: 143%;\n letter-spacing: 0.018em;\n color: #5A5D68;\n text-align: left;\n padding: 8px;\n border-radius: 4px;\n }\n\n thead tr {\n background: #dadce3;\n }\n\n tbody tr {\n border: 1px solid #dadce3;\n }\n\n &.small td {\n padding: 4px;\n }\n\n &.medium td {\n padding: 8px;\n }\n\n &.large td {\n padding: 16px;\n }\n`;\n\nexport const TableLoadingWrapper = styled.div`\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n background-color: #f3f5f961;\n`;\n","import styled from 'styled-components';\n\nexport const SpinnerWrapper = styled.span`\n display: inline-block;\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n\n &.spinner--sm {\n width: 24px;\n height: 24px;\n }\n\n &.spinner--md {\n width: 32px;\n height: 32px;\n }\n\n &.spinner--lg {\n width: 60px;\n height: 60px;\n }\n\n span {\n box-sizing: border-box;\n display: block;\n position: absolute;\n width: 100%;\n height: 100%;\n margin: 8px;\n border: 4px solid #fff;\n border-radius: 50%;\n animation: rotateSpinner 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;\n border-color: ${(props) => `var(--${props.color})`} transparent transparent\n transparent;\n }\n\n & span:nth-child(1) {\n animation-delay: -0.45s;\n }\n\n & span:nth-child(2) {\n animation-delay: -0.3s;\n }\n\n & span:nth-child(3) {\n animation-delay: -0.15s;\n }\n\n @keyframes rotateSpinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(360deg);\n }\n }\n`;\n","import React from 'react';\nimport cc from 'classcat';\n\nimport * as S from './styles';\n\nimport { SpinnerProps } from '../../../../interface/Table'\n\nconst Spinner: React.FC<SpinnerProps> = ({ color = 'neutral-3', size = 'md', className }) => {\n return (\n <S.SpinnerWrapper\n color={color}\n className={cc([`spinner--${size}`, className])}\n >\n <span />\n <span />\n <span />\n <span />\n </S.SpinnerWrapper>\n );\n};\n\nexport default Spinner;\n","import React, { forwardRef, Ref } from 'react';\nimport PropTypes from 'prop-types';\nimport cc from 'classcat';\n\nimport * as S from './styles';\nimport Spinner from '../Spinner';\n\nimport { TableProps } from '../../../../interface/Table'\n\nconst Table = forwardRef(\n ({ size = 'medium', children, isloading = false, className = '', ...props }: TableProps, ref: Ref<HTMLTableElement>) => {\n return (\n <S.TableWrapper className={className}>\n {isloading ? (\n <S.TableLoadingWrapper>\n <Spinner />\n </S.TableLoadingWrapper>\n ) : null}\n <S.Table className={cc([size])} ref={ref} {...props}>\n {children}\n </S.Table>\n </S.TableWrapper>\n );\n }\n);\n\nTable.propTypes = {\n children: PropTypes.node.isRequired,\n className: PropTypes.string,\n size: PropTypes.oneOf(['small', 'medium', 'large']),\n isloading: PropTypes.bool,\n};\n\nexport default Table;\n","import styled from 'styled-components';\n\nexport const InputContainer = styled.div`\n position: relative;\n width: 300px;\n`;\n\nexport const Input = styled.input`\n padding-left: 40px;\n border-radius: 5px;\n border: 1px solid #ccc;\n height: 45px;\n width: 100%;\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 3px #6690ff;\n }\n`;\n\nexport const IconContainer = styled.div`\n position: absolute;\n top: 14px;\n left: 10px;\n pointer-events: none;\n`;\n","import React from 'react';\nimport unorm from 'unorm';\nimport { FaSearch } from 'react-icons/fa';\nimport { InputContainer, Input, IconContainer } from './styles';\nimport type { FileData } from '../../../../interface/FileData';\n\ninterface SearchInputProps {\n placeholder: string;\n initialFiles: FileData[];\n setFiles: React.Dispatch<React.SetStateAction<FileData[]>>;\n}\n\nconst SearchInput: React.FC<SearchInputProps> = ({\n placeholder,\n setFiles,\n initialFiles,\n}) => {\n const searchName = (e: React.ChangeEvent<HTMLInputElement>) => {\n const searchTerm = e.target.value.trim();\n const normalizedSearchTerm = unorm.nfkd(searchTerm).toLowerCase();\n\n const newFiles = initialFiles.filter((file) => {\n const normalizedFileName = unorm.nfkd(file.name).toLowerCase();\n return normalizedFileName.includes(normalizedSearchTerm);\n });\n\n setFiles(searchTerm !== '' ? newFiles : initialFiles);\n };\n\n return (\n <InputContainer>\n <Input\n type=\"text\"\n onChange={(e: any) => searchName(e)}\n placeholder={placeholder}\n />\n <IconContainer>\n <FaSearch />\n </IconContainer>\n </InputContainer>\n );\n};\n\nexport default SearchInput;\n","import styled from 'styled-components';\n\ninterface FullScreenProps {\n isopen: number;\n isfixed: number;\n zindex: number;\n}\n\nexport const FullScreen = styled.div<FullScreenProps>`\n display: ${({ isopen }) => (isopen === 1 ? 'flex' : 'none')};\n cursor: ${({ isfixed }) => (isfixed === 0 ? 'pointer' : 'default')};\n\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n justify-content: center;\n align-items: center;\n z-index: ${({ zindex }) => zindex};\n animation: fadeIn 380ms ease-in-out 1;\n background-color: #2f3845b8;\n backdrop-filter: blur(2px);\n\n @keyframes fadeIn {\n from {\n background-color: #2f384521;\n }\n to {\n background-color: #2f3845b8;\n }\n }\n`;\n\ninterface ModalProps {\n maxwidth?: string;\n maxheight?: string;\n}\n\nexport const Modal = styled.div<ModalProps>`\n background-color: #fff;\n border-radius: 3px;\n position: relative;\n cursor: default;\n width: 100%;\n max-width: ${({ maxwidth }) => maxwidth};\n animation: slideIn 350ms cubic-bezier(0.42, 0, 0.21, 1) 1;\n\n @keyframes slideIn {\n from {\n transform: translateY(-120px);\n opacity: 0;\n }\n\n 20% {\n opacity: 0;\n }\n\n to {\n transform: translateY(0);\n opacity: 1;\n }\n }\n`;\n\ninterface ModalContainerProps {\n maxheight?: string;\n}\n\nexport const ModalContainer = styled.div<ModalContainerProps>`\n width: 100%;\n overflow-y: auto;\n max-height: ${({ maxheight }) => maxheight};\n`;\n\nexport const ModalHeader = styled.header`\n display: flex;\n justify-content: space-between;\n align-items: center;\n border-bottom: 1px solid #dadce3;\n padding: var(--spacement-medium);\n`;\n\nexport const ModalTitle = styled.div`\n font-style: normal;\n font-weight: normal;\n font-size: 20px;\n line-height: 150%;\n letter-spacing: 0.0075em;\n color: var(--neutral-4);\n`;\n\nexport const ModalButtonClose = styled.button`\n outline: none;\n cursor: pointer;\n\n :hover {\n opacity: 0.7;\n }\n`;\n\ninterface ModalContentWrapperProps {\n overflowy?: string;\n maxheight?: string;\n}\n\nexport const ModalContentWrapper = styled.div<ModalContentWrapperProps>`\n width: 100%;\n overflow-y: ${({ overflowy }) => overflowy};\n max-height: ${({ maxheight }) => maxheight};\n padding: var(--spacement-medium);\n`;\n\nexport const ModalFooterWrapper = styled.div`\n padding: var(--spacement-medium);\n background: var(--neutral-0);\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--spacement-medium);\n`;\n","import React, { ReactNode } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ModalFooterWrapper } from './styles';\n\ninterface ModalFooterProps {\n children: ReactNode;\n}\n\nconst ModalFooter: React.FC<ModalFooterProps> = ({ children, ...rest }) => {\n return <ModalFooterWrapper {...rest}>{children}</ModalFooterWrapper>;\n};\n\nModalFooter.propTypes = {\n children: PropTypes.node.isRequired,\n};\n\nexport default ModalFooter;\n","import React, { ReactNode } from 'react';\nimport PropTypes from 'prop-types';\n\nimport { ModalContentWrapper } from './styles';\n\ninterface ModalContentProps {\n children: ReactNode;\n maxheight?: string;\n overflowy?: string;\n}\n\nconst ModalContent: React.FC<ModalContentProps> = ({ children, maxheight = 'max-content', overflowy = 'initial', ...rest }) => {\n return (\n <ModalContentWrapper maxheight={maxheight} overflowy={overflowy} {...rest}>\n {children}\n </ModalContentWrapper>\n );\n};\n\nModalContent.propTypes = {\n children: PropTypes.node.isRequired,\n maxheight: PropTypes.string,\n overflowy: PropTypes.string,\n};\n\nexport default ModalContent;\n","import React, { useEffect, useCallback, useRef } from 'react';\nimport PropTypes from 'prop-types';\nimport { MdClose } from 'react-icons/md';\n\nimport * as S from './styles';\nimport ModalFooter from './ModalFooter';\nimport ModalContent from './ModalContent';\nimport ModalHeader from './ModalHeader';\nimport ModalTitle from './ModalTitle';\nimport ModalButtonClose from './ModalButtonClose';\n\ninterface ModalProps {\n isopen: boolean;\n style?: React.CSSProperties;\n maxwidth?: string;\n maxheight?: string;\n className?: string;\n title?: string | React.ReactElement | React.ComponentType;\n children: React.ReactNode;\n onClose?: () => void;\n contentStyle?: React.CSSProperties;\n isfixed?: boolean;\n zindex?: number;\n}\n\nconst Modal: React.FC<ModalProps> = ({\n isopen,\n style,\n maxwidth,\n maxheight,\n className,\n title,\n children,\n onClose,\n contentStyle,\n isfixed,\n zindex,\n}) => {\n const modalRef = useRef<HTMLDivElement>(null);\n\n const handleKeyUp = useCallback(\n (e: KeyboardEvent) => {\n const keys: { [key: number]: () => void } = {\n // ESC Key\n 27: () => {\n e.preventDefault();\n if (!isfixed && onClose) {\n onClose();\n }\n window.removeEventListener('keyup', handleKeyUp, false);\n },\n };\n\n if (keys[e.keyCode] && isopen) {\n keys[e.keyCode]();\n }\n },\n [onClose, isopen, isfixed]\n );\n\n const handleOutsideClick = useCallback(\n (e: MouseEvent) => {\n if (modalRef.current && modalRef.current.parentNode === e.target) {\n if (!isfixed && onClose) {\n onClose();\n }\n document.removeEventListener('click', handleOutsideClick, false);\n }\n },\n [onClose, isfixed]\n );\n\n useEffect(() => {\n window.addEventListener('keyup', handleKeyUp, false);\n document.addEventListener('click', handleOutsideClick, false);\n\n return () => {\n window.removeEventListener('keyup', handleKeyUp, false);\n document.removeEventListener('click', handleOutsideClick, false);\n };\n }, [handleKeyUp, handleOutsideClick]);\n\n return (\n <S.FullScreen isfixed={isfixed ? 1 : 0} isopen={isopen ? 1 : 0} zindex={zindex ?? 0}>\n <S.Modal ref={modalRef} style={style} maxwidth={maxwidth} className={className}>\n <S.ModalContainer className=\"styleOverlay\" maxheight={maxheight} style={contentStyle}>\n <S.ModalHeader>\n <S.ModalTitle>{String(title)}</S.ModalTitle>\n <S.ModalButtonClose type=\"button\" onClick={onClose}>\n <MdClose color=\"#5A5D68\" size={16} />\n </S.ModalButtonClose>\n </S.ModalHeader>\n {children}\n </S.ModalContainer>\n </S.Modal>\n </S.FullScreen>\n );\n};\n\nModal.propTypes = {\n isopen: PropTypes.bool.isRequired,\n title: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.string,\n PropTypes.func,\n ]),\n children: PropTypes.node.isRequired,\n onClose: PropTypes.func,\n style: PropTypes.objectOf(PropTypes.any),\n contentStyle: PropTypes.objectOf(PropTypes.any),\n className: PropTypes.string,\n maxwidth: PropTypes.string,\n maxheight: PropTypes.string,\n isfixed: PropTypes.bool,\n zindex: PropTypes.number,\n};\n\nModal.defaultProps = {\n title: '',\n style: {},\n contentStyle: {},\n className: '',\n maxwidth: '360px',\n maxheight: 'max-content',\n isfixed: false,\n onClose: () => {},\n zindex: 9999,\n};\n\nexport { ModalHeader, ModalTitle, ModalButtonClose, ModalContent, ModalFooter };\nexport default Modal;\n","import styled from 'styled-components';\n\ninterface ContainerProps {\n hasborder?: boolean;\n backgroundcolor?: string;\n backgroundicon?: string;\n}\n\nexport const Container = styled.div<ContainerProps>`\n width: 100%;\n display: flex;\n justify-content: center;\n padding: 24px 0;\n height: 193px;\n \n p {\n margin: 10px 0;\n }\n\n background: ${({ hasborder }) =>\n hasborder &&\n `linear-gradient(\n to right,\n #dadce3 50%,\n rgba(255, 255, 255, 0) 0%\n ),\n linear-gradient(#dadce3 50%, rgba(255, 255, 255, 0) 0%),\n linear-gradient(to right, #dadce3 50%, rgba(255, 255, 255, 0) 0%),\n linear-gradient(#dadce3 50%, rgba(255, 255, 255, 0) 0%)`};\n background-position: top, right, bottom, left;\n background-repeat: repeat-x, repeat-y;\n background-size: 40px 1px, 1px 40px;\n background-color: ${({ backgroundcolor }) => backgroundcolor};\n\n button {\n background: #102693;\n color: white;\n width: fit-content;\n padding: 10px 20px;\n border-radius: 4px;\n }\n\n & .content {\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n & > .icon {\n background-color: ${({ backgroundicon }) => backgroundicon};\n border-radius: 16px;\n width: 145px;\n height: 145px;\n\n display: flex;\n justify-content: center;\n\n & svg {\n width: 100%;\n height: 70%;\n margin: 20px;\n }\n }\n\n & .description {\n max-width: 600px;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n padding: 8px 0 8px 24px;\n\n .button-add {\n cursor: pointer;\n }\n\n .start-icon {\n display: flex;\n align-items: center;\n }\n }\n }\n`;\n","import React, { FC, ReactElement } from 'react';\nimport PropTypes from 'prop-types';\nimport * as S from './styles';\n\ninterface EmptyStateProps {\n icon?: string | ReactElement;\n title?: string;\n description?: string;\n activeButton?: boolean;\n iconButton?: ReactElement;\n descriptionButton?: string;\n widthButton?: string;\n button?: ReactElement;\n backgroundIcon?: string;\n backgroundColor?: string;\n hasborder?: boolean;\n}\n\nconst EmptyState: FC<EmptyStateProps> = ({\n icon,\n title,\n description,\n activeButton,\n iconButton,\n descriptionButton,\n widthButton,\n button,\n backgroundIcon,\n backgroundColor,\n hasborder,\n ...rest\n}) => {\n return (\n <S.Container\n backgroundicon={backgroundIcon}\n backgroundcolor={backgroundColor}\n hasborder={hasborder}\n {...rest}\n >\n <div className=\"content\">\n <div className=\"icon\">\n {icon}\n </div>\n <div className=\"description\">\n <h5> {title}</h5>\n\n <p>{description}</p>\n\n {activeButton ? (\n <button>\n {iconButton} {descriptionButton}\n </button>\n ) : null}\n\n {button}\n </div>\n </div>\n </S.Container>\n );\n};\n\nEmptyState.propTypes = {\n icon: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),\n title: PropTypes.string,\n description: PropTypes.string,\n activeButton: PropTypes.bool,\n iconButton: PropTypes.element,\n descriptionButton: PropTypes.string,\n widthButton: PropTypes.string,\n button: PropTypes.element,\n backgroundIcon: PropTypes.string,\n backgroundColor: PropTypes.string,\n hasborder: PropTypes.bool,\n};\n\nEmptyState.defaultProps = {\n icon: '',\n title: '',\n description: '',\n activeButton: false,\n descriptionButton: '',\n widthButton: '140px',\n backgroundIcon: 'var(--neutral-0)',\n backgroundColor: 'var(--absolute-white)',\n hasborder: true,\n};\n\nexport default EmptyState;\n","import styled from 'styled-components';\n\nexport const MultiSelectWrapper = styled.div`\n width: 100%;\n height: 45px;\n`;\n\nexport const SelectBox = styled.div`\n position: relative;\n\n select {\n width: 100%;\n font-weight: bold;\n height: 45px;\n border-radius: 4px;\n }\n`;\n\nexport const OverSelect = styled.div`\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n display: flex;\n\n input {\n height: 43px;\n width: calc(100% - 30px);\n border: none;\n margin: 1px;\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 3px #6690ff;\n }\n }\n`;\n\nexport const Checkboxes = styled.div`\n display: none;\n background: white;\n position: absolute;\n width: 95%;\n z-index: 10;\n\n label {\n padding: 10px 5px;\n }\n`;\n\nexport const CheckboxLabel = styled.label`\n display: block;\n\n &:hover {\n background-color: #6690ff;\n }\n`;\n\nexport const SelectedValues = styled.div`\n position: absolute;\n top: 9px;\n display: flex;\n flex-wrap: wrap;\n margin-left: 5px;\n right: 30px;\n`;\n\nexport const SelectedValue = styled.div`\n background-color: #254EDB;\n color: white;\n border-radius: 15px;\n padding: 5px 10px;\n margin-right: 5px;\n margin-bottom: 5px;\n white-space: nowrap;\n`;","import React, { useEffect, useState } from 'react';\nimport * as S from './styles';\nimport { getLanguage } from '../../utils/getLanguage'\nimport { Language } from '../../interface/Language';\n\ninterface Option {\n label: string;\n value: string;\n}\n\ninterface MultiSelectProps {\n options: Option[];\n presset: string[];\n setPresset: React.Dispatch<React.SetStateAction<string[]>>;\n setOptions: React.Dispatch<React.SetStateAction<Option[]>>;\n modal: boolean;\n hasAddNewOptions: boolean;\n language: keyof Record<'en' | 'pt-br' | 'es', Language>;\n}\n\nconst MultiSelect: React.FC<MultiSelectProps> = ({ options, presset, setPresset, setOptions, modal, language, hasAddNewOptions }) => {\n const [expanded, setExpanded] = useState(false);\n const [newOption, setNewOption] = useState('');\n const t = getLanguage(language)\n\n useEffect(() => {\n setExpanded(false)\n }, [modal])\n\n const handleCheckboxChange = (value: string) => {\n setPresset(prevPresset => {\n if (prevPresset.includes(value)) {\n return prevPresset.filter(val => val !== value);\n } else {\n return [...prevPresset, value];\n }\n });\n }\n\n const showCheckboxes = () => {\n setExpanded(!expanded);\n }\n\n const handleInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setNewOption(event.target.value);\n }\n\n const handleInputKeyPress = (event: React.KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter' && hasAddNewOptions) {\n event.preventDefault();\n const trimmedOption = newOption.trim();\n if (trimmedOption !== '' && !options.some(option => option.value === trimmedOption)) {\n setOptions(prevOptions => [...prevOptions, { label: trimmedOption, value: trimmedOption }]);\n setPresset(prevPresset => [...prevPresset, trimmedOption]);\n }\n setNewOption('');\n }\n }\n\n return (\n <form>\n <S.MultiSelectWrapper>\n <S.SelectBox onClick={showCheckboxes}>\n <select>\n {options.map((option, index) => (\n <option key={index} value={option.value}>{option.label}</option>\n ))}\n </select>\n <S.OverSelect>\n <S.SelectedValues>\n {presset.map((value, index) => (\n <S.SelectedValue key={index}>{value}</S.SelectedValue>\n ))}\n </S.SelectedValues>\n <input\n type=\"text\"\n placeholder={hasAddNewOptions ? t.buttons.addNewPresset : t.buttons.addPresset}\n value={newOption}\n onChange={handleInputChange}\n onKeyPress={handleInputKeyPress}\n />\n </S.OverSelect>\n </S.SelectBox>\n <S.Checkboxes style={{ display: expanded ? 'block' : 'none' }}>\n {options.map((option, index) => (\n <S.CheckboxLabel key={index} htmlFor={option.value}>\n <input\n type=\"checkbox\"\n id={option.value}\n checked={presset.includes(option.value)}\n onChange={() => handleCheckboxChange(option.value)}\n />\n {option.label}\n </S.CheckboxLabel>\n ))}\n </S.Checkboxes>\n </S.MultiSelectWrapper>\n </form>\n );\n}\n\nexport default MultiSelect;\n","import styled from 'styled-components';\n\ninterface ContainerProps {\n isDragAccept?: boolean;\n isDragReject?: boolean;\n isDragActive?: boolean;\n}\n\nconst getColor = (props: ContainerProps) => {\n if (props.isDragAccept) {\n return '#6690ff';\n }\n if (props.isDragReject) {\n return '#e18976';\n }\n if (props.isDragActive) {\n return '#6690ff';\n }\n return '#979aa5';\n};\n\nexport const Container = styled.div<ContainerProps>`\n background-color: #f3f5f9;\n flex: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n padding: 20px;\n border-width: 2px;\n border-radius: 4px;\n border-color: var(${(props) => getColor(props)});\n border-style: dashed;\n color: #5a5d68;\n outline: none;\n transition: border 0.24s ease-in-out;\n\n & > span {\n margin: 8px 10px 0 0;\n display: flex;\n }\n\n button {\n padding: 8px 16px 8px 16px;\n border-radius: 4px;\n border: 2px #102693 solid;\n margin-top: 10px;\n }\n`;\n\nexport const ListFiles = styled.div`\n &.horizontal-itens {\n display: flex;\n flex-direction: row;\n flex-wrap: wrap;\n\n & button {\n margin: 4px;\n white-space: nowrap;\n }\n\n .tag-file {\n display: flex;\n gap: 8px;\n padding: 10px 24px !important;\n color: #102693 !important;\n font-size: 14px;\n letter-spacing: 0px;\n }\n\n .tag-icon {\n cursor: pointer;\n }\n }\n`;\n","import React, { useCallback, useEffect, useState } from 'react';\nimport { getLanguage } from '../../../../utils/getLanguage'\nimport { useDropzone, FileRejection } from 'react-dropzone';\nimport PropTypes from 'prop-types';\n\nimport { Container} from './styles';\n\ninterface FileProperties {\n id: number;\n lastModified: number;\n lastModifiedDate: Date;\n name: string;\n size: number;\n type: string;\n}\n\ninterface AreaUploadProps {\n formatFile?: string;\n multipleFile?: boolean;\n initialFiles?: File[];\n removeItem?: (file: FileProperties) => void;\n setFile?: (file: { content: ArrayBuffer | string; properties: File }) => void;\n file: string | undefined;\n onChange?: (files: File[]) => void;\n hasListFiles?: boolean;\n}\n\nconst AreaUpload: React.FC<AreaUploadProps> = ({\n formatFile = 'application/pdf',\n multipleFile = false,\n initialFiles = [],\n setFile = () => {},\n file = '',\n onChange = () => {},\n}) => {\n const [myFiles, setMyFiles] = useState<File[]>([]);\n const t = getLanguage('pt-br')\n\n useEffect(() => {\n setMyFiles([...initialFiles, ...myFiles]);\n }, []);\n\n const onDrop = useCallback(\n (acceptedFiles: File[], fileRejections: FileRejection[]) => {\n if (fileRejections && fileRejections.length > 0) {\n console.error('Arquivos rejeitados:', fileRejections);\n }\n\n onChange(acceptedFiles);\n\n const files = [...myFiles, ...acceptedFiles];\n const filesWithId = files.map((item, index) => ({\n id: index + 1,\n lastModified: item.lastModified,\n name: item.name,\n size: item.size,\n type: item.type,\n }));\n setMyFiles(filesWithId as unknown as File[]);\n\n acceptedFiles.forEach((file) => {\n const reader = new FileReader();\n\n reader.onload = () => {\n const binaryStr = reader.result;\n setFile({ content: binaryStr as ArrayBuffer, properties: file });\n };\n reader.readAsArrayBuffer(file);\n });\n },\n [myFiles]\n );\n\n const {\n getRootProps,\n getInputProps,\n open,\n isDragActive,\n isDragAccept,\n isDragReject,\n } = useDropzone({\n accept: formatFile as any,\n noClick: true,\n noKeyboard: true,\n multiple: multipleFile,\n onDrop,\n });\n\n return (\n <>\n {(multipleFile || myFiles?.length === 0) || !file ? (\n <Container\n {...getRootProps({ isDragActive, isDragAccept, isDragReject })}\n >\n <input {...getInputProps()} />\n\n <span>\n <p>\n {t.fileArea.modal.descriptionUpload}\n </p>\n </span>\n <button type=\"button\" onClick={open}>\n {t.fileArea.modal.chooseFile}\n </button>\n </Container>\n ) : (\n <Container\n {...getRootProps({ isDragActive, isDragAccept, isDragReject })}\n >\n <p>{file}</p>\n </Container>\n )}\n </>\n );\n};\n\nAreaUpload.propTypes = {\n formatFile: PropTypes.string,\n multipleFile: PropTypes.bool,\n initialFiles: PropTypes.arrayOf(PropTypes.object as any),\n removeItem: PropTypes.func,\n setFile: PropTypes.func,\n onChange: PropTypes.func,\n hasListFiles: PropTypes.bool,\n};\n\nAreaUpload.defaultProps = {\n formatFile: 'application/json',\n multipleFile: false,\n initialFiles: [],\n removeItem: () => {},\n setFile: () => {},\n onChange: () => {},\n hasListFiles: true,\n};\n\nexport default AreaUpload;\n","import axios from 'axios';\n\nexport const API_TOKEN = 'API_TOKEN';\n\nconst url = 'https://api.leia.digitalcontact.cloud';\n\naxios.defaults.baseURL = `${url}`;\n\nexport default axios.create();","import React, { createContext, useContext, useEffect, useState } from 'react';\nimport api from '../service/Api';\n\ninterface Props {\n id: string;\n language: \"en\" | \"pt-br\" | \"es\";\n propTags: { tags: [] }\n personas: [{ name: string, description: string }];\n token: string;\n children?: React.ReactNode;\n}\n\ninterface SharedPropsContextType {\n props: Props;\n}\n\nconst SharedPropsContext = createContext<SharedPropsContextType | undefined>(undefined);\n\nexport const useSharedProps = () => {\n const context = useContext(SharedPropsContext);\n if (!context) {\n throw new Error('useSharedProps deve ser usado dentro de um SharedPropsProvider');\n }\n return context.props;\n};\n\nexport const SharedPropsProvider: React.FC<Props> = ({ children, ...props }) => {\n const { id, language } = props;\n const [tags, setTags] = useState<any>(null);\n const [personas, setPersonas] = useState<any>(null);\n\n useEffect(() => {\n const fetchData = async () => {\n try {\n const { data } = await api.get(`/tags/${id}`);\n\n if (data) {\n setTags(data);\n } else {\n console.error('Erro ao fazer a solicitação');\n }\n } catch (error) {\n console.error('Erro ao fazer a solicitação:', error);\n }\n };\n\n const personas = async () => {\n try {\n const { data } = await api.get(`/personas?language=${language}`);\n\n if (data) {\n setPersonas(data);\n } else {\n console.error('Erro ao fazer a solicitação');\n }\n } catch (error) {\n console.error('Erro ao fazer a solicitação:', error);\n }\n };\n\n fetchData();\n personas();\n }, [id]);\n\n const sharedProps = {\n ...props,\n propTags: tags,\n personas,\n };\n\n return (\n <SharedPropsContext.Provider value={{ props: sharedProps }}>\n {children}\n </SharedPropsContext.Provider>\n );\n};\n","const Types = {\n GET_FILES_REQUEST: 'GET_FILES_REQUEST',\n GET_FILES_SUCCESS: 'GET_FILES_SUCCESS',\n DELETE_FILES_REQUEST: 'DELETE_FILES_REQUEST',\n DELETE_FILES_SUCCESS: 'DELETE_FILES_SUCCESS',\n UPLOAD_FILES_REQUEST: 'UPLOAD_FILES_REQUEST',\n UPLOAD_FILES_SUCCESS: 'UPLOAD_FILES_SUCCESS',\n TRAINING_REQUEST: 'TRAINING_REQUEST',\n TEST_REQUEST: 'TEST_REQUEST',\n TEST_SUCCESS: 'TEST_SUCCESS',\n LOADING_START: 'LOADING_START',\n LOADING_FINISH: 'LOADING_FINISH',\n CHANGING_START: 'CHANGING_START',\n CHANGING_FINISH: 'CHANGING_FINISH',\n NETWORK_ONLINE: 'NETWORK_ONLINE',\n NETWORK_OFFLINE: 'NETWORK_OFFLINE',\n};\n\nexport default Types;\n","import types from './types'\n\nexport const getFilesAction = (id: string, token: string) => {\n return {\n type: types.GET_FILES_REQUEST,\n payload: { id, token }\n }\n}\n\nexport const getFilesActionSuccess = ({ files }: any) => {\n return {\n type: types.GET_FILES_SUCCESS,\n payload: { files }\n }\n}\n\nexport const deleteFilesAction = (name: string, id: string, language: string, token: string) => {\n return {\n type: types.DELETE_FILES_REQUEST,\n payload: { name, id, language, token }\n }\n}\n\nexport const deleteFilesActionSuccess = ({ files }: any) => {\n return {\n type: types.DELETE_FILES_SUCCESS,\n payload: { files }\n }\n}\n\nexport const uploadFilesAction = (file: any, id: string, pressets: string[], language: string, token: string) => {\n return {\n type: types.UPLOAD_FILES_REQUEST,\n payload: { file, id, pressets, language, token }\n }\n}\n\nexport const uploadFilesActionSuccess = ({ files }: any) => {\n return {\n type: types.UPLOAD_FILES_SUCCESS,\n payload: { files }\n }\n}\n\nexport const trainingAction = (id: string, pressets: string[], language: string, token: string) => {\n return {\n type: types.TRAINING_REQUEST,\n payload: { id, pressets, language, token }\n }\n}\n\nexport const testAction = (question: string, profile: string, presset: string, files_directory: string, token: string) => {\n return {\n type: types.TEST_REQUEST,\n payload: { question, profile, presset, files_directory, token }\n }\n}\n\nexport const testActionSuccess = ({ message }: any) => {\n return {\n type: types.TEST_SUCCESS,\n payload: { message }\n }\n}\n\nexport const commonLoadingStart = () => ({\n type: types.LOADING_START,\n });\n \n export const commonLoadingFinish = () => ({\n type: types.LOADING_FINISH,\n });\n \n export const commonChangingStart = () => ({\n type: types.CHANGING_START,\n });\n \n export const commonChangingFinish = () => ({\n type: types.CHANGING_FINISH,\n });\n \n export const commonNetworkOnline = () => ({\n type: types.NETWORK_ONLINE,\n });\n \n export const commonNetworkOffline = () => ({\n type: types.NETWORK_OFFLINE,\n });","import React, { useEffect, useState} from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { renderToString } from 'react-dom/server';\n\nimport { FaUpload, FaList, FaCheck, FaFile } from 'react-icons/fa';\nimport { GiWeightLiftingUp } from \"react-icons/gi\";\nimport { TiDelete } from \"react-icons/ti\";\n\nimport type { FileData, tag } from '../../interface/FileData'\n\nimport { getLanguage } from '../../utils/getLanguage'\n\nimport * as S from './styles';\nimport Table from './components/Table';\nimport Search from './components/Search';\nimport Modal from './components/Modal'\nimport ModalFooter from './components/Modal/ModalFooter'\nimport ModalContent from './components/Modal/ModalContent'\nimport EmptyState from '../EmptyState';\nimport MultiSelect from '../MultiSelect';\nimport AreaUpload from './components/AreaUpload';\nimport { SharedPropsProvider, useSharedProps } from '../../contexts/SharedPropsProvider';\nimport { deleteFilesAction, getFilesAction, uploadFilesAction, trainingAction } from '../../store/modules/actions';\n\nexport const FileArea = () => {\n const { id, language, propTags, token } = useSharedProps();\n const [files, setFiles] = useState<FileData[]>([]);\n const [initialFiles, setInitialFiles] = useState<FileData[]>([]);\n const [uploadFile, setUploadFile] = useState<{ content: ArrayBuffer | string; properties: File }>();\n const [modal, setModal] = useState(false)\n const [modalDelete, setModalDelete] = useState(false)\n const [modalTraining, setModalTraining] = useState(false)\n const [fileDelete, setFileDelete] = useState('')\n const [optionsPresset, setOptionsPresset] = useState<{ label: any; value: any; }[]>([])\n const [presset, setPresset] = useState<string[]>([]);\n const t = getLanguage(language)\n const dispatch = useDispatch();\n const initFiles = useSelector((state: any) => state.files);\n const isloading = useSelector((state: any) => state.isloading);\n const tags = propTags ? propTags.tags : [];\n\n useEffect(() => {\n dispatch(getFilesAction(id, token))\n }, [id])\n\n useEffect(() => {\n if(tags.length > 0){\n const options = tags.map((tag: any) => {\n return { label: tag, value: tag }\n })\n setOptionsPresset(options)\n }else if(optionsPresset.length > 0){\n setOptionsPresset([])\n }\n \n }, [tags])\n\n useEffect(() => {\n if(!modal){\n const options = tags.map((tag: any) => {\n return { label: tag, value: tag }\n })\n setOptionsPresset(options)\n }\n }, [modal])\n\n useEffect(() => {\n if(!!initFiles){\n setFiles(initFiles)\n setInitialFiles(initFiles)\n }\n }, [initFiles])\n\n const pressetTag = (tags: [tag]) => {\n let html = '';\n \n html += tags.map(tag => {\n const checkIcon = tag.trained ? '' : renderToString(<TiDelete size={14} />);\n const tagClass = tag.trained ? 'trained' : '';\n return `<p class='tag ${tagClass}'>${tag.name} ${checkIcon}</p>`;\n }).join('');\n \n return html;\n }\n\n const handleOpenModal = () => {\n if(modal){\n setUploadFile(undefined)\n setPresset([])\n }\n setModal(!modal)\n }\n\n const handleOpenModalDelete = (name: string) => {\n setFileDelete(name + '.pdf')\n setModalDelete(!modalDelete)\n }\n\n const handleOpenModalTraining = (tags?: [tag]) => {\n let pressets: string[] = [] \n tags?.map((tag) => {\n if(!tag.trained){\n pressets.push(tag.name)\n }\n })\n setPresset(pressets)\n setModalTraining(!modalTraining)\n }\n\n const deleteFile = () => {\n dispatch(deleteFilesAction(fileDelete, id, language, token))\n setModalDelete(false)\n }\n\n const handleUploadFile = () => {\n dispatch(uploadFilesAction(uploadFile, id, presset, language, token))\n setModal(false)\n setUploadFile(undefined)\n setPresset([])\n };\n\n const handleTrain = () => {\n dispatch(trainingAction(id, presset, language, token))\n setModalTraining(false)\n setPresset([])\n };\n\n const viewFile = (link: string, name: string) => {\n if(link){\n const checkIcon = renderToString(<FaFile size={14} />);\n return `<a href='${link}' target='_blank'>${checkIcon}</a> ${name}`;\n }\n return name\n };\n\n const renderFiles = () => { \n return (\n <S.Container isloading={isloading}>\n <div id='loading' />\n <S.Header>\n <div className='infos'>\n <h2>{t.files}</h2>\n <p>{t.fileArea.description}</p>\n </div>\n <div className='actions'>\n <Search placeholder={t.fileArea.search} setFiles={setFiles} initialFiles={initialFiles}></Search>\n <div> \n <button id='button-upload' onClick={handleOpenModal}><FaUpload size={14} /> {t.fileArea.fileUpload}</button>\n <button onClick={() => handleOpenModalTraining(undefined)}><GiWeightLiftingUp size={14} /> {t.fileArea.training}</button>\n </div>\n </div>\n </S.Header>\n {\n files.length === 0 ? (\n <EmptyState\n icon={<FaList></FaList>}\n title={t.fileArea.emptyState.title}\n description={t.fileArea.emptyState.description}\n iconButton={<button id='button-upload' onClick={handleOpenModal}><FaUpload size={14} /> {t.fileArea.fileUpload}</button>}\n descriptionButton={t.fileArea.fileUpload}\n widthButton=\"230px\"\n />\n ) : <Table>\n <thead>\n <tr>\n <th key=\"th_file_name\" className=\"th_file_name\">\n {t.fileArea.fileName}\n </th>\n <th key=\"th_file_name\" className=\"th_status\">\n {t.fileArea.status}\n </th>\n <th key=\"th_pressets\" className=\"th_pressets\">\n {t.fileArea.presset}\n </th>\n <th key=\"th_actions\" className=\"th_actions\">\n {t.fileArea.actions}\n </th>\n </tr>\n </thead>\n\n <tbody>\n {files.map((object) => (\n <tr>\n <td dangerouslySetInnerHTML={{ __html: viewFile(object.link, object.name) }} />\n <td>{object.trained ? <FaCheck size={14} style={{ color: 'green' }} /> : <TiDelete size={14} style={{ color: 'red' }} />}</td>\n <td className='tags' dangerouslySetInnerHTML={{ __html: pressetTag(object.tags) }} />\n <td>\n <div className='divDelete'>\n <button className='buttonTraining' onClick={() => handleOpenModalTraining(object.tags)}>{t.buttons.training}</button>\n <button className='buttonDelete' onClick={() => handleOpenModalDelete(object.name)}>{t.buttons.delete}</button>\n </div>\n </td>\n </tr>\n ))}\n </tbody>\n </Table>\n }\n <Modal\n isopen={modal}\n maxwidth=\"600px\"\n maxheight=\"max-content\"\n onClose={handleOpenModal}\n title={t.fileArea.modal.uploadFile}\n >\n <ModalContent>\n <div className='choose-file'>\n <AreaUpload\n setFile={setUploadFile}\n file={uploadFile?.properties.name}\n />\n </div>\n <div className='presset'>\n <p>{t.fileArea.presset}</p>\n <MultiSelect setOptions={setOptionsPresset} options={optionsPresset} presset={presset} setPresset={setPresset} modal={modal} language={language} hasAddNewOptions={true} />\n </div> \n </ModalContent>\n <ModalFooter>\n <button className='button cancel' onClick={handleOpenModal}>\n {t.buttons.cancel}\n </button>\n <button onClick={() => handleUploadFile()} className='button send' type=\"submit\" form=\"form-tts\">\n {t.buttons.send}\n </button>\n </ModalFooter>\n \n </Modal>\n <Modal\n isopen={modalDelete}\n maxwidth=\"600px\"\n maxheight=\"max-content\"\n onClose={() => handleOpenModalDelete('')}\n title={t.fileArea.modal.deleteFileTitle}\n >\n <ModalContent>\n <p id='warning'>{t.fileArea.modal.deleteFile}</p>\n </ModalContent>\n <ModalFooter>\n <button className='button cancel' onClick={() => handleOpenModalDelete('')}>\n {t.buttons.cancel}\n </button>\n <button className='button delete' type=\"submit\" form=\"form-tts\" onClick={deleteFile}>\n {t.buttons.delete}\n </button>\n </ModalFooter>\n </Modal>\n <Modal\n isopen={modalTraining}\n maxwidth=\"600px\"\n maxheight=\"max-content\"\n onClose={() => handleOpenModalTraining(undefined)}\n title={t.fileArea.modal.trainingTitle}\n >\n <ModalContent>\n <p id='info'>{t.fileArea.modal.trainingDescription}</p>\n <div className='presset'>\n <p>{t.fileArea.presset}</p>\n <MultiSelect setOptions={setOptionsPresset} options={optionsPresset} presset={presset} setPresset={setPresset} modal={modal} language={language} hasAddNewOptions={false} />\n </div>\n </ModalContent>\n <ModalFooter>\n <button className='button cancel' onClick={() => handleOpenModalTraining(undefined)}>\n {t.buttons.cancel}\n </button>\n <button onClick={() => handleTrain()} className='button send' type=\"submit\" form=\"form-tts\">\n {t.buttons.send}\n </button>\n </ModalFooter>\n \n </Modal>\n </S.Container>\n );\n }\n\n return (\n <SharedPropsProvider id={id} language={language} token={token} propTags={{ tags: [] }} personas={[{name: '', description: ''}]}>\n <S.Container>\n {renderFiles()}\n </S.Container>\n </SharedPropsProvider>\n );\n};\n","import styled, { css } from 'styled-components';\n\ninterface ContainerProps {\n isloading?: boolean;\n}\n\n\nexport const Container = styled.div<ContainerProps>`\n ${(props) =>\n props.isloading &&\n css`\n #loading {\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgb(151,154,165, 0.7);\n display: flex;\n justify-content: center;\n align-items: center;\n z-index: 9999;\n }\n\n #loading::after {\n content: \"\";\n border: 4px solid #f3f3f3; /* Cor do símbolo de carregamento */\n border-top: 4px solid #5a5d68; /* Cor do símbolo de carregamento */\n border-radius: 50%;\n width: 13px;\n height: 13px;\n animation: spin 1s linear infinite;\n }\n\n @keyframes spin {\n 0% { transform: rotate(0deg); }\n 100% { transform: rotate(360deg); }\n }\n `}\n\n`;\n\nexport const Header = styled.div`\n display: flex;\n flex-direction: column;\n .infos {\n display: flex;\n flex-direction: column;\n padding: 14px 0;\n\n h2 {\n font-size: 20px\n }\n\n p {\n font-size: 14px\n }\n }\n`\n\nexport const Inputs = styled.div`\n display: flex;\n justify-content: space-between;\n margin-bottom: 10px;\n\n button {\n background: #102693;\n padding: 10px 20px;\n color: white;\n border-radius: 4px;\n width: 190px;\n height: 45px;\n display: flex;\n justify-content: space-between;\n align-items: center;\n\n svg {\n width: 23px;\n height: 23px;\n }\n }\n`\n\nexport const Result = styled.div`\n display: flex;\n justify-content: left;\n background: #F3F5F9;\n padding: 15px;\n border-radius: 5px;\n margin-top: 15px;\n\n .text{\n margin-left: 5px;\n font-size: 14px;\n line-height: 1.5;\n }\n\n .icon {\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: 5px;\n\n svg {\n width: 35px;\n height: 35px;\n }\n }\n\n`","import styled from 'styled-components';\n\nexport const Container = styled.div`\n position: relative;\n width: 50%;\n margin-right: 5px;\n\n .custom-select {\n position: relative;\n width: 100%;\n cursor: pointer;\n\n .selected-option {\n padding: 12px;\n border-radius: 4px;\n border: 1px solid #979AA5;\n height: 45px;\n display: flex;\n align-items: center;\n justify-content: space-between;\n font-size: 14px;\n }\n\n .options {\n position: absolute;\n top: 100%;\n left: 0;\n width: 100%;\n border: 1px solid #979AA5;\n border-top: none;\n border-radius: 0 0 4px 4px;\n background-color: #fff;\n\n .option {\n padding: 12px;\n cursor: pointer;\n transition: background-color 0.1s;\n letter-spacing: 0.5px;\n font-size: 14px;\n\n &:hover {\n background-color: #6690ff;\n color: white;\n }\n }\n }\n }\n`;\n","import React, { useState } from 'react';\nimport * as S from './styles';\n\ninterface SelectOption {\n value: string | number;\n label: string;\n}\n\ninterface SelectProps {\n options: SelectOption[];\n onSelect: (value: string) => void;\n placeholder?: string;\n}\n\nconst CustomSelect: React.FC<SelectProps> = ({ options, onSelect, placeholder }) => {\n const [isOpen, setIsOpen] = useState(false);\n const [selectedValue, setSelectedValue] = useState<string | number>('');\n\n const handleSelectOption = (value: string | number) => {\n const selected = String(value);\n setSelectedValue(selected);\n onSelect(selected);\n setIsOpen(false);\n };\n\n return (\n <S.Container>\n <div className=\"custom-select\" onClick={() => setIsOpen(!isOpen)}>\n <div className=\"selected-option\">\n {selectedValue || placeholder}\n <span className=\"arrow\">&#9660;</span>\n </div>\n {isOpen && (\n <div className=\"options\">\n {options.map(option => (\n <div\n key={option.value}\n style={{ background: option.value === selectedValue ? '#a0b7f5' : undefined,\n color: option.value === selectedValue ? 'white' : undefined }}\n className=\"option\"\n onClick={() => handleSelectOption(option.value)}\n >\n {option.label}\n </div>\n ))}\n </div>\n )}\n </div>\n </S.Container>\n );\n};\n\nexport default CustomSelect;\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n position: relative;\n width: 100%;\n margin-right: 5px;\n`;\n\nexport const StyledInput = styled.input`\n padding-left: 10px;\n padding-right: 40px;\n border-radius: 5px;\n border: 1px solid #ccc;\n height: 45px;\n width: 100%;\n\n &:focus {\n outline: none;\n box-shadow: 0 0 0 3px #6690ff;\n }\n`;\n\nexport const RecordAudioButton = styled.div`\n position: absolute;\n top: 14px;\n right: 10px;\n cursor: pointer;\n`;\n","import React from 'react';\nimport * as S from './styles';\n\ninterface InputTestProps {\n placeholder: string;\n onChange: (value: string) => void;\n}\n\nconst InputTest: React.FC<InputTestProps> = ({ placeholder, onChange }) => {\n return (\n <S.Container>\n <S.StyledInput\n type=\"text\"\n onChange={(e: any) => onChange(e.target.value)}\n placeholder={placeholder}\n />\n </S.Container>\n );\n};\n\nexport default InputTest;\n","import React, { useState } from 'react';\nimport { getLanguage } from '../../utils/getLanguage'\nimport * as S from './styles';\nimport Select from '../Select'\nimport InputTest from './components/InputTest'\nimport { PiWaveformBold } from 'react-icons/pi';\nimport { FaList } from 'react-icons/fa';\nimport EmptyState from '../EmptyState';\nimport { SharedPropsProvider, useSharedProps } from '../../contexts/SharedPropsProvider';\nimport { MdPerson2 } from \"react-icons/md\";\nimport { useDispatch, useSelector } from 'react-redux';\nimport { testAction } from '../../store/modules/actions';\n\nexport const TestArea = () => {\n const { id, language, personas, propTags, token } = useSharedProps();\n const t = getLanguage(language)\n const results = useSelector((state: any) => state.message);\n const isloading = useSelector((state: any) => state.isloading);\n const [search, setSearch] = useState('');\n const [profile, setProfile] = useState('');\n const [presset, setPresset] = useState('');\n const dispatch = useDispatch();\n const tags = propTags ? propTags.tags : [];\n\n\n const optionsPersona = personas && personas.map(persona => {\n return { label: persona.name, value: persona.name }\n })\n\n const optionsPresset = tags.map(tag => {\n return { label: tag, value: tag }\n })\n\n const handleSelectPersona = (value: string) => {\n setProfile(value);\n };\n\n const handleSelectPresset = (value: string) => {\n setPresset(value);\n };\n\n const handleSearch = (value: string) => {\n setSearch(value);\n };\n\n const handleTest = () => {\n dispatch(testAction(search, profile, presset, id, token))\n };\n\n const returnTest = () => { \n return (\n <S.Container isloading={isloading}>\n <div id='loading' />\n <S.Header>\n <div className='infos'>\n <h2>{t.test}</h2>\n <p>{t.testArea.description}</p>\n </div>\n </S.Header>\n <S.Inputs>\n <InputTest placeholder={t.testArea.typeSentence} onChange={handleSearch} />\n <Select placeholder={t.testArea.selectPersona} options={optionsPersona} onSelect={handleSelectPersona} />\n <Select placeholder={t.testArea.selectPresset} options={optionsPresset} onSelect={handleSelectPresset} />\n <button onClick={handleTest}><PiWaveformBold /> {t.buttons.test}</button>\n </S.Inputs>\n {\n !results ? (\n <EmptyState\n icon={<FaList></FaList>}\n title={t.testArea.emptyState.title}\n description={t.testArea.emptyState.description}\n activeButton={false}\n />\n ) : <S.Result>\n <div className='icon'>\n <MdPerson2 />\n </div>\n <div className='text'>{results}</div>\n </S.Result>\n }\n </S.Container>\n )\n }\n\n return (\n <SharedPropsProvider id={id} token={token} language={language} propTags={{ tags: [] }} personas={[{name: '', description: ''}]}>\n <S.Container>\n {returnTest()}\n </S.Container>\n </SharedPropsProvider>\n );\n};","import React, { useMemo, Suspense } from 'react';\nimport { Route, useLocation, useRouteMatch, useHistory, Switch as SwitchRoute } from 'react-router-dom';\n\n\nimport type { Props } from './index';\nimport { Tab, Tabs } from './components/Tabs'\nimport { getLanguage } from './utils/getLanguage'\nimport { FileArea } from './components/FileArea';\nimport { TestArea } from './components/TestArea';\n\nimport { SharedPropsProvider } from './contexts/SharedPropsProvider';\n\nexport const Leia = (props: Props) => {\n const match = useRouteMatch();\n const { pathname } = useLocation();\n const history = useHistory();\n\n const t = getLanguage(props.language)\n\n const activeTab = useMemo(() => {\n return pathname.split('/')[5] || 'files';\n }, [pathname]);\n\n return (\n <SharedPropsProvider propTags={{ tags: [] }} personas={[{name: '', description: ''}]} {...props}>\n <>\n <Tabs\n value={activeTab}\n onChange={(value) => history.push(`${match.url}/${value}`)}\n >\n <Tab value=\"files\">{t.files}</Tab>\n <Tab value=\"test\">{t.test}</Tab>\n </Tabs>\n <Suspense fallback={props.loading}>\n <SwitchRoute>\n <Route path={`${match.path}`} exact component={FileArea} />\n <Route path={`${match.path}/files`} component={FileArea} />\n <Route path={`${match.path}/test`} component={TestArea} />\n </SwitchRoute>\n </Suspense>\n </>\n </SharedPropsProvider>\n );\n};\n","import { produce } from 'immer';\nimport types from './types'\n\nconst INITIAL_STATE = {\n files: [],\n message: '',\n isloading: false,\n isChanging: false,\n isOffline: true,\n}\n\nexport default function filesReducer(state = INITIAL_STATE, action: any) {\n return produce(state, (draft) => {\n switch (action.type) {\n case types.GET_FILES_SUCCESS:\n draft.files = action.payload.files;\n break;\n case types.DELETE_FILES_SUCCESS:\n draft.files = action.payload.files;\n break;\n case types.TEST_SUCCESS:\n draft.message = action.payload.message;\n break;\n case types.LOADING_START:\n draft.isloading = true;\n break;\n case types.LOADING_FINISH:\n draft.isloading = false;\n break;\n case types.CHANGING_START:\n draft.isChanging = true;\n break;\n case types.CHANGING_FINISH:\n draft.isChanging = false;\n break;\n case types.NETWORK_ONLINE:\n draft.isOffline = false;\n break;\n case types.NETWORK_OFFLINE:\n draft.isOffline = true;\n break;\n default:\n return action.payload;\n }\n });\n}\n","import React from 'react';\nimport { toast as reactToast } from 'react-toastify';\n\nimport { CustomContainerToast } from './styles';\n\ninterface CustomToastContentProps {\n title: String;\n description?: String;\n}\n\nconst CustomToastContent: React.FC<CustomToastContentProps> = ({\n title,\n description\n}) => {\n return (\n <>\n <div className=\"custom-toastify-content\">\n <strong className=\"custom-toastify-title\">{title}</strong>\n {description && (\n <p className=\"custom-toastify-description\">{description}</p>\n )}\n </div>\n </>\n );\n};\n\nconst toast = {\n default: ({ title, description }: CustomToastContentProps) =>\n reactToast(\n <CustomToastContent\n title={title}\n description={description}\n />\n ),\n success: ({ title, description }: CustomToastContentProps) =>\n reactToast.success(\n <CustomToastContent\n title={title}\n description={description}\n />\n ),\n error: ({ title, description }: CustomToastContentProps) =>\n reactToast.error(\n <CustomToastContent\n title={title}\n description={description}\n />\n ),\n warn: ({ title, description }: CustomToastContentProps) =>\n reactToast.warn(\n <CustomToastContent\n title={title}\n description={description}\n />\n ),\n};\n\nconst ContainerToast: React.FC = () => {\n return <CustomContainerToast autoClose={4000} />;\n};\n\nexport { ContainerToast, toast };\n","import { takeLatest, all, put, call } from 'redux-saga/effects';\nimport api from '../../service/Api'\nimport Types from './types'\nimport { getFilesActionSuccess, \n deleteFilesActionSuccess, \n testActionSuccess, \n uploadFilesActionSuccess, \n commonLoadingStart,\n commonLoadingFinish, } from './actions'\nimport { toast } from '../../components/CustomToast'\nimport { getLanguage } from '../../utils/getLanguage'\n\nexport function* getFilesSaga(action: any) {\n try {\n yield put(commonLoadingStart());\n const { id, token } = action.payload\n const { data } = yield call(api.get, `/training/${id}?token=${token}`);\n yield put(getFilesActionSuccess({ files: data.files}));\n } catch (error) {\n console.log('-----------getFiles.error------------------->', error);\n } finally {\n yield put(commonLoadingFinish());\n }\n}\n\nexport function* deleteFilesSaga(action: any) {\n const t = getLanguage(action.payload.language)\n try {\n yield put(commonLoadingStart());\n const { id, name, token } = action.payload\n\n yield call(api.delete, `/delete/${id}/${name}?token=${token}`);\n const { data } = yield call(api.get, `/training/${id}?token=${token}`);\n yield put(deleteFilesActionSuccess({ files: data.files, success: true }));\n } catch (error) {\n toast.error({title: t.toast.deleteFile.fail.title, description: t.toast.deleteFile.fail.description});\n console.log('-----------deleteFilesSaga.error------------------->', error);\n } finally {\n yield put(commonLoadingFinish());\n }\n}\n\nexport function* testSaga(action: any) {\n try {\n yield put(commonLoadingStart());\n const { question, profile, presset, files_directory, token } = action.payload\n const { data } = yield call(api.post, `/ask`, { question, profile, tag: presset, files_directory, token });\n yield put(testActionSuccess({ message: data.message }));\n } catch (error) {\n console.log('-----------testSaga.error------------------->', error);\n } finally {\n yield put(commonLoadingFinish());\n }\n}\n\nexport function* uploadFilesSaga(action: any) {\n const t = getLanguage(action.payload.language);\n try {\n yield put(commonLoadingStart());\n const { id, file, pressets, token } = action.payload;\n\n const blob = new Blob([file.content]);\n const formData = new FormData();\n formData.append('file', blob, file.properties.path);\n\n const queryParams = pressets.length\n ? new URLSearchParams({ tags: pressets.join(',') }).toString()\n : '';\n\n const url = queryParams\n ? `/upload/${id}?token=${token}&${queryParams}`\n : `/upload/${id}?token=${token}`;\n\n yield call(api.post, url, formData, {\n headers: {\n 'Content-Type': 'multipart/form-data',\n },\n });\n\n const { data } = yield call(api.get, `/training/${id}?token=${token}`);\n yield put(uploadFilesActionSuccess({ files: data.files }));\n } catch (error) {\n toast.error({\n title: t.toast.uploadFile.fail.title,\n description: t.toast.uploadFile.fail.description,\n });\n console.log('-----------uploadFilesSaga.error------------------->', error);\n } finally {\n yield put(commonLoadingFinish());\n }\n}\n\n\nexport function* TrainingSaga(action: any) {\n const t = getLanguage(action.payload.language)\n try {\n yield put(commonLoadingStart());\n const { id, pressets, token } = action.payload;\n const tag = pressets.join(',');\n\n const queryParams = new URLSearchParams({ tag }).toString();\n\n yield call(api.post, pressets.length > 0 ? `/training?${queryParams}` : `/training`,{ files_directory: id, token });\n\n const { data } = yield call(api.get, `/training/${id}?token=${token}`);\n yield put(uploadFilesActionSuccess({ files: data.files }));\n toast.success({title: t.toast.Train.success.title, description: t.toast.Train.success.description});\n } catch (error) {\n toast.error({title: t.toast.Train.fail.title, description: t.toast.Train.fail.description});\n console.log('-----------TrainingSaga.error------------------->', error);\n } finally {\n yield put(commonLoadingFinish());\n }\n}\n\nexport default function* filesSagas() {\n yield all([\n takeLatest(Types.GET_FILES_REQUEST, getFilesSaga),\n takeLatest(Types.DELETE_FILES_REQUEST, deleteFilesSaga),\n takeLatest(Types.UPLOAD_FILES_REQUEST, uploadFilesSaga),\n takeLatest(Types.TEST_REQUEST, testSaga),\n takeLatest(Types.TRAINING_REQUEST, TrainingSaga)\n ]);\n}\n","import { createStore, applyMiddleware } from 'redux';\nimport createSagaMiddleware from 'redux-saga';\nimport Reducer from './modules/reducer';\nimport Sagas from './modules/sagas';\n\nconst sagaMiddleware = createSagaMiddleware();\n\nconst store = createStore(Reducer, applyMiddleware(sagaMiddleware));\n\nsagaMiddleware.run(Sagas);\n\nexport default store;\n\n","import type { PropsWithChildren, ReactElement } from 'react';\nimport { Provider } from 'react-redux';\nimport React from 'react';\nimport { Leia } from './Leia';\nimport store from './store';\n\nexport type Props = PropsWithChildren<{\n id: string;\n activeTab: string;\n language: \"en\" | \"pt-br\" | \"es\";\n loading: ReactElement\n token: string;\n}>;\n\nexport function Code7(props: Props) {\n return <Provider store={store}>\n <Leia {...props} />\n </Provider>;\n}"],"names":["TabsPane","styled","ul","_templateObject","_taggedTemplateLiteralLoose","Tab","li","_templateObject2","_ref","active","children","rest","_objectWithoutPropertiesLoose","_excluded","React","S","className","cc","propTypes","PropTypes","oneOfType","string","element","node","isRequired","onChange","func","value","bool","defaultProps","Tabs","_ref2","childrenProp","_excluded2","Children","map","child","isValidElement","Array","isArray","_child$props","props","_child$props2","cloneElement","_child$props3","onClick","_child$props4","number","enTranslation","files","test","fileArea","description","fileName","status","presset","actions","search","fileUpload","training","emptyState","title","modal","descriptionUpload","chooseFile","uploadFile","deleteFileTitle","deleteFile","trainingTitle","trainingDescription","buttons","cancel","send","addNewPresset","addPresset","testArea","typeSentence","selectPersona","selectPresset","toast","success","fail","Test","Train","ptTranslation","esTranslation","getLanguage","language","Container","div","isloading","css","Header","_templateObject3","TableWrapper","Table","table","TableLoadingWrapper","SpinnerWrapper","span","color","Spinner","_ref$color","_ref$size","size","forwardRef","ref","_ref$isloading","_ref$className","oneOf","InputContainer","Input","input","IconContainer","SearchInput","placeholder","setFiles","initialFiles","searchName","e","searchTerm","target","trim","normalizedSearchTerm","unorm","nfkd","toLowerCase","newFiles","filter","file","normalizedFileName","name","includes","type","FaSearch","FullScreen","isopen","isfixed","_ref3","zindex","Modal","_ref4","maxwidth","ModalContainer","_ref5","maxheight","ModalHeader","header","_templateObject4","ModalTitle","_templateObject5","ModalButtonClose","button","_templateObject6","ModalContentWrapper","_templateObject7","_ref6","overflowy","_ref7","ModalFooterWrapper","_templateObject8","ModalFooter","ModalContent","_ref$maxheight","_ref$overflowy","style","onClose","contentStyle","modalRef","useRef","handleKeyUp","useCallback","keys","_","preventDefault","window","removeEventListener","keyCode","handleOutsideClick","current","parentNode","document","useEffect","addEventListener","String","MdClose","objectOf","any","hasborder","backgroundcolor","backgroundicon","EmptyState","icon","activeButton","iconButton","descriptionButton","widthButton","backgroundIcon","backgroundColor","MultiSelectWrapper","SelectBox","OverSelect","Checkboxes","CheckboxLabel","label","SelectedValues","SelectedValue","MultiSelect","options","setPresset","setOptions","hasAddNewOptions","_useState","useState","expanded","setExpanded","_useState2","newOption","setNewOption","t","handleCheckboxChange","prevPresset","val","concat","showCheckboxes","handleInputChange","event","handleInputKeyPress","key","trimmedOption","some","option","prevOptions","index","onKeyPress","display","htmlFor","id","checked","getColor","isDragAccept","isDragReject","isDragActive","AreaUpload","formatFile","_ref$formatFile","_ref$multipleFile","multipleFile","_ref$initialFiles","_ref$setFile","setFile","_ref$file","_ref$onChange","myFiles","setMyFiles","onDrop","acceptedFiles","fileRejections","length","console","error","filesWithId","item","lastModified","forEach","reader","FileReader","onload","binaryStr","result","content","properties","readAsArrayBuffer","_useDropzone","useDropzone","accept","noClick","noKeyboard","multiple","getRootProps","getInputProps","open","arrayOf","object","removeItem","hasListFiles","url","axios","defaults","baseURL","create","SharedPropsContext","createContext","undefined","useSharedProps","context","useContext","Error","SharedPropsProvider","tags","setTags","personas","setPersonas","fetchData","_asyncToGenerator","_regeneratorRuntime","mark","_callee","_yield$api$get","data","wrap","_callee$","_context","prev","next","api","get","sent","t0","stop","apply","arguments","_callee2","_yield$api$get2","_callee2$","_context2","sharedProps","_extends","propTags","Provider","Types","GET_FILES_REQUEST","GET_FILES_SUCCESS","DELETE_FILES_REQUEST","DELETE_FILES_SUCCESS","UPLOAD_FILES_REQUEST","UPLOAD_FILES_SUCCESS","TRAINING_REQUEST","TEST_REQUEST","TEST_SUCCESS","LOADING_START","LOADING_FINISH","CHANGING_START","CHANGING_FINISH","NETWORK_ONLINE","NETWORK_OFFLINE","getFilesAction","token","types","payload","getFilesActionSuccess","deleteFilesAction","deleteFilesActionSuccess","uploadFilesAction","pressets","uploadFilesActionSuccess","trainingAction","testAction","question","profile","files_directory","testActionSuccess","message","commonLoadingStart","commonLoadingFinish","FileArea","_useSharedProps","setInitialFiles","_useState3","setUploadFile","_useState4","setModal","_useState5","modalDelete","setModalDelete","_useState6","modalTraining","setModalTraining","_useState7","fileDelete","setFileDelete","_useState8","optionsPresset","setOptionsPresset","_useState9","dispatch","useDispatch","initFiles","useSelector","state","tag","pressetTag","html","checkIcon","trained","renderToString","TiDelete","tagClass","join","handleOpenModal","handleOpenModalDelete","handleOpenModalTraining","push","handleUploadFile","handleTrain","viewFile","link","FaFile","renderFiles","Search","FaUpload","GiWeightLiftingUp","FaList","dangerouslySetInnerHTML","__html","FaCheck","form","Inputs","Result","CustomSelect","onSelect","isOpen","setIsOpen","selectedValue","setSelectedValue","handleSelectOption","selected","background","StyledInput","InputTest","TestArea","results","setSearch","setProfile","optionsPersona","persona","handleSelectPersona","handleSelectPresset","handleSearch","handleTest","returnTest","Select","PiWaveformBold","MdPerson2","Leia","match","useRouteMatch","_useLocation","useLocation","pathname","history","useHistory","activeTab","useMemo","split","Suspense","fallback","loading","SwitchRoute","Route","path","exact","component","INITIAL_STATE","isChanging","isOffline","filesReducer","action","produce","draft","CustomToastContent","_default","reactToast","warn","getFilesSaga","_marked2","deleteFilesSaga","_marked3","testSaga","_marked4","uploadFilesSaga","_marked5","TrainingSaga","_marked6","filesSagas","_action$payload","_yield$call","getFilesSaga$","put","call","log","finish","_marked","_action$payload2","_yield$call2","deleteFilesSaga$","_action$payload3","_yield$call3","testSaga$","_context3","post","_action$payload4","blob","formData","queryParams","_yield$call4","uploadFilesSaga$","_context4","Blob","FormData","append","URLSearchParams","toString","headers","_action$payload5","_yield$call5","TrainingSaga$","_context5","filesSagas$","_context6","all","takeLatest","sagaMiddleware","createSagaMiddleware","store","createStore","Reducer","applyMiddleware","run","Sagas","Code7"],"mappings":"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"}