code7-leia 0.1.11 → 0.1.13
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 +29 -20
- 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 +29 -20
- package/dist/code7-leia.esm.js.map +1 -1
- package/dist/interface/FileData.d.ts +4 -0
- package/package.json +1 -1
- package/src/components/FileArea/index.tsx +26 -11
- package/src/interface/FileData.ts +4 -0
|
@@ -114,34 +114,43 @@ var _templateObject$1;
|
|
|
114
114
|
var Container = /*#__PURE__*/styled.div(_templateObject$1 || (_templateObject$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n"])));
|
|
115
115
|
|
|
116
116
|
var FileArea = function FileArea() {
|
|
117
|
-
var _useState = React.useState(
|
|
117
|
+
var _useState = React.useState([]),
|
|
118
118
|
files = _useState[0],
|
|
119
119
|
setFiles = _useState[1];
|
|
120
120
|
var _useLocation = reactRouterDom.useLocation(),
|
|
121
121
|
pathname = _useLocation.pathname;
|
|
122
|
+
var id = pathname.split('/')[4];
|
|
122
123
|
React.useEffect(function () {
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
"
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
"tags": "ebook, code7"
|
|
137
|
-
}]
|
|
138
|
-
});
|
|
139
|
-
console.log(files);
|
|
124
|
+
setFiles([{
|
|
125
|
+
"name": "Documentação conceitual Code7_v3",
|
|
126
|
+
"tags": "boteria, code7"
|
|
127
|
+
}, {
|
|
128
|
+
"name": "PAE_Programa_Apoio_ao_Empregado",
|
|
129
|
+
"tags": "pae, vr"
|
|
130
|
+
}, {
|
|
131
|
+
"name": "Vidalink",
|
|
132
|
+
"tags": "vidalink, vr"
|
|
133
|
+
}, {
|
|
134
|
+
"name": "[GUIA PRÁTICO] Como criar o chatbot perfeito",
|
|
135
|
+
"tags": "ebook, code7"
|
|
136
|
+
}]);
|
|
140
137
|
}, []);
|
|
141
138
|
React.useEffect(function () {
|
|
142
|
-
console.log(files);
|
|
139
|
+
console.log('files, id: ', files, id);
|
|
143
140
|
}, [files]);
|
|
144
|
-
|
|
141
|
+
var renderFiles = function renderFiles() {
|
|
142
|
+
if (files.length === 0) {
|
|
143
|
+
return null;
|
|
144
|
+
}
|
|
145
|
+
return React__default.createElement("ul", null, files.map(function (_ref, index) {
|
|
146
|
+
var name = _ref.name,
|
|
147
|
+
tags = _ref.tags;
|
|
148
|
+
return React__default.createElement("li", {
|
|
149
|
+
key: index
|
|
150
|
+
}, React__default.createElement("div", null, name), React__default.createElement("div", null, tags));
|
|
151
|
+
}));
|
|
152
|
+
};
|
|
153
|
+
return React__default.createElement(Container, null, React__default.createElement("div", null, "File Area"), renderFiles());
|
|
145
154
|
};
|
|
146
155
|
|
|
147
156
|
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 * as S from './styles';\n\nexport const FileArea = () => {\n const [files, setFiles] = useState({});\n const { pathname } = useLocation();\n\n useEffect(() => {\n // setFiles(await formatAxios('get', `http://127.0.0.1:5000/files/${id}`, false, ''))\n setFiles({\n \"files\": [\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 console.log(files)\n }, [])\n\n useEffect(() => {\n console.log(files)\n }, [files])\n\n return (\n <S.Container>\n <div>File Area ${pathname} /</div>\n \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","useEffect","console","log","TestArea","Leia","match","useRouteMatch","history","useHistory","t","activeTab","useMemo","split","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/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,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,r=require("react"),a=e(r),l=require("react-router-dom"),
|
|
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,r=require("react"),a=e(r),l=require("react-router-dom"),i=e(require("prop-types")),o=e(require("classcat")),u=e(require("styled-components"));function c(e,n){if(null==e)return{};var t,r,a={},l=Object.keys(e);for(r=0;r<l.length;r++)n.indexOf(t=l[r])>=0||(a[t]=e[t]);return a}function s(e,n){return n||(n=e.slice(0)),e.raw=n,e}var p=u.ul(n||(n=s(["\n width: max-content;\n display: flex;\n align-items: center;\n border-bottom: 1px solid var(--neutral-1);\n"]))),m=u.li(t||(t=s(["\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"]))),v=["active","children"],f=["children","value","onChange"],d=function(e){var n=e.active,t=e.children,r=c(e,v);return a.createElement(m,Object.assign({className:o({active:n})},r),t)};d.propTypes={children:i.oneOfType([i.string,i.element,i.node]).isRequired,onChange:i.func,value:i.string,active:i.bool},d.defaultProps={onChange:function(){},value:"",active:!1};var g=function(e){var n=e.children,t=e.value,r=e.onChange,l=c(e,f),i=a.Children.map(n,(function(e){var n,l,i;return a.isValidElement(e)?Array.isArray(null==(n=e.props)?void 0:n.children)?a.cloneElement(e,{active:(null==(i=e.props)?void 0:i.value)===t,value:t,onChange:r}):a.cloneElement(e,{active:(null==(l=e.props)?void 0:l.value)===t,onClick:function(){var n;return r(null==(n=e.props)?void 0:n.value)}}):null}));return a.createElement(p,Object.assign({},l),i)};g.propTypes={children:i.node.isRequired,value:i.oneOfType([i.string,i.number]).isRequired,onChange:i.func.isRequired};var h,E=u.div(h||(h=s(["\n display: flex;\n justify-content: center;\n"]))),b=function(){var e=r.useState([]),n=e[0],t=e[1],i=l.useLocation().pathname.split("/")[4];return r.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"}])}),[]),r.useEffect((function(){console.log("files, id: ",n,i)}),[n]),a.createElement(E,null,a.createElement("div",null,"File Area"),0===n.length?null:a.createElement("ul",null,n.map((function(e,n){var t=e.tags;return a.createElement("li",{key:n},a.createElement("div",null,e.name),a.createElement("div",null,t))}))))},y=function(){return a.createElement("div",null,a.createElement("p",null,"Teste Area"))},C=function(e){var n,t=l.useRouteMatch(),i=l.useLocation().pathname,o=l.useHistory(),u=(n={en:{files:"Files",test:"Test"},"pt-br":{files:"Arquivos",test:"Teste"},es:{files:"Archivos",test:"Prueba"}})[e.language]||n["pt-br"],c=r.useMemo((function(){return i.split("/")[5]||"files"}),[i]);return a.createElement(a.Fragment,null,a.createElement(g,{value:c,onChange:function(e){return o.push(t.url+"/"+e)}},a.createElement(d,{value:"files"},u.files),a.createElement(d,{value:"test"},u.test)),a.createElement(r.Suspense,{fallback:e.loading},a.createElement(l.Switch,null,a.createElement(l.Route,{path:""+t.path,exact:!0,component:b}),a.createElement(l.Route,{path:t.path+"/files",component:b}),a.createElement(l.Route,{path:t.path+"/test",component:y}))))};exports.Code7=function(e){return a.createElement(C,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 * as S from './styles';\n\nexport const FileArea = () => {\n const [files, setFiles] = useState({});\n const { pathname } = useLocation();\n\n useEffect(() => {\n // setFiles(await formatAxios('get', `http://127.0.0.1:5000/files/${id}`, false, ''))\n setFiles({\n \"files\": [\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 console.log(files)\n }, [])\n\n useEffect(() => {\n console.log(files)\n }, [files])\n\n return (\n <S.Container>\n <div>File Area ${pathname} /</div>\n \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","pathname","useLocation","useEffect","name","tags","console","log","TestArea","Leia","languages","match","useRouteMatch","history","useHistory","t","en","test","pt-br","es","language","activeTab","useMemo","split","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/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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"}
|
package/dist/code7-leia.esm.js
CHANGED
|
@@ -107,34 +107,43 @@ var _templateObject$1;
|
|
|
107
107
|
var Container = /*#__PURE__*/styled.div(_templateObject$1 || (_templateObject$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n"])));
|
|
108
108
|
|
|
109
109
|
var FileArea = function FileArea() {
|
|
110
|
-
var _useState = useState(
|
|
110
|
+
var _useState = useState([]),
|
|
111
111
|
files = _useState[0],
|
|
112
112
|
setFiles = _useState[1];
|
|
113
113
|
var _useLocation = useLocation(),
|
|
114
114
|
pathname = _useLocation.pathname;
|
|
115
|
+
var id = pathname.split('/')[4];
|
|
115
116
|
useEffect(function () {
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
"
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
"tags": "ebook, code7"
|
|
130
|
-
}]
|
|
131
|
-
});
|
|
132
|
-
console.log(files);
|
|
117
|
+
setFiles([{
|
|
118
|
+
"name": "Documentação conceitual Code7_v3",
|
|
119
|
+
"tags": "boteria, code7"
|
|
120
|
+
}, {
|
|
121
|
+
"name": "PAE_Programa_Apoio_ao_Empregado",
|
|
122
|
+
"tags": "pae, vr"
|
|
123
|
+
}, {
|
|
124
|
+
"name": "Vidalink",
|
|
125
|
+
"tags": "vidalink, vr"
|
|
126
|
+
}, {
|
|
127
|
+
"name": "[GUIA PRÁTICO] Como criar o chatbot perfeito",
|
|
128
|
+
"tags": "ebook, code7"
|
|
129
|
+
}]);
|
|
133
130
|
}, []);
|
|
134
131
|
useEffect(function () {
|
|
135
|
-
console.log(files);
|
|
132
|
+
console.log('files, id: ', files, id);
|
|
136
133
|
}, [files]);
|
|
137
|
-
|
|
134
|
+
var renderFiles = function renderFiles() {
|
|
135
|
+
if (files.length === 0) {
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
return React.createElement("ul", null, files.map(function (_ref, index) {
|
|
139
|
+
var name = _ref.name,
|
|
140
|
+
tags = _ref.tags;
|
|
141
|
+
return React.createElement("li", {
|
|
142
|
+
key: index
|
|
143
|
+
}, React.createElement("div", null, name), React.createElement("div", null, tags));
|
|
144
|
+
}));
|
|
145
|
+
};
|
|
146
|
+
return React.createElement(Container, null, React.createElement("div", null, "File Area"), renderFiles());
|
|
138
147
|
};
|
|
139
148
|
|
|
140
149
|
var TestArea = function TestArea() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"code7-leia.esm.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 * as S from './styles';\n\nexport const FileArea = () => {\n const [files, setFiles] = useState({});\n const { pathname } = useLocation();\n\n useEffect(() => {\n // setFiles(await formatAxios('get', `http://127.0.0.1:5000/files/${id}`, false, ''))\n setFiles({\n \"files\": [\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 console.log(files)\n }, [])\n\n useEffect(() => {\n console.log(files)\n }, [files])\n\n return (\n <S.Container>\n <div>File Area ${pathname} /</div>\n \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","useEffect","console","log","TestArea","Leia","match","useRouteMatch","history","useHistory","t","activeTab","useMemo","split","push","url","Suspense","fallback","loading","SwitchRoute","Route","path","exact","component","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/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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"}
|
package/package.json
CHANGED
|
@@ -4,16 +4,17 @@ import React, { useEffect, useState} from 'react';
|
|
|
4
4
|
|
|
5
5
|
import { useLocation } from 'react-router-dom';
|
|
6
6
|
|
|
7
|
+
import type { FileData } from '../../interface/FileData'
|
|
8
|
+
|
|
7
9
|
import * as S from './styles';
|
|
8
10
|
|
|
9
11
|
export const FileArea = () => {
|
|
10
|
-
const [files, setFiles] = useState(
|
|
12
|
+
const [files, setFiles] = useState<FileData[]>([]);
|
|
11
13
|
const { pathname } = useLocation();
|
|
14
|
+
const id = pathname.split('/')[4]
|
|
12
15
|
|
|
13
16
|
useEffect(() => {
|
|
14
|
-
|
|
15
|
-
setFiles({
|
|
16
|
-
"files": [
|
|
17
|
+
setFiles([
|
|
17
18
|
{
|
|
18
19
|
"name": "Documentação conceitual Code7_v3",
|
|
19
20
|
"tags": "boteria, code7"
|
|
@@ -30,20 +31,34 @@ export const FileArea = () => {
|
|
|
30
31
|
"name": "[GUIA PRÁTICO] Como criar o chatbot perfeito",
|
|
31
32
|
"tags": "ebook, code7"
|
|
32
33
|
}
|
|
33
|
-
]
|
|
34
|
-
})
|
|
35
|
-
|
|
36
|
-
console.log(files)
|
|
34
|
+
])
|
|
37
35
|
}, [])
|
|
38
36
|
|
|
39
37
|
useEffect(() => {
|
|
40
|
-
console.log(files)
|
|
38
|
+
console.log('files, id: ', files, id)
|
|
41
39
|
}, [files])
|
|
42
40
|
|
|
41
|
+
const renderFiles = () => {
|
|
42
|
+
if (files.length === 0) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
return (
|
|
47
|
+
<ul>
|
|
48
|
+
{files.map(({ name, tags }, index) => (
|
|
49
|
+
<li key={index}>
|
|
50
|
+
<div>{name}</div>
|
|
51
|
+
<div>{tags}</div>
|
|
52
|
+
</li>
|
|
53
|
+
))}
|
|
54
|
+
</ul>
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
|
|
43
58
|
return (
|
|
44
59
|
<S.Container>
|
|
45
|
-
<div>File Area
|
|
46
|
-
|
|
60
|
+
<div>File Area</div>
|
|
61
|
+
{renderFiles()}
|
|
47
62
|
</S.Container>
|
|
48
63
|
);
|
|
49
64
|
};
|