code7-leia 0.1.7 → 0.1.10
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 +56 -2
- 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 +58 -4
- package/dist/code7-leia.esm.js.map +1 -1
- package/dist/components/FileArea/index.d.ts +2 -0
- package/dist/components/FileArea/styles.d.ts +2 -0
- package/dist/components/TestArea/index.d.ts +2 -0
- package/dist/index.d.ts +2 -1
- package/dist/utils/formatAxios.d.ts +3 -0
- package/package.json +10 -6
- package/src/Leia.tsx +29 -9
- package/src/components/FileArea/index.tsx +40 -0
- package/src/components/FileArea/styles.tsx +6 -0
- package/src/components/TestArea/index.tsx +10 -0
- package/src/index.tsx +2 -1
- package/src/utils/formatAxios.tsx +15 -0
|
@@ -110,6 +110,39 @@ var getLanguage = function getLanguage(language) {
|
|
|
110
110
|
return languages[language] || languages['pt-br'];
|
|
111
111
|
};
|
|
112
112
|
|
|
113
|
+
var _templateObject$1;
|
|
114
|
+
var Container = /*#__PURE__*/styled.div(_templateObject$1 || (_templateObject$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n"])));
|
|
115
|
+
|
|
116
|
+
var FileArea = function FileArea(_ref) {
|
|
117
|
+
var id = _ref.id;
|
|
118
|
+
var _useState = React.useState({}),
|
|
119
|
+
files = _useState[0],
|
|
120
|
+
setFiles = _useState[1];
|
|
121
|
+
React.useEffect(function () {
|
|
122
|
+
// setFiles(await formatAxios('get', `http://127.0.0.1:5000/files/${id}`, false, ''))
|
|
123
|
+
setFiles({
|
|
124
|
+
"files": [{
|
|
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
|
+
}]
|
|
137
|
+
});
|
|
138
|
+
}, []);
|
|
139
|
+
return React__default.createElement(Container, null, React__default.createElement("div", null, "File Area $", id, " / $", files));
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
var TestArea = function TestArea() {
|
|
143
|
+
return React__default.createElement("div", null, React__default.createElement("p", null, "Teste Area"));
|
|
144
|
+
};
|
|
145
|
+
|
|
113
146
|
var Leia = function Leia(props) {
|
|
114
147
|
var match = reactRouterDom.useRouteMatch();
|
|
115
148
|
var _useLocation = reactRouterDom.useLocation(),
|
|
@@ -119,7 +152,7 @@ var Leia = function Leia(props) {
|
|
|
119
152
|
var activeTab = React.useMemo(function () {
|
|
120
153
|
return pathname.split('/')[5] || 'files';
|
|
121
154
|
}, [pathname]);
|
|
122
|
-
return React__default.createElement(Tabs, {
|
|
155
|
+
return React__default.createElement(React__default.Fragment, null, React__default.createElement(Tabs, {
|
|
123
156
|
value: activeTab,
|
|
124
157
|
onChange: function onChange(value) {
|
|
125
158
|
return history.push(match.url + "/" + value);
|
|
@@ -128,7 +161,28 @@ var Leia = function Leia(props) {
|
|
|
128
161
|
value: "files"
|
|
129
162
|
}, t.files), React__default.createElement(Tab$1, {
|
|
130
163
|
value: "test"
|
|
131
|
-
}, t.test))
|
|
164
|
+
}, t.test)), React__default.createElement(React.Suspense, {
|
|
165
|
+
fallback: props.loading
|
|
166
|
+
}, React__default.createElement(reactRouterDom.Switch, null, React__default.createElement(reactRouterDom.Route, {
|
|
167
|
+
path: match.path,
|
|
168
|
+
exact: true,
|
|
169
|
+
render: function render(routeProps) {
|
|
170
|
+
return React__default.createElement(FileArea, Object.assign({}, routeProps, {
|
|
171
|
+
id: props.id
|
|
172
|
+
}));
|
|
173
|
+
}
|
|
174
|
+
}), React__default.createElement(reactRouterDom.Route, {
|
|
175
|
+
path: match.path + "/files",
|
|
176
|
+
exact: true,
|
|
177
|
+
render: function render(routeProps) {
|
|
178
|
+
return React__default.createElement(FileArea, Object.assign({}, routeProps, {
|
|
179
|
+
id: props.id
|
|
180
|
+
}));
|
|
181
|
+
}
|
|
182
|
+
}), React__default.createElement(reactRouterDom.Route, {
|
|
183
|
+
path: match.path + "/test",
|
|
184
|
+
component: TestArea
|
|
185
|
+
}))));
|
|
132
186
|
};
|
|
133
187
|
|
|
134
188
|
function Code7(props) {
|
|
@@ -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/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 React, { useMemo } from 'react';\n\nimport { useLocation, useRouteMatch, useHistory } from 'react-router-dom';\n\nimport type { Props } from './index';\nimport { Tab, Tabs } from './components/Tabs'\n\nimport { getLanguage } from './utils/getLanguage'\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 <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 );\n};","import type { PropsWithChildren } 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}>;\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","Leia","match","useRouteMatch","_useLocation","useLocation","pathname","history","useHistory","t","activeTab","useMemo","split","push","url","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 * as S from './styles';\n\nexport const FileArea = ({ id }: any) => {\n const [files, setFiles] = useState({});\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\n return (\n <S.Container>\n <div>File Area ${id} / ${files}</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\n path={match.path}\n exact\n render={(routeProps) => <FileArea {...routeProps} id={props.id} />}\n />\n <Route\n path={`${match.path}/files`}\n exact\n render={(routeProps) => <FileArea {...routeProps} id={props.id} />}\n />\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","id","_useState","useState","setFiles","useEffect","TestArea","Leia","match","useRouteMatch","_useLocation","useLocation","pathname","history","useHistory","t","activeTab","useMemo","split","push","url","Suspense","fallback","loading","SwitchRoute","Route","path","exact","render","routeProps","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"),
|
|
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),i=require("react-router-dom"),l=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={},i=Object.keys(e);for(r=0;r<i.length;r++)n.indexOf(t=i[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"]))),d=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"],m=["children","value","onChange"],f=function(e){var n=e.active,t=e.children,r=c(e,v);return a.createElement(d,Object.assign({className:o({active:n})},r),t)};f.propTypes={children:l.oneOfType([l.string,l.element,l.node]).isRequired,onChange:l.func,value:l.string,active:l.bool},f.defaultProps={onChange:function(){},value:"",active:!1};var g=function(e){var n=e.children,t=e.value,r=e.onChange,i=c(e,m),l=a.Children.map(n,(function(e){var n,i,l;return a.isValidElement(e)?Array.isArray(null==(n=e.props)?void 0:n.children)?a.cloneElement(e,{active:(null==(l=e.props)?void 0:l.value)===t,value:t,onChange:r}):a.cloneElement(e,{active:(null==(i=e.props)?void 0:i.value)===t,onClick:function(){var n;return r(null==(n=e.props)?void 0:n.value)}}):null}));return a.createElement(p,Object.assign({},i),l)};g.propTypes={children:l.node.isRequired,value:l.oneOfType([l.string,l.number]).isRequired,onChange:l.func.isRequired};var h,E=u.div(h||(h=s(["\n display: flex;\n justify-content: center;\n"]))),b=function(e){var n=e.id,t=r.useState({}),i=t[0],l=t[1];return r.useEffect((function(){l({files:[{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.createElement(E,null,a.createElement("div",null,"File Area $",n," / $",i))},y=function(){return a.createElement("div",null,a.createElement("p",null,"Teste Area"))},x=function(e){var n,t=i.useRouteMatch(),l=i.useLocation().pathname,o=i.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 l.split("/")[5]||"files"}),[l]);return a.createElement(a.Fragment,null,a.createElement(g,{value:c,onChange:function(e){return o.push(t.url+"/"+e)}},a.createElement(f,{value:"files"},u.files),a.createElement(f,{value:"test"},u.test)),a.createElement(r.Suspense,{fallback:e.loading},a.createElement(i.Switch,null,a.createElement(i.Route,{path:t.path,exact:!0,render:function(n){return a.createElement(b,Object.assign({},n,{id:e.id}))}}),a.createElement(i.Route,{path:t.path+"/files",exact:!0,render:function(n){return a.createElement(b,Object.assign({},n,{id:e.id}))}}),a.createElement(i.Route,{path:t.path+"/test",component:y}))))};exports.Code7=function(e){return a.createElement(x,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/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 React, { useMemo } from 'react';\n\nimport { useLocation, useRouteMatch, useHistory } from 'react-router-dom';\n\nimport type { Props } from './index';\nimport { Tab, Tabs } from './components/Tabs'\n\nimport { getLanguage } from './utils/getLanguage'\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 <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 );\n};","import type { PropsWithChildren } 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}>;\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","Leia","languages","match","useRouteMatch","pathname","useLocation","history","useHistory","t","en","files","test","pt-br","es","language","activeTab","useMemo","split","push","url"],"mappings":"udAYO,IAAMA,EAAWC,EAAOC,GAAEC,IAAAA,EAAAC,2HAOpBC,EAAMJ,EAAOK,GAAEC,IAAAA,EAAAH,0pBCDfC,EAAM,SAAHG,OAAMC,EAAMD,EAANC,OAAQC,EAAQF,EAARE,SAAaC,EAAIC,EAAAJ,EAAAK,GAC7C,OACEC,gBAACC,iBAAMC,UAAWC,EAAG,CAAER,OAAAA,KAAeE,GACnCD,IAKPL,EAAIa,UAAY,CACdR,SAAUS,EAAUC,UAAU,CAC5BD,EAAUE,OACVF,EAAUG,QACVH,EAAUI,OACTC,WACHC,SAAUN,EAAUO,KACpBC,MAAOR,EAAUE,OACjBZ,OAAQU,EAAUS,MAGpBvB,EAAIwB,aAAe,CACjBJ,SAAU,aACVE,MAAO,GACPlB,QAAQ,GAGH,IAAMqB,EAAO,SAAHC,OAAgBC,EAAYD,EAAtBrB,SAAwBiB,EAAKI,EAALJ,MAAOF,EAAQM,EAARN,SAAad,EAAIC,EAAAmB,EAAAE,GAC/DvB,EAAWI,EAAMoB,SAASC,IAAIH,GAAc,SAACI,WAKPC,EAJ1C,OAAKvB,EAAMwB,eAAeF,GAItBG,MAAMC,eAAOC,EAACL,EAAMM,cAAND,EAAa/B,UACtBI,EAAM6B,aAAaP,EAAkC,CAC1D3B,eAAQ4B,EAAAD,EAAMM,cAANL,EAAaV,SAAUA,EAC/BA,MAAAA,EACAF,SAAAA,IAIGX,EAAM6B,aAAaP,EAAkC,CAC1D3B,eAAQmC,EAAAR,EAAMM,cAANE,EAAajB,SAAUA,EAC/BkB,QAAS,WAAA,IAAAC,EAAA,OAAMrB,SAAQqB,EAACV,EAAMM,cAANI,EAAanB,UAb9B,QAiBX,OAAOb,gBAACC,mBAAeJ,GAAOD,IAGhCoB,EAAKZ,UAAY,CACfR,SAAUS,EAAUI,KAAKC,WACzBG,MAAOR,EAAUC,UAAU,CAACD,EAAUE,OAAQF,EAAU4B,SAASvB,WACjEC,SAAUN,EAAUO,KAAKF,YChEpB,ICIMwB,EAAO,SAACN,GACnB,IDJMO,ECIAC,EAAQC,kBACNC,EAAaC,gBAAbD,SACFE,EAAUC,eAEVC,GDRAP,EAAqD,CACzDQ,GAAI,CACFC,MAAO,QACPC,KAAM,QAERC,QAAS,CACPF,MAAO,WACPC,KAAM,SAERE,GAAI,CACFH,MAAO,WACPC,KAAM,YCHYjB,EAAMoB,WDOEb,EAAU,SCLlCc,EAAYC,WAAQ,WACxB,OAAOZ,EAASa,MAAM,KAAK,IAAM,UAChC,CAACb,IAEJ,OACEtC,gBAACgB,GACCH,MAAOoC,EACPtC,SAAU,SAACE,GAAK,OAAK2B,EAAQY,KAAQhB,EAAMiB,QAAOxC,KAElDb,gBAACT,GAAIsB,MAAM,SAAS6B,EAAEE,OACtB5C,gBAACT,GAAIsB,MAAM,QAAQ6B,EAAEG,+BChBLjB,GACpB,OAAO5B,gBAACkC,mBAASN"}
|
|
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 * as S from './styles';\n\nexport const FileArea = ({ id }: any) => {\n const [files, setFiles] = useState({});\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\n return (\n <S.Container>\n <div>File Area ${id} / ${files}</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\n path={match.path}\n exact\n render={(routeProps) => <FileArea {...routeProps} id={props.id} />}\n />\n <Route\n path={`${match.path}/files`}\n exact\n render={(routeProps) => <FileArea {...routeProps} id={props.id} />}\n />\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","id","_useState","useState","files","setFiles","useEffect","name","tags","TestArea","Leia","languages","match","useRouteMatch","pathname","useLocation","history","useHistory","t","en","test","pt-br","es","language","activeTab","useMemo","split","push","url","Suspense","fallback","loading","SwitchRoute","Route","path","exact","render","routeProps","component"],"mappings":"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"}
|
package/dist/code7-leia.esm.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import React, { useMemo } from 'react';
|
|
2
|
-
import { useRouteMatch, useLocation, useHistory } from 'react-router-dom';
|
|
1
|
+
import React, { useState, useEffect, useMemo, Suspense } from 'react';
|
|
2
|
+
import { useRouteMatch, useLocation, useHistory, Switch, Route } from 'react-router-dom';
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import cc from 'classcat';
|
|
5
5
|
import styled from 'styled-components';
|
|
@@ -103,6 +103,39 @@ var getLanguage = function getLanguage(language) {
|
|
|
103
103
|
return languages[language] || languages['pt-br'];
|
|
104
104
|
};
|
|
105
105
|
|
|
106
|
+
var _templateObject$1;
|
|
107
|
+
var Container = /*#__PURE__*/styled.div(_templateObject$1 || (_templateObject$1 = /*#__PURE__*/_taggedTemplateLiteralLoose(["\n display: flex;\n justify-content: center;\n"])));
|
|
108
|
+
|
|
109
|
+
var FileArea = function FileArea(_ref) {
|
|
110
|
+
var id = _ref.id;
|
|
111
|
+
var _useState = useState({}),
|
|
112
|
+
files = _useState[0],
|
|
113
|
+
setFiles = _useState[1];
|
|
114
|
+
useEffect(function () {
|
|
115
|
+
// setFiles(await formatAxios('get', `http://127.0.0.1:5000/files/${id}`, false, ''))
|
|
116
|
+
setFiles({
|
|
117
|
+
"files": [{
|
|
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
|
+
}]
|
|
130
|
+
});
|
|
131
|
+
}, []);
|
|
132
|
+
return React.createElement(Container, null, React.createElement("div", null, "File Area $", id, " / $", files));
|
|
133
|
+
};
|
|
134
|
+
|
|
135
|
+
var TestArea = function TestArea() {
|
|
136
|
+
return React.createElement("div", null, React.createElement("p", null, "Teste Area"));
|
|
137
|
+
};
|
|
138
|
+
|
|
106
139
|
var Leia = function Leia(props) {
|
|
107
140
|
var match = useRouteMatch();
|
|
108
141
|
var _useLocation = useLocation(),
|
|
@@ -112,7 +145,7 @@ var Leia = function Leia(props) {
|
|
|
112
145
|
var activeTab = useMemo(function () {
|
|
113
146
|
return pathname.split('/')[5] || 'files';
|
|
114
147
|
}, [pathname]);
|
|
115
|
-
return React.createElement(Tabs, {
|
|
148
|
+
return React.createElement(React.Fragment, null, React.createElement(Tabs, {
|
|
116
149
|
value: activeTab,
|
|
117
150
|
onChange: function onChange(value) {
|
|
118
151
|
return history.push(match.url + "/" + value);
|
|
@@ -121,7 +154,28 @@ var Leia = function Leia(props) {
|
|
|
121
154
|
value: "files"
|
|
122
155
|
}, t.files), React.createElement(Tab$1, {
|
|
123
156
|
value: "test"
|
|
124
|
-
}, t.test))
|
|
157
|
+
}, t.test)), React.createElement(Suspense, {
|
|
158
|
+
fallback: props.loading
|
|
159
|
+
}, React.createElement(Switch, null, React.createElement(Route, {
|
|
160
|
+
path: match.path,
|
|
161
|
+
exact: true,
|
|
162
|
+
render: function render(routeProps) {
|
|
163
|
+
return React.createElement(FileArea, Object.assign({}, routeProps, {
|
|
164
|
+
id: props.id
|
|
165
|
+
}));
|
|
166
|
+
}
|
|
167
|
+
}), React.createElement(Route, {
|
|
168
|
+
path: match.path + "/files",
|
|
169
|
+
exact: true,
|
|
170
|
+
render: function render(routeProps) {
|
|
171
|
+
return React.createElement(FileArea, Object.assign({}, routeProps, {
|
|
172
|
+
id: props.id
|
|
173
|
+
}));
|
|
174
|
+
}
|
|
175
|
+
}), React.createElement(Route, {
|
|
176
|
+
path: match.path + "/test",
|
|
177
|
+
component: TestArea
|
|
178
|
+
}))));
|
|
125
179
|
};
|
|
126
180
|
|
|
127
181
|
function Code7(props) {
|
|
@@ -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/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 React, { useMemo } from 'react';\n\nimport { useLocation, useRouteMatch, useHistory } from 'react-router-dom';\n\nimport type { Props } from './index';\nimport { Tab, Tabs } from './components/Tabs'\n\nimport { getLanguage } from './utils/getLanguage'\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 <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 );\n};","import type { PropsWithChildren } 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}>;\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","Leia","match","useRouteMatch","_useLocation","useLocation","pathname","history","useHistory","t","activeTab","useMemo","split","push","url","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 * as S from './styles';\n\nexport const FileArea = ({ id }: any) => {\n const [files, setFiles] = useState({});\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\n return (\n <S.Container>\n <div>File Area ${id} / ${files}</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\n path={match.path}\n exact\n render={(routeProps) => <FileArea {...routeProps} id={props.id} />}\n />\n <Route\n path={`${match.path}/files`}\n exact\n render={(routeProps) => <FileArea {...routeProps} id={props.id} />}\n />\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","id","_useState","useState","setFiles","useEffect","TestArea","Leia","match","useRouteMatch","_useLocation","useLocation","pathname","history","useHistory","t","activeTab","useMemo","split","push","url","Suspense","fallback","loading","SwitchRoute","Route","path","exact","render","routeProps","component","Code7"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { PropsWithChildren } from 'react';
|
|
1
|
+
import type { PropsWithChildren, ReactElement } from 'react';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
export declare type Props = PropsWithChildren<{
|
|
4
4
|
id: string;
|
|
5
5
|
activeTab: string;
|
|
6
6
|
language: "en" | "pt-br" | "es";
|
|
7
|
+
loading: ReactElement;
|
|
7
8
|
}>;
|
|
8
9
|
export declare function Code7(props: Props): React.JSX.Element;
|
package/package.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.1.
|
|
2
|
+
"version": "0.1.10",
|
|
3
3
|
"license": "MIT",
|
|
4
4
|
"main": "dist/index.js",
|
|
5
5
|
"typings": "dist/index.d.ts",
|
|
@@ -18,10 +18,12 @@
|
|
|
18
18
|
"prepare": "tsdx build",
|
|
19
19
|
"size": "size-limit",
|
|
20
20
|
"analyze": "size-limit --why",
|
|
21
|
-
"deploy": "npm version patch && npm publish"
|
|
21
|
+
"deploy": "npm version patch && npm publish",
|
|
22
|
+
"dev": "npm --prefix ../code7-boteria-frontendv3 run dev"
|
|
22
23
|
},
|
|
23
24
|
"peerDependencies": {
|
|
24
|
-
"react": ">=16"
|
|
25
|
+
"react": ">=16",
|
|
26
|
+
"react-router-dom": ">=5"
|
|
25
27
|
},
|
|
26
28
|
"husky": {
|
|
27
29
|
"hooks": {
|
|
@@ -51,18 +53,20 @@
|
|
|
51
53
|
"@size-limit/preset-small-lib": "^11.0.2",
|
|
52
54
|
"@types/react": "^18.2.48",
|
|
53
55
|
"@types/react-dom": "^18.2.18",
|
|
54
|
-
"@types/react-router-dom": "^5.3.3",
|
|
55
56
|
"husky": "^9.0.6",
|
|
56
57
|
"react": "^18.2.0",
|
|
57
58
|
"react-dom": "^18.2.0",
|
|
58
59
|
"size-limit": "^11.0.2",
|
|
59
60
|
"tsdx": "^0.14.1",
|
|
60
61
|
"tslib": "^2.6.2",
|
|
61
|
-
"typescript": "^5.3.3"
|
|
62
|
+
"typescript": "^5.3.3",
|
|
63
|
+
"@types/react-router-dom": "^5.3.3",
|
|
64
|
+
"react-router-dom": "^5.2.0"
|
|
62
65
|
},
|
|
63
66
|
"dependencies": {
|
|
67
|
+
"axios": "^1.6.7",
|
|
64
68
|
"classcat": "^5.0.4",
|
|
65
|
-
"react-router-dom": "^5.
|
|
69
|
+
"react-router-dom": "^5.2.0",
|
|
66
70
|
"styled-components": "^6.1.8"
|
|
67
71
|
}
|
|
68
72
|
}
|
package/src/Leia.tsx
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
import React, { useMemo } from 'react';
|
|
1
|
+
import React, { useMemo, Suspense } from 'react';
|
|
2
2
|
|
|
3
|
-
import { useLocation, useRouteMatch, useHistory } from 'react-router-dom';
|
|
3
|
+
import { Route, useLocation, useRouteMatch, useHistory, Switch as SwitchRoute } from 'react-router-dom';
|
|
4
4
|
|
|
5
5
|
import type { Props } from './index';
|
|
6
6
|
import { Tab, Tabs } from './components/Tabs'
|
|
7
7
|
|
|
8
8
|
import { getLanguage } from './utils/getLanguage'
|
|
9
9
|
|
|
10
|
+
import { FileArea } from './components/FileArea';
|
|
11
|
+
import { TestArea } from './components/TestArea';
|
|
12
|
+
|
|
10
13
|
export const Leia = (props: Props) => {
|
|
11
14
|
const match = useRouteMatch();
|
|
12
15
|
const { pathname } = useLocation();
|
|
@@ -19,12 +22,29 @@ export const Leia = (props: Props) => {
|
|
|
19
22
|
}, [pathname]);
|
|
20
23
|
|
|
21
24
|
return (
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
<>
|
|
26
|
+
<Tabs
|
|
27
|
+
value={activeTab}
|
|
28
|
+
onChange={(value) => history.push(`${match.url}/${value}`)}
|
|
29
|
+
>
|
|
30
|
+
<Tab value="files">{t.files}</Tab>
|
|
31
|
+
<Tab value="test">{t.test}</Tab>
|
|
32
|
+
</Tabs>
|
|
33
|
+
<Suspense fallback={props.loading}>
|
|
34
|
+
<SwitchRoute>
|
|
35
|
+
<Route
|
|
36
|
+
path={match.path}
|
|
37
|
+
exact
|
|
38
|
+
render={(routeProps) => <FileArea {...routeProps} id={props.id} />}
|
|
39
|
+
/>
|
|
40
|
+
<Route
|
|
41
|
+
path={`${match.path}/files`}
|
|
42
|
+
exact
|
|
43
|
+
render={(routeProps) => <FileArea {...routeProps} id={props.id} />}
|
|
44
|
+
/>
|
|
45
|
+
<Route path={`${match.path}/test`} component={TestArea} />
|
|
46
|
+
</SwitchRoute>
|
|
47
|
+
</Suspense>
|
|
48
|
+
</>
|
|
29
49
|
);
|
|
30
50
|
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React, { useEffect, useState} from 'react';
|
|
2
|
+
|
|
3
|
+
// import { formatAxios } from '../../utils/formatAxios'
|
|
4
|
+
|
|
5
|
+
import * as S from './styles';
|
|
6
|
+
|
|
7
|
+
export const FileArea = ({ id }: any) => {
|
|
8
|
+
const [files, setFiles] = useState({});
|
|
9
|
+
|
|
10
|
+
useEffect(() => {
|
|
11
|
+
// setFiles(await formatAxios('get', `http://127.0.0.1:5000/files/${id}`, false, ''))
|
|
12
|
+
setFiles({
|
|
13
|
+
"files": [
|
|
14
|
+
{
|
|
15
|
+
"name": "Documentação conceitual Code7_v3",
|
|
16
|
+
"tags": "boteria, code7"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"name": "PAE_Programa_Apoio_ao_Empregado",
|
|
20
|
+
"tags": "pae, vr"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"name": "Vidalink",
|
|
24
|
+
"tags": "vidalink, vr"
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"name": "[GUIA PRÁTICO] Como criar o chatbot perfeito",
|
|
28
|
+
"tags": "ebook, code7"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
})
|
|
32
|
+
}, [])
|
|
33
|
+
|
|
34
|
+
return (
|
|
35
|
+
<S.Container>
|
|
36
|
+
<div>File Area ${id} / ${files}</div>
|
|
37
|
+
|
|
38
|
+
</S.Container>
|
|
39
|
+
);
|
|
40
|
+
};
|
package/src/index.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { PropsWithChildren } from 'react';
|
|
1
|
+
import type { PropsWithChildren, ReactElement } from 'react';
|
|
2
2
|
import React from 'react';
|
|
3
3
|
import { Leia } from './Leia';
|
|
4
4
|
|
|
@@ -6,6 +6,7 @@ export type Props = PropsWithChildren<{
|
|
|
6
6
|
id: string;
|
|
7
7
|
activeTab: string;
|
|
8
8
|
language: "en" | "pt-br" | "es";
|
|
9
|
+
loading: ReactElement
|
|
9
10
|
}>;
|
|
10
11
|
|
|
11
12
|
export function Code7(props: Props) {
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import axios from 'axios'
|
|
2
|
+
|
|
3
|
+
type HttpServerMethod = 'get' | 'post' | 'delete' | 'put' | 'patch' | 'options'
|
|
4
|
+
|
|
5
|
+
export async function formatAxios(method: HttpServerMethod, url: string, hasBody:boolean, body:any): Promise<any> {
|
|
6
|
+
if(hasBody){
|
|
7
|
+
const { data } = method !== 'delete' ? await axios[method](url, body) : await axios[method](url, body)
|
|
8
|
+
|
|
9
|
+
return data
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const { data } = await axios[method](url)
|
|
13
|
+
|
|
14
|
+
return data
|
|
15
|
+
}
|