Skip to content

Commit 4dd4ab5

Browse files
committed
revert back
1 parent 1c3d70a commit 4dd4ab5

File tree

15 files changed

+58
-257
lines changed

15 files changed

+58
-257
lines changed
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
/* eslint-disable no-unused-vars */
2+
export enum ModalAnimation {
3+
Reveal = 'reveal',
4+
Unfold = 'unfold',
5+
Uncover = 'uncover',
6+
BlowUp = 'blowUp',
7+
Flash = 'flash',
8+
Sketch = 'sketch',
9+
Slide = 'slide'
10+
}

src/components/animatedModal/AnimatedModal.stories.tsx

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,8 @@ import React, { useRef } from 'react';
55
import {
66
AnimatedModal,
77
AnimatedModalObject,
8-
AnimatedModalFrame,
9-
Unfold,
10-
Reveal,
11-
Uncover,
12-
Flash,
13-
Sketch,
14-
Slide,
15-
BlowUp
8+
ModalAnimation,
9+
AnimatedModalFrame
1610
} from '../../components';
1711

1812
export default {
@@ -26,37 +20,37 @@ const AnimatedModalTemplate: Story = () => {
2620

2721
return (
2822
<>
29-
<AnimatedModal ref={ref} animation={new Unfold()} />
23+
<AnimatedModal ref={ref} animation={ModalAnimation.Unfold} />
3024
<AnimatedModalFrame>
3125
<button onClick={() => ref.current?.OpenModal()}>Open Unfold Modal</button>
3226
<br />
3327
<br />
34-
<button onClick={() => ref.current?.OpenModal(Reveal.animationName)}>
28+
<button onClick={() => ref.current?.OpenModal(ModalAnimation.Reveal)}>
3529
Open Reveal Modal
3630
</button>
3731
<br />
3832
<br />
39-
<button onClick={() => ref.current?.OpenModal(Uncover.animationName)}>
33+
<button onClick={() => ref.current?.OpenModal(ModalAnimation.Uncover)}>
4034
Open Uncover Modal
4135
</button>
4236
<br />
4337
<br />
44-
<button onClick={() => ref.current?.OpenModal(Flash.animationName)}>
38+
<button onClick={() => ref.current?.OpenModal(ModalAnimation.Flash)}>
4539
Open Flash Modal
4640
</button>
4741
<br />
4842
<br />
49-
<button onClick={() => ref.current?.OpenModal(Sketch.animationName)}>
43+
<button onClick={() => ref.current?.OpenModal(ModalAnimation.Sketch)}>
5044
Open Sketch Modal
5145
</button>
5246
<br />
5347
<br />
54-
<button onClick={() => ref.current?.OpenModal(Slide.animationName)}>
48+
<button onClick={() => ref.current?.OpenModal(ModalAnimation.Slide)}>
5549
Open Slide Modal
5650
</button>
5751
<br />
5852
<br />
59-
<button onClick={() => ref.current?.OpenModal(BlowUp.animationName)}>
53+
<button onClick={() => ref.current?.OpenModal(ModalAnimation.BlowUp)}>
6054
Open BlowUp Modal
6155
</button>
6256
<br />

src/components/animatedModal/AnimatedModal.tsx

Lines changed: 27 additions & 69 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React, { useEffect, useState, useImperativeHandle, forwardRef } from 'rea
22

33
import './AnimatedModal.styles.scss';
44

5-
import { ModalAnimation, Sketch, Unfold } from './animations';
5+
import { ModalAnimation } from './AnimatedModal.enums';
66

77
/**
88
* Animated Modal's props.
@@ -13,70 +13,34 @@ import { ModalAnimation, Sketch, Unfold } from './animations';
1313
* @property {boolean} [closeOnBackgroundClick] Close modal on background click?
1414
*/
1515
interface IAnimatedModalProps {
16-
/**
17-
* Open Modal on startup.
18-
* @param {boolean} [startOpen] Open Modal on startup?
19-
* @default false
20-
*/
21-
startOpen?: boolean;
22-
23-
/**
24-
* Modal animation.
25-
* @param {ModalAnimation} animation Modal animation
26-
* @default new Unfold()
27-
*/
16+
isOpen?: boolean;
2817
animation: ModalAnimation;
29-
30-
/**
31-
* Modal's children.
32-
* @param {React.ReactNode} [children] Modal's children
33-
*/
3418
children?: React.ReactNode;
35-
36-
/**
37-
* Close modal on background click.
38-
* @param {boolean} [closeOnBackgroundClick] Close modal on background click?
39-
* @default true
40-
*/
4119
closeOnBackgroundClick?: boolean;
4220
}
4321

4422
/**
4523
* Animated Modal's object.
4624
* @type AnimatedModalObject
47-
* @member {() => void} OpenModal Open modal
48-
* @member {() => void} CloseModal Close modal
49-
* @member {() => boolean} IsModalOpen Is modal open?
25+
* @property {() => void} OpenModal Open modal
26+
* @property {() => void} CloseModal Close modal
27+
* @property {() => boolean} IsModalOpen Is modal open?
5028
*/
5129
export type AnimatedModalObject = {
52-
/**
53-
* Open modal.
54-
* @param {string} [animation] Modal animation
55-
* @returns {void} void
56-
*/
5730
// eslint-disable-next-line no-unused-vars
58-
OpenModal: (animation?: string) => void;
59-
60-
/**
61-
* Close modal with open modal animation.
62-
* @returns {void} void
63-
*/
31+
OpenModal: (modalAnimation?: ModalAnimation) => void;
6432
CloseModal: () => void;
65-
66-
/**
67-
* Check if modal is open.
68-
* @returns {boolean} is modal open?
69-
*/
7033
IsModalOpen: () => boolean;
7134
};
7235

7336
/**
7437
* Animated Modal.
38+
*
7539
* @param {IAnimatedModalProps} props Animated modal's props
7640
* @param {React.Ref<AnimatedModalObject>} ref Animated modal's ref
7741
* @returns AnimatedModal.
7842
*/
79-
export const AnimatedModal = forwardRef(
43+
const AnimatedModal = forwardRef(
8044
(props: IAnimatedModalProps, ref: React.Ref<AnimatedModalObject>) => {
8145
// State
8246
const [modalClass, setModalClass] = useState('');
@@ -96,12 +60,12 @@ export const AnimatedModal = forwardRef(
9660

9761
/**
9862
* Open modal.
99-
* @param {string} animation Modal animation
63+
* @param {ModalAnimation} modalAnimation Modal animation
10064
* @returns {void}
10165
*/
102-
function openModal(animation?: string): void {
103-
if (animation) setModalClass(animation);
104-
else setModalClass(props.animation.getAnimationName());
66+
function openModal(modalAnimation?: ModalAnimation): void {
67+
if (modalAnimation) setModalClass(modalAnimation);
68+
else setModalClass(props.animation);
10569

10670
document.body.classList.add('modal-active');
10771
}
@@ -151,11 +115,11 @@ export const AnimatedModal = forwardRef(
151115
}
152116

153117
useEffect(() => {
154-
if (props.startOpen) {
155-
setModalClass(props.animation.getAnimationName());
118+
if (props.isOpen) {
119+
setModalClass(props.animation);
156120
document.body.classList.add('modal-active');
157121
}
158-
}, [props.startOpen]);
122+
}, [props.isOpen]);
159123

160124
/**
161125
* Default modal.
@@ -175,28 +139,20 @@ export const AnimatedModal = forwardRef(
175139
);
176140
}
177141

178-
function sketchSVG(): React.ReactElement {
179-
return (
180-
<svg
181-
id="modal-sketch-svg"
182-
xmlns="http://www.w3.org/2000/svg"
183-
width="100%"
184-
height="100%"
185-
preserveAspectRatio="none">
186-
<rect x="0" y="0" fill="none" width="226" height="162" rx="3" ry="3"></rect>
187-
</svg>
188-
);
189-
}
190-
191-
console.log(modalClass);
192-
193142
return (
194143
<div id="animated-modal-container" className={modalClass}>
195144
<div
196145
id="animated-modal-background"
197146
onClick={props.closeOnBackgroundClick ? onBackgroundClick : undefined}>
198147
<div id="animated-modal">
199-
{modalClass.includes(Sketch.animationName) ? sketchSVG() : undefined}
148+
<svg
149+
id="modal-sketch-svg"
150+
xmlns="http://www.w3.org/2000/svg"
151+
width="100%"
152+
height="100%"
153+
preserveAspectRatio="none">
154+
<rect x="0" y="0" fill="none" width="226" height="162" rx="3" ry="3"></rect>
155+
</svg>
200156
<div id="modal-content">{props.children ? props.children : defaultModal()}</div>
201157
</div>
202158
</div>
@@ -210,7 +166,9 @@ AnimatedModal.displayName = 'AnimatedModal';
210166

211167
// Set default props
212168
AnimatedModal.defaultProps = {
213-
startOpen: false,
214-
animation: new Unfold(),
169+
isOpen: false,
170+
animation: ModalAnimation.Unfold,
215171
closeOnBackgroundClick: true
216172
};
173+
174+
export default AnimatedModal;

src/components/animatedModal/AnimatedModalFrame.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ interface IAnimatedModalProps {
44
children?: React.ReactNode;
55
}
66

7-
export const AnimatedModalFrame: FC<IAnimatedModalProps> = (props) => {
7+
const AnimatedModalFrame: FC<IAnimatedModalProps> = (props) => {
88
return <div id="animated-modal-frame">{props.children}</div>;
99
};
10+
11+
export default AnimatedModalFrame;

src/components/animatedModal/animations/BlowUp.ts

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/components/animatedModal/animations/Flash.ts

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/components/animatedModal/animations/ModalAnimation.ts

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/components/animatedModal/animations/Reveal.ts

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/components/animatedModal/animations/Sketch.ts

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/components/animatedModal/animations/Slide.ts

Lines changed: 0 additions & 20 deletions
This file was deleted.

src/components/animatedModal/animations/Uncover.ts

Lines changed: 0 additions & 20 deletions
This file was deleted.

0 commit comments

Comments
 (0)