Refactor preloader

* make it simple (use only one DOM element for preloader)
* remove useless test (it tests nothing)
* unify preloader import/export
This commit is contained in:
Pavel Mineev
2020-01-07 11:14:59 -06:00
committed by Umputun
parent 78bb9dd153
commit a309fc8fb0
8 changed files with 80 additions and 104 deletions
+1 -1
View File
@@ -1,3 +1,3 @@
export { default } from './preloader';
export { Preloader } from './preloader';
// all styles were moved to iframe.html
@@ -1,12 +0,0 @@
/** @jsx createElement */
import { createElement } from 'preact';
import { mount } from 'enzyme';
import Preloader from './preloader';
describe(`<Preloader />`, () => {
it('should render Preloader', () => {
const element = mount(<Preloader mix="root__preloader" />);
expect(element.childAt(0).hasClass('preloader root__preloader')).toEqual(true);
});
});
@@ -1,17 +1,9 @@
/** @jsx createElement */
import { createElement, JSX } from 'preact';
import { createElement, FunctionComponent } from 'preact';
import b, { Mix } from 'bem-react-helper';
type Props = JSX.HTMLAttributes & {
interface Props {
mix?: Mix;
};
}
const Preloader = (props: Props) => (
<div className={b('preloader', props)}>
<div className="preloader__bounce" />
<div className="preloader__bounce" />
<div className="preloader__bounce" />
</div>
);
export default Preloader;
export const Preloader: FunctionComponent<Props> = ({ mix }) => <div className={b('preloader', { mix })} />;