@axinom/mosaic-ui 0.26.0-rc.9 → 0.26.1

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.
Files changed (40) hide show
  1. package/dist/components/Buttons/Button/Button.d.ts +1 -1
  2. package/dist/components/Buttons/Button/Button.d.ts.map +1 -1
  3. package/dist/components/Buttons/CompositeButton/CompositeButton.d.ts +22 -0
  4. package/dist/components/Buttons/CompositeButton/CompositeButton.d.ts.map +1 -0
  5. package/dist/components/Buttons/index.d.ts +1 -0
  6. package/dist/components/Buttons/index.d.ts.map +1 -1
  7. package/dist/components/Explorer/Explorer.d.ts.map +1 -1
  8. package/dist/components/FormStation/SaveOnNavigate/SaveOnNavigate.d.ts.map +1 -1
  9. package/dist/components/Icons/Icons.d.ts.map +1 -1
  10. package/dist/components/Icons/Icons.models.d.ts +15 -12
  11. package/dist/components/Icons/Icons.models.d.ts.map +1 -1
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.es.js +4 -4
  15. package/dist/index.js +4 -4
  16. package/dist/initialize.d.ts +11 -0
  17. package/dist/initialize.d.ts.map +1 -0
  18. package/dist/types/index.d.ts +2 -0
  19. package/dist/types/index.d.ts.map +1 -0
  20. package/dist/types/ui-config.d.ts +20 -0
  21. package/dist/types/ui-config.d.ts.map +1 -0
  22. package/package.json +3 -3
  23. package/src/components/Buttons/Button/Button.tsx +54 -49
  24. package/src/components/Buttons/Buttons.stories.tsx +29 -7
  25. package/src/components/Buttons/CompositeButton/CompositeButton.scss +116 -0
  26. package/src/components/Buttons/CompositeButton/CompositeButton.spec.tsx +137 -0
  27. package/src/components/Buttons/CompositeButton/CompositeButton.tsx +70 -0
  28. package/src/components/Buttons/index.ts +4 -0
  29. package/src/components/Explorer/Explorer.tsx +4 -2
  30. package/src/components/FormElements/CustomTags/CustomTags.scss +1 -2
  31. package/src/components/FormStation/SaveOnNavigate/SaveOnNavigate.tsx +10 -2
  32. package/src/components/Icons/Icons.models.ts +3 -0
  33. package/src/components/Icons/Icons.spec.tsx +38 -29
  34. package/src/components/Icons/Icons.stories.tsx +30 -14
  35. package/src/components/Icons/Icons.tsx +129 -90
  36. package/src/index.ts +2 -0
  37. package/src/initialize.ts +25 -0
  38. package/src/styles/variables.scss +4 -0
  39. package/src/types/index.ts +1 -0
  40. package/src/types/ui-config.ts +30 -0
@@ -11,35 +11,44 @@ describe('Icons', () => {
11
11
  });
12
12
 
13
13
  it.each`
14
- key | result
15
- ${IconName.Archive} | ${1}
16
- ${IconName.Block} | ${1}
17
- ${IconName.Bulk} | ${1}
18
- ${IconName.Calendar} | ${1}
19
- ${IconName.Checkmark} | ${1}
20
- ${IconName.ChevronDown} | ${1}
21
- ${IconName.ChevronLeft} | ${1}
22
- ${IconName.ChevronRight} | ${1}
23
- ${IconName.ChevronUp} | ${1}
24
- ${IconName.Delete} | ${1}
25
- ${IconName.Details} | ${1}
26
- ${IconName.Drag} | ${6}
27
- ${IconName.Ellipsis} | ${1}
28
- ${IconName.External} | ${1}
29
- ${IconName.Error} | ${1}
30
- ${IconName.File} | ${1}
31
- ${IconName.Info} | ${1}
32
- ${IconName.Minus} | ${1}
33
- ${IconName.Plus} | ${1}
34
- ${IconName.Retry} | ${1}
35
- ${IconName.Replace} | ${1}
36
- ${IconName.Minus} | ${1}
37
- ${IconName.Success} | ${1}
38
- ${IconName.Undo} | ${1}
39
- ${IconName.Unpublish} | ${1}
40
- ${IconName.Upload} | ${1}
41
- ${IconName.Warning} | ${1}
42
- ${IconName.X} | ${1}
14
+ key | result
15
+ ${IconName.Archive} | ${1}
16
+ ${IconName.Block} | ${1}
17
+ ${IconName.Bulk} | ${1}
18
+ ${IconName.Calendar} | ${1}
19
+ ${IconName.Checkmark} | ${1}
20
+ ${IconName.ChevronDown} | ${1}
21
+ ${IconName.ChevronLeft} | ${1}
22
+ ${IconName.ChevronRight} | ${1}
23
+ ${IconName.ChevronUp} | ${1}
24
+ ${IconName.Copy} | ${1}
25
+ ${IconName.Delete} | ${1}
26
+ ${IconName.Details} | ${1}
27
+ ${IconName.Drag} | ${6}
28
+ ${IconName.Ellipsis} | ${1}
29
+ ${IconName.Error} | ${1}
30
+ ${IconName.External} | ${1}
31
+ ${IconName.File} | ${1}
32
+ ${IconName.Info} | ${1}
33
+ ${IconName.MidlineEllipsis} | ${1}
34
+ ${IconName.Minus} | ${1}
35
+ ${IconName.NavigateRight} | ${1}
36
+ ${IconName.Pause} | ${1}
37
+ ${IconName.Play} | ${1}
38
+ ${IconName.Plus} | ${1}
39
+ ${IconName.Publish} | ${1}
40
+ ${IconName.RemoveFilter} | ${1}
41
+ ${IconName.Replace} | ${1}
42
+ ${IconName.Retry} | ${1}
43
+ ${IconName.Snapshot} | ${1}
44
+ ${IconName.Stop} | ${1}
45
+ ${IconName.Success} | ${1}
46
+ ${IconName.Unarchive} | ${1}
47
+ ${IconName.Undo} | ${1}
48
+ ${IconName.Unpublish} | ${1}
49
+ ${IconName.Upload} | ${1}
50
+ ${IconName.Warning} | ${1}
51
+ ${IconName.X} | ${1}
43
52
  `('renders an icon for each key in IconName', ({ key, result }) => {
44
53
  const wrapper = mount(<Icons icon={key} />);
45
54
 
@@ -29,17 +29,13 @@ export const All: Story = () => {
29
29
  <p>Bulk</p>
30
30
  </div>
31
31
  <div>
32
- <Icons icon={IconName.Unpublish} />
33
- <p>Unpublish</p>
32
+ <Icons icon={IconName.Calendar} />
33
+ <p>Calendar</p>
34
34
  </div>
35
35
  <div>
36
36
  <Icons icon={IconName.Checkmark} />
37
37
  <p>Checkmark</p>
38
38
  </div>
39
- <div>
40
- <Icons icon={IconName.Calendar} />
41
- <p>Calendar</p>
42
- </div>
43
39
  <div>
44
40
  <Icons icon={IconName.ChevronDown} />
45
41
  <p>ChevronDown</p>
@@ -76,14 +72,14 @@ export const All: Story = () => {
76
72
  <Icons icon={IconName.Ellipsis} />
77
73
  <p>Ellipsis</p>
78
74
  </div>
79
- <div>
80
- <Icons icon={IconName.External} />
81
- <p>External</p>
82
- </div>
83
75
  <div>
84
76
  <Icons icon={IconName.Error} />
85
77
  <p>Error</p>
86
78
  </div>
79
+ <div>
80
+ <Icons icon={IconName.External} />
81
+ <p>External</p>
82
+ </div>
87
83
  <div>
88
84
  <Icons icon={IconName.File} />
89
85
  <p>File</p>
@@ -104,6 +100,14 @@ export const All: Story = () => {
104
100
  <Icons icon={IconName.NavigateRight} />
105
101
  <p>NavigateRight</p>
106
102
  </div>
103
+ <div>
104
+ <Icons icon={IconName.Pause} />
105
+ <p>Pause</p>
106
+ </div>
107
+ <div>
108
+ <Icons icon={IconName.Play} />
109
+ <p>Play</p>
110
+ </div>
107
111
  <div>
108
112
  <Icons icon={IconName.Plus} />
109
113
  <p>Plus</p>
@@ -112,6 +116,10 @@ export const All: Story = () => {
112
116
  <Icons icon={IconName.Publish} />
113
117
  <p>Publish</p>
114
118
  </div>
119
+ <div>
120
+ <Icons icon={IconName.RemoveFilter} />
121
+ <p>RemoveFilter</p>
122
+ </div>
115
123
  <div>
116
124
  <Icons icon={IconName.Replace} />
117
125
  <p>Replace</p>
@@ -124,14 +132,26 @@ export const All: Story = () => {
124
132
  <Icons icon={IconName.Snapshot} />
125
133
  <p>Snapshot</p>
126
134
  </div>
135
+ <div>
136
+ <Icons icon={IconName.Stop} />
137
+ <p>Stop</p>
138
+ </div>
127
139
  <div>
128
140
  <Icons icon={IconName.Success} />
129
141
  <p>Success</p>
130
142
  </div>
143
+ <div>
144
+ <Icons icon={IconName.Unarchive} />
145
+ <p>Unarchive</p>
146
+ </div>
131
147
  <div>
132
148
  <Icons icon={IconName.Undo} />
133
149
  <p>Undo</p>
134
150
  </div>
151
+ <div>
152
+ <Icons icon={IconName.Unpublish} />
153
+ <p>Unpublish</p>
154
+ </div>
135
155
  <div>
136
156
  <Icons icon={IconName.Upload} />
137
157
  <p>Upload</p>
@@ -144,10 +164,6 @@ export const All: Story = () => {
144
164
  <Icons icon={IconName.X} />
145
165
  <p>X</p>
146
166
  </div>
147
- <div>
148
- <Icons icon={IconName.RemoveFilter} />
149
- <p>RemoveFilter</p>
150
- </div>
151
167
  </div>
152
168
  );
153
169
  };
@@ -27,24 +27,7 @@ const ArchiveIcon: React.FC<{ className?: string }> = ({ className }) => (
27
27
  </svg>
28
28
  );
29
29
 
30
- const UnarchiveIcon: React.FC<{ className?: string }> = ({ className }) => (
31
- <svg
32
- className={clsx(classes.icons, className)}
33
- version="1.1"
34
- xmlns="http://www.w3.org/2000/svg"
35
- viewBox="0 0 40 40"
36
- >
37
- <path
38
- vectorEffect="non-scaling-stroke"
39
- fill="none"
40
- stroke="#FFFFFF"
41
- strokeWidth="2"
42
- d="M27.6,16.2H39V39H1.1V16.1h11.6 M30.6,11.1L20.3,2L10,11.1 M20.3,2v31.2"
43
- />
44
- </svg>
45
- );
46
-
47
- const Block: React.FC<{ className?: string }> = ({ className }) => (
30
+ const BlockIcon: React.FC<{ className?: string }> = ({ className }) => (
48
31
  <svg
49
32
  className={clsx(classes.icons, className)}
50
33
  version="1.1"
@@ -76,22 +59,6 @@ const BulkIcon: React.FC<{ className?: string }> = ({ className }) => (
76
59
  </svg>
77
60
  );
78
61
 
79
- const BulkUnpublishIcon: React.FC<{ className?: string }> = ({ className }) => (
80
- <svg
81
- className={clsx(classes.icons, className)}
82
- version="1.1"
83
- xmlns="http://www.w3.org/2000/svg"
84
- viewBox="0 0 40 40"
85
- >
86
- <path
87
- vectorEffect="non-scaling-stroke"
88
- fill="none"
89
- strokeWidth="2"
90
- d="M26.1,7.6l-6.2-5.5l-6.2,5.5 M19.9,2v14.8 M9.1,16.2L30.9,38 M30.9,16.2L9.1,38"
91
- />
92
- </svg>
93
- );
94
-
95
62
  const CalendarIcon: React.FC<{ className?: string }> = ({ className }) => (
96
63
  <svg
97
64
  className={clsx(classes.icons, className)}
@@ -126,7 +93,7 @@ const CheckmarkIcon: React.FC<{ className?: string }> = ({ className }) => (
126
93
  </svg>
127
94
  );
128
95
 
129
- const ChevronRightIcon: React.FC<{ className?: string }> = ({ className }) => (
96
+ const ChevronDownIcon: React.FC<{ className?: string }> = ({ className }) => (
130
97
  <svg
131
98
  className={clsx(classes.icons, className)}
132
99
  version="1.1"
@@ -137,6 +104,7 @@ const ChevronRightIcon: React.FC<{ className?: string }> = ({ className }) => (
137
104
  vectorEffect="non-scaling-stroke"
138
105
  fill="none"
139
106
  strokeWidth="2"
107
+ transform="rotate(90, 20, 20)"
140
108
  d="M9.2,39.1L30.8,20L9.2,0.9"
141
109
  />
142
110
  </svg>
@@ -159,7 +127,7 @@ const ChevronLeftIcon: React.FC<{ className?: string }> = ({ className }) => (
159
127
  </svg>
160
128
  );
161
129
 
162
- const ChevronDownIcon: React.FC<{ className?: string }> = ({ className }) => (
130
+ const ChevronRightIcon: React.FC<{ className?: string }> = ({ className }) => (
163
131
  <svg
164
132
  className={clsx(classes.icons, className)}
165
133
  version="1.1"
@@ -170,7 +138,6 @@ const ChevronDownIcon: React.FC<{ className?: string }> = ({ className }) => (
170
138
  vectorEffect="non-scaling-stroke"
171
139
  fill="none"
172
140
  strokeWidth="2"
173
- transform="rotate(90, 20, 20)"
174
141
  d="M9.2,39.1L30.8,20L9.2,0.9"
175
142
  />
176
143
  </svg>
@@ -278,7 +245,7 @@ const EllipsisIcon: React.FC<{ className?: string }> = ({ className }) => (
278
245
  </svg>
279
246
  );
280
247
 
281
- const Error: React.FC<{ className?: string }> = ({ className }) => (
248
+ const ErrorIcon: React.FC<{ className?: string }> = ({ className }) => (
282
249
  <svg
283
250
  className={clsx(classes.icons, className)}
284
251
  version="1.1"
@@ -294,7 +261,7 @@ const Error: React.FC<{ className?: string }> = ({ className }) => (
294
261
  </svg>
295
262
  );
296
263
 
297
- const WarningIcon: React.FC<{ className?: string }> = ({ className }) => (
264
+ const ExternalIcon: React.FC<{ className?: string }> = ({ className }) => (
298
265
  <svg
299
266
  className={clsx(classes.icons, className)}
300
267
  version="1.1"
@@ -305,13 +272,13 @@ const WarningIcon: React.FC<{ className?: string }> = ({ className }) => (
305
272
  vectorEffect="non-scaling-stroke"
306
273
  fill="none"
307
274
  strokeWidth="2"
308
- d="M20,2c9.9,0,18,8.1,18,18s-8.1,18-18,18S2,29.9,2,20S10.1,2,20,2z M20,10.1v13.7l0,0V10.1z M20,29.9v-2.6l0,0
309
- V29.9z"
310
- ></path>
275
+ d="M39.8,14.8 M25.1,0.2 M38.9,15.7V1.3H24.8 M38.9,1.3
276
+ L16.4,23.8 M20.8,8.5H1.2v30.4h29.7V19.4"
277
+ />
311
278
  </svg>
312
279
  );
313
280
 
314
- const External: React.FC<{ className?: string }> = ({ className }) => (
281
+ const FileIcon: React.FC<{ className?: string }> = ({ className }) => (
315
282
  <svg
316
283
  className={clsx(classes.icons, className)}
317
284
  version="1.1"
@@ -322,13 +289,13 @@ const External: React.FC<{ className?: string }> = ({ className }) => (
322
289
  vectorEffect="non-scaling-stroke"
323
290
  fill="none"
324
291
  strokeWidth="2"
325
- d="M39.8,14.8 M25.1,0.2 M38.9,15.7V1.3H24.8 M38.9,1.3
326
- L16.4,23.8 M20.8,8.5H1.2v30.4h29.7V19.4"
292
+ d="M1,34.7l4.4-18.8H39l-4.3,18.8L1,34.7L1,5.3h12.1
293
+ l3.5,3.8h18.1v6.9"
327
294
  />
328
295
  </svg>
329
296
  );
330
297
 
331
- const File: React.FC<{ className?: string }> = ({ className }) => (
298
+ const InfoIcon: React.FC<{ className?: string }> = ({ className }) => (
332
299
  <svg
333
300
  className={clsx(classes.icons, className)}
334
301
  version="1.1"
@@ -339,13 +306,15 @@ const File: React.FC<{ className?: string }> = ({ className }) => (
339
306
  vectorEffect="non-scaling-stroke"
340
307
  fill="none"
341
308
  strokeWidth="2"
342
- d="M1,34.7l4.4-18.8H39l-4.3,18.8L1,34.7L1,5.3h12.1
343
- l3.5,3.8h18.1v6.9"
309
+ d="M20,2c9.9,0,18,8.1,18,18s-8.1,18-18,18S2,29.9,2,20S10.1,2,20,2z M20,29.9
310
+ V16.2l0,0V29.9z M20,10.1v2.6l0,0V10.1z"
344
311
  />
345
312
  </svg>
346
313
  );
347
314
 
348
- const InfoIcon: React.FC<{ className?: string }> = ({ className }) => (
315
+ const MidlineEllipsisIcon: React.FC<{ className?: string }> = ({
316
+ className,
317
+ }) => (
349
318
  <svg
350
319
  className={clsx(classes.icons, className)}
351
320
  version="1.1"
@@ -355,14 +324,15 @@ const InfoIcon: React.FC<{ className?: string }> = ({ className }) => (
355
324
  <path
356
325
  vectorEffect="non-scaling-stroke"
357
326
  fill="none"
327
+ stroke="#1478AF"
358
328
  strokeWidth="2"
359
- d="M20,2c9.9,0,18,8.1,18,18s-8.1,18-18,18S2,29.9,2,20S10.1,2,20,2z M20,29.9
360
- V16.2l0,0V29.9z M20,10.1v2.6l0,0V10.1z"
329
+ d="M8,20c0,1.1-0.9,2-2,2S4,21.1,4,20s0.9-2,2-2S8,18.9,8,20z M20,18
330
+ c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S21.1,18,20,18z M34,18c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S35.1,18,34,18z"
361
331
  />
362
332
  </svg>
363
333
  );
364
334
 
365
- const PlusIcon: React.FC<{ className?: string }> = ({ className }) => (
335
+ const MinusIcon: React.FC<{ className?: string }> = ({ className }) => (
366
336
  <svg
367
337
  className={clsx(classes.icons, className)}
368
338
  version="1.1"
@@ -373,12 +343,12 @@ const PlusIcon: React.FC<{ className?: string }> = ({ className }) => (
373
343
  vectorEffect="non-scaling-stroke"
374
344
  fill="none"
375
345
  strokeWidth="2"
376
- d="M0,20h40 M20,40V0"
346
+ d="M0,20h40"
377
347
  />
378
348
  </svg>
379
349
  );
380
350
 
381
- const MinusIcon: React.FC<{ className?: string }> = ({ className }) => (
351
+ const NavigateRightIcon: React.FC<{ className?: string }> = ({ className }) => (
382
352
  <svg
383
353
  className={clsx(classes.icons, className)}
384
354
  version="1.1"
@@ -388,8 +358,47 @@ const MinusIcon: React.FC<{ className?: string }> = ({ className }) => (
388
358
  <path
389
359
  vectorEffect="non-scaling-stroke"
390
360
  fill="none"
361
+ stroke="#FFFFFF"
391
362
  strokeWidth="2"
392
- d="M0,20h40"
363
+ d="M22.8,1.1l15.4,15.4L24.1,30.6 M38.2,16.5H4.4v23.1"
364
+ />
365
+ </svg>
366
+ );
367
+
368
+ const PauseIcon: React.FC<{ className?: string }> = ({ className }) => (
369
+ <svg
370
+ className={clsx(classes.icons, className)}
371
+ version="1.1"
372
+ xmlns="http://www.w3.org/2000/svg"
373
+ viewBox="0 0 40 40"
374
+ >
375
+ <path fill="#1478AF" d="M4.5,2h10.3v36H4.5V2z M25.2,2h10.3v36H25.2V2z" />
376
+ </svg>
377
+ );
378
+
379
+ const PlayIcon: React.FC<{ className?: string }> = ({ className }) => (
380
+ <svg
381
+ className={clsx(classes.icons, className)}
382
+ version="1.1"
383
+ xmlns="http://www.w3.org/2000/svg"
384
+ viewBox="0 0 40 40"
385
+ >
386
+ <path fill="#1478AF" d="M33,20L7,35.4V4.6L33,20z" />
387
+ </svg>
388
+ );
389
+
390
+ const PlusIcon: React.FC<{ className?: string }> = ({ className }) => (
391
+ <svg
392
+ className={clsx(classes.icons, className)}
393
+ version="1.1"
394
+ xmlns="http://www.w3.org/2000/svg"
395
+ viewBox="0 0 40 40"
396
+ >
397
+ <path
398
+ vectorEffect="non-scaling-stroke"
399
+ fill="none"
400
+ strokeWidth="2"
401
+ d="M0,20h40 M20,40V0"
393
402
  />
394
403
  </svg>
395
404
  );
@@ -410,7 +419,7 @@ const PublishIcon: React.FC<{ className?: string }> = ({ className }) => (
410
419
  </svg>
411
420
  );
412
421
 
413
- const RetryIcon: React.FC<{ className?: string }> = ({ className }) => (
422
+ const RemoveFilterIcon: React.FC<{ className?: string }> = ({ className }) => (
414
423
  <svg
415
424
  className={clsx(classes.icons, className)}
416
425
  version="1.1"
@@ -420,9 +429,10 @@ const RetryIcon: React.FC<{ className?: string }> = ({ className }) => (
420
429
  <path
421
430
  vectorEffect="non-scaling-stroke"
422
431
  fill="none"
432
+ stroke="#1478AF"
423
433
  strokeWidth="2"
424
- d="M9.5,27.3c-4.1-5.8-2.6-13.8,3.1-17.8c4.5-3.2,10.6-3.1,15,0.2 M11.9,18.8l-2.4,8.5L1,24.8 M27,21.4l4.2-7.8
425
- l7.8,4.2 M31.2,13.6c3.6,6.1,1.5,13.9-4.6,17.5c-4.1,2.4-9.2,2.3-13.2-0.2"
434
+ d="M13.7,16.9L3,4.6h28.6l-11.3,12v13.6l-6.5,5.1V16.9z M32.9,22.9l6.1,6.1L32.9,22.9z M32.9,22.9
435
+ l-6.1-6.1L32.9,22.9l-6.1,6.1L32.9,22.9z M32.9,22.9l6.1-6.1L32.9,22.9z"
426
436
  />
427
437
  </svg>
428
438
  );
@@ -445,7 +455,7 @@ const ReplaceIcon: React.FC<{ className?: string }> = ({ className }) => (
445
455
  </svg>
446
456
  );
447
457
 
448
- const RevertIcon: React.FC<{ className?: string }> = ({ className }) => (
458
+ const RetryIcon: React.FC<{ className?: string }> = ({ className }) => (
449
459
  <svg
450
460
  className={clsx(classes.icons, className)}
451
461
  version="1.1"
@@ -456,7 +466,8 @@ const RevertIcon: React.FC<{ className?: string }> = ({ className }) => (
456
466
  vectorEffect="non-scaling-stroke"
457
467
  fill="none"
458
468
  strokeWidth="2"
459
- d="M2,11.8h36v25.8H3.2 M11.4,2.4L2,11.8l9.4,9.4"
469
+ d="M9.5,27.3c-4.1-5.8-2.6-13.8,3.1-17.8c4.5-3.2,10.6-3.1,15,0.2 M11.9,18.8l-2.4,8.5L1,24.8 M27,21.4l4.2-7.8
470
+ l7.8,4.2 M31.2,13.6c3.6,6.1,1.5,13.9-4.6,17.5c-4.1,2.4-9.2,2.3-13.2-0.2"
460
471
  />
461
472
  </svg>
462
473
  );
@@ -479,7 +490,18 @@ const SnapshotIcon: React.FC<{ className?: string }> = ({ className }) => (
479
490
  </svg>
480
491
  );
481
492
 
482
- const UploadIcon: React.FC<{ className?: string }> = ({ className }) => (
493
+ const StopIcon: React.FC<{ className?: string }> = ({ className }) => (
494
+ <svg
495
+ className={clsx(classes.icons, className)}
496
+ version="1.1"
497
+ xmlns="http://www.w3.org/2000/svg"
498
+ viewBox="0 0 40 40"
499
+ >
500
+ <path fill="#1478AF" d="M5,5h30v30H5V5z" />
501
+ </svg>
502
+ );
503
+
504
+ const SuccessIcon: React.FC<{ className?: string }> = ({ className }) => (
483
505
  <svg
484
506
  className={clsx(classes.icons, className)}
485
507
  version="1.1"
@@ -490,12 +512,13 @@ const UploadIcon: React.FC<{ className?: string }> = ({ className }) => (
490
512
  vectorEffect="non-scaling-stroke"
491
513
  fill="none"
492
514
  strokeWidth="2"
493
- d="M2,1.4h36 M20.1,39.4V8.7 M29.8,17.3l-9.7-8.6l-9.7,8.6"
515
+ d="M20,2c9.9,0,18,8.1,18,18s-8.1,18-18,18S2,29.9,2,20S10.1,2,20,2z M29,13.5
516
+ L17.8,26.3L11,19.1"
494
517
  />
495
518
  </svg>
496
519
  );
497
520
 
498
- const XIcon: React.FC<{ className?: string }> = ({ className }) => (
521
+ const UnarchiveIcon: React.FC<{ className?: string }> = ({ className }) => (
499
522
  <svg
500
523
  className={clsx(classes.icons, className)}
501
524
  version="1.1"
@@ -505,13 +528,14 @@ const XIcon: React.FC<{ className?: string }> = ({ className }) => (
505
528
  <path
506
529
  vectorEffect="non-scaling-stroke"
507
530
  fill="none"
531
+ stroke="#FFFFFF"
508
532
  strokeWidth="2"
509
- d="M2.4,2.4l35.3,35.3 M37.6,2.4L2.4,37.6"
533
+ d="M27.6,16.2H39V39H1.1V16.1h11.6 M30.6,11.1L20.3,2L10,11.1 M20.3,2v31.2"
510
534
  />
511
535
  </svg>
512
536
  );
513
537
 
514
- const RemoveFilterIcon: React.FC<{ className?: string }> = ({ className }) => (
538
+ const UndoIcon: React.FC<{ className?: string }> = ({ className }) => (
515
539
  <svg
516
540
  className={clsx(classes.icons, className)}
517
541
  version="1.1"
@@ -521,15 +545,13 @@ const RemoveFilterIcon: React.FC<{ className?: string }> = ({ className }) => (
521
545
  <path
522
546
  vectorEffect="non-scaling-stroke"
523
547
  fill="none"
524
- stroke="#1478AF"
525
548
  strokeWidth="2"
526
- d="M13.7,16.9L3,4.6h28.6l-11.3,12v13.6l-6.5,5.1V16.9z M32.9,22.9l6.1,6.1L32.9,22.9z M32.9,22.9
527
- l-6.1-6.1L32.9,22.9l-6.1,6.1L32.9,22.9z M32.9,22.9l6.1-6.1L32.9,22.9z"
549
+ d="M2,11.8h36v25.8H3.2 M11.4,2.4L2,11.8l9.4,9.4"
528
550
  />
529
551
  </svg>
530
552
  );
531
553
 
532
- const SuccessIcon: React.FC<{ className?: string }> = ({ className }) => (
554
+ const UnpublishIcon: React.FC<{ className?: string }> = ({ className }) => (
533
555
  <svg
534
556
  className={clsx(classes.icons, className)}
535
557
  version="1.1"
@@ -540,13 +562,12 @@ const SuccessIcon: React.FC<{ className?: string }> = ({ className }) => (
540
562
  vectorEffect="non-scaling-stroke"
541
563
  fill="none"
542
564
  strokeWidth="2"
543
- d="M20,2c9.9,0,18,8.1,18,18s-8.1,18-18,18S2,29.9,2,20S10.1,2,20,2z M29,13.5
544
- L17.8,26.3L11,19.1"
565
+ d="M26.1,7.6l-6.2-5.5l-6.2,5.5 M19.9,2v14.8 M9.1,16.2L30.9,38 M30.9,16.2L9.1,38"
545
566
  />
546
567
  </svg>
547
568
  );
548
569
 
549
- const NavigateRight: React.FC<{ className?: string }> = ({ className }) => (
570
+ const UploadIcon: React.FC<{ className?: string }> = ({ className }) => (
550
571
  <svg
551
572
  className={clsx(classes.icons, className)}
552
573
  version="1.1"
@@ -556,14 +577,13 @@ const NavigateRight: React.FC<{ className?: string }> = ({ className }) => (
556
577
  <path
557
578
  vectorEffect="non-scaling-stroke"
558
579
  fill="none"
559
- stroke="#FFFFFF"
560
580
  strokeWidth="2"
561
- d="M22.8,1.1l15.4,15.4L24.1,30.6 M38.2,16.5H4.4v23.1"
581
+ d="M2,1.4h36 M20.1,39.4V8.7 M29.8,17.3l-9.7-8.6l-9.7,8.6"
562
582
  />
563
583
  </svg>
564
584
  );
565
585
 
566
- const MidlineEllipsis: React.FC<{ className?: string }> = ({ className }) => (
586
+ const WarningIcon: React.FC<{ className?: string }> = ({ className }) => (
567
587
  <svg
568
588
  className={clsx(classes.icons, className)}
569
589
  version="1.1"
@@ -573,13 +593,29 @@ const MidlineEllipsis: React.FC<{ className?: string }> = ({ className }) => (
573
593
  <path
574
594
  vectorEffect="non-scaling-stroke"
575
595
  fill="none"
576
- stroke="#1478AF"
577
596
  strokeWidth="2"
578
- d="M8,20c0,1.1-0.9,2-2,2S4,21.1,4,20s0.9-2,2-2S8,18.9,8,20z M20,18
579
- c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S21.1,18,20,18z M34,18c-1.1,0-2,0.9-2,2s0.9,2,2,2s2-0.9,2-2S35.1,18,34,18z"
597
+ d="M20,2c9.9,0,18,8.1,18,18s-8.1,18-18,18S2,29.9,2,20S10.1,2,20,2z M20,10.1v13.7l0,0V10.1z M20,29.9v-2.6l0,0
598
+ V29.9z"
599
+ ></path>
600
+ </svg>
601
+ );
602
+
603
+ const XIcon: React.FC<{ className?: string }> = ({ className }) => (
604
+ <svg
605
+ className={clsx(classes.icons, className)}
606
+ version="1.1"
607
+ xmlns="http://www.w3.org/2000/svg"
608
+ viewBox="0 0 40 40"
609
+ >
610
+ <path
611
+ vectorEffect="non-scaling-stroke"
612
+ fill="none"
613
+ strokeWidth="2"
614
+ d="M2.4,2.4l35.3,35.3 M37.6,2.4L2.4,37.6"
580
615
  />
581
616
  </svg>
582
617
  );
618
+
583
619
  /**
584
620
  * Default SVG icons. A 'className' prop can also be passed in.
585
621
  * @example
@@ -588,12 +624,10 @@ const MidlineEllipsis: React.FC<{ className?: string }> = ({ className }) => (
588
624
  export const Icons: React.FC<IconsProps> = ({ icon, className }) => {
589
625
  const icons: { [key in IconName]: JSX.Element } = {
590
626
  [IconName.Archive]: <ArchiveIcon className={className} />,
591
- [IconName.Unarchive]: <UnarchiveIcon className={className} />,
592
- [IconName.Block]: <Block className={className} />,
627
+ [IconName.Block]: <BlockIcon className={className} />,
593
628
  [IconName.Bulk]: <BulkIcon className={className} />,
594
- [IconName.Unpublish]: <BulkUnpublishIcon className={className} />,
595
- [IconName.Checkmark]: <CheckmarkIcon className={className} />,
596
629
  [IconName.Calendar]: <CalendarIcon className={className} />,
630
+ [IconName.Checkmark]: <CheckmarkIcon className={className} />,
597
631
  [IconName.ChevronDown]: <ChevronDownIcon className={className} />,
598
632
  [IconName.ChevronLeft]: <ChevronLeftIcon className={className} />,
599
633
  [IconName.ChevronRight]: <ChevronRightIcon className={className} />,
@@ -603,24 +637,29 @@ export const Icons: React.FC<IconsProps> = ({ icon, className }) => {
603
637
  [IconName.Details]: <DetailsIcon className={className} />,
604
638
  [IconName.Drag]: <DragIcon className={className} />,
605
639
  [IconName.Ellipsis]: <EllipsisIcon className={className} />,
606
- [IconName.External]: <External className={className} />,
607
- [IconName.Error]: <Error className={className} />,
608
- [IconName.File]: <File className={className} />,
640
+ [IconName.Error]: <ErrorIcon className={className} />,
641
+ [IconName.External]: <ExternalIcon className={className} />,
642
+ [IconName.File]: <FileIcon className={className} />,
609
643
  [IconName.Info]: <InfoIcon className={className} />,
610
- [IconName.MidlineEllipsis]: <MidlineEllipsis className={className} />,
644
+ [IconName.MidlineEllipsis]: <MidlineEllipsisIcon className={className} />,
611
645
  [IconName.Minus]: <MinusIcon className={className} />,
612
- [IconName.NavigateRight]: <NavigateRight className={className} />,
646
+ [IconName.NavigateRight]: <NavigateRightIcon className={className} />,
647
+ [IconName.Pause]: <PauseIcon className={className} />,
648
+ [IconName.Play]: <PlayIcon className={className} />,
613
649
  [IconName.Plus]: <PlusIcon className={className} />,
614
650
  [IconName.Publish]: <PublishIcon className={className} />,
615
- [IconName.Retry]: <RetryIcon className={className} />,
651
+ [IconName.RemoveFilter]: <RemoveFilterIcon className={className} />,
616
652
  [IconName.Replace]: <ReplaceIcon className={className} />,
653
+ [IconName.Retry]: <RetryIcon className={className} />,
617
654
  [IconName.Snapshot]: <SnapshotIcon className={className} />,
655
+ [IconName.Stop]: <StopIcon className={className} />,
618
656
  [IconName.Success]: <SuccessIcon className={className} />,
619
- [IconName.Undo]: <RevertIcon className={className} />,
657
+ [IconName.Unarchive]: <UnarchiveIcon className={className} />,
658
+ [IconName.Undo]: <UndoIcon className={className} />,
659
+ [IconName.Unpublish]: <UnpublishIcon className={className} />,
620
660
  [IconName.Upload]: <UploadIcon className={className} />,
621
661
  [IconName.Warning]: <WarningIcon className={className} />,
622
662
  [IconName.X]: <XIcon className={className} />,
623
- [IconName.RemoveFilter]: <RemoveFilterIcon className={className} />,
624
663
  };
625
664
 
626
665
  const actionIcon: JSX.Element =
package/src/index.ts CHANGED
@@ -2,4 +2,6 @@
2
2
  export * from './components';
3
3
  export * from './helpers';
4
4
  export * from './hooks';
5
+ export * from './initialize';
6
+ export * from './types';
5
7
  export * from './validators';
@@ -0,0 +1,25 @@
1
+ import { ShowNotification } from './types/ui-config';
2
+
3
+ export let showNotification: ShowNotification | (() => void) =
4
+ polyfill('showNotification');
5
+
6
+ /**
7
+ * Passes the PiralApi methods to the UI library.
8
+ * @param app {UiConfig} object containing PiralApi methods for use in UI library.
9
+ */
10
+ export function initializeUi(app: UiConfig): void {
11
+ ({ showNotification } = app);
12
+ }
13
+
14
+ export interface UiConfig {
15
+ showNotification: ShowNotification;
16
+ }
17
+
18
+ function polyfill(methodName: string): () => void {
19
+ return () => {
20
+ // eslint-disable-next-line no-console
21
+ console.warn(
22
+ `Could not find ${methodName} method. Is the UI initialized in the pilet? To initialize UI library call 'initializeUi(app)' in your pilet.`,
23
+ );
24
+ };
25
+ }