Skip to content
This repository was archived by the owner on Aug 11, 2021. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 21 additions & 3 deletions .eslintrc.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"plugins": [
"react",
"react-hooks"
"react-hooks",
"import"
],
"parserOptions": {
"ecmaVersion": 2018,
Expand All @@ -20,7 +21,19 @@
"settings": {
"react": {
"version": "detect"
}
},
"import/core-modules": [
"ttag",
"react-components",
"react-router-dom",
"react-router",
"react-redux",
"react-test-renderer",
"enzyme",
"enzyme-adapter-react-16",
"proton-shared",
"proton-shared/*"
]
},
"extends": [
"eslint:recommended",
Expand All @@ -29,6 +42,11 @@
"rules": {
"react/display-name": "off",
"react/prop-types": "warn",
"react-hooks/rules-of-hooks": "error"
"react-hooks/rules-of-hooks": "error",
"import/no-unresolved": [2, {"commonjs": true, "amd": true, "ignore": ["proton-shared"]}],
"import/named": 2,
"import/namespace": 2,
"import/default": 2,
"import/export": 2
}
}
File renamed without changes.
2 changes: 1 addition & 1 deletion components/badge/Badge.js → Components/badge/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ Badge.defaultProps = {
type: 'default'
};

export default Badge;
export default Badge;
4 changes: 2 additions & 2 deletions components/button/Copy.js → Components/button/copy.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import PropTypes from 'prop-types';
import { c } from 'ttag';

import { textToClipboard } from 'proton-shared/lib/helpers/browser';
import Button from './Button';
import Icon from '../icon/Icon';
import Button from './index';
import Icon from '../icon';
import { getClasses } from '../../helpers/component';

const Copy = ({ className }) => {
Expand Down
18 changes: 18 additions & 0 deletions Components/button/group.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import React from 'react';
import PropTypes from 'prop-types';

import Button from './index';
import { getClasses } from '../../helpers/component';

const ButtonGroup = ({ children, className, ...rest }) => (
<Button className={getClasses('pm-button pm-group-button', className)} {...rest}>
{children}
</Button>
);

ButtonGroup.propTypes = {
children: PropTypes.node.isRequired,
className: PropTypes.string
};

export default ButtonGroup;
File renamed without changes.
10 changes: 7 additions & 3 deletions components/button/LargeButton.js → Components/button/large.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,14 @@ import React from 'react';
import PropTypes from 'prop-types';
import { getClasses } from '../../helpers/component';

import Button from './Button';
import Button from './index';

const LargeButton = ({ children, className, ...rest }) => {
return <Button className={getClasses('pm-button pm-button--large mr1', className)} {...rest}>{children}</Button>
return (
<Button className={getClasses('pm-button pm-button--large mr1', className)} {...rest}>
{children}
</Button>
);
};

LargeButton.propTypes = {
Expand All @@ -17,4 +21,4 @@ LargeButton.defaultProps = {
className: ''
};

export default LargeButton;
export default LargeButton;
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';

import Button from './Button';
import Button from './index';

const LinkButton = ({ children, className, ...rest }) => {
return (
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,20 @@
import React from 'react';
import PropTypes from 'prop-types';

import Button from './Button';
import Button from './index';
import { getClasses } from '../../helpers/component';

const PrimaryButton = ({ children, className, ...rest }) => {
return (<Button className={getClasses('pm-button-primary mr1', className)} {...rest}>{children}</Button>);
return (
<Button className={getClasses('pm-button-primary mr1', className)} {...rest}>
{children}
</Button>
);
};

PrimaryButton.propTypes = {
children: PropTypes.node,
className: PropTypes.string
};

export default PrimaryButton;
export default PrimaryButton;
15 changes: 15 additions & 0 deletions Components/button/reset.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import React from 'react';
import PropTypes from 'prop-types';
import Button from './index';

const ResetButton = ({ children, ...rest }) => (
<Button type="reset" {...rest}>
{children}
</Button>
);

ResetButton.propTypes = {
children: PropTypes.node.isRequired
};

export default ResetButton;
10 changes: 7 additions & 3 deletions components/button/SmallButton.js → Components/button/small.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,14 @@ import React from 'react';
import PropTypes from 'prop-types';
import { getClasses } from '../../helpers/component';

import Button from './Button';
import Button from './index';

const SmallButton = ({ children, className, ...rest }) => {
return <Button className={getClasses('pm-button pm-button--small mr1', className)} {...rest}>{children}</Button>
return (
<Button className={getClasses('pm-button pm-button--small mr1', className)} {...rest}>
{children}
</Button>
);
};

SmallButton.propTypes = {
Expand All @@ -17,4 +21,4 @@ SmallButton.defaultProps = {
className: ''
};

export default SmallButton;
export default SmallButton;
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ Block.propTypes = {
className: PropTypes.string
};

export default Block;
export default Block;
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ Bordered.propTypes = {
className: PropTypes.string
};

export default Bordered;
export default Bordered;
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@ Group.propTypes = {
children: PropTypes.node.isRequired
};

export default Group;
export default Group;
File renamed without changes.
8 changes: 6 additions & 2 deletions components/container/Row.js → Components/container/Row.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,16 @@ import PropTypes from 'prop-types';
import { getClasses } from '../../helpers/component';

const Row = ({ children, className, ...rest }) => {
return <div className={getClasses('flex flex-nowrap onmobile-flex-column mb1', className)} {...rest}>{children}</div>;
return (
<div className={getClasses('flex flex-nowrap onmobile-flex-column mb1', className)} {...rest}>
{children}
</div>
);
};

Row.propTypes = {
children: PropTypes.node.isRequired,
className: PropTypes.string
};

export default Row;
export default Row;
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import renderer from 'react-test-renderer';
import Enzyme, { shallow } from 'enzyme';
import Adapter from 'enzyme-adapter-react-16';

import Dropdown from './Dropdown';
import Button from '../button/Button';
import Dropdown from './index';
import Button from '../button/index';

const myDropdown = () => {
return (
Expand All @@ -20,7 +20,12 @@ describe('Dropdown', () => {
const wrapper = shallow(myDropdown());

it('renders without crashing', () => {
expect(wrapper.find(Button).shallow().text()).toBe('Profile');
expect(
wrapper
.find(Button)
.shallow()
.text()
).toBe('Profile');
expect(wrapper.find('input').exists()).toBe(false);
});

Expand All @@ -40,4 +45,4 @@ describe('Dropdown', () => {

expect(tree).toMatchSnapshot();
});
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import React, { useState, useEffect, useRef } from 'react';
import PropTypes from 'prop-types';
import keycode from 'keycode';

import Button from '../button/Button';
import Button from '../button';

const Dropdown = ({ isOpen, children, className, content, autoClose, autoCloseOutside }) => {
const [open, setOpen] = useState(isOpen);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ import React from 'react';
import PropTypes from 'prop-types';
import { NavLink } from 'react-router-dom';

import Button from '../button/Button';
import Icon from '../icon/Icon';
import Button from '../button';
import Icon from '../icon';
import { getClasses } from '../../helpers/component';

const DropdownItem = ({ type, link, text, iconName, className, onClick, disabled }) => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
import React from 'react';
import PropTypes from 'prop-types';
import DropdownItem from './DropdownItem';
import DropdownItem from './item';

const DropdownMenu = ({ list }) => {
return (
<ul>
{list.map((item, index) => <DropdownItem {...item} key={item.text + index}></DropdownItem>)}
{list.map((item, index) => (
<DropdownItem {...item} key={item.text + index} />
))}
</ul>
);
};
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';

import Input from './Input';
import Input from './index';

const Checkbox = ({ checked, ...rest }) => {
return (
Expand Down
8 changes: 5 additions & 3 deletions components/input/Password.js → Components/input/Password.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { useState } from 'react';

import Input from './Input';
import Input from './index';

const Password = ({ ...rest }) => {
const [type, setType] = useState('password');
Expand All @@ -9,9 +9,11 @@ const Password = ({ ...rest }) => {
return (
<>
<Input type={type} {...rest} />
<button type="button" onClick={toggle}>TOGGLE</button>
<button type="button" onClick={toggle}>
TOGGLE
</button>
</>
);
};

export default Password;
export default Password;
2 changes: 1 addition & 1 deletion components/input/Radio.js → Components/input/Radio.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React from 'react';

import Input from './Input';
import Input from './index';

const Radio = ({ ...rest }) => {
return (
Expand Down
2 changes: 1 addition & 1 deletion components/input/Search.js → Components/input/Search.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import React, { useState, useEffect } from 'react';
import PropTypes from 'prop-types';
import Input from './Input';
import Input from './index';
import useDebounceInput from './useDebounceInput';

/**
Expand Down
4 changes: 2 additions & 2 deletions components/input/TextArea.js → Components/input/TextArea.js
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ const TextArea = ({ className, disabled, onPressEnter, onKeyDown, onChange, onFo
onFocus={handleFocus}
onKeyDown={handleKeyDown}
{...rest}
/>
/>
);
};

Expand All @@ -78,4 +78,4 @@ TextArea.defaultProps = {
rows: 5
};

export default TextArea;
export default TextArea;
File renamed without changes.
8 changes: 6 additions & 2 deletions components/label/Label.js → Components/label/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ import PropTypes from 'prop-types';
import { getClasses } from '../../helpers/component';

const Label = ({ htmlFor, className, children, ...rest }) => {
return <label htmlFor={htmlFor} className={getClasses('pm-label', className)} {...rest}>{children}</label>;
return (
<label htmlFor={htmlFor} className={getClasses('pm-label', className)} {...rest}>
{children}
</label>
);
};

Label.propTypes = {
Expand All @@ -12,4 +16,4 @@ Label.propTypes = {
htmlFor: PropTypes.string
};

export default Label;
export default Label;
6 changes: 3 additions & 3 deletions components/link/Info.js → Components/link/Info.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import React from 'react';
import PropTypes from 'prop-types';

import Href from './Href';
import Icon from '../icon/Icon';
import Tooltip from '../tooltip/Tooltip';
import Href from './href';
import Icon from '../icon';
import Tooltip from '../tooltip';

const wrapTooltip = (children, title) => <Tooltip title={title}>{children}</Tooltip>;
const wrapLink = (children, url) => <Href url={url}>{children}</Href>;
Expand Down
4 changes: 2 additions & 2 deletions components/link/LearnMore.js → Components/link/LearnMore.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,10 @@ import React from 'react';
import PropTypes from 'prop-types';
import { c } from 'ttag';

import Href from './Href';
import HrefLink from './href';

const LearnMore = ({ url }) => {
return <Href url={url}>{c('Link').t`Learn more`}</Href>;
return <HrefLink url={url}>{c('Link').t`Learn more`}</HrefLink>;
};

LearnMore.propTypes = {
Expand Down
Loading