@xaypay/tui 0.0.62 → 0.0.64

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,188 @@
1
+ #top-left {
2
+ top: 1em;
3
+ left: 0;
4
+ }
5
+
6
+ #top-right {
7
+ top: 1em;
8
+ right: 0
9
+ }
10
+
11
+ #top-center {
12
+ top: 1em;
13
+ left: 50%;
14
+ transform: translateX(-50%);
15
+ -webkit-transform: translateX(-50%);
16
+ -moz-transform: translateX(-50%);
17
+ -ms-transform: translateX(-50%);
18
+ -o-transform: translateX(-50%);
19
+ }
20
+
21
+ #bottom-left {
22
+ left: 0;
23
+ bottom: 1em;
24
+ }
25
+
26
+ #bottom-right {
27
+ right: 0;
28
+ bottom: 1em;
29
+ }
30
+
31
+ #bottom-center {
32
+ bottom: 1em;
33
+ left: 50%;
34
+ transform: translateX(-50%);
35
+ -webkit-transform: translateX(-50%);
36
+ -moz-transform: translateX(-50%);
37
+ -ms-transform: translateX(-50%);
38
+ -o-transform: translateX(-50%);
39
+ }
40
+
41
+ .top-left {
42
+ top: 1em;
43
+ left: 0;
44
+ }
45
+
46
+ .top-right {
47
+ top: 1em;
48
+ right: 0
49
+ }
50
+
51
+ .top-center {
52
+ top: 1em;
53
+ left: 50%;
54
+ transform: translateX(-50%);
55
+ -webkit-transform: translateX(-50%);
56
+ -moz-transform: translateX(-50%);
57
+ -ms-transform: translateX(-50%);
58
+ -o-transform: translateX(-50%);
59
+ }
60
+
61
+ .bottom-left {
62
+ left: 0;
63
+ bottom: 1em;
64
+ }
65
+
66
+ .bottom-right {
67
+ right: 0;
68
+ bottom: 1em;
69
+ }
70
+
71
+ .bottom-center {
72
+ bottom: 1em;
73
+ left: 50%;
74
+ transform: translateX(-50%);
75
+ -webkit-transform: translateX(-50%);
76
+ -moz-transform: translateX(-50%);
77
+ -ms-transform: translateX(-50%);
78
+ -o-transform: translateX(-50%);
79
+ }
80
+
81
+ .notify-block {
82
+ -webkit-animation-duration: 0.5s;
83
+ animation-duration: 0.5s;
84
+ -webkit-animation-fill-mode: both;
85
+ animation-fill-mode: both;
86
+ }
87
+
88
+ .bounce-in-right {
89
+ -webkit-animation-name: bounceInRight;
90
+ animation-name: bounceInRight;
91
+ }
92
+
93
+ .bounce-out-right {
94
+ -webkit-animation-name: bounceOutRight;
95
+ animation-name: bounceOutRight;
96
+ }
97
+
98
+ @keyframes bounceInRight {
99
+ from {
100
+ opacity: 0;
101
+ right: -100%;
102
+ }
103
+
104
+ 60% {
105
+ opacity: 1;
106
+ right: 40px;
107
+ }
108
+
109
+ 75% {
110
+ right: 0px;
111
+ }
112
+
113
+ 90% {
114
+ right: 30px;
115
+ }
116
+
117
+ to {
118
+ right: 20px;
119
+ }
120
+ }
121
+
122
+ @keyframes bounceOutRight {
123
+ from {
124
+ opacity: 1;
125
+ right: 20px;
126
+ }
127
+
128
+ 60% {
129
+ opacity: 1;
130
+ right: 60px;
131
+ }
132
+
133
+ to {
134
+ opacity: 0;
135
+ right: -100%;
136
+ }
137
+ }
138
+
139
+ .bounce-in-left {
140
+ -webkit-animation-name: bounceInLeft;
141
+ animation-name: bounceInLeft;
142
+ }
143
+
144
+ .bounce-out-left {
145
+ -webkit-animation-name: bounceOutLeft;
146
+ animation-name: bounceOutLeft;
147
+ }
148
+
149
+ @keyframes bounceInLeft {
150
+ from {
151
+ opacity: 0;
152
+ left: -100%;
153
+ }
154
+
155
+ 60% {
156
+ opacity: 1;
157
+ left: 40px;
158
+ }
159
+
160
+ 75% {
161
+ left: 0px;
162
+ }
163
+
164
+ 90% {
165
+ left: 30px;
166
+ }
167
+
168
+ to {
169
+ left: 20px;
170
+ }
171
+ }
172
+
173
+ @keyframes bounceOutLeft {
174
+ from {
175
+ opacity: 1;
176
+ left: 20px;
177
+ }
178
+
179
+ 60% {
180
+ opacity: 1;
181
+ left: 60px;
182
+ }
183
+
184
+ to {
185
+ opacity: 0;
186
+ left: -100%;
187
+ }
188
+ }
@@ -0,0 +1,378 @@
1
+ import React from 'react';
2
+ import { Toaster, toast } from './index';
3
+ import { Button } from './../button';
4
+
5
+ export default {
6
+ component: Toaster,
7
+ title: 'Components/Toaster',
8
+ };
9
+
10
+ const Template = (args) => {
11
+ const handleAddToaster = (type, empty, title, timer, position, description) => {
12
+ if (type === 'success') {
13
+ if (empty) {
14
+ toast.success();
15
+ } else {
16
+ toast.success(title, {
17
+ timer,
18
+ position,
19
+ description
20
+ });
21
+ }
22
+ } else if (type === 'info') {
23
+ if (empty) {
24
+ toast.info();
25
+ } else {
26
+ toast.info(title, {
27
+ timer,
28
+ position,
29
+ description
30
+ });
31
+ }
32
+ } else if (type === 'warn') {
33
+ if (empty) {
34
+ toast.warn();
35
+ } else {
36
+ toast.warn(title, {
37
+ timer,
38
+ position,
39
+ description
40
+ });
41
+ }
42
+ } else if (type === 'error') {
43
+ if (empty) {
44
+ toast.error();
45
+ } else {
46
+ toast.error(title, {
47
+ timer,
48
+ position,
49
+ description
50
+ });
51
+ }
52
+ }
53
+ };
54
+
55
+ return (
56
+ <div
57
+ style={{
58
+ height: 'calc(100vh - 100px)',
59
+ display: 'flex',
60
+ overflowY: 'auto',
61
+ flexDirection: 'column',
62
+ justifyContent: 'center'
63
+ }}
64
+ >
65
+ <div
66
+ style={{
67
+ display: 'flex',
68
+ marginBottom: '20px',
69
+ paddingBottom: '20px',
70
+ borderBottom: '1.5px solid gray',
71
+ justifyContent: 'space-between'
72
+ }}
73
+ >
74
+ <Button
75
+ outline
76
+ radius='8px'
77
+ color='white'
78
+ contentWidth
79
+ backgroundColor='#10a574'
80
+ label="call empty Success toast"
81
+ onClick={() => handleAddToaster('success', true)}
82
+ />
83
+ <Button
84
+ outline
85
+ radius='8px'
86
+ color='white'
87
+ contentWidth
88
+ label="call empty Info toast"
89
+ backgroundColor='#02246b'
90
+ onClick={() => handleAddToaster('info', true)}
91
+ />
92
+ <Button
93
+ outline
94
+ radius='8px'
95
+ color='white'
96
+ contentWidth
97
+ label="call empty Warn toast"
98
+ backgroundColor='#ff8a04'
99
+ onClick={() => handleAddToaster('warn', true)}
100
+ />
101
+ <Button
102
+ outline
103
+ radius='8px'
104
+ color='white'
105
+ contentWidth
106
+ label="call empty Error toast"
107
+ backgroundColor='#ed0000'
108
+ onClick={() => handleAddToaster('error', true)}
109
+ />
110
+ </div>
111
+
112
+
113
+ <div
114
+ style={{
115
+ display: 'flex',
116
+ marginBottom: '20px',
117
+ paddingBottom: '20px',
118
+ borderBottom: '1.5px solid gray',
119
+ justifyContent: 'space-between'
120
+ }}
121
+ >
122
+ <Button
123
+ outline
124
+ radius='8px'
125
+ contentWidth
126
+ color='white'
127
+ label="Success top left"
128
+ backgroundColor='#10a574'
129
+ onClick={() => handleAddToaster('success', false, 'Հաջողված', 5000, 'top-left', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
130
+ />
131
+ <Button
132
+ outline
133
+ radius='8px'
134
+ contentWidth
135
+ color='white'
136
+ label="Success top right"
137
+ backgroundColor='#10a574'
138
+ onClick={() => handleAddToaster('success', false, 'Հաջողված', 5000, 'top-right', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
139
+ />
140
+ <Button
141
+ outline
142
+ radius='8px'
143
+ contentWidth
144
+ color='white'
145
+ label="Success top center"
146
+ backgroundColor='#10a574'
147
+ onClick={() => handleAddToaster('success', false, 'Հաջողված', 5000, 'top-center', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
148
+ />
149
+ <Button
150
+ outline
151
+ radius='8px'
152
+ contentWidth
153
+ color='white'
154
+ label="Success bottom left"
155
+ backgroundColor='#10a574'
156
+ onClick={() => handleAddToaster('success', false, 'Հաջողված', 5000, 'bottom-left', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
157
+ />
158
+ <Button
159
+ outline
160
+ radius='8px'
161
+ contentWidth
162
+ color='white'
163
+ label="Success bottom right"
164
+ backgroundColor='#10a574'
165
+ onClick={() => handleAddToaster('success', false, 'Հաջողված', 5000, 'bottom-right', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
166
+ />
167
+ <Button
168
+ outline
169
+ radius='8px'
170
+ contentWidth
171
+ color='white'
172
+ label="Success bottom center"
173
+ backgroundColor='#10a574'
174
+ onClick={() => handleAddToaster('success', false, 'Հաջողված', 5000, 'bottom-center', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
175
+ />
176
+ </div>
177
+
178
+ <div
179
+ style={{
180
+ display: 'flex',
181
+ marginBottom: '20px',
182
+ paddingBottom: '20px',
183
+ borderBottom: '1.5px solid gray',
184
+ justifyContent: 'space-between'
185
+ }}
186
+ >
187
+ <Button
188
+ outline
189
+ radius='8px'
190
+ contentWidth
191
+ color='white'
192
+ label="Info top left"
193
+ backgroundColor='#02246b'
194
+ onClick={() => handleAddToaster('info', false, 'Տեղեկատվություն', 5000, 'top-left', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
195
+ />
196
+ <Button
197
+ outline
198
+ radius='8px'
199
+ contentWidth
200
+ color='white'
201
+ label="Info top right"
202
+ backgroundColor='#02246b'
203
+ onClick={() => handleAddToaster('info', false, 'Տեղեկատվություն', 5000, 'top-right', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
204
+ />
205
+ <Button
206
+ outline
207
+ radius='8px'
208
+ contentWidth
209
+ color='white'
210
+ label="Info top center"
211
+ backgroundColor='#02246b'
212
+ onClick={() => handleAddToaster('info', false, 'Տեղեկատվություն', 5000, 'top-center', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
213
+ />
214
+ <Button
215
+ outline
216
+ radius='8px'
217
+ contentWidth
218
+ color='white'
219
+ label="Info bottom left"
220
+ backgroundColor='#02246b'
221
+ onClick={() => handleAddToaster('info', false, 'Տեղեկատվություն', 5000, 'bottom-left', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
222
+ />
223
+ <Button
224
+ outline
225
+ radius='8px'
226
+ contentWidth
227
+ color='white'
228
+ label="Info bottom right"
229
+ backgroundColor='#02246b'
230
+ onClick={() => handleAddToaster('info', false, 'Տեղեկատվություն', 5000, 'bottom-right', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
231
+ />
232
+ <Button
233
+ outline
234
+ radius='8px'
235
+ contentWidth
236
+ color='white'
237
+ label="Info bottom center"
238
+ backgroundColor='#02246b'
239
+ onClick={() => handleAddToaster('info', false, 'Տեղեկատվություն', 5000, 'bottom-center', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
240
+ />
241
+ </div>
242
+
243
+ <div
244
+ style={{
245
+ display: 'flex',
246
+ marginBottom: '20px',
247
+ paddingBottom: '20px',
248
+ borderBottom: '1.5px solid gray',
249
+ justifyContent: 'space-between'
250
+ }}
251
+ >
252
+ <Button
253
+ outline
254
+ radius='8px'
255
+ contentWidth
256
+ color='white'
257
+ label="Warning top left"
258
+ backgroundColor='#ff8a04'
259
+ onClick={() => handleAddToaster('warn', false, 'Զգուշացում', 5000, 'top-left', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
260
+ />
261
+ <Button
262
+ outline
263
+ radius='8px'
264
+ contentWidth
265
+ color='white'
266
+ label="Warning top right"
267
+ backgroundColor='#ff8a04'
268
+ onClick={() => handleAddToaster('warn', false, 'Զգուշացում', 5000, 'top-right', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
269
+ />
270
+ <Button
271
+ outline
272
+ radius='8px'
273
+ contentWidth
274
+ color='white'
275
+ label="Warning top center"
276
+ backgroundColor='#ff8a04'
277
+ onClick={() => handleAddToaster('warn', false, 'Զգուշացում', 5000, 'top-center', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
278
+ />
279
+ <Button
280
+ outline
281
+ radius='8px'
282
+ contentWidth
283
+ color='white'
284
+ label="Warning bottom left"
285
+ backgroundColor='#ff8a04'
286
+ onClick={() => handleAddToaster('warn', false, 'Զգուշացում', 5000, 'bottom-left', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
287
+ />
288
+ <Button
289
+ outline
290
+ radius='8px'
291
+ contentWidth
292
+ color='white'
293
+ label="Warning bottom right"
294
+ backgroundColor='#ff8a04'
295
+ onClick={() => handleAddToaster('warn', false, 'Զգուշացում', 5000, 'bottom-right', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
296
+ />
297
+ <Button
298
+ outline
299
+ radius='8px'
300
+ contentWidth
301
+ color='white'
302
+ label="Warning bottom center"
303
+ backgroundColor='#ff8a04'
304
+ onClick={() => handleAddToaster('warn', false, 'Զգուշացում', 5000, 'bottom-center', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
305
+ />
306
+ </div>
307
+
308
+ <div
309
+ style={{
310
+ display: 'flex',
311
+ marginBottom: '20px',
312
+ paddingBottom: '20px',
313
+ borderBottom: '1.5px solid gray',
314
+ justifyContent: 'space-between'
315
+ }}
316
+ >
317
+ <Button
318
+ outline
319
+ radius='8px'
320
+ contentWidth
321
+ color='white'
322
+ label="Error top left"
323
+ backgroundColor='#ed0000'
324
+ onClick={() => handleAddToaster('error', false, 'Սխալ', 5000, 'top-left', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
325
+ />
326
+ <Button
327
+ outline
328
+ radius='8px'
329
+ contentWidth
330
+ color='white'
331
+ label="Error top right"
332
+ backgroundColor='#ed0000'
333
+ onClick={() => handleAddToaster('error', false, 'Սխալ', 5000, 'top-right', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
334
+ />
335
+ <Button
336
+ outline
337
+ radius='8px'
338
+ contentWidth
339
+ color='white'
340
+ label="Error top center"
341
+ backgroundColor='#ed0000'
342
+ onClick={() => handleAddToaster('error', false, 'Սխալ', 5000, 'top-center', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
343
+ />
344
+ <Button
345
+ outline
346
+ radius='8px'
347
+ contentWidth
348
+ color='white'
349
+ label="Error bottom left"
350
+ backgroundColor='#ed0000'
351
+ onClick={() => handleAddToaster('error', false, 'Սխալ', 5000, 'bottom-left', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
352
+ />
353
+ <Button
354
+ outline
355
+ radius='8px'
356
+ contentWidth
357
+ color='white'
358
+ label="Error bottom right"
359
+ backgroundColor='#ed0000'
360
+ onClick={() => handleAddToaster('error', false, 'Սխալ', 5000, 'bottom-right', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
361
+ />
362
+ <Button
363
+ outline
364
+ radius='8px'
365
+ contentWidth
366
+ color='white'
367
+ label="Error bottom center"
368
+ backgroundColor='#ed0000'
369
+ onClick={() => handleAddToaster('error', false, 'Սխալ', 5000, 'bottom-center', 'lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla, lorem ipsum bla bla bla')}
370
+ />
371
+ </div>
372
+
373
+ <Toaster />
374
+ </div>
375
+ )
376
+ };
377
+
378
+ export const Default = Template.bind({});
package/src/index.js CHANGED
@@ -5,6 +5,7 @@ export * from './components/input';
5
5
  export * from './components/radio';
6
6
  export * from './components/button';
7
7
  export * from './components/select';
8
+ export * from './components/toaster';
8
9
  export * from './components/tooltip';
9
10
  export * from './components/captcha';
10
11
  export * from './components/stepper';
@@ -13,4 +14,4 @@ export * from './components/icon/Icon';
13
14
  export * from './components/typography';
14
15
  export * from './components/pagination';
15
16
  export * from './components/autocomplate';
16
- export * from './components/selectCheckbox';
17
+ export * from './components/selectCheckbox';
@@ -365,3 +365,41 @@ import StackAlt from './assets/stackalt.svg';
365
365
  optionItemBackgroudColorHover: 'unset', // for option background color ( when hover )
366
366
  }
367
367
  ```
368
+
369
+ ### Toaster
370
+
371
+ ```
372
+ {
373
+ toast.success();
374
+ toast.success(title);
375
+ toast.success(title, {
376
+ timer: 5000, ---> timer must be a number, for example 5000, is a 5 seconds
377
+ position: 'top-right', ---> one of this strings ['top-left', 'top-right', 'top-center', 'bottom-left', 'bottom-right', 'bottom-center']
378
+ description: 'Toast description' ---> description is a string for toast description
379
+ });
380
+
381
+ toast.info();
382
+ toast.info(title);
383
+ toast.info(title, {
384
+ timer: 5000, ---> timer must be a number, for example 5000, is a 5 seconds
385
+ position: 'top-right', ---> one of this strings ['top-left', 'top-right', 'top-center', 'bottom-left', 'bottom-right', 'bottom-center']
386
+ description: 'Toast description' ---> description is a string for toast description
387
+ });
388
+
389
+ toast.warn();
390
+ toast.warn(title);
391
+ toast.warn(title, {
392
+ timer: 5000, ---> timer must be a number, for example 5000, is a 5 seconds
393
+ position: 'top-right', ---> one of this strings ['top-left', 'top-right', 'top-center', 'bottom-left', 'bottom-right', 'bottom-center']
394
+ description: 'Toast description' ---> description is a string for toast description
395
+ });
396
+
397
+ toast.error();
398
+ toast.error(title);
399
+ toast.error(title, {
400
+ timer: 5000, ---> timer must be a number, for example 5000, is a 5 seconds
401
+ position: 'top-right', ---> one of this strings ['top-left', 'top-right', 'top-center', 'bottom-left', 'bottom-right', 'bottom-center']
402
+ description: 'Toast description' ---> description is a string for toast description
403
+ });
404
+ }
405
+ ```
@@ -9,7 +9,10 @@ import Repo from './assets/repo.svg';
9
9
  import StackAlt from './assets/stackalt.svg';
10
10
 
11
11
  import buttonImage from './static/button-usage.png';
12
+ import selectImage from './static/select-usage.png';
12
13
  import inputTooltipImage from './static/input-tooltip-usage.png';
14
+ import toasterImage from './static/toaster-container-usage.png';
15
+ import toastImage from './static/toaster-usage.png'
13
16
 
14
17
  <Meta title="Intro/Usage" />
15
18
 
@@ -129,4 +132,16 @@ import inputTooltipImage from './static/input-tooltip-usage.png';
129
132
 
130
133
  ### Input / Tooltip
131
134
 
132
- <img src={inputTooltipImage} alt="button image" />
135
+ <img src={inputTooltipImage} alt="input tooltip image" />
136
+
137
+ ### Select
138
+
139
+ <img src={selectImage} alt="select image" />
140
+
141
+ ### Toaster
142
+
143
+ #### Toaster container usage
144
+ <img src={toasterImage} alt="toaster image" />
145
+
146
+ #### createToast function usage
147
+ <img src={toastImage} alt="toaster image" />