code7-leia 0.1.13 → 0.1.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/code7-leia.cjs.development.js +179 -18
- package/dist/code7-leia.cjs.development.js.map +1 -1
- package/dist/code7-leia.cjs.production.min.js +1 -1
- package/dist/code7-leia.cjs.production.min.js.map +1 -1
- package/dist/code7-leia.esm.js +180 -19
- package/dist/code7-leia.esm.js.map +1 -1
- package/dist/components/FileArea/components/Spinner/index.d.ts +4 -0
- package/dist/components/FileArea/components/Spinner/styles.d.ts +2 -0
- package/dist/components/FileArea/components/Table/index.d.ts +4 -0
- package/dist/components/FileArea/components/Table/styles.d.ts +4 -0
- package/dist/interface/Language.d.ts +40 -0
- package/dist/interface/Table.d.ts +12 -0
- package/dist/utils/getLanguage.d.ts +1 -5
- package/package.json +1 -1
- package/src/components/FileArea/components/Spinner/index.tsx +22 -0
- package/src/components/FileArea/components/Spinner/styles.tsx +59 -0
- package/src/components/FileArea/components/Table/index.tsx +34 -0
- package/src/components/FileArea/components/Table/styles.tsx +59 -0
- package/src/components/FileArea/index.tsx +32 -10
- package/src/interface/Language.ts +42 -0
- package/src/interface/Table.ts +12 -0
- package/src/utils/getLanguage.tsx +115 -10
|
@@ -11,6 +11,20 @@ var PropTypes = _interopDefault(require('prop-types'));
|
|
|
11
11
|
var cc = _interopDefault(require('classcat'));
|
|
12
12
|
var styled = _interopDefault(require('styled-components'));
|
|
13
13
|
|
|
14
|
+
function _extends() {
|
|
15
|
+
_extends = Object.assign ? Object.assign.bind() : function (target) {
|
|
16
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
17
|
+
var source = arguments[i];
|
|
18
|
+
for (var key in source) {
|
|
19
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
|
20
|
+
target[key] = source[key];
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return target;
|
|
25
|
+
};
|
|
26
|
+
return _extends.apply(this, arguments);
|
|
27
|
+
}
|
|
14
28
|
function _objectWithoutPropertiesLoose(source, excluded) {
|
|
15
29
|
if (source == null) return {};
|
|
16
30
|
var target = {};
|
|
@@ -92,27 +106,166 @@ Tabs.propTypes = {
|
|
|
92
106
|
onChange: PropTypes.func.isRequired
|
|
93
107
|
};
|
|
94
108
|
|
|
109
|
+
var defaultLanguage = {
|
|
110
|
+
files: 'Files',
|
|
111
|
+
test: 'Test',
|
|
112
|
+
fileArea: {
|
|
113
|
+
description: 'bla bla bla bla bla',
|
|
114
|
+
fileName: 'File name',
|
|
115
|
+
presset: 'Presset',
|
|
116
|
+
actions: 'Actions',
|
|
117
|
+
search: 'Search',
|
|
118
|
+
fileUpload: 'File upload',
|
|
119
|
+
emptyState: {
|
|
120
|
+
title: 'No data',
|
|
121
|
+
description: 'bla bla bla bla bla'
|
|
122
|
+
},
|
|
123
|
+
modal: {
|
|
124
|
+
descriptionUpload: 'Drag and drop files here or',
|
|
125
|
+
chooseFile: 'Choose a file'
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
buttons: {
|
|
129
|
+
cancel: 'Cancel',
|
|
130
|
+
send: 'Send',
|
|
131
|
+
"delete": 'Delete',
|
|
132
|
+
test: 'Test'
|
|
133
|
+
},
|
|
134
|
+
testArea: {
|
|
135
|
+
description: 'bla bla bla bla bla',
|
|
136
|
+
typeSentence: 'Type a sentence',
|
|
137
|
+
selectPersona: 'Select a Persona',
|
|
138
|
+
selectPresset: 'Select a presset',
|
|
139
|
+
emptyState: {
|
|
140
|
+
title: 'No data for analysis',
|
|
141
|
+
description: 'Do a search, click the "Test" button.'
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
};
|
|
95
145
|
var getLanguage = function getLanguage(language) {
|
|
96
146
|
var languages = {
|
|
97
|
-
en:
|
|
98
|
-
files: 'Files',
|
|
99
|
-
test: 'Test'
|
|
100
|
-
},
|
|
147
|
+
en: defaultLanguage,
|
|
101
148
|
'pt-br': {
|
|
102
149
|
files: 'Arquivos',
|
|
103
|
-
test: 'Teste'
|
|
150
|
+
test: 'Teste',
|
|
151
|
+
fileArea: _extends({}, defaultLanguage.fileArea, {
|
|
152
|
+
fileName: 'Nome do arquivo',
|
|
153
|
+
presset: 'Presset',
|
|
154
|
+
actions: 'Ações',
|
|
155
|
+
search: 'Pesquisar',
|
|
156
|
+
fileUpload: 'Upload de arquivo',
|
|
157
|
+
emptyState: _extends({}, defaultLanguage.fileArea.emptyState, {
|
|
158
|
+
title: 'Sem dados'
|
|
159
|
+
}),
|
|
160
|
+
modal: _extends({}, defaultLanguage.fileArea.modal, {
|
|
161
|
+
descriptionUpload: 'Arraste e solte os arquivos aqui ou',
|
|
162
|
+
chooseFile: 'Escolha um arquivo'
|
|
163
|
+
})
|
|
164
|
+
}),
|
|
165
|
+
buttons: _extends({}, defaultLanguage.buttons, {
|
|
166
|
+
cancel: 'Cancelar',
|
|
167
|
+
send: 'Enviar',
|
|
168
|
+
"delete": 'Excluir',
|
|
169
|
+
test: 'Testar'
|
|
170
|
+
}),
|
|
171
|
+
testArea: _extends({}, defaultLanguage.testArea, {
|
|
172
|
+
description: 'bla bla bla bla bla',
|
|
173
|
+
typeSentence: 'Digite uma frase',
|
|
174
|
+
selectPersona: 'Selecione uma Persona',
|
|
175
|
+
selectPresset: 'Selecione uma predefinição',
|
|
176
|
+
emptyState: _extends({}, defaultLanguage.testArea.emptyState, {
|
|
177
|
+
title: 'Sem dados para análise',
|
|
178
|
+
description: 'Faça uma pesquisa, clique no botão "Teste".'
|
|
179
|
+
})
|
|
180
|
+
})
|
|
104
181
|
},
|
|
105
|
-
es: {
|
|
182
|
+
es: _extends({}, defaultLanguage, {
|
|
106
183
|
files: 'Archivos',
|
|
107
|
-
test: 'Prueba'
|
|
108
|
-
|
|
184
|
+
test: 'Prueba',
|
|
185
|
+
fileArea: _extends({}, defaultLanguage.fileArea, {
|
|
186
|
+
fileName: 'Nombre del archivo',
|
|
187
|
+
presset: 'Presset',
|
|
188
|
+
actions: 'Acciones',
|
|
189
|
+
search: 'Buscar',
|
|
190
|
+
fileUpload: 'Carga de archivos',
|
|
191
|
+
emptyState: _extends({}, defaultLanguage.fileArea.emptyState, {
|
|
192
|
+
title: 'Sin datos'
|
|
193
|
+
}),
|
|
194
|
+
modal: _extends({}, defaultLanguage.fileArea.modal, {
|
|
195
|
+
descriptionUpload: 'Arrastre y suelte los archivos aquí o',
|
|
196
|
+
chooseFile: 'Elegir un archivo'
|
|
197
|
+
})
|
|
198
|
+
}),
|
|
199
|
+
buttons: _extends({}, defaultLanguage.buttons, {
|
|
200
|
+
cancel: 'Cancelar',
|
|
201
|
+
send: 'Enviar',
|
|
202
|
+
"delete": 'Eliminar',
|
|
203
|
+
test: 'Probar'
|
|
204
|
+
}),
|
|
205
|
+
testArea: _extends({}, defaultLanguage.testArea, {
|
|
206
|
+
description: 'bla bla bla bla bla',
|
|
207
|
+
typeSentence: 'Escribe una oración',
|
|
208
|
+
selectPersona: 'Seleccionar una Persona',
|
|
209
|
+
selectPresset: 'Seleccionar una configuración preestablecida',
|
|
210
|
+
emptyState: _extends({}, defaultLanguage.testArea.emptyState, {
|
|
211
|
+
title: 'Sin datos para el análisis',
|
|
212
|
+
description: 'Realiza una búsqueda, haz clic en el botón "Prueba".'
|
|
213
|
+
})
|
|
214
|
+
})
|
|
215
|
+
})
|
|
109
216
|
};
|
|
110
|
-
return languages[language] ||
|
|
217
|
+
return languages[language] || defaultLanguage;
|
|
111
218
|
};
|
|
112
219
|
|
|
113
220
|
var _templateObject$1;
|
|
114
221
|
var Container = /*#__PURE__*/styled.div(_templateObject$1 || (_templateObject$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n"])));
|
|
115
222
|
|
|
223
|
+
var _templateObject$2, _templateObject2$1, _templateObject3;
|
|
224
|
+
var TableWrapper = /*#__PURE__*/styled.div(_templateObject$2 || (_templateObject$2 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n width: 100%;\n height: max-content;\n min-height: 50px;\n position: relative;\n"])));
|
|
225
|
+
var Table = /*#__PURE__*/styled.table(_templateObject2$1 || (_templateObject2$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n font-size: 14px;\n line-height: 143%;\n color: var(--neutral-3);\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n\n th {\n font-weight: 600;\n font-size: 14px;\n line-height: 143%;\n letter-spacing: 0.018em;\n color: var(--neutral-3);\n text-align: left;\n padding: 0px 0px 8px 0px;\n }\n\n thead tr {\n border-bottom: 1px solid var(--neutral-1);\n }\n\n tbody tr:not(:last-child) {\n border-bottom: 1px solid var(--neutral-1);\n }\n\n &.small td {\n padding: 4px 0px;\n }\n\n &.medium td {\n padding: 8px 0px;\n }\n\n &.large td {\n padding: var(--spacement-medium) 0px;\n }\n"])));
|
|
226
|
+
var TableLoadingWrapper = /*#__PURE__*/styled.div(_templateObject3 || (_templateObject3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\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"])));
|
|
227
|
+
|
|
228
|
+
var _templateObject$3;
|
|
229
|
+
var SpinnerWrapper = /*#__PURE__*/styled.span(_templateObject$3 || (_templateObject$3 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\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: ", " 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"])), function (props) {
|
|
230
|
+
return "var(--" + props.color + ")";
|
|
231
|
+
});
|
|
232
|
+
|
|
233
|
+
var Spinner = function Spinner(_ref) {
|
|
234
|
+
var _ref$color = _ref.color,
|
|
235
|
+
color = _ref$color === void 0 ? 'neutral-3' : _ref$color,
|
|
236
|
+
_ref$size = _ref.size,
|
|
237
|
+
size = _ref$size === void 0 ? 'md' : _ref$size,
|
|
238
|
+
className = _ref.className;
|
|
239
|
+
return React__default.createElement(SpinnerWrapper, {
|
|
240
|
+
color: color,
|
|
241
|
+
className: cc(["spinner--" + size, className])
|
|
242
|
+
}, React__default.createElement("span", null), React__default.createElement("span", null), React__default.createElement("span", null), React__default.createElement("span", null));
|
|
243
|
+
};
|
|
244
|
+
|
|
245
|
+
var _excluded$1 = ["size", "children", "isLoading", "className"];
|
|
246
|
+
var Table$1 = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
|
|
247
|
+
var _ref$size = _ref.size,
|
|
248
|
+
size = _ref$size === void 0 ? 'medium' : _ref$size,
|
|
249
|
+
children = _ref.children,
|
|
250
|
+
_ref$isLoading = _ref.isLoading,
|
|
251
|
+
isLoading = _ref$isLoading === void 0 ? false : _ref$isLoading,
|
|
252
|
+
_ref$className = _ref.className,
|
|
253
|
+
className = _ref$className === void 0 ? '' : _ref$className,
|
|
254
|
+
props = _objectWithoutPropertiesLoose(_ref, _excluded$1);
|
|
255
|
+
return React__default.createElement(TableWrapper, {
|
|
256
|
+
className: className
|
|
257
|
+
}, isLoading ? React__default.createElement(TableLoadingWrapper, null, React__default.createElement(Spinner, null)) : null, React__default.createElement(Table, Object.assign({
|
|
258
|
+
className: cc([size]),
|
|
259
|
+
ref: ref
|
|
260
|
+
}, props), children));
|
|
261
|
+
});
|
|
262
|
+
Table$1.propTypes = {
|
|
263
|
+
children: PropTypes.node.isRequired,
|
|
264
|
+
className: PropTypes.string,
|
|
265
|
+
size: /*#__PURE__*/PropTypes.oneOf(['small', 'medium', 'large']),
|
|
266
|
+
isLoading: PropTypes.bool
|
|
267
|
+
};
|
|
268
|
+
|
|
116
269
|
var FileArea = function FileArea() {
|
|
117
270
|
var _useState = React.useState([]),
|
|
118
271
|
files = _useState[0],
|
|
@@ -120,6 +273,7 @@ var FileArea = function FileArea() {
|
|
|
120
273
|
var _useLocation = reactRouterDom.useLocation(),
|
|
121
274
|
pathname = _useLocation.pathname;
|
|
122
275
|
var id = pathname.split('/')[4];
|
|
276
|
+
var t = getLanguage('pt-br');
|
|
123
277
|
React.useEffect(function () {
|
|
124
278
|
setFiles([{
|
|
125
279
|
"name": "Documentação conceitual Code7_v3",
|
|
@@ -136,21 +290,28 @@ var FileArea = function FileArea() {
|
|
|
136
290
|
}]);
|
|
137
291
|
}, []);
|
|
138
292
|
React.useEffect(function () {
|
|
139
|
-
console.log('files, id: ', files, id);
|
|
293
|
+
console.log('files, id, t: ', files, id, t);
|
|
140
294
|
}, [files]);
|
|
295
|
+
var presset = function presset(tags) {
|
|
296
|
+
return tags.split(',').map(function (tag) {
|
|
297
|
+
return "<p class='tag'>" + tag + "</p>";
|
|
298
|
+
}).join('');
|
|
299
|
+
};
|
|
141
300
|
var renderFiles = function renderFiles() {
|
|
142
301
|
if (files.length === 0) {
|
|
143
302
|
return null;
|
|
144
303
|
}
|
|
145
|
-
return React__default.createElement("
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
}))
|
|
304
|
+
return React__default.createElement(Table$1, null, React__default.createElement("thead", null, React__default.createElement("tr", null, React__default.createElement("th", {
|
|
305
|
+
className: "th_file_name"
|
|
306
|
+
}, t.fileArea.fileName), React__default.createElement("th", {
|
|
307
|
+
className: "th_pressets"
|
|
308
|
+
}, t.fileArea.presset), React__default.createElement("th", {
|
|
309
|
+
className: "th_actions"
|
|
310
|
+
}, t.fileArea.actions))), React__default.createElement("tbody", null, files.map(function (object) {
|
|
311
|
+
return React__default.createElement("tr", null, React__default.createElement("td", null, object.name), React__default.createElement("td", null, presset(object.tags)), React__default.createElement("td", null, t.buttons["delete"]));
|
|
312
|
+
})));
|
|
152
313
|
};
|
|
153
|
-
return React__default.createElement(Container, null,
|
|
314
|
+
return React__default.createElement(Container, null, renderFiles());
|
|
154
315
|
};
|
|
155
316
|
|
|
156
317
|
var TestArea = function TestArea() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code7-leia.cjs.development.js","sources":["../src/components/Tabs/styles.tsx","../src/components/Tabs/index.tsx","../src/utils/getLanguage.tsx","../src/components/FileArea/styles.tsx","../src/components/FileArea/index.tsx","../src/components/TestArea/index.tsx","../src/Leia.tsx","../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","type Language = {\n files: string;\n test: string;\n};\n\nexport const getLanguage = (language: keyof Record<'en' | 'pt-br' | 'es', Language>): Language => {\n const languages: Record<'en' | 'pt-br' | 'es', Language> = {\n en: {\n files: 'Files',\n test: 'Test',\n },\n 'pt-br': {\n files: 'Arquivos',\n test: 'Teste',\n },\n es: {\n files: 'Archivos',\n test: 'Prueba',\n }\n };\n\n return languages[language] || languages['pt-br'];\n};\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n display: flex;\n justify-content: center;\n`;\n","import React, { useEffect, useState} from 'react';\n\n// import { formatAxios } from '../../utils/formatAxios'\n\nimport { useLocation } from 'react-router-dom';\n\nimport type { FileData } from '../../interface/FileData'\n\nimport * as S from './styles';\n\nexport const FileArea = () => {\n const [files, setFiles] = useState<FileData[]>([]);\n const { pathname } = useLocation();\n const id = pathname.split('/')[4]\n\n useEffect(() => {\n setFiles([\n {\n \"name\": \"Documentação conceitual Code7_v3\",\n \"tags\": \"boteria, code7\"\n },\n {\n \"name\": \"PAE_Programa_Apoio_ao_Empregado\",\n \"tags\": \"pae, vr\"\n },\n {\n \"name\": \"Vidalink\",\n \"tags\": \"vidalink, vr\"\n },\n {\n \"name\": \"[GUIA PRÁTICO] Como criar o chatbot perfeito\",\n \"tags\": \"ebook, code7\"\n }\n ])\n }, [])\n\n useEffect(() => {\n console.log('files, id: ', files, id)\n }, [files])\n\n const renderFiles = () => {\n if (files.length === 0) {\n return null;\n }\n \n return (\n <ul>\n {files.map(({ name, tags }, index) => (\n <li key={index}>\n <div>{name}</div>\n <div>{tags}</div>\n </li>\n ))}\n </ul>\n );\n }\n\n return (\n <S.Container>\n <div>File Area</div>\n {renderFiles()}\n </S.Container>\n );\n};","import React from 'react';\n\nexport const TestArea = () => {\n return (\n <div>\n <p>Teste Area</p>\n \n </div>\n );\n};","import React, { useMemo, Suspense } from 'react';\n\nimport { Route, useLocation, useRouteMatch, useHistory, Switch as SwitchRoute } from 'react-router-dom';\n\nimport type { Props } from './index';\nimport { Tab, Tabs } from './components/Tabs'\n\nimport { getLanguage } from './utils/getLanguage'\n\nimport { FileArea } from './components/FileArea';\nimport { TestArea } from './components/TestArea';\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 <>\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 );\n};","import type { PropsWithChildren, ReactElement } from 'react';\nimport React from 'react';\nimport { Leia } from './Leia';\n\nexport type Props = PropsWithChildren<{\n id: string;\n activeTab: string;\n language: \"en\" | \"pt-br\" | \"es\";\n loading: ReactElement\n}>;\n\nexport function Code7(props: Props) {\n return <Leia {...props} />;\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","getLanguage","language","languages","en","files","test","es","Container","div","FileArea","_useState","useState","setFiles","_useLocation","useLocation","pathname","id","split","useEffect","console","log","renderFiles","length","index","name","tags","key","TestArea","Leia","match","useRouteMatch","history","useHistory","t","activeTab","useMemo","push","url","Suspense","fallback","loading","SwitchRoute","Route","path","exact","component","Code7"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"code7-leia.cjs.development.js","sources":["../src/components/Tabs/styles.tsx","../src/components/Tabs/index.tsx","../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/index.tsx","../src/components/TestArea/index.tsx","../src/Leia.tsx","../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","\nimport { Language } from '../interface/Language'\n\nconst defaultLanguage: Language = {\n files: 'Files',\n test: 'Test',\n fileArea: {\n description: 'bla bla bla bla bla',\n fileName: 'File name',\n presset: 'Presset',\n actions: 'Actions',\n search: 'Search',\n fileUpload: 'File upload',\n emptyState: {\n title: 'No data',\n description: 'bla bla bla bla bla',\n },\n modal: {\n descriptionUpload: 'Drag and drop files here or',\n chooseFile: 'Choose a file',\n },\n },\n buttons: {\n cancel: 'Cancel',\n send: 'Send',\n delete: 'Delete',\n test: 'Test',\n },\n testArea: {\n description: 'bla bla bla bla bla',\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};\n\nexport const getLanguage = (language: keyof Record<'en' | 'pt-br' | 'es', Language>): Language => {\n const languages = {\n en: defaultLanguage,\n 'pt-br': {\n files: 'Arquivos',\n test: 'Teste',\n fileArea: {\n ...defaultLanguage.fileArea,\n fileName: 'Nome do arquivo',\n presset: 'Presset',\n actions: 'Ações',\n search: 'Pesquisar',\n fileUpload: 'Upload de arquivo',\n emptyState: {\n ...defaultLanguage.fileArea.emptyState,\n title: 'Sem dados',\n },\n modal: {\n ...defaultLanguage.fileArea.modal,\n descriptionUpload: 'Arraste e solte os arquivos aqui ou',\n chooseFile: 'Escolha um arquivo',\n },\n },\n buttons: {\n ...defaultLanguage.buttons,\n cancel: 'Cancelar',\n send: 'Enviar',\n delete: 'Excluir',\n test: 'Testar',\n },\n testArea: {\n ...defaultLanguage.testArea,\n description: 'bla bla bla bla bla',\n typeSentence: 'Digite uma frase',\n selectPersona: 'Selecione uma Persona',\n selectPresset: 'Selecione uma predefinição',\n emptyState: {\n ...defaultLanguage.testArea.emptyState,\n title: 'Sem dados para análise',\n description: 'Faça uma pesquisa, clique no botão \"Teste\".',\n },\n },\n },\n es: {\n ...defaultLanguage,\n files: 'Archivos',\n test: 'Prueba',\n fileArea: {\n ...defaultLanguage.fileArea,\n fileName: 'Nombre del archivo',\n presset: 'Presset',\n actions: 'Acciones',\n search: 'Buscar',\n fileUpload: 'Carga de archivos',\n emptyState: {\n ...defaultLanguage.fileArea.emptyState,\n title: 'Sin datos',\n },\n modal: {\n ...defaultLanguage.fileArea.modal,\n descriptionUpload: 'Arrastre y suelte los archivos aquí o',\n chooseFile: 'Elegir un archivo',\n },\n },\n buttons: {\n ...defaultLanguage.buttons,\n cancel: 'Cancelar',\n send: 'Enviar',\n delete: 'Eliminar',\n test: 'Probar',\n },\n testArea: {\n ...defaultLanguage.testArea,\n description: 'bla bla bla bla bla',\n typeSentence: 'Escribe una oración',\n selectPersona: 'Seleccionar una Persona',\n selectPresset: 'Seleccionar una configuración preestablecida',\n emptyState: {\n ...defaultLanguage.testArea.emptyState,\n title: 'Sin datos para el análisis',\n description: 'Realiza una búsqueda, haz clic en el botón \"Prueba\".',\n },\n },\n },\n };\n\n return languages[language] || defaultLanguage;\n};\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n display: flex;\n justify-content: center;\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: var(--neutral-3);\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n\n th {\n font-weight: 600;\n font-size: 14px;\n line-height: 143%;\n letter-spacing: 0.018em;\n color: var(--neutral-3);\n text-align: left;\n padding: 0px 0px 8px 0px;\n }\n\n thead tr {\n border-bottom: 1px solid var(--neutral-1);\n }\n\n tbody tr:not(:last-child) {\n border-bottom: 1px solid var(--neutral-1);\n }\n\n &.small td {\n padding: 4px 0px;\n }\n\n &.medium td {\n padding: 8px 0px;\n }\n\n &.large td {\n padding: var(--spacement-medium) 0px;\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 React, { useEffect, useState} from 'react';\n\n// import { formatAxios } from '../../utils/formatAxios'\n\nimport { useLocation } from 'react-router-dom';\n\nimport type { FileData } from '../../interface/FileData'\n\nimport { getLanguage } from '../../utils/getLanguage'\n\nimport * as S from './styles';\nimport Table from './components/Table';\n\nexport const FileArea = () => {\n const [files, setFiles] = useState<FileData[]>([]);\n const { pathname } = useLocation();\n const id = pathname.split('/')[4]\n const t = getLanguage('pt-br')\n\n useEffect(() => {\n setFiles([\n {\n \"name\": \"Documentação conceitual Code7_v3\",\n \"tags\": \"boteria, code7\"\n },\n {\n \"name\": \"PAE_Programa_Apoio_ao_Empregado\",\n \"tags\": \"pae, vr\"\n },\n {\n \"name\": \"Vidalink\",\n \"tags\": \"vidalink, vr\"\n },\n {\n \"name\": \"[GUIA PRÁTICO] Como criar o chatbot perfeito\",\n \"tags\": \"ebook, code7\"\n }\n ])\n }, [])\n\n useEffect(() => {\n console.log('files, id, t: ', files, id, t)\n }, [files])\n\n const presset = (tags: string): string => tags.split(',').map(tag => `<p class='tag'>${tag}</p>`).join('');\n\n const renderFiles = () => {\n if (files.length === 0) {\n return null;\n }\n \n return (\n <Table>\n <thead>\n <tr>\n <th className=\"th_file_name\">\n {t.fileArea.fileName}\n </th>\n <th className=\"th_pressets\">\n {t.fileArea.presset}\n </th>\n <th className=\"th_actions\">\n {t.fileArea.actions}\n </th>\n </tr>\n </thead>\n\n <tbody>\n {files.map((object) => (\n <tr>\n <td>{object.name}</td>\n <td>{presset(object.tags)}</td>\n <td>{t.buttons.delete}</td>\n </tr>\n ))}\n </tbody>\n </Table>\n );\n }\n\n return (\n <S.Container>\n {renderFiles()}\n </S.Container>\n );\n};","import React from 'react';\n\nexport const TestArea = () => {\n return (\n <div>\n <p>Teste Area</p>\n \n </div>\n );\n};","import React, { useMemo, Suspense } from 'react';\n\nimport { Route, useLocation, useRouteMatch, useHistory, Switch as SwitchRoute } from 'react-router-dom';\n\nimport type { Props } from './index';\nimport { Tab, Tabs } from './components/Tabs'\n\nimport { getLanguage } from './utils/getLanguage'\n\nimport { FileArea } from './components/FileArea';\nimport { TestArea } from './components/TestArea';\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 <>\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 );\n};","import type { PropsWithChildren, ReactElement } from 'react';\nimport React from 'react';\nimport { Leia } from './Leia';\n\nexport type Props = PropsWithChildren<{\n id: string;\n activeTab: string;\n language: \"en\" | \"pt-br\" | \"es\";\n loading: ReactElement\n}>;\n\nexport function Code7(props: Props) {\n return <Leia {...props} />;\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","defaultLanguage","files","test","fileArea","description","fileName","presset","actions","search","fileUpload","emptyState","title","modal","descriptionUpload","chooseFile","buttons","cancel","send","testArea","typeSentence","selectPersona","selectPresset","getLanguage","language","languages","en","_extends","es","Container","div","TableWrapper","Table","table","TableLoadingWrapper","_templateObject3","SpinnerWrapper","span","color","Spinner","_ref$color","_ref$size","size","forwardRef","ref","_ref$isLoading","isLoading","_ref$className","oneOf","FileArea","_useState","useState","setFiles","_useLocation","useLocation","pathname","id","split","t","useEffect","console","log","tags","tag","join","renderFiles","length","object","name","TestArea","Leia","match","useRouteMatch","history","useHistory","activeTab","useMemo","push","url","Suspense","fallback","loading","SwitchRoute","Route","path","exact","component","Code7"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n,t,
|
|
1
|
+
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var n,t,a=require("react"),r=e(a),l=require("react-router-dom"),i=e(require("prop-types")),o=e(require("classcat")),s=e(require("styled-components"));function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e}).apply(this,arguments)}function u(e,n){if(null==e)return{};var t,a,r={},l=Object.keys(e);for(a=0;a<l.length;a++)n.indexOf(t=l[a])>=0||(r[t]=e[t]);return r}function p(e,n){return n||(n=e.slice(0)),e.raw=n,e}var d=s.ul(n||(n=p(["\n width: max-content;\n display: flex;\n align-items: center;\n border-bottom: 1px solid var(--neutral-1);\n"]))),m=s.li(t||(t=p(["\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"]))),f=["active","children"],h=["children","value","onChange"],b=function(e){var n=e.active,t=e.children,a=u(e,f);return r.createElement(m,Object.assign({className:o({active:n})},a),t)};b.propTypes={children:i.oneOfType([i.string,i.element,i.node]).isRequired,onChange:i.func,value:i.string,active:i.bool},b.defaultProps={onChange:function(){},value:"",active:!1};var v=function(e){var n=e.children,t=e.value,a=e.onChange,l=u(e,h),i=r.Children.map(n,(function(e){var n,l,i;return r.isValidElement(e)?Array.isArray(null==(n=e.props)?void 0:n.children)?r.cloneElement(e,{active:(null==(i=e.props)?void 0:i.value)===t,value:t,onChange:a}):r.cloneElement(e,{active:(null==(l=e.props)?void 0:l.value)===t,onClick:function(){var n;return a(null==(n=e.props)?void 0:n.value)}}):null}));return r.createElement(d,Object.assign({},l),i)};v.propTypes={children:i.node.isRequired,value:i.oneOfType([i.string,i.number]).isRequired,onChange:i.func.isRequired};var g,y,E,x,A,S={files:"Files",test:"Test",fileArea:{description:"bla bla bla bla bla",fileName:"File name",presset:"Presset",actions:"Actions",search:"Search",fileUpload:"File upload",emptyState:{title:"No data",description:"bla bla bla bla bla"},modal:{descriptionUpload:"Drag and drop files here or",chooseFile:"Choose a file"}},buttons:{cancel:"Cancel",send:"Send",delete:"Delete",test:"Test"},testArea:{description:"bla bla bla bla bla",typeSentence:"Type a sentence",selectPersona:"Select a Persona",selectPresset:"Select a presset",emptyState:{title:"No data for analysis",description:'Do a search, click the "Test" button.'}}},P=function(e){return{en:S,"pt-br":{files:"Arquivos",test:"Teste",fileArea:c({},S.fileArea,{fileName:"Nome do arquivo",presset:"Presset",actions:"Ações",search:"Pesquisar",fileUpload:"Upload de arquivo",emptyState:c({},S.fileArea.emptyState,{title:"Sem dados"}),modal:c({},S.fileArea.modal,{descriptionUpload:"Arraste e solte os arquivos aqui ou",chooseFile:"Escolha um arquivo"})}),buttons:c({},S.buttons,{cancel:"Cancelar",send:"Enviar",delete:"Excluir",test:"Testar"}),testArea:c({},S.testArea,{description:"bla bla bla bla bla",typeSentence:"Digite uma frase",selectPersona:"Selecione uma Persona",selectPresset:"Selecione uma predefinição",emptyState:c({},S.testArea.emptyState,{title:"Sem dados para análise",description:'Faça uma pesquisa, clique no botão "Teste".'})})},es:c({},S,{files:"Archivos",test:"Prueba",fileArea:c({},S.fileArea,{fileName:"Nombre del archivo",presset:"Presset",actions:"Acciones",search:"Buscar",fileUpload:"Carga de archivos",emptyState:c({},S.fileArea.emptyState,{title:"Sin datos"}),modal:c({},S.fileArea.modal,{descriptionUpload:"Arrastre y suelte los archivos aquí o",chooseFile:"Elegir un archivo"})}),buttons:c({},S.buttons,{cancel:"Cancelar",send:"Enviar",delete:"Eliminar",test:"Probar"}),testArea:c({},S.testArea,{description:"bla bla bla bla bla",typeSentence:"Escribe una oración",selectPersona:"Seleccionar una Persona",selectPresset:"Seleccionar una configuración preestablecida",emptyState:c({},S.testArea.emptyState,{title:"Sin datos para el análisis",description:'Realiza una búsqueda, haz clic en el botón "Prueba".'})})})}[e]||S},q=s.div(g||(g=p(["\n display: flex;\n justify-content: center;\n"]))),N=s.div(y||(y=p(["\n width: 100%;\n height: max-content;\n min-height: 50px;\n position: relative;\n"]))),C=s.table(E||(E=p(["\n font-size: 14px;\n line-height: 143%;\n color: var(--neutral-3);\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n\n th {\n font-weight: 600;\n font-size: 14px;\n line-height: 143%;\n letter-spacing: 0.018em;\n color: var(--neutral-3);\n text-align: left;\n padding: 0px 0px 8px 0px;\n }\n\n thead tr {\n border-bottom: 1px solid var(--neutral-1);\n }\n\n tbody tr:not(:last-child) {\n border-bottom: 1px solid var(--neutral-1);\n }\n\n &.small td {\n padding: 4px 0px;\n }\n\n &.medium td {\n padding: 8px 0px;\n }\n\n &.large td {\n padding: var(--spacement-medium) 0px;\n }\n"]))),O=s.div(x||(x=p(["\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"]))),j=s.span(A||(A=p(["\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: "," 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"])),(function(e){return"var(--"+e.color+")"})),w=function(e){var n=e.color,t=e.size;return r.createElement(j,{color:void 0===n?"neutral-3":n,className:o(["spinner--"+(void 0===t?"md":t),e.className])},r.createElement("span",null),r.createElement("span",null),r.createElement("span",null),r.createElement("span",null))},T=["size","children","isLoading","className"],k=a.forwardRef((function(e,n){var t=e.size,a=void 0===t?"medium":t,l=e.children,i=e.isLoading,s=void 0!==i&&i,c=e.className,p=void 0===c?"":c,d=u(e,T);return r.createElement(N,{className:p},s?r.createElement(O,null,r.createElement(w,null)):null,r.createElement(C,Object.assign({className:o([a]),ref:n},d),l))}));k.propTypes={children:i.node.isRequired,className:i.string,size:i.oneOf(["small","medium","large"]),isLoading:i.bool};var R=function(){var e=a.useState([]),n=e[0],t=e[1],i=l.useLocation().pathname.split("/")[4],o=P("pt-br");return a.useEffect((function(){t([{name:"Documentação conceitual Code7_v3",tags:"boteria, code7"},{name:"PAE_Programa_Apoio_ao_Empregado",tags:"pae, vr"},{name:"Vidalink",tags:"vidalink, vr"},{name:"[GUIA PRÁTICO] Como criar o chatbot perfeito",tags:"ebook, code7"}])}),[]),a.useEffect((function(){console.log("files, id, t: ",n,i,o)}),[n]),r.createElement(q,null,0===n.length?null:r.createElement(k,null,r.createElement("thead",null,r.createElement("tr",null,r.createElement("th",{className:"th_file_name"},o.fileArea.fileName),r.createElement("th",{className:"th_pressets"},o.fileArea.presset),r.createElement("th",{className:"th_actions"},o.fileArea.actions))),r.createElement("tbody",null,n.map((function(e){return r.createElement("tr",null,r.createElement("td",null,e.name),r.createElement("td",null,e.tags.split(",").map((function(e){return"<p class='tag'>"+e+"</p>"})).join("")),r.createElement("td",null,o.buttons.delete))})))))},z=function(){return r.createElement("div",null,r.createElement("p",null,"Teste Area"))},_=function(e){var n=l.useRouteMatch(),t=l.useLocation().pathname,i=l.useHistory(),o=P(e.language),s=a.useMemo((function(){return t.split("/")[5]||"files"}),[t]);return r.createElement(r.Fragment,null,r.createElement(v,{value:s,onChange:function(e){return i.push(n.url+"/"+e)}},r.createElement(b,{value:"files"},o.files),r.createElement(b,{value:"test"},o.test)),r.createElement(a.Suspense,{fallback:e.loading},r.createElement(l.Switch,null,r.createElement(l.Route,{path:""+n.path,exact:!0,component:R}),r.createElement(l.Route,{path:n.path+"/files",component:R}),r.createElement(l.Route,{path:n.path+"/test",component:z}))))};exports.Code7=function(e){return r.createElement(_,Object.assign({},e))};
|
|
2
2
|
//# sourceMappingURL=code7-leia.cjs.production.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code7-leia.cjs.production.min.js","sources":["../src/components/Tabs/styles.tsx","../src/components/Tabs/index.tsx","../src/utils/getLanguage.tsx","../src/components/FileArea/styles.tsx","../src/components/FileArea/index.tsx","../src/components/TestArea/index.tsx","../src/Leia.tsx","../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","type Language = {\n files: string;\n test: string;\n};\n\nexport const getLanguage = (language: keyof Record<'en' | 'pt-br' | 'es', Language>): Language => {\n const languages: Record<'en' | 'pt-br' | 'es', Language> = {\n en: {\n files: 'Files',\n test: 'Test',\n },\n 'pt-br': {\n files: 'Arquivos',\n test: 'Teste',\n },\n es: {\n files: 'Archivos',\n test: 'Prueba',\n }\n };\n\n return languages[language] || languages['pt-br'];\n};\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n display: flex;\n justify-content: center;\n`;\n","import React, { useEffect, useState} from 'react';\n\n// import { formatAxios } from '../../utils/formatAxios'\n\nimport { useLocation } from 'react-router-dom';\n\nimport type { FileData } from '../../interface/FileData'\n\nimport * as S from './styles';\n\nexport const FileArea = () => {\n const [files, setFiles] = useState<FileData[]>([]);\n const { pathname } = useLocation();\n const id = pathname.split('/')[4]\n\n useEffect(() => {\n setFiles([\n {\n \"name\": \"Documentação conceitual Code7_v3\",\n \"tags\": \"boteria, code7\"\n },\n {\n \"name\": \"PAE_Programa_Apoio_ao_Empregado\",\n \"tags\": \"pae, vr\"\n },\n {\n \"name\": \"Vidalink\",\n \"tags\": \"vidalink, vr\"\n },\n {\n \"name\": \"[GUIA PRÁTICO] Como criar o chatbot perfeito\",\n \"tags\": \"ebook, code7\"\n }\n ])\n }, [])\n\n useEffect(() => {\n console.log('files, id: ', files, id)\n }, [files])\n\n const renderFiles = () => {\n if (files.length === 0) {\n return null;\n }\n \n return (\n <ul>\n {files.map(({ name, tags }, index) => (\n <li key={index}>\n <div>{name}</div>\n <div>{tags}</div>\n </li>\n ))}\n </ul>\n );\n }\n\n return (\n <S.Container>\n <div>File Area</div>\n {renderFiles()}\n </S.Container>\n );\n};","import React from 'react';\n\nexport const TestArea = () => {\n return (\n <div>\n <p>Teste Area</p>\n \n </div>\n );\n};","import React, { useMemo, Suspense } from 'react';\n\nimport { Route, useLocation, useRouteMatch, useHistory, Switch as SwitchRoute } from 'react-router-dom';\n\nimport type { Props } from './index';\nimport { Tab, Tabs } from './components/Tabs'\n\nimport { getLanguage } from './utils/getLanguage'\n\nimport { FileArea } from './components/FileArea';\nimport { TestArea } from './components/TestArea';\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 <>\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 );\n};","import type { PropsWithChildren, ReactElement } from 'react';\nimport React from 'react';\nimport { Leia } from './Leia';\n\nexport type Props = PropsWithChildren<{\n id: string;\n activeTab: string;\n language: \"en\" | \"pt-br\" | \"es\";\n loading: ReactElement\n}>;\n\nexport function Code7(props: Props) {\n return <Leia {...props} />;\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","_child$props2","isValidElement","Array","isArray","_child$props","props","cloneElement","_child$props3","onClick","_child$props4","number","Container","div","FileArea","_useState","useState","files","setFiles","id","useLocation","pathname","split","useEffect","name","tags","console","log","length","index","key","TestArea","Leia","languages","match","useRouteMatch","history","useHistory","t","en","test","pt-br","es","language","activeTab","useMemo","push","url","Suspense","fallback","loading","SwitchRoute","Route","path","exact","component"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"code7-leia.cjs.production.min.js","sources":["../src/components/Tabs/styles.tsx","../src/components/Tabs/index.tsx","../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/index.tsx","../src/components/TestArea/index.tsx","../src/Leia.tsx","../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","\nimport { Language } from '../interface/Language'\n\nconst defaultLanguage: Language = {\n files: 'Files',\n test: 'Test',\n fileArea: {\n description: 'bla bla bla bla bla',\n fileName: 'File name',\n presset: 'Presset',\n actions: 'Actions',\n search: 'Search',\n fileUpload: 'File upload',\n emptyState: {\n title: 'No data',\n description: 'bla bla bla bla bla',\n },\n modal: {\n descriptionUpload: 'Drag and drop files here or',\n chooseFile: 'Choose a file',\n },\n },\n buttons: {\n cancel: 'Cancel',\n send: 'Send',\n delete: 'Delete',\n test: 'Test',\n },\n testArea: {\n description: 'bla bla bla bla bla',\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};\n\nexport const getLanguage = (language: keyof Record<'en' | 'pt-br' | 'es', Language>): Language => {\n const languages = {\n en: defaultLanguage,\n 'pt-br': {\n files: 'Arquivos',\n test: 'Teste',\n fileArea: {\n ...defaultLanguage.fileArea,\n fileName: 'Nome do arquivo',\n presset: 'Presset',\n actions: 'Ações',\n search: 'Pesquisar',\n fileUpload: 'Upload de arquivo',\n emptyState: {\n ...defaultLanguage.fileArea.emptyState,\n title: 'Sem dados',\n },\n modal: {\n ...defaultLanguage.fileArea.modal,\n descriptionUpload: 'Arraste e solte os arquivos aqui ou',\n chooseFile: 'Escolha um arquivo',\n },\n },\n buttons: {\n ...defaultLanguage.buttons,\n cancel: 'Cancelar',\n send: 'Enviar',\n delete: 'Excluir',\n test: 'Testar',\n },\n testArea: {\n ...defaultLanguage.testArea,\n description: 'bla bla bla bla bla',\n typeSentence: 'Digite uma frase',\n selectPersona: 'Selecione uma Persona',\n selectPresset: 'Selecione uma predefinição',\n emptyState: {\n ...defaultLanguage.testArea.emptyState,\n title: 'Sem dados para análise',\n description: 'Faça uma pesquisa, clique no botão \"Teste\".',\n },\n },\n },\n es: {\n ...defaultLanguage,\n files: 'Archivos',\n test: 'Prueba',\n fileArea: {\n ...defaultLanguage.fileArea,\n fileName: 'Nombre del archivo',\n presset: 'Presset',\n actions: 'Acciones',\n search: 'Buscar',\n fileUpload: 'Carga de archivos',\n emptyState: {\n ...defaultLanguage.fileArea.emptyState,\n title: 'Sin datos',\n },\n modal: {\n ...defaultLanguage.fileArea.modal,\n descriptionUpload: 'Arrastre y suelte los archivos aquí o',\n chooseFile: 'Elegir un archivo',\n },\n },\n buttons: {\n ...defaultLanguage.buttons,\n cancel: 'Cancelar',\n send: 'Enviar',\n delete: 'Eliminar',\n test: 'Probar',\n },\n testArea: {\n ...defaultLanguage.testArea,\n description: 'bla bla bla bla bla',\n typeSentence: 'Escribe una oración',\n selectPersona: 'Seleccionar una Persona',\n selectPresset: 'Seleccionar una configuración preestablecida',\n emptyState: {\n ...defaultLanguage.testArea.emptyState,\n title: 'Sin datos para el análisis',\n description: 'Realiza una búsqueda, haz clic en el botón \"Prueba\".',\n },\n },\n },\n };\n\n return languages[language] || defaultLanguage;\n};\n","import styled from 'styled-components';\n\nexport const Container = styled.div`\n display: flex;\n justify-content: center;\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: var(--neutral-3);\n width: 100%;\n border-collapse: collapse;\n border-spacing: 0;\n\n th {\n font-weight: 600;\n font-size: 14px;\n line-height: 143%;\n letter-spacing: 0.018em;\n color: var(--neutral-3);\n text-align: left;\n padding: 0px 0px 8px 0px;\n }\n\n thead tr {\n border-bottom: 1px solid var(--neutral-1);\n }\n\n tbody tr:not(:last-child) {\n border-bottom: 1px solid var(--neutral-1);\n }\n\n &.small td {\n padding: 4px 0px;\n }\n\n &.medium td {\n padding: 8px 0px;\n }\n\n &.large td {\n padding: var(--spacement-medium) 0px;\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 React, { useEffect, useState} from 'react';\n\n// import { formatAxios } from '../../utils/formatAxios'\n\nimport { useLocation } from 'react-router-dom';\n\nimport type { FileData } from '../../interface/FileData'\n\nimport { getLanguage } from '../../utils/getLanguage'\n\nimport * as S from './styles';\nimport Table from './components/Table';\n\nexport const FileArea = () => {\n const [files, setFiles] = useState<FileData[]>([]);\n const { pathname } = useLocation();\n const id = pathname.split('/')[4]\n const t = getLanguage('pt-br')\n\n useEffect(() => {\n setFiles([\n {\n \"name\": \"Documentação conceitual Code7_v3\",\n \"tags\": \"boteria, code7\"\n },\n {\n \"name\": \"PAE_Programa_Apoio_ao_Empregado\",\n \"tags\": \"pae, vr\"\n },\n {\n \"name\": \"Vidalink\",\n \"tags\": \"vidalink, vr\"\n },\n {\n \"name\": \"[GUIA PRÁTICO] Como criar o chatbot perfeito\",\n \"tags\": \"ebook, code7\"\n }\n ])\n }, [])\n\n useEffect(() => {\n console.log('files, id, t: ', files, id, t)\n }, [files])\n\n const presset = (tags: string): string => tags.split(',').map(tag => `<p class='tag'>${tag}</p>`).join('');\n\n const renderFiles = () => {\n if (files.length === 0) {\n return null;\n }\n \n return (\n <Table>\n <thead>\n <tr>\n <th className=\"th_file_name\">\n {t.fileArea.fileName}\n </th>\n <th className=\"th_pressets\">\n {t.fileArea.presset}\n </th>\n <th className=\"th_actions\">\n {t.fileArea.actions}\n </th>\n </tr>\n </thead>\n\n <tbody>\n {files.map((object) => (\n <tr>\n <td>{object.name}</td>\n <td>{presset(object.tags)}</td>\n <td>{t.buttons.delete}</td>\n </tr>\n ))}\n </tbody>\n </Table>\n );\n }\n\n return (\n <S.Container>\n {renderFiles()}\n </S.Container>\n );\n};","import React from 'react';\n\nexport const TestArea = () => {\n return (\n <div>\n <p>Teste Area</p>\n \n </div>\n );\n};","import React, { useMemo, Suspense } from 'react';\n\nimport { Route, useLocation, useRouteMatch, useHistory, Switch as SwitchRoute } from 'react-router-dom';\n\nimport type { Props } from './index';\nimport { Tab, Tabs } from './components/Tabs'\n\nimport { getLanguage } from './utils/getLanguage'\n\nimport { FileArea } from './components/FileArea';\nimport { TestArea } from './components/TestArea';\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 <>\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 );\n};","import type { PropsWithChildren, ReactElement } from 'react';\nimport React from 'react';\nimport { Leia } from './Leia';\n\nexport type Props = PropsWithChildren<{\n id: string;\n activeTab: string;\n language: \"en\" | \"pt-br\" | \"es\";\n loading: ReactElement\n}>;\n\nexport function Code7(props: Props) {\n return <Leia {...props} />;\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","_child$props2","isValidElement","Array","isArray","_child$props","props","cloneElement","_child$props3","onClick","_child$props4","number","defaultLanguage","files","test","fileArea","description","fileName","presset","actions","search","fileUpload","emptyState","title","modal","descriptionUpload","chooseFile","buttons","cancel","send","delete","testArea","typeSentence","selectPersona","selectPresset","getLanguage","language","en","pt-br","_extends","es","Container","div","TableWrapper","Table","table","TableLoadingWrapper","_templateObject3","SpinnerWrapper","span","color","Spinner","_ref$size","size","_ref$color","forwardRef","ref","_ref$isLoading","isLoading","_ref$className","oneOf","FileArea","_useState","useState","setFiles","id","useLocation","pathname","split","t","useEffect","name","tags","console","log","length","object","tag","join","TestArea","Leia","match","useRouteMatch","history","useHistory","activeTab","useMemo","push","url","Suspense","fallback","loading","SwitchRoute","Route","path","exact","component"],"mappings":"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"}
|