1+ 'use strict' ;
2+
3+ Object . defineProperty ( exports , "__esModule" , {
4+ value : true
5+ } ) ;
6+ exports . toast = undefined ;
7+
8+ var _extends = Object . assign || function ( target ) { for ( var i = 1 ; i < arguments . length ; i ++ ) { var source = arguments [ i ] ; for ( var key in source ) { if ( Object . prototype . hasOwnProperty . call ( source , key ) ) { target [ key ] = source [ key ] ; } } } return target ; } ;
9+
10+ var _createClass = function ( ) { function defineProperties ( target , props ) { for ( var i = 0 ; i < props . length ; i ++ ) { var descriptor = props [ i ] ; descriptor . enumerable = descriptor . enumerable || false ; descriptor . configurable = true ; if ( "value" in descriptor ) descriptor . writable = true ; Object . defineProperty ( target , descriptor . key , descriptor ) ; } } return function ( Constructor , protoProps , staticProps ) { if ( protoProps ) defineProperties ( Constructor . prototype , protoProps ) ; if ( staticProps ) defineProperties ( Constructor , staticProps ) ; return Constructor ; } ; } ( ) ;
11+
12+ var _react = require ( 'react' ) ;
13+
14+ var _react2 = _interopRequireDefault ( _react ) ;
15+
16+ var _propTypes = require ( 'prop-types' ) ;
17+
18+ var _propTypes2 = _interopRequireDefault ( _propTypes ) ;
19+
20+ var _reactDom = require ( 'react-dom' ) ;
21+
22+ var _reactDom2 = _interopRequireDefault ( _reactDom ) ;
23+
24+ var _objectAssign = require ( 'object-assign' ) ;
25+
26+ var _objectAssign2 = _interopRequireDefault ( _objectAssign ) ;
27+
28+ var _styles = require ( './styles' ) ;
29+
30+ var _config = require ( './config' ) ;
31+
32+ function _interopRequireDefault ( obj ) { return obj && obj . __esModule ? obj : { default : obj } ; }
33+
34+ function _classCallCheck ( instance , Constructor ) { if ( ! ( instance instanceof Constructor ) ) { throw new TypeError ( "Cannot call a class as a function" ) ; } }
35+
36+ function _possibleConstructorReturn ( self , call ) { if ( ! self ) { throw new ReferenceError ( "this hasn't been initialised - super() hasn't been called" ) ; } return call && ( typeof call === "object" || typeof call === "function" ) ? call : self ; }
37+
38+ function _inherits ( subClass , superClass ) { if ( typeof superClass !== "function" && superClass !== null ) { throw new TypeError ( "Super expression must either be null or a function, not " + typeof superClass ) ; } subClass . prototype = Object . create ( superClass && superClass . prototype , { constructor : { value : subClass , enumerable : false , writable : true , configurable : true } } ) ; if ( superClass ) Object . setPrototypeOf ? Object . setPrototypeOf ( subClass , superClass ) : subClass . __proto__ = superClass ; }
39+
40+ var Toast = function ( _React$Component ) {
41+ _inherits ( Toast , _React$Component ) ;
42+
43+ function Toast ( props ) {
44+ _classCallCheck ( this , Toast ) ;
45+
46+ var _this = _possibleConstructorReturn ( this , ( Toast . __proto__ || Object . getPrototypeOf ( Toast ) ) . call ( this , props ) ) ;
47+
48+ _this . state = {
49+ containerStyleExt : _this . setContainerStyle ( ) . container
50+ } ;
51+ return _this ;
52+ }
53+ // set container style
54+
55+
56+ _createClass ( Toast , [ {
57+ key : 'setContainerStyle' ,
58+ value : function setContainerStyle ( ) {
59+ // create style object
60+ var style = { } ;
61+ style . animate = { } ;
62+ // switch position
63+ switch ( this . props . position ) {
64+ case 'top' :
65+ style . container = ( 0 , _objectAssign2 . default ) ( { } , _styles . containerStyle , _styles . containerTopStyle ) ;
66+ style . animate . show = ( 0 , _objectAssign2 . default ) ( { } , _styles . animateDownStyleToShow ) ;
67+ style . animate . hide = ( 0 , _objectAssign2 . default ) ( { } , _styles . animateDownStyleToHide ) ;
68+ break ;
69+ case 'bottom' :
70+ style . container = ( 0 , _objectAssign2 . default ) ( { } , _styles . containerStyle , _styles . containerBottomStyle ) ;
71+ style . animate . show = ( 0 , _objectAssign2 . default ) ( { } , _styles . animateUpStyleToShow ) ;
72+ style . animate . hide = ( 0 , _objectAssign2 . default ) ( { } , _styles . animateUpStyleToHide ) ;
73+ break ;
74+ case 'default' :
75+ style . container = ( 0 , _objectAssign2 . default ) ( { } , _styles . containerStyle , _styles . containerDefaultStyle ) ;
76+ style . animate . show = ( 0 , _objectAssign2 . default ) ( { } , _styles . animateFadeStyleToShow ) ;
77+ style . animate . hide = ( 0 , _objectAssign2 . default ) ( { } , _styles . animateFadeStyleToHide ) ;
78+ break ;
79+ default :
80+ style . container = ( 0 , _objectAssign2 . default ) ( { } , _styles . containerStyle , _styles . containerDefaultStyle ) ;
81+ style . animate . show = ( 0 , _objectAssign2 . default ) ( { } , _styles . animateFadeStyleToShow ) ;
82+ style . animate . hide = ( 0 , _objectAssign2 . default ) ( { } , _styles . animateFadeStyleToHide ) ;
83+ break ;
84+ }
85+ // return style
86+ return style ;
87+ }
88+ // set content style
89+
90+ } , {
91+ key : 'setContentStyle' ,
92+ value : function setContentStyle ( ) {
93+ // create style object
94+ var style = { } ;
95+ // switch type
96+ switch ( this . props . type ) {
97+ case 'success' :
98+ style = ( 0 , _objectAssign2 . default ) ( { } , _styles . contentBaseStyle , _styles . contentSuccessStyle ) ;
99+ break ;
100+ case 'error' :
101+ style = ( 0 , _objectAssign2 . default ) ( { } , _styles . contentBaseStyle , _styles . contentErrorStyle ) ;
102+ break ;
103+ case 'warning' :
104+ style = ( 0 , _objectAssign2 . default ) ( { } , _styles . contentBaseStyle , _styles . contentWarningStyle ) ;
105+ break ;
106+ case 'info' :
107+ style = ( 0 , _objectAssign2 . default ) ( { } , _styles . contentBaseStyle , _styles . contentInfoStyle ) ;
108+ break ;
109+ default :
110+ style = ( 0 , _objectAssign2 . default ) ( { } , _styles . contentBaseStyle ) ;
111+ break ;
112+ }
113+ // if set backgroundColor attr
114+ if ( this . props . backgroundColor ) {
115+ style = ( 0 , _objectAssign2 . default ) ( { } , style , { backgroundColor : this . props . backgroundColor } ) ;
116+ }
117+ // if set textColor attr
118+ if ( this . props . textColor ) {
119+ style = ( 0 , _objectAssign2 . default ) ( { } , style , { color : this . props . textColor } ) ;
120+ }
121+ // return style
122+ return style ;
123+ }
124+ // after component mount
125+
126+ } , {
127+ key : 'componentDidMount' ,
128+ value : function componentDidMount ( ) {
129+ var _this2 = this ;
130+
131+ var _containerStyle = this . setContainerStyle ( ) ;
132+ // // show toast effect style
133+ setTimeout ( function ( ) {
134+ _this2 . setState ( {
135+ containerStyleExt : ( 0 , _objectAssign2 . default ) ( { } , _containerStyle . container , _containerStyle . animate . show )
136+ } ) ;
137+ } , 100 ) ;
138+ // hide toast effect style, do it after timeout
139+ setTimeout ( function ( ) {
140+ _this2 . setState ( {
141+ containerStyleExt : ( 0 , _objectAssign2 . default ) ( { } , _containerStyle . container , _containerStyle . animate . hide )
142+ } ) ;
143+ } , this . props . timeout ) ;
144+ }
145+
146+ // render component
147+
148+ } , {
149+ key : 'render' ,
150+ value : function render ( ) {
151+ var text = this . props . text ;
152+
153+ var _contentStyle = this . setContentStyle ( ) ;
154+ return _react2 . default . createElement (
155+ 'div' ,
156+ { style : this . state . containerStyleExt } ,
157+ _react2 . default . createElement (
158+ 'span' ,
159+ { style : _contentStyle } ,
160+ text
161+ )
162+ ) ;
163+ }
164+ } ] ) ;
165+
166+ return Toast ;
167+ } ( _react2 . default . Component ) ;
168+ // component prop types
169+
170+
171+ Toast . PropTypes = {
172+ text : _propTypes2 . default . string ,
173+ type : _propTypes2 . default . string ,
174+ style : _propTypes2 . default . oneOfType ( [ _propTypes2 . default . object , _propTypes2 . default . bool ] )
175+ } ;
176+
177+ // will mount react dom
178+
179+ var _class = function ( _React$Component2 ) {
180+ _inherits ( _class , _React$Component2 ) ;
181+
182+ function _class ( ) {
183+ _classCallCheck ( this , _class ) ;
184+
185+ return _possibleConstructorReturn ( this , ( _class . __proto__ || Object . getPrototypeOf ( _class ) ) . apply ( this , arguments ) ) ;
186+ }
187+
188+ _createClass ( _class , [ {
189+ key : 'render' ,
190+ value : function render ( ) {
191+ return _react2 . default . createElement ( 'div' , { id : _config . wrapper } ) ;
192+ }
193+ } ] ) ;
194+
195+ return _class ;
196+ } ( _react2 . default . Component ) ;
197+
198+ // mount toast to wrapper dom
199+
200+
201+ exports . default = _class ;
202+ function mountToast ( text , type , config ) {
203+ _reactDom2 . default . render ( _react2 . default . createElement ( Toast , _extends ( { text : text , type : type } , config ) ) , document . getElementById ( _config . wrapper ) ) ;
204+ }
205+
206+ // un mount toast to wrapper dom
207+ function umountToast ( ) {
208+ _reactDom2 . default . unmountComponentAtNode ( document . getElementById ( _config . wrapper ) ) ;
209+ }
210+
211+ // show animated toast
212+ function show ( text ) {
213+ var type = arguments . length > 1 && arguments [ 1 ] !== undefined ? arguments [ 1 ] : 'info' ;
214+ var config = arguments . length > 2 && arguments [ 2 ] !== undefined ? arguments [ 2 ] : { } ;
215+
216+ var newConfig = ( 0 , _objectAssign2 . default ) ( { } , _config . options , config ) ;
217+ if ( ! document . getElementById ( _config . wrapper ) . hasChildNodes ( ) ) {
218+ // mount toast
219+ mountToast ( text , type , newConfig ) ;
220+ // un mount after timeout
221+ setTimeout ( function ( ) {
222+ umountToast ( ) ;
223+ } , newConfig . timeout + _config . duration ) ;
224+ return true ;
225+ }
226+ return false ;
227+ }
228+
229+ // export methods what dispatch toast
230+ var toast = exports . toast = {
231+ show : show
232+ } ;
0 commit comments