code7-leia 0.1.6 → 0.1.9
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 +42 -4
- 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 +44 -6
- package/dist/code7-leia.esm.js.map +1 -1
- package/dist/components/FileArea/index.d.ts +2 -0
- package/dist/components/TestArea/index.d.ts +2 -0
- package/dist/index.d.ts +3 -1
- package/dist/utils/getLanguage.d.ts +6 -0
- package/package.json +10 -7
- package/src/Leia.tsx +24 -10
- package/src/components/FileArea/index.tsx +7 -0
- package/src/components/TestArea/index.tsx +7 -0
- package/src/index.tsx +3 -1
- package/src/utils/getLanguage.tsx +23 -0
|
@@ -92,25 +92,63 @@ Tabs.propTypes = {
|
|
|
92
92
|
onChange: PropTypes.func.isRequired
|
|
93
93
|
};
|
|
94
94
|
|
|
95
|
+
var getLanguage = function getLanguage(language) {
|
|
96
|
+
var languages = {
|
|
97
|
+
en: {
|
|
98
|
+
files: 'Files',
|
|
99
|
+
test: 'Test'
|
|
100
|
+
},
|
|
101
|
+
'pt-br': {
|
|
102
|
+
files: 'Arquivos',
|
|
103
|
+
test: 'Teste'
|
|
104
|
+
},
|
|
105
|
+
es: {
|
|
106
|
+
files: 'Archivos',
|
|
107
|
+
test: 'Prueba'
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
return languages[language] || languages['pt-br'];
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
var FileArea = function FileArea() {
|
|
114
|
+
return React__default.createElement("div", null, "FILE AREA");
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
var TestArea = function TestArea() {
|
|
118
|
+
return React__default.createElement("div", null, "TEST AREA");
|
|
119
|
+
};
|
|
120
|
+
|
|
95
121
|
var Leia = function Leia(props) {
|
|
96
122
|
var match = reactRouterDom.useRouteMatch();
|
|
97
123
|
var _useLocation = reactRouterDom.useLocation(),
|
|
98
124
|
pathname = _useLocation.pathname;
|
|
99
125
|
var history = reactRouterDom.useHistory();
|
|
100
|
-
|
|
126
|
+
var t = getLanguage(props.language);
|
|
101
127
|
var activeTab = React.useMemo(function () {
|
|
102
128
|
return pathname.split('/')[5] || 'files';
|
|
103
129
|
}, [pathname]);
|
|
104
|
-
return React__default.createElement(Tabs, {
|
|
130
|
+
return React__default.createElement(React__default.Fragment, null, React__default.createElement(Tabs, {
|
|
105
131
|
value: activeTab,
|
|
106
132
|
onChange: function onChange(value) {
|
|
107
133
|
return history.push(match.url + "/" + value);
|
|
108
134
|
}
|
|
109
135
|
}, React__default.createElement(Tab$1, {
|
|
110
136
|
value: "files"
|
|
111
|
-
},
|
|
137
|
+
}, t.files), React__default.createElement(Tab$1, {
|
|
112
138
|
value: "test"
|
|
113
|
-
},
|
|
139
|
+
}, t.test)), React__default.createElement(React.Suspense, {
|
|
140
|
+
fallback: props.loading
|
|
141
|
+
}, React__default.createElement(reactRouterDom.Switch, null, React__default.createElement(reactRouterDom.Route, {
|
|
142
|
+
path: "" + match.path,
|
|
143
|
+
exact: true,
|
|
144
|
+
component: FileArea
|
|
145
|
+
}), React__default.createElement(reactRouterDom.Route, {
|
|
146
|
+
path: match.path + "/archives",
|
|
147
|
+
component: FileArea
|
|
148
|
+
}), React__default.createElement(reactRouterDom.Route, {
|
|
149
|
+
path: match.path + "/test",
|
|
150
|
+
component: TestArea
|
|
151
|
+
}))));
|
|
114
152
|
};
|
|
115
153
|
|
|
116
154
|
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/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","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\nexport const Leia = (props: Props) => {\n const match = useRouteMatch();\n const { pathname } = useLocation();\n const history = useHistory();\n\n console.log('Props', props);\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\">Files</Tab>\n <Tab value=\"test\">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}>;\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","Leia","match","useRouteMatch","_useLocation","useLocation","pathname","history","useHistory","console","log","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/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 React from 'react';\n\nexport const FileArea = () => {\n return (\n <div>FILE AREA</div>\n );\n};","import React from 'react';\n\nexport const TestArea = () => {\n return (\n <div>TEST AREA</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}/archives`} 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","FileArea","TestArea","Leia","match","useRouteMatch","_useLocation","useLocation","pathname","history","useHistory","t","activeTab","useMemo","split","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,r
|
|
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"]))),v=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"]))),m=["active","children"],f=["children","value","onChange"],d=function(e){var n=e.active,t=e.children,r=c(e,m);return a.createElement(v,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 h=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)};h.propTypes={children:i.node.isRequired,value:i.oneOfType([i.string,i.number]).isRequired,onChange:i.func.isRequired};var g=function(){return a.createElement("div",null,"FILE AREA")},E=function(){return a.createElement("div",null,"TEST AREA")},b=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(h,{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:g}),a.createElement(l.Route,{path:t.path+"/archives",component:g}),a.createElement(l.Route,{path:t.path+"/test",component:E}))))};exports.Code7=function(e){return a.createElement(b,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/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","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\nexport const Leia = (props: Props) => {\n const match = useRouteMatch();\n const { pathname } = useLocation();\n const history = useHistory();\n\n
|
|
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/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 React from 'react';\n\nexport const FileArea = () => {\n return (\n <div>FILE AREA</div>\n );\n};","import React from 'react';\n\nexport const TestArea = () => {\n return (\n <div>TEST AREA</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}/archives`} 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","FileArea","TestArea","Leia","languages","match","useRouteMatch","pathname","useLocation","history","useHistory","t","en","files","test","pt-br","es","language","activeTab","useMemo","split","push","url","Suspense","fallback","loading","SwitchRoute","Route","path","exact","component"],"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,ICHMwB,EAAW,WACtB,OACElC,yCCFSmC,EAAW,WACtB,OACEnC,yCCQSoC,EAAO,SAACR,GACnB,IHPMS,EGOAC,EAAQC,kBACNC,EAAaC,gBAAbD,SACFE,EAAUC,eAEVC,GHXAP,EAAqD,CACzDQ,GAAI,CACFC,MAAO,QACPC,KAAM,QAERC,QAAS,CACPF,MAAO,WACPC,KAAM,SAERE,GAAI,CACFH,MAAO,WACPC,KAAM,YGAYnB,EAAMsB,WHIEb,EAAU,SGFlCc,EAAYC,WAAQ,WACxB,OAAOZ,EAASa,MAAM,KAAK,IAAM,UAChC,CAACb,IAEJ,OACExC,gCACEA,gBAACgB,GACCH,MAAOsC,EACPxC,SAAU,SAACE,GAAK,OAAK6B,EAAQY,KAAQhB,EAAMiB,QAAO1C,KAElDb,gBAACT,GAAIsB,MAAM,SAAS+B,EAAEE,OACtB9C,gBAACT,GAAIsB,MAAM,QAAQ+B,EAAEG,OAEvB/C,gBAACwD,YAASC,SAAU7B,EAAM8B,SACxB1D,gBAAC2D,cACC3D,gBAAC4D,SAAMC,QAASvB,EAAMuB,KAAQC,SAAMC,UAAW7B,IAC/ClC,gBAAC4D,SAAMC,KAASvB,EAAMuB,iBAAiBE,UAAW7B,IAClDlC,gBAAC4D,SAAMC,KAASvB,EAAMuB,aAAaE,UAAW5B,+BCzBlCP,GACpB,OAAO5B,gBAACoC,mBAASR"}
|
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, { 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';
|
|
@@ -85,25 +85,63 @@ Tabs.propTypes = {
|
|
|
85
85
|
onChange: PropTypes.func.isRequired
|
|
86
86
|
};
|
|
87
87
|
|
|
88
|
+
var getLanguage = function getLanguage(language) {
|
|
89
|
+
var languages = {
|
|
90
|
+
en: {
|
|
91
|
+
files: 'Files',
|
|
92
|
+
test: 'Test'
|
|
93
|
+
},
|
|
94
|
+
'pt-br': {
|
|
95
|
+
files: 'Arquivos',
|
|
96
|
+
test: 'Teste'
|
|
97
|
+
},
|
|
98
|
+
es: {
|
|
99
|
+
files: 'Archivos',
|
|
100
|
+
test: 'Prueba'
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
return languages[language] || languages['pt-br'];
|
|
104
|
+
};
|
|
105
|
+
|
|
106
|
+
var FileArea = function FileArea() {
|
|
107
|
+
return React.createElement("div", null, "FILE AREA");
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
var TestArea = function TestArea() {
|
|
111
|
+
return React.createElement("div", null, "TEST AREA");
|
|
112
|
+
};
|
|
113
|
+
|
|
88
114
|
var Leia = function Leia(props) {
|
|
89
115
|
var match = useRouteMatch();
|
|
90
116
|
var _useLocation = useLocation(),
|
|
91
117
|
pathname = _useLocation.pathname;
|
|
92
118
|
var history = useHistory();
|
|
93
|
-
|
|
119
|
+
var t = getLanguage(props.language);
|
|
94
120
|
var activeTab = useMemo(function () {
|
|
95
121
|
return pathname.split('/')[5] || 'files';
|
|
96
122
|
}, [pathname]);
|
|
97
|
-
return React.createElement(Tabs, {
|
|
123
|
+
return React.createElement(React.Fragment, null, React.createElement(Tabs, {
|
|
98
124
|
value: activeTab,
|
|
99
125
|
onChange: function onChange(value) {
|
|
100
126
|
return history.push(match.url + "/" + value);
|
|
101
127
|
}
|
|
102
128
|
}, React.createElement(Tab$1, {
|
|
103
129
|
value: "files"
|
|
104
|
-
},
|
|
130
|
+
}, t.files), React.createElement(Tab$1, {
|
|
105
131
|
value: "test"
|
|
106
|
-
},
|
|
132
|
+
}, t.test)), React.createElement(Suspense, {
|
|
133
|
+
fallback: props.loading
|
|
134
|
+
}, React.createElement(Switch, null, React.createElement(Route, {
|
|
135
|
+
path: "" + match.path,
|
|
136
|
+
exact: true,
|
|
137
|
+
component: FileArea
|
|
138
|
+
}), React.createElement(Route, {
|
|
139
|
+
path: match.path + "/archives",
|
|
140
|
+
component: FileArea
|
|
141
|
+
}), React.createElement(Route, {
|
|
142
|
+
path: match.path + "/test",
|
|
143
|
+
component: TestArea
|
|
144
|
+
}))));
|
|
107
145
|
};
|
|
108
146
|
|
|
109
147
|
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/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","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\nexport const Leia = (props: Props) => {\n const match = useRouteMatch();\n const { pathname } = useLocation();\n const history = useHistory();\n\n console.log('Props', props);\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\">Files</Tab>\n <Tab value=\"test\">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}>;\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","Leia","match","useRouteMatch","_useLocation","useLocation","pathname","history","useHistory","console","log","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/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 React from 'react';\n\nexport const FileArea = () => {\n return (\n <div>FILE AREA</div>\n );\n};","import React from 'react';\n\nexport const TestArea = () => {\n return (\n <div>TEST AREA</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}/archives`} 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","FileArea","TestArea","Leia","match","useRouteMatch","_useLocation","useLocation","pathname","history","useHistory","t","activeTab","useMemo","split","push","url","Suspense","fallback","loading","SwitchRoute","Route","path","exact","component","Code7"],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +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
|
+
language: "en" | "pt-br" | "es";
|
|
7
|
+
loading: ReactElement;
|
|
6
8
|
}>;
|
|
7
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.9",
|
|
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,19 @@
|
|
|
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": {
|
|
64
67
|
"classcat": "^5.0.4",
|
|
65
|
-
"
|
|
66
|
-
"
|
|
68
|
+
"styled-components": "^6.1.8",
|
|
69
|
+
"react-router-dom": "^5.2.0"
|
|
67
70
|
}
|
|
68
71
|
}
|
package/src/Leia.tsx
CHANGED
|
@@ -1,28 +1,42 @@
|
|
|
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
|
+
import { getLanguage } from './utils/getLanguage'
|
|
9
|
+
|
|
10
|
+
import { FileArea } from './components/FileArea';
|
|
11
|
+
import { TestArea } from './components/TestArea';
|
|
12
|
+
|
|
8
13
|
export const Leia = (props: Props) => {
|
|
9
14
|
const match = useRouteMatch();
|
|
10
15
|
const { pathname } = useLocation();
|
|
11
16
|
const history = useHistory();
|
|
12
17
|
|
|
13
|
-
|
|
18
|
+
const t = getLanguage(props.language)
|
|
14
19
|
|
|
15
20
|
const activeTab = useMemo(() => {
|
|
16
21
|
return pathname.split('/')[5] || 'files';
|
|
17
22
|
}, [pathname]);
|
|
18
23
|
|
|
19
24
|
return (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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 path={`${match.path}`} exact component={FileArea} />
|
|
36
|
+
<Route path={`${match.path}/archives`} component={FileArea} />
|
|
37
|
+
<Route path={`${match.path}/test`} component={TestArea} />
|
|
38
|
+
</SwitchRoute>
|
|
39
|
+
</Suspense>
|
|
40
|
+
</>
|
|
27
41
|
);
|
|
28
42
|
};
|
package/src/index.tsx
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
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
|
|
|
5
5
|
export type Props = PropsWithChildren<{
|
|
6
6
|
id: string;
|
|
7
7
|
activeTab: string;
|
|
8
|
+
language: "en" | "pt-br" | "es";
|
|
9
|
+
loading: ReactElement
|
|
8
10
|
}>;
|
|
9
11
|
|
|
10
12
|
export function Code7(props: Props) {
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
type Language = {
|
|
2
|
+
files: string;
|
|
3
|
+
test: string;
|
|
4
|
+
};
|
|
5
|
+
|
|
6
|
+
export const getLanguage = (language: keyof Record<'en' | 'pt-br' | 'es', Language>): Language => {
|
|
7
|
+
const languages: Record<'en' | 'pt-br' | 'es', Language> = {
|
|
8
|
+
en: {
|
|
9
|
+
files: 'Files',
|
|
10
|
+
test: 'Test',
|
|
11
|
+
},
|
|
12
|
+
'pt-br': {
|
|
13
|
+
files: 'Arquivos',
|
|
14
|
+
test: 'Teste',
|
|
15
|
+
},
|
|
16
|
+
es: {
|
|
17
|
+
files: 'Archivos',
|
|
18
|
+
test: 'Prueba',
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
return languages[language] || languages['pt-br'];
|
|
23
|
+
};
|