diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3a98c47 --- /dev/null +++ b/.gitignore @@ -0,0 +1,16 @@ +logs/ +output/ +npm-debug.log +yarn-error.log +node_modules/ +package-lock.json +yarn.lock +coverage/ +dist/ +.idea/ +run/ +.DS_Store +*.sw* +*.un~ +.tsbuildinfo +.tsbuildinfo.* diff --git a/package.json b/package.json new file mode 100644 index 0000000..7182c91 --- /dev/null +++ b/package.json @@ -0,0 +1,17 @@ +{ + "name": "react-components", + "version": "0.1.0", + "description": "react-components", + "dependencies": { + "@types/react-router-dom": "^5.1.3", + "react": "^16.10.2", + "react-dom": "^16.10.2", + "react-router-dom": "^5.1.2" + }, + "repository": { + "type": "git", + "url": "" + }, + "author": "kuaizhan", + "license": "MIT" +} diff --git a/src/components/AdvancedLink/index.tsx b/src/components/AdvancedLink/index.tsx new file mode 100644 index 0000000..2ce3b43 --- /dev/null +++ b/src/components/AdvancedLink/index.tsx @@ -0,0 +1,44 @@ +import React from 'react' +import { Link } from 'react-router-dom' +import { AdvancedLinkProp } from './interface' + +const AdvancedLink: React.FC = ({ + href = '', + linkType, + isOpenNewWindow, + children, + className, + style, + replace, + innerRef, + title, + target +}) => ( + <> + { + linkType !== 'outer' ? + + {children} + : + + {children} + + } + +) + +export default AdvancedLink diff --git a/src/components/AdvancedLink/interface.ts b/src/components/AdvancedLink/interface.ts new file mode 100644 index 0000000..20ab7ee --- /dev/null +++ b/src/components/AdvancedLink/interface.ts @@ -0,0 +1,8 @@ +import { LinkProps } from 'react-router-dom/index' +export interface AdvancedLinkProp extends LinkProps { + icon?: string, + href?: string, + path?: string, + linkType?: 'inner' | 'outer', + isOpenNewWindow?: boolean, +} diff --git a/src/components/index.ts b/src/components/index.ts new file mode 100644 index 0000000..fa54fd8 --- /dev/null +++ b/src/components/index.ts @@ -0,0 +1,4 @@ +import AdvancedLink from './AdvancedLink' +export { + AdvancedLink +} \ No newline at end of file