@app-studio/web 0.8.59 → 0.8.61

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.
package/dist/web.esm.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import 'core-js/modules/es.symbol.description.js';
2
2
  import React, { useRef, useState, useEffect, useCallback, useMemo, createContext, useContext, Fragment } from 'react';
3
3
  import 'core-js/modules/es.object.assign.js';
4
- import { View as View$1, Element, Typography, Image, useTheme, Input, Form } from 'app-studio';
4
+ import { View as View$1, Element, Typography, Image, useTheme, Animation, Input, Form, Text as Text$1, Horizontal as Horizontal$1 } from 'app-studio';
5
5
  import 'core-js/modules/es.array.iterator.js';
6
6
  import 'core-js/modules/es.parse-float.js';
7
7
  import 'core-js/modules/web.dom-collections.iterator.js';
@@ -11,6 +11,9 @@ import 'core-js/modules/es.string.includes.js';
11
11
  import 'core-js/modules/es.string.starts-with.js';
12
12
  import format from 'date-fns/format';
13
13
  import { useFormikContext, getIn } from 'formik';
14
+ import 'core-js/modules/web.url.js';
15
+ import 'core-js/modules/web.url.to-json.js';
16
+ import 'core-js/modules/web.url-search-params.js';
14
17
  import { create } from 'zustand';
15
18
 
16
19
  var Top = props => (/*#__PURE__*/React.createElement(View$1, Object.assign({
@@ -74,7 +77,7 @@ var HeadingSizes = {
74
77
  }
75
78
  };
76
79
 
77
- var _excluded = ["children", "heading", "maxLines", "isItalic", "isUnderlined", "isSub", "isSup", "isStriked", "isTruncated", "weight", "size"];
80
+ var _excluded = ["children", "heading", "maxLines", "isItalic", "isUnderlined", "isSub", "isSup", "isStriked", "weight", "size"];
78
81
  var TextContent = _ref => {
79
82
  var {
80
83
  children,
@@ -129,7 +132,6 @@ var TextView = _ref3 => {
129
132
  isSub = false,
130
133
  isSup = false,
131
134
  isStriked = false,
132
- isTruncated = false,
133
135
  weight = 'normal',
134
136
  size = 'md'
135
137
  } = _ref3,
@@ -145,7 +147,7 @@ var TextView = _ref3 => {
145
147
  fontStyle: isItalic ? 'italic' : 'normal',
146
148
  fontWeight: Typography.fontWeights[weight],
147
149
  textDecoration: isStriked ? 'line-through' : isUnderlined ? 'underline' : 'none'
148
- }, noLineBreak, headingStyles, props), isTruncated && maxLines && typeof children === 'string' ? (/*#__PURE__*/React.createElement(TruncateText, {
150
+ }, noLineBreak, headingStyles, props), maxLines && typeof children === 'string' ? (/*#__PURE__*/React.createElement(TruncateText, {
149
151
  text: children,
150
152
  maxLines: maxLines
151
153
  })) : (/*#__PURE__*/React.createElement(TextContent, Object.assign({
@@ -239,33 +241,33 @@ var _excluded$4 = ["size", "color", "transform", "orientation", "children"],
239
241
  _excluded21 = ["size", "color", "filled", "strokeWidth"],
240
242
  _excluded22 = ["size", "color", "filled", "strokeWidth"],
241
243
  _excluded23 = ["size", "color", "filled", "strokeWidth"],
242
- _excluded24 = ["size", "color", "strokeWidth", "filled"],
244
+ _excluded24 = ["size", "color", "filled", "strokeWidth"],
243
245
  _excluded25 = ["size", "color", "filled", "strokeWidth"],
244
- _excluded26 = ["size", "color", "strokeWidth", "filled"],
246
+ _excluded26 = ["size", "color", "filled", "strokeWidth"],
245
247
  _excluded27 = ["size", "color", "filled", "strokeWidth"],
246
- _excluded28 = ["size", "color", "strokeWidth", "filled"],
248
+ _excluded28 = ["size", "color", "filled", "strokeWidth"],
247
249
  _excluded29 = ["size", "color", "filled", "strokeWidth"],
248
250
  _excluded30 = ["size", "color", "strokeWidth", "filled"],
249
251
  _excluded31 = ["size", "color", "filled", "strokeWidth"],
250
- _excluded32 = ["size", "color", "filled", "strokeWidth"],
252
+ _excluded32 = ["size", "color", "strokeWidth", "filled"],
251
253
  _excluded33 = ["size", "color", "filled", "strokeWidth"],
252
- _excluded34 = ["size", "color", "filled", "strokeWidth"],
254
+ _excluded34 = ["size", "color", "strokeWidth", "filled"],
253
255
  _excluded35 = ["size", "color", "filled", "strokeWidth"],
254
- _excluded36 = ["size", "color", "filled", "strokeWidth"],
256
+ _excluded36 = ["size", "color", "strokeWidth", "filled"],
255
257
  _excluded37 = ["size", "color", "filled", "strokeWidth"],
256
258
  _excluded38 = ["size", "color", "filled", "strokeWidth"],
257
259
  _excluded39 = ["size", "color", "filled", "strokeWidth"],
258
260
  _excluded40 = ["size", "color", "filled", "strokeWidth"],
259
261
  _excluded41 = ["size", "color", "filled", "strokeWidth"],
260
262
  _excluded42 = ["size", "color", "filled", "strokeWidth"],
261
- _excluded43 = ["size", "color", "strokeWidth", "filled"],
262
- _excluded44 = ["size", "color", "strokeWidth", "filled"],
263
+ _excluded43 = ["size", "color", "filled", "strokeWidth"],
264
+ _excluded44 = ["size", "color", "filled", "strokeWidth"],
263
265
  _excluded45 = ["size", "color", "filled", "strokeWidth"],
264
266
  _excluded46 = ["size", "color", "filled", "strokeWidth"],
265
267
  _excluded47 = ["size", "color", "filled", "strokeWidth"],
266
268
  _excluded48 = ["size", "color", "filled", "strokeWidth"],
267
- _excluded49 = ["size", "color", "filled", "strokeWidth"],
268
- _excluded50 = ["size", "color", "filled", "strokeWidth"],
269
+ _excluded49 = ["size", "color", "strokeWidth", "filled"],
270
+ _excluded50 = ["size", "color", "strokeWidth", "filled"],
269
271
  _excluded51 = ["size", "color", "filled", "strokeWidth"],
270
272
  _excluded52 = ["size", "color", "filled", "strokeWidth"],
271
273
  _excluded53 = ["size", "color", "filled", "strokeWidth"],
@@ -273,7 +275,13 @@ var _excluded$4 = ["size", "color", "transform", "orientation", "children"],
273
275
  _excluded55 = ["size", "color", "filled", "strokeWidth"],
274
276
  _excluded56 = ["size", "color", "filled", "strokeWidth"],
275
277
  _excluded57 = ["size", "color", "filled", "strokeWidth"],
276
- _excluded58 = ["size", "color", "strokeWidth", "filled"];
278
+ _excluded58 = ["size", "color", "filled", "strokeWidth"],
279
+ _excluded59 = ["size", "color", "filled", "strokeWidth"],
280
+ _excluded60 = ["size", "color", "filled", "strokeWidth"],
281
+ _excluded61 = ["size", "color", "filled", "strokeWidth"],
282
+ _excluded62 = ["size", "color", "filled", "strokeWidth"],
283
+ _excluded63 = ["size", "color", "filled", "strokeWidth"],
284
+ _excluded64 = ["size", "color", "strokeWidth", "filled"];
277
285
  // Default wrapper component for consistent sizing and styling
278
286
  var IconWrapper = _ref => {
279
287
  var {
@@ -322,7 +330,7 @@ var ChevronIcon = _ref2 => {
322
330
  d: "M12.771 7.115a.829.829 0 0 0-1.2 0L3 15.686l1.2 1.2 7.971-7.971 7.972 7.971 1.2-1.2-8.572-8.571Z"
323
331
  })));
324
332
  };
325
- var TwitterIcon = _ref3 => {
333
+ var DragHandleIcon = _ref3 => {
326
334
  var {
327
335
  size = 24,
328
336
  color = 'currentColor',
@@ -337,6 +345,148 @@ var TwitterIcon = _ref3 => {
337
345
  viewBox: "0 0 24 24",
338
346
  "aria-hidden": "true",
339
347
  focusable: "false"
348
+ }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("g", null, /*#__PURE__*/React.createElement("circle", {
349
+ cx: "9",
350
+ cy: "6",
351
+ r: "2"
352
+ }), /*#__PURE__*/React.createElement("circle", {
353
+ cx: "9",
354
+ cy: "12",
355
+ r: "2"
356
+ }), /*#__PURE__*/React.createElement("circle", {
357
+ cx: "9",
358
+ cy: "18",
359
+ r: "2"
360
+ }), /*#__PURE__*/React.createElement("circle", {
361
+ cx: "15",
362
+ cy: "6",
363
+ r: "2"
364
+ }), /*#__PURE__*/React.createElement("circle", {
365
+ cx: "15",
366
+ cy: "12",
367
+ r: "2"
368
+ }), /*#__PURE__*/React.createElement("circle", {
369
+ cx: "15",
370
+ cy: "18",
371
+ r: "2"
372
+ }))));
373
+ };
374
+ // File Icon Component
375
+ var FileIcon = _ref4 => {
376
+ var {
377
+ size = 24,
378
+ color = 'currentColor',
379
+ filled = true,
380
+ strokeWidth = 1
381
+ } = _ref4,
382
+ props = _objectWithoutPropertiesLoose(_ref4, _excluded4);
383
+ return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
384
+ size: size,
385
+ color: color
386
+ }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
387
+ viewBox: "0 0 24 24",
388
+ "aria-hidden": "true",
389
+ focusable: "false"
390
+ }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
391
+ d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
392
+ fill: filled ? color : 'none',
393
+ stroke: filled ? 'none' : color,
394
+ strokeWidth: filled ? 0 : strokeWidth
395
+ }), /*#__PURE__*/React.createElement("polyline", {
396
+ points: "14 2 14 8 20 8",
397
+ fill: "none",
398
+ stroke: color,
399
+ strokeWidth: strokeWidth
400
+ })));
401
+ };
402
+ // Video Icon Component
403
+ var VideoIcon = _ref5 => {
404
+ var {
405
+ size = 24,
406
+ color = 'currentColor',
407
+ filled = true,
408
+ strokeWidth = 1
409
+ } = _ref5,
410
+ props = _objectWithoutPropertiesLoose(_ref5, _excluded5);
411
+ return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
412
+ size: size,
413
+ color: color
414
+ }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
415
+ viewBox: "0 0 24 24",
416
+ "aria-hidden": "true",
417
+ focusable: "false"
418
+ }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("rect", {
419
+ x: "2",
420
+ y: "4",
421
+ width: "20",
422
+ height: "16",
423
+ rx: "2",
424
+ ry: "2",
425
+ fill: filled ? color : 'none',
426
+ stroke: filled ? 'none' : color,
427
+ strokeWidth: filled ? 0 : strokeWidth
428
+ }), /*#__PURE__*/React.createElement("polygon", {
429
+ points: "10 8 16 12 10 16 10 8",
430
+ fill: filled ? filled ? 'white' : color : 'none',
431
+ stroke: filled ? 'none' : color,
432
+ strokeWidth: filled ? 0 : strokeWidth
433
+ })));
434
+ };
435
+ // Image Icon Component
436
+ var ImageIcon = _ref6 => {
437
+ var {
438
+ size = 24,
439
+ color = 'currentColor',
440
+ filled = true,
441
+ strokeWidth = 1
442
+ } = _ref6,
443
+ props = _objectWithoutPropertiesLoose(_ref6, _excluded6);
444
+ return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
445
+ size: size,
446
+ color: color
447
+ }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
448
+ viewBox: "0 0 24 24",
449
+ "aria-hidden": "true",
450
+ focusable: "false"
451
+ }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("rect", {
452
+ x: "2",
453
+ y: "2",
454
+ width: "20",
455
+ height: "20",
456
+ rx: "2",
457
+ ry: "2",
458
+ fill: filled ? color : 'none',
459
+ stroke: filled ? 'none' : color,
460
+ strokeWidth: filled ? 0 : strokeWidth
461
+ }), /*#__PURE__*/React.createElement("circle", {
462
+ cx: "8.5",
463
+ cy: "8.5",
464
+ r: "1.5",
465
+ fill: filled ? filled ? 'white' : color : 'none',
466
+ stroke: filled ? 'none' : color,
467
+ strokeWidth: filled ? 0 : strokeWidth
468
+ }), /*#__PURE__*/React.createElement("polyline", {
469
+ points: "21 15 16 10 5 21",
470
+ fill: "none",
471
+ stroke: filled ? 'white' : color,
472
+ strokeWidth: strokeWidth
473
+ })));
474
+ };
475
+ var TwitterIcon = _ref7 => {
476
+ var {
477
+ size = 24,
478
+ color = 'currentColor',
479
+ filled = true,
480
+ strokeWidth = 1
481
+ } = _ref7,
482
+ props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
483
+ return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
484
+ size: size,
485
+ color: color
486
+ }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
487
+ viewBox: "0 0 24 24",
488
+ "aria-hidden": "true",
489
+ focusable: "false"
340
490
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
341
491
  d: "M22.46 6.01c-.83.37-1.72.62-2.65.74a4.6 4.6 0 0 0 2.01-2.54 9.2 9.2 0 0 1-2.91 1.11 4.54 4.54 0 0 0-7.75 4.14A12.86 12.86 0 0 1 3.15 4.47a4.54 4.54 0 0 0 1.4 6.06 4.5 4.5 0 0 1-2.06-.57v.06a4.54 4.54 0 0 0 3.64 4.45 4.61 4.61 0 0 1-2.05.08 4.54 4.54 0 0 0 4.23 3.15 9.12 9.12 0 0 1-5.64 1.94c-.37 0-.74-.02-1.1-.07A12.86 12.86 0 0 0 8.21 21c8.38 0 12.96-6.94 12.96-12.96 0-.2 0-.4-.01-.6a9.28 9.28 0 0 0 2.3-2.37z",
342
492
  fill: filled ? color : 'none',
@@ -344,14 +494,14 @@ var TwitterIcon = _ref3 => {
344
494
  strokeWidth: filled ? 0 : strokeWidth
345
495
  })));
346
496
  };
347
- var XIcon = _ref4 => {
497
+ var XIcon = _ref8 => {
348
498
  var {
349
499
  size = 24,
350
500
  color = 'currentColor',
351
501
  filled = true,
352
502
  strokeWidth = 1
353
- } = _ref4,
354
- props = _objectWithoutPropertiesLoose(_ref4, _excluded4);
503
+ } = _ref8,
504
+ props = _objectWithoutPropertiesLoose(_ref8, _excluded8);
355
505
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
356
506
  size: size,
357
507
  color: color
@@ -367,14 +517,14 @@ var XIcon = _ref4 => {
367
517
  })));
368
518
  };
369
519
  // Example of a Twitch Icon
370
- var TwitchIcon = _ref5 => {
520
+ var TwitchIcon = _ref9 => {
371
521
  var {
372
522
  size = 24,
373
523
  color = 'currentColor',
374
524
  filled = true,
375
525
  strokeWidth = 1
376
- } = _ref5,
377
- props = _objectWithoutPropertiesLoose(_ref5, _excluded5);
526
+ } = _ref9,
527
+ props = _objectWithoutPropertiesLoose(_ref9, _excluded9);
378
528
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
379
529
  size: size,
380
530
  color: color
@@ -395,14 +545,14 @@ var TwitchIcon = _ref5 => {
395
545
  })));
396
546
  };
397
547
  // Example of another Icon: CloseIcon
398
- var CloseIcon = _ref6 => {
548
+ var CloseIcon = _ref10 => {
399
549
  var {
400
550
  size = 24,
401
551
  color = 'currentColor',
402
552
  filled = false,
403
553
  strokeWidth = 1
404
- } = _ref6,
405
- props = _objectWithoutPropertiesLoose(_ref6, _excluded6);
554
+ } = _ref10,
555
+ props = _objectWithoutPropertiesLoose(_ref10, _excluded10);
406
556
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
407
557
  size: size,
408
558
  color: color
@@ -424,14 +574,14 @@ var CloseIcon = _ref6 => {
424
574
  y2: "18"
425
575
  })));
426
576
  };
427
- var InstagramIcon = _ref7 => {
577
+ var InstagramIcon = _ref11 => {
428
578
  var {
429
579
  size = 24,
430
580
  color = 'currentColor',
431
581
  filled = false,
432
582
  strokeWidth = 1
433
- } = _ref7,
434
- props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
583
+ } = _ref11,
584
+ props = _objectWithoutPropertiesLoose(_ref11, _excluded11);
435
585
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
436
586
  size: size,
437
587
  color: color
@@ -455,14 +605,14 @@ var InstagramIcon = _ref7 => {
455
605
  y2: "6.5"
456
606
  })));
457
607
  };
458
- var YoutubeIcon = _ref8 => {
608
+ var YoutubeIcon = _ref12 => {
459
609
  var {
460
610
  size = 24,
461
611
  color = 'currentColor',
462
612
  filled = true,
463
613
  strokeWidth = 1
464
- } = _ref8,
465
- props = _objectWithoutPropertiesLoose(_ref8, _excluded8);
614
+ } = _ref12,
615
+ props = _objectWithoutPropertiesLoose(_ref12, _excluded12);
466
616
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
467
617
  size: size,
468
618
  color: color
@@ -483,14 +633,14 @@ var YoutubeIcon = _ref8 => {
483
633
  strokeWidth: strokeWidth
484
634
  })));
485
635
  };
486
- var FacebookIcon = _ref9 => {
636
+ var FacebookIcon = _ref13 => {
487
637
  var {
488
638
  size = 24,
489
639
  color = 'currentColor',
490
640
  filled = true,
491
641
  strokeWidth = 1
492
- } = _ref9,
493
- props = _objectWithoutPropertiesLoose(_ref9, _excluded9);
642
+ } = _ref13,
643
+ props = _objectWithoutPropertiesLoose(_ref13, _excluded13);
494
644
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
495
645
  size: size,
496
646
  color: color
@@ -505,14 +655,14 @@ var FacebookIcon = _ref9 => {
505
655
  strokeWidth: filled ? 0 : strokeWidth
506
656
  })));
507
657
  };
508
- var LinkedinIcon = _ref10 => {
658
+ var LinkedinIcon = _ref14 => {
509
659
  var {
510
660
  size = 24,
511
661
  color = 'currentColor',
512
662
  filled = true,
513
663
  strokeWidth = 1
514
- } = _ref10,
515
- props = _objectWithoutPropertiesLoose(_ref10, _excluded10);
664
+ } = _ref14,
665
+ props = _objectWithoutPropertiesLoose(_ref14, _excluded14);
516
666
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
517
667
  size: size,
518
668
  color: color
@@ -531,14 +681,14 @@ var LinkedinIcon = _ref10 => {
531
681
  r: "2"
532
682
  })));
533
683
  };
534
- var ThreadsIcon = _ref11 => {
684
+ var ThreadsIcon = _ref15 => {
535
685
  var {
536
686
  size = 24,
537
687
  color = 'currentColor',
538
688
  filled = false,
539
689
  strokeWidth = 1
540
- } = _ref11,
541
- props = _objectWithoutPropertiesLoose(_ref11, _excluded11);
690
+ } = _ref15,
691
+ props = _objectWithoutPropertiesLoose(_ref15, _excluded15);
542
692
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
543
693
  size: size,
544
694
  color: color
@@ -553,15 +703,15 @@ var ThreadsIcon = _ref11 => {
553
703
  })));
554
704
  };
555
705
  // Example Refactored Icon: MinusIcon without undefined 'padding' prop
556
- var MinusIcon = _ref12 => {
706
+ var MinusIcon = _ref16 => {
557
707
  var {
558
708
  size = 24,
559
709
  color = 'currentColor',
560
710
  filled = false,
561
711
  // Assuming minus can be filled; adjust as needed
562
712
  strokeWidth = 1
563
- } = _ref12,
564
- props = _objectWithoutPropertiesLoose(_ref12, _excluded12);
713
+ } = _ref16,
714
+ props = _objectWithoutPropertiesLoose(_ref16, _excluded16);
565
715
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
566
716
  size: size,
567
717
  color: color
@@ -578,14 +728,14 @@ var MinusIcon = _ref12 => {
578
728
  })));
579
729
  };
580
730
  // Example Refactored Icon: InfoIcon with accessibility enhancements
581
- var InfoIcon = _ref13 => {
731
+ var InfoIcon = _ref17 => {
582
732
  var {
583
733
  size = 24,
584
734
  color = 'currentColor',
585
735
  filled = false,
586
736
  strokeWidth = 1
587
- } = _ref13,
588
- props = _objectWithoutPropertiesLoose(_ref13, _excluded13);
737
+ } = _ref17,
738
+ props = _objectWithoutPropertiesLoose(_ref17, _excluded17);
589
739
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
590
740
  size: size,
591
741
  color: color
@@ -599,14 +749,52 @@ var InfoIcon = _ref13 => {
599
749
  d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"
600
750
  })));
601
751
  };
602
- var HeartIcon = _ref14 => {
752
+ var PlayIcon = _ref18 => {
603
753
  var {
604
754
  size = 24,
605
755
  color = 'currentColor',
606
756
  filled = true,
607
757
  strokeWidth = 1
608
- } = _ref14,
609
- props = _objectWithoutPropertiesLoose(_ref14, _excluded14);
758
+ } = _ref18,
759
+ props = _objectWithoutPropertiesLoose(_ref18, _excluded18);
760
+ return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
761
+ size: size,
762
+ color: color
763
+ }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
764
+ viewBox: "0 0 24 24",
765
+ "aria-hidden": "false",
766
+ focusable: "false"
767
+ }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
768
+ d: "M8 5v14l11-7z"
769
+ })));
770
+ };
771
+ var PauseIcon = _ref19 => {
772
+ var {
773
+ size = 24,
774
+ color = 'currentColor',
775
+ filled = true,
776
+ strokeWidth = 1
777
+ } = _ref19,
778
+ props = _objectWithoutPropertiesLoose(_ref19, _excluded19);
779
+ return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
780
+ size: size,
781
+ color: color
782
+ }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
783
+ viewBox: "0 0 24 24",
784
+ "aria-hidden": "false",
785
+ focusable: "false"
786
+ }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
787
+ d: "M6 4h4v16H6V4zm8 0h4v16h-4V4z"
788
+ })));
789
+ };
790
+ var HeartIcon = _ref20 => {
791
+ var {
792
+ size = 24,
793
+ color = 'currentColor',
794
+ filled = true,
795
+ strokeWidth = 1
796
+ } = _ref20,
797
+ props = _objectWithoutPropertiesLoose(_ref20, _excluded20);
610
798
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
611
799
  size: size,
612
800
  color: color
@@ -618,14 +806,14 @@ var HeartIcon = _ref14 => {
618
806
  d: "M20.84 4.61c-1.54-1.56-4.04-1.56-5.59 0l-.7.72-.7-.72a3.95 3.95 0 0 0-5.59 0c-1.56 1.56-1.56 4.09 0 5.66l6.29 6.36 6.29-6.36c1.56-1.56 1.56-4.09 0-5.66z"
619
807
  })));
620
808
  };
621
- var StarIcon = _ref15 => {
809
+ var StarIcon = _ref21 => {
622
810
  var {
623
811
  size = 24,
624
812
  color = 'currentColor',
625
813
  filled = true,
626
814
  strokeWidth = 1
627
- } = _ref15,
628
- props = _objectWithoutPropertiesLoose(_ref15, _excluded15);
815
+ } = _ref21,
816
+ props = _objectWithoutPropertiesLoose(_ref21, _excluded21);
629
817
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
630
818
  size: size,
631
819
  color: color
@@ -637,14 +825,14 @@ var StarIcon = _ref15 => {
637
825
  points: "12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2"
638
826
  })));
639
827
  };
640
- var SaveIcon = _ref16 => {
828
+ var SaveIcon = _ref22 => {
641
829
  var {
642
830
  size = 24,
643
831
  color = 'currentColor',
644
832
  filled = false,
645
833
  strokeWidth = 1
646
- } = _ref16,
647
- props = _objectWithoutPropertiesLoose(_ref16, _excluded16);
834
+ } = _ref22,
835
+ props = _objectWithoutPropertiesLoose(_ref22, _excluded22);
648
836
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
649
837
  size: size,
650
838
  color: color
@@ -660,14 +848,14 @@ var SaveIcon = _ref16 => {
660
848
  points: "7 3 7 8 15 8"
661
849
  })));
662
850
  };
663
- var WarningIcon = _ref17 => {
851
+ var WarningIcon = _ref23 => {
664
852
  var {
665
853
  size = 24,
666
854
  color = 'currentColor',
667
855
  filled = false,
668
856
  strokeWidth = 1
669
- } = _ref17,
670
- props = _objectWithoutPropertiesLoose(_ref17, _excluded17);
857
+ } = _ref23,
858
+ props = _objectWithoutPropertiesLoose(_ref23, _excluded23);
671
859
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
672
860
  size: size,
673
861
  color: color
@@ -691,14 +879,14 @@ var WarningIcon = _ref17 => {
691
879
  y2: "15"
692
880
  })));
693
881
  };
694
- var BatteryIcon = _ref18 => {
882
+ var BatteryIcon = _ref24 => {
695
883
  var {
696
884
  size = 24,
697
885
  color = 'currentColor',
698
886
  filled = true,
699
887
  strokeWidth = 1
700
- } = _ref18,
701
- props = _objectWithoutPropertiesLoose(_ref18, _excluded18);
888
+ } = _ref24,
889
+ props = _objectWithoutPropertiesLoose(_ref24, _excluded24);
702
890
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
703
891
  size: size,
704
892
  color: color
@@ -710,14 +898,14 @@ var BatteryIcon = _ref18 => {
710
898
  d: "M15.67 4H14V2h-4v2H8.33C7.6 4 7 4.6 7 5.33v15.33C7 21.4 7.6 22 8.33 22h7.33c.74 0 1.34-.6 1.34-1.33V5.33C17 4.6 16.4 4 15.67 4z"
711
899
  })));
712
900
  };
713
- var BookmarkIcon = _ref19 => {
901
+ var BookmarkIcon = _ref25 => {
714
902
  var {
715
903
  size = 24,
716
904
  color = 'currentColor',
717
905
  filled = false,
718
906
  strokeWidth = 1
719
- } = _ref19,
720
- props = _objectWithoutPropertiesLoose(_ref19, _excluded19);
907
+ } = _ref25,
908
+ props = _objectWithoutPropertiesLoose(_ref25, _excluded25);
721
909
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
722
910
  size: size,
723
911
  color: color
@@ -729,14 +917,14 @@ var BookmarkIcon = _ref19 => {
729
917
  d: "M17 3H7c-1.1 0-2 .9-2 2v16l7-3 7 3V5c0-1.1-.9-2-2-2z"
730
918
  })));
731
919
  };
732
- var CloudIcon = _ref20 => {
920
+ var CloudIcon = _ref26 => {
733
921
  var {
734
922
  size = 24,
735
923
  color = 'currentColor',
736
924
  filled = true,
737
925
  strokeWidth = 1
738
- } = _ref20,
739
- props = _objectWithoutPropertiesLoose(_ref20, _excluded20);
926
+ } = _ref26,
927
+ props = _objectWithoutPropertiesLoose(_ref26, _excluded26);
740
928
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
741
929
  size: size,
742
930
  color: color
@@ -748,14 +936,14 @@ var CloudIcon = _ref20 => {
748
936
  d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z"
749
937
  })));
750
938
  };
751
- var CopyIcon = _ref21 => {
939
+ var CopyIcon = _ref27 => {
752
940
  var {
753
941
  size = 24,
754
942
  color = 'currentColor',
755
943
  filled = false,
756
944
  strokeWidth = 1
757
- } = _ref21,
758
- props = _objectWithoutPropertiesLoose(_ref21, _excluded21);
945
+ } = _ref27,
946
+ props = _objectWithoutPropertiesLoose(_ref27, _excluded27);
759
947
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
760
948
  size: size,
761
949
  color: color
@@ -774,14 +962,14 @@ var CopyIcon = _ref21 => {
774
962
  d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"
775
963
  })));
776
964
  };
777
- var DustBinIcon = _ref22 => {
965
+ var DustBinIcon = _ref28 => {
778
966
  var {
779
967
  size = 24,
780
968
  color = 'currentColor',
781
969
  filled = false,
782
970
  strokeWidth = 1
783
- } = _ref22,
784
- props = _objectWithoutPropertiesLoose(_ref22, _excluded22);
971
+ } = _ref28,
972
+ props = _objectWithoutPropertiesLoose(_ref28, _excluded28);
785
973
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
786
974
  size: size,
787
975
  color: color
@@ -793,14 +981,14 @@ var DustBinIcon = _ref22 => {
793
981
  d: "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"
794
982
  })));
795
983
  };
796
- var EditIcon = _ref23 => {
984
+ var EditIcon = _ref29 => {
797
985
  var {
798
986
  size = 24,
799
987
  color = 'currentColor',
800
988
  filled = false,
801
989
  strokeWidth = 1
802
- } = _ref23,
803
- props = _objectWithoutPropertiesLoose(_ref23, _excluded23);
990
+ } = _ref29,
991
+ props = _objectWithoutPropertiesLoose(_ref29, _excluded29);
804
992
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
805
993
  size: size,
806
994
  color: color
@@ -812,14 +1000,14 @@ var EditIcon = _ref23 => {
812
1000
  d: "M18.3785 8.44975L8.9636 17.8648C8.6844 18.144 8.3288 18.3343 7.94161 18.4117L4.99988 19.0001L5.58823 16.0583C5.66566 15.6711 5.85597 15.3155 6.13517 15.0363L15.5501 5.62132M18.3785 8.44975L19.7927 7.03553C20.1832 6.64501 20.1832 6.01184 19.7927 5.62132L18.3785 4.20711C17.988 3.81658 17.3548 3.81658 16.9643 4.20711L15.5501 5.62132M18.3785 8.44975L15.5501 5.62132"
813
1001
  })));
814
1002
  };
815
- var ErrorIcon = _ref24 => {
1003
+ var ErrorIcon = _ref30 => {
816
1004
  var {
817
1005
  size = 24,
818
1006
  color = 'currentColor',
819
1007
  strokeWidth = 1,
820
1008
  filled = true
821
- } = _ref24,
822
- props = _objectWithoutPropertiesLoose(_ref24, _excluded24);
1009
+ } = _ref30,
1010
+ props = _objectWithoutPropertiesLoose(_ref30, _excluded30);
823
1011
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
824
1012
  size: size,
825
1013
  color: color
@@ -845,14 +1033,14 @@ var ErrorIcon = _ref24 => {
845
1033
  stroke: filled ? 'white' : color
846
1034
  })));
847
1035
  };
848
- var DownloadIcon = _ref25 => {
1036
+ var DownloadIcon = _ref31 => {
849
1037
  var {
850
1038
  size = 24,
851
1039
  color = 'currentColor',
852
1040
  filled = true,
853
1041
  strokeWidth = 1
854
- } = _ref25,
855
- props = _objectWithoutPropertiesLoose(_ref25, _excluded25);
1042
+ } = _ref31,
1043
+ props = _objectWithoutPropertiesLoose(_ref31, _excluded31);
856
1044
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
857
1045
  size: size,
858
1046
  color: color
@@ -864,14 +1052,14 @@ var DownloadIcon = _ref25 => {
864
1052
  d: "M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"
865
1053
  })));
866
1054
  };
867
- var MenuIcon = _ref26 => {
1055
+ var MenuIcon = _ref32 => {
868
1056
  var {
869
1057
  size = 24,
870
1058
  color = 'currentColor',
871
1059
  strokeWidth = 1,
872
1060
  filled = false
873
- } = _ref26,
874
- props = _objectWithoutPropertiesLoose(_ref26, _excluded26);
1061
+ } = _ref32,
1062
+ props = _objectWithoutPropertiesLoose(_ref32, _excluded32);
875
1063
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
876
1064
  size: size,
877
1065
  color: color
@@ -899,14 +1087,14 @@ var MenuIcon = _ref26 => {
899
1087
  y2: "18"
900
1088
  })));
901
1089
  };
902
- var ShareIcon = _ref27 => {
1090
+ var ShareIcon = _ref33 => {
903
1091
  var {
904
1092
  size = 24,
905
1093
  color = 'currentColor',
906
1094
  filled = false,
907
1095
  strokeWidth = 1
908
- } = _ref27,
909
- props = _objectWithoutPropertiesLoose(_ref27, _excluded27);
1096
+ } = _ref33,
1097
+ props = _objectWithoutPropertiesLoose(_ref33, _excluded33);
910
1098
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
911
1099
  size: size,
912
1100
  color: color
@@ -940,14 +1128,14 @@ var ShareIcon = _ref27 => {
940
1128
  y2: "10.49"
941
1129
  })));
942
1130
  };
943
- var RefreshIcon = _ref28 => {
1131
+ var RefreshIcon = _ref34 => {
944
1132
  var {
945
1133
  size = 24,
946
1134
  color = 'currentColor',
947
1135
  strokeWidth = 1,
948
1136
  filled = false
949
- } = _ref28,
950
- props = _objectWithoutPropertiesLoose(_ref28, _excluded28);
1137
+ } = _ref34,
1138
+ props = _objectWithoutPropertiesLoose(_ref34, _excluded34);
951
1139
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
952
1140
  size: size,
953
1141
  color: color
@@ -961,14 +1149,14 @@ var RefreshIcon = _ref28 => {
961
1149
  d: "M20.49 15a9 9 0 1 1-2.13-9.36L23 10"
962
1150
  })));
963
1151
  };
964
- var PrintIcon = _ref29 => {
1152
+ var PrintIcon = _ref35 => {
965
1153
  var {
966
1154
  size = 24,
967
1155
  color = 'currentColor',
968
1156
  filled = true,
969
1157
  strokeWidth = 1
970
- } = _ref29,
971
- props = _objectWithoutPropertiesLoose(_ref29, _excluded29);
1158
+ } = _ref35,
1159
+ props = _objectWithoutPropertiesLoose(_ref35, _excluded35);
972
1160
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
973
1161
  size: size,
974
1162
  color: color
@@ -981,14 +1169,14 @@ var PrintIcon = _ref29 => {
981
1169
  d: "M19 8H5c-1.66 0-3 1.34-3 3v6h4v4h12v-4h4v-6c0-1.66-1.34-3-3-3zm-3 11H8v-5h8v5zm3-7c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm-1-9H6v4h12V3z"
982
1170
  })));
983
1171
  };
984
- var PanelIcon = _ref30 => {
1172
+ var PanelIcon = _ref36 => {
985
1173
  var {
986
1174
  size = 24,
987
1175
  color = 'currentColor',
988
1176
  strokeWidth = 1,
989
1177
  filled = false
990
- } = _ref30,
991
- props = _objectWithoutPropertiesLoose(_ref30, _excluded30);
1178
+ } = _ref36,
1179
+ props = _objectWithoutPropertiesLoose(_ref36, _excluded36);
992
1180
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
993
1181
  size: size,
994
1182
  color: color
@@ -1052,14 +1240,14 @@ var PanelIcon = _ref30 => {
1052
1240
  y2: "16"
1053
1241
  })));
1054
1242
  };
1055
- var FilterIcon = _ref31 => {
1243
+ var FilterIcon = _ref37 => {
1056
1244
  var {
1057
1245
  size = 24,
1058
1246
  color = 'currentColor',
1059
1247
  filled = false,
1060
1248
  strokeWidth = 1
1061
- } = _ref31,
1062
- props = _objectWithoutPropertiesLoose(_ref31, _excluded31);
1249
+ } = _ref37,
1250
+ props = _objectWithoutPropertiesLoose(_ref37, _excluded37);
1063
1251
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1064
1252
  size: size,
1065
1253
  color: color
@@ -1071,14 +1259,14 @@ var FilterIcon = _ref31 => {
1071
1259
  d: "M3 4h18l-7 10v5l-4 2v-7L3 4z"
1072
1260
  })));
1073
1261
  };
1074
- var HomeIcon = _ref32 => {
1262
+ var HomeIcon = _ref38 => {
1075
1263
  var {
1076
1264
  size = 24,
1077
1265
  color = 'currentColor',
1078
1266
  filled = true,
1079
1267
  strokeWidth = 1
1080
- } = _ref32,
1081
- props = _objectWithoutPropertiesLoose(_ref32, _excluded32);
1268
+ } = _ref38,
1269
+ props = _objectWithoutPropertiesLoose(_ref38, _excluded38);
1082
1270
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1083
1271
  size: size,
1084
1272
  color: color
@@ -1090,14 +1278,14 @@ var HomeIcon = _ref32 => {
1090
1278
  d: "M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8h5z"
1091
1279
  })));
1092
1280
  };
1093
- var LocationIcon = _ref33 => {
1281
+ var LocationIcon = _ref39 => {
1094
1282
  var {
1095
1283
  size = 24,
1096
1284
  color = 'currentColor',
1097
1285
  filled = true,
1098
1286
  strokeWidth = 1
1099
- } = _ref33,
1100
- props = _objectWithoutPropertiesLoose(_ref33, _excluded33);
1287
+ } = _ref39,
1288
+ props = _objectWithoutPropertiesLoose(_ref39, _excluded39);
1101
1289
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1102
1290
  size: size,
1103
1291
  color: color
@@ -1109,14 +1297,14 @@ var LocationIcon = _ref33 => {
1109
1297
  d: "M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z"
1110
1298
  })));
1111
1299
  };
1112
- var LockIcon = _ref34 => {
1300
+ var LockIcon = _ref40 => {
1113
1301
  var {
1114
1302
  size = 24,
1115
1303
  color = 'currentColor',
1116
1304
  filled = false,
1117
1305
  strokeWidth = 1
1118
- } = _ref34,
1119
- props = _objectWithoutPropertiesLoose(_ref34, _excluded34);
1306
+ } = _ref40,
1307
+ props = _objectWithoutPropertiesLoose(_ref40, _excluded40);
1120
1308
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1121
1309
  size: size,
1122
1310
  color: color
@@ -1135,14 +1323,14 @@ var LockIcon = _ref34 => {
1135
1323
  d: "M7 11V7a5 5 0 0 1 10 0v4"
1136
1324
  })));
1137
1325
  };
1138
- var MicrophoneIcon = _ref35 => {
1326
+ var MicrophoneIcon = _ref41 => {
1139
1327
  var {
1140
1328
  size = 24,
1141
1329
  color = 'currentColor',
1142
1330
  filled = false,
1143
1331
  strokeWidth = 1
1144
- } = _ref35,
1145
- props = _objectWithoutPropertiesLoose(_ref35, _excluded35);
1332
+ } = _ref41,
1333
+ props = _objectWithoutPropertiesLoose(_ref41, _excluded41);
1146
1334
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1147
1335
  size: size,
1148
1336
  color: color
@@ -1168,14 +1356,14 @@ var MicrophoneIcon = _ref35 => {
1168
1356
  y2: "23"
1169
1357
  })));
1170
1358
  };
1171
- var MoonIcon = _ref36 => {
1359
+ var MoonIcon = _ref42 => {
1172
1360
  var {
1173
1361
  size = 24,
1174
1362
  color = 'currentColor',
1175
1363
  filled = true,
1176
1364
  strokeWidth = 1
1177
- } = _ref36,
1178
- props = _objectWithoutPropertiesLoose(_ref36, _excluded36);
1365
+ } = _ref42,
1366
+ props = _objectWithoutPropertiesLoose(_ref42, _excluded42);
1179
1367
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1180
1368
  size: size,
1181
1369
  color: color
@@ -1187,14 +1375,14 @@ var MoonIcon = _ref36 => {
1187
1375
  d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"
1188
1376
  })));
1189
1377
  };
1190
- var NotificationIcon = _ref37 => {
1378
+ var NotificationIcon = _ref43 => {
1191
1379
  var {
1192
1380
  size = 24,
1193
1381
  color = 'currentColor',
1194
1382
  filled = false,
1195
1383
  strokeWidth = 1
1196
- } = _ref37,
1197
- props = _objectWithoutPropertiesLoose(_ref37, _excluded37);
1384
+ } = _ref43,
1385
+ props = _objectWithoutPropertiesLoose(_ref43, _excluded43);
1198
1386
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1199
1387
  size: size,
1200
1388
  color: color
@@ -1208,14 +1396,14 @@ var NotificationIcon = _ref37 => {
1208
1396
  d: "M13.73 21a2 2 0 0 1-3.46 0"
1209
1397
  })));
1210
1398
  };
1211
- var OpenEyeIcon = _ref38 => {
1399
+ var OpenEyeIcon = _ref44 => {
1212
1400
  var {
1213
1401
  size = 24,
1214
1402
  color = 'currentColor',
1215
1403
  filled = true,
1216
1404
  strokeWidth = 1
1217
- } = _ref38,
1218
- props = _objectWithoutPropertiesLoose(_ref38, _excluded38);
1405
+ } = _ref44,
1406
+ props = _objectWithoutPropertiesLoose(_ref44, _excluded44);
1219
1407
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1220
1408
  size: size,
1221
1409
  color: color
@@ -1227,14 +1415,14 @@ var OpenEyeIcon = _ref38 => {
1227
1415
  d: "M12 4C7 4 2.73 7.11 1 12c1.73 4.89 6 8 11 8s9.27-3.11 11-8c-1.73-4.89-6-8-11-8zm0 12.5c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"
1228
1416
  })));
1229
1417
  };
1230
- var ProfileIcon = _ref39 => {
1418
+ var ProfileIcon = _ref45 => {
1231
1419
  var {
1232
1420
  size = 24,
1233
1421
  color = 'currentColor',
1234
1422
  filled = true,
1235
1423
  strokeWidth = 1
1236
- } = _ref39,
1237
- props = _objectWithoutPropertiesLoose(_ref39, _excluded39);
1424
+ } = _ref45,
1425
+ props = _objectWithoutPropertiesLoose(_ref45, _excluded45);
1238
1426
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1239
1427
  size: size,
1240
1428
  color: color
@@ -1247,14 +1435,14 @@ var ProfileIcon = _ref39 => {
1247
1435
  d: "M12 13c-2.67 0-8 1.34-8 4v2c0 .55.45 1 1 1h14c.55 0 1-.45 1-1v-2c0-2.66-5.33-4-8-4zm0-9c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z M12 2C9.79 2 8 3.79 8 6s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4z M12 13c-2.67 0-8 1.34-8 4v3h16v-3c0-2.66-5.33-4-8-4z"
1248
1436
  }), ' '));
1249
1437
  };
1250
- var SettingsIcon = _ref40 => {
1438
+ var SettingsIcon = _ref46 => {
1251
1439
  var {
1252
1440
  size = 24,
1253
1441
  color = 'currentColor',
1254
1442
  filled = false,
1255
1443
  strokeWidth = 1
1256
- } = _ref40,
1257
- props = _objectWithoutPropertiesLoose(_ref40, _excluded40);
1444
+ } = _ref46,
1445
+ props = _objectWithoutPropertiesLoose(_ref46, _excluded46);
1258
1446
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1259
1447
  size: size,
1260
1448
  color: color
@@ -1266,14 +1454,14 @@ var SettingsIcon = _ref40 => {
1266
1454
  d: "M19.4 13c0-.3.1-.6.1-1s0-.7-.1-1l2.1-1.6c.2-.2.2-.4.1-.6l-2-3.5c-.1-.2-.4-.3-.6-.2l-2.5 1c-.5-.4-1.1-.7-1.7-.9l-.4-2.6c0-.2-.3-.4-.5-.4h-4c-.2 0-.5.2-.5.4l-.4 2.6c-.6.2-1.2.5-1.7.9l-2.5-1c-.2-.1-.5 0-.6.2l-2 3.5c-.1.2-.1.4.1.6L4.6 11c0 .3-.1.6-.1 1s0 .7.1 1l-2.1 1.6c-.2.2-.2.4-.1.6l2 3.5c.1.2.4.3.6.2l2.5-1c.5.4 1.1.7 1.7.9l.4 2.6c0 .2.3.4.5.4h4c.2 0 .5-.2.5-.4l.4-2.6c.6-.2 1.2-.5 1.7-.9l2.5 1c.2.1.5 0 .6-.2l2-3.5c.1-.2.1-.4-.1-.6L19.4 13zM12 15.5c-1.9 0-3.5-1.6-3.5-3.5s1.6-3.5 3.5-3.5 3.5 1.6 3.5 3.5-1.6 3.5-3.5 3.5z"
1267
1455
  })));
1268
1456
  };
1269
- var SuccessIcon = _ref41 => {
1457
+ var SuccessIcon = _ref47 => {
1270
1458
  var {
1271
1459
  size = 24,
1272
1460
  color = 'currentColor',
1273
1461
  filled = true,
1274
1462
  strokeWidth = 1
1275
- } = _ref41,
1276
- props = _objectWithoutPropertiesLoose(_ref41, _excluded41);
1463
+ } = _ref47,
1464
+ props = _objectWithoutPropertiesLoose(_ref47, _excluded47);
1277
1465
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1278
1466
  size: size,
1279
1467
  color: color
@@ -1285,14 +1473,14 @@ var SuccessIcon = _ref41 => {
1285
1473
  d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"
1286
1474
  })));
1287
1475
  };
1288
- var UnLikeIcon = _ref42 => {
1476
+ var UnLikeIcon = _ref48 => {
1289
1477
  var {
1290
1478
  size = 24,
1291
1479
  color = 'currentColor',
1292
1480
  filled = true,
1293
1481
  strokeWidth = 1
1294
- } = _ref42,
1295
- props = _objectWithoutPropertiesLoose(_ref42, _excluded42);
1482
+ } = _ref48,
1483
+ props = _objectWithoutPropertiesLoose(_ref48, _excluded48);
1296
1484
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1297
1485
  size: size,
1298
1486
  color: color
@@ -1304,14 +1492,14 @@ var UnLikeIcon = _ref42 => {
1304
1492
  d: "M15 3H6c-.83 0-1.54.5-1.84 1.22l-3.02 7.05c-.09.23-.14.47-.14.73v2c0 1.1.9 2 2 2h6.31l-.95 4.57-.03.32c0 .41.17.79.44 1.06L9.83 23l6.59-6.59c.36-.36.58-.86.58-1.41V5c0-1.1-.9-2-2-2zm4 0v12h4V3h-4z"
1305
1493
  })));
1306
1494
  };
1307
- var ClockIcon = _ref43 => {
1495
+ var ClockIcon = _ref49 => {
1308
1496
  var {
1309
1497
  size = 24,
1310
1498
  color = 'currentColor',
1311
1499
  strokeWidth = 1,
1312
1500
  filled = false
1313
- } = _ref43,
1314
- props = _objectWithoutPropertiesLoose(_ref43, _excluded43);
1501
+ } = _ref49,
1502
+ props = _objectWithoutPropertiesLoose(_ref49, _excluded49);
1315
1503
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1316
1504
  size: size,
1317
1505
  color: color
@@ -1327,14 +1515,14 @@ var ClockIcon = _ref43 => {
1327
1515
  points: "12 6 12 12 16 14"
1328
1516
  })));
1329
1517
  };
1330
- var CameraIcon = _ref44 => {
1518
+ var CameraIcon = _ref50 => {
1331
1519
  var {
1332
1520
  size = 24,
1333
1521
  color = 'currentColor',
1334
1522
  strokeWidth = 1,
1335
1523
  filled = false
1336
- } = _ref44,
1337
- props = _objectWithoutPropertiesLoose(_ref44, _excluded44);
1524
+ } = _ref50,
1525
+ props = _objectWithoutPropertiesLoose(_ref50, _excluded50);
1338
1526
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1339
1527
  size: size,
1340
1528
  color: color
@@ -1350,14 +1538,14 @@ var CameraIcon = _ref44 => {
1350
1538
  r: "4"
1351
1539
  })));
1352
1540
  };
1353
- var BluetoothIcon = _ref45 => {
1541
+ var BluetoothIcon = _ref51 => {
1354
1542
  var {
1355
1543
  size = 24,
1356
1544
  color = 'currentColor',
1357
1545
  filled = true,
1358
1546
  strokeWidth = 1
1359
- } = _ref45,
1360
- props = _objectWithoutPropertiesLoose(_ref45, _excluded45);
1547
+ } = _ref51,
1548
+ props = _objectWithoutPropertiesLoose(_ref51, _excluded51);
1361
1549
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1362
1550
  size: size,
1363
1551
  color: color
@@ -1369,14 +1557,14 @@ var BluetoothIcon = _ref45 => {
1369
1557
  d: "M17.71 7.71L12 2h-1v7.59L6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 11 14.41V22h1l5.71-5.71-4.3-4.29 4.3-4.29zM13 5.83l1.88 1.88L13 9.59V5.83zm1.88 10.46L13 18.17v-3.76l1.88 1.88z"
1370
1558
  })));
1371
1559
  };
1372
- var LikeIcon = _ref46 => {
1560
+ var LikeIcon = _ref52 => {
1373
1561
  var {
1374
1562
  size = 24,
1375
1563
  color = 'currentColor',
1376
1564
  filled = true,
1377
1565
  strokeWidth = 1
1378
- } = _ref46,
1379
- props = _objectWithoutPropertiesLoose(_ref46, _excluded46);
1566
+ } = _ref52,
1567
+ props = _objectWithoutPropertiesLoose(_ref52, _excluded52);
1380
1568
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1381
1569
  size: size,
1382
1570
  color: color
@@ -1388,14 +1576,14 @@ var LikeIcon = _ref46 => {
1388
1576
  d: "M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2z"
1389
1577
  })));
1390
1578
  };
1391
- var UnlockIcon = _ref47 => {
1579
+ var UnlockIcon = _ref53 => {
1392
1580
  var {
1393
1581
  size = 24,
1394
1582
  color = 'currentColor',
1395
1583
  filled = false,
1396
1584
  strokeWidth = 1
1397
- } = _ref47,
1398
- props = _objectWithoutPropertiesLoose(_ref47, _excluded47);
1585
+ } = _ref53,
1586
+ props = _objectWithoutPropertiesLoose(_ref53, _excluded53);
1399
1587
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1400
1588
  size: size,
1401
1589
  color: color
@@ -1414,14 +1602,14 @@ var UnlockIcon = _ref47 => {
1414
1602
  d: "M7 11V7a5 5 0 0 1 9.9-1"
1415
1603
  })));
1416
1604
  };
1417
- var WifiIcon = _ref48 => {
1605
+ var WifiIcon = _ref54 => {
1418
1606
  var {
1419
1607
  size = 24,
1420
1608
  color = 'currentColor',
1421
1609
  filled = false,
1422
1610
  strokeWidth = 1
1423
- } = _ref48,
1424
- props = _objectWithoutPropertiesLoose(_ref48, _excluded48);
1611
+ } = _ref54,
1612
+ props = _objectWithoutPropertiesLoose(_ref54, _excluded54);
1425
1613
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1426
1614
  size: size,
1427
1615
  color: color
@@ -1433,14 +1621,14 @@ var WifiIcon = _ref48 => {
1433
1621
  d: "M1 9l2 2c4.97-4.97 13.03-4.97 18 0l2-2C16.93 2.93 7.08 2.93 1 9zm8 8l3 3 3-3c-1.65-1.66-4.34-1.66-6 0zm-4-4l2 2c2.76-2.76 7.24-2.76 10 0l2-2C15.14 9.14 8.87 9.14 5 13z"
1434
1622
  })));
1435
1623
  };
1436
- var UploadIcon = _ref49 => {
1624
+ var UploadIcon = _ref55 => {
1437
1625
  var {
1438
1626
  size = 24,
1439
1627
  color = 'currentColor',
1440
1628
  filled = false,
1441
1629
  strokeWidth = 1
1442
- } = _ref49,
1443
- props = _objectWithoutPropertiesLoose(_ref49, _excluded49);
1630
+ } = _ref55,
1631
+ props = _objectWithoutPropertiesLoose(_ref55, _excluded55);
1444
1632
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1445
1633
  size: size,
1446
1634
  color: color
@@ -1456,14 +1644,14 @@ var UploadIcon = _ref49 => {
1456
1644
  d: "M12 12l0 9"
1457
1645
  })));
1458
1646
  };
1459
- var SearchIcon = _ref50 => {
1647
+ var SearchIcon = _ref56 => {
1460
1648
  var {
1461
1649
  size = 24,
1462
1650
  color = 'currentColor',
1463
1651
  filled = true,
1464
1652
  strokeWidth = 1
1465
- } = _ref50,
1466
- props = _objectWithoutPropertiesLoose(_ref50, _excluded50);
1653
+ } = _ref56,
1654
+ props = _objectWithoutPropertiesLoose(_ref56, _excluded56);
1467
1655
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1468
1656
  size: size,
1469
1657
  color: color
@@ -1475,14 +1663,14 @@ var SearchIcon = _ref50 => {
1475
1663
  d: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"
1476
1664
  })));
1477
1665
  };
1478
- var CloseEyeIcon = _ref51 => {
1666
+ var CloseEyeIcon = _ref57 => {
1479
1667
  var {
1480
1668
  size = 24,
1481
1669
  color = 'currentColor',
1482
1670
  filled = true,
1483
1671
  strokeWidth = 1
1484
- } = _ref51,
1485
- props = _objectWithoutPropertiesLoose(_ref51, _excluded51);
1672
+ } = _ref57,
1673
+ props = _objectWithoutPropertiesLoose(_ref57, _excluded57);
1486
1674
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1487
1675
  size: size,
1488
1676
  color: color
@@ -1495,14 +1683,14 @@ var CloseEyeIcon = _ref51 => {
1495
1683
  fill: "currentColor"
1496
1684
  })));
1497
1685
  };
1498
- var ExternalLinkIcon = _ref52 => {
1686
+ var ExternalLinkIcon = _ref58 => {
1499
1687
  var {
1500
1688
  size = 24,
1501
1689
  color = 'currentColor',
1502
1690
  filled = true,
1503
1691
  strokeWidth = 1
1504
- } = _ref52,
1505
- props = _objectWithoutPropertiesLoose(_ref52, _excluded52);
1692
+ } = _ref58,
1693
+ props = _objectWithoutPropertiesLoose(_ref58, _excluded58);
1506
1694
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1507
1695
  size: size,
1508
1696
  color: color
@@ -1514,14 +1702,14 @@ var ExternalLinkIcon = _ref52 => {
1514
1702
  d: "M14 3h7v7h-2V5.41l-9.29 9.3-1.42-1.42 9.3-9.29H14V3ZM5 5h5v2H6v11h11v-4h2v5a1 1 0 0 1-1 1H5a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Z"
1515
1703
  })));
1516
1704
  };
1517
- var PlusIcon = _ref53 => {
1705
+ var PlusIcon = _ref59 => {
1518
1706
  var {
1519
1707
  size = 24,
1520
1708
  color = 'currentColor',
1521
1709
  filled = false,
1522
1710
  strokeWidth = 1
1523
- } = _ref53,
1524
- props = _objectWithoutPropertiesLoose(_ref53, _excluded53);
1711
+ } = _ref59,
1712
+ props = _objectWithoutPropertiesLoose(_ref59, _excluded59);
1525
1713
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1526
1714
  size: size,
1527
1715
  color: color
@@ -1543,14 +1731,14 @@ var PlusIcon = _ref53 => {
1543
1731
  y2: "12"
1544
1732
  })));
1545
1733
  };
1546
- var TickIcon = _ref54 => {
1734
+ var TickIcon = _ref60 => {
1547
1735
  var {
1548
1736
  size = 24,
1549
1737
  color = 'currentColor',
1550
1738
  filled = false,
1551
1739
  strokeWidth = 1
1552
- } = _ref54,
1553
- props = _objectWithoutPropertiesLoose(_ref54, _excluded54);
1740
+ } = _ref60,
1741
+ props = _objectWithoutPropertiesLoose(_ref60, _excluded60);
1554
1742
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1555
1743
  size: size,
1556
1744
  color: color
@@ -1564,14 +1752,14 @@ var TickIcon = _ref54 => {
1564
1752
  strokeLinejoin: "round"
1565
1753
  })));
1566
1754
  };
1567
- var BoldArrowIcon = _ref55 => {
1755
+ var BoldArrowIcon = _ref61 => {
1568
1756
  var {
1569
1757
  size = 24,
1570
1758
  color = 'currentColor',
1571
1759
  filled = true,
1572
1760
  strokeWidth = 1
1573
- } = _ref55,
1574
- props = _objectWithoutPropertiesLoose(_ref55, _excluded55);
1761
+ } = _ref61,
1762
+ props = _objectWithoutPropertiesLoose(_ref61, _excluded61);
1575
1763
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1576
1764
  size: size,
1577
1765
  color: color
@@ -1583,14 +1771,14 @@ var BoldArrowIcon = _ref55 => {
1583
1771
  d: "M12 4l7 7h-4v7h-6v-7H5l7-7z"
1584
1772
  })));
1585
1773
  };
1586
- var ArrowIcon = _ref56 => {
1774
+ var ArrowIcon = _ref62 => {
1587
1775
  var {
1588
1776
  size = 24,
1589
1777
  color = 'currentColor',
1590
1778
  filled = false,
1591
1779
  strokeWidth = 1
1592
- } = _ref56,
1593
- props = _objectWithoutPropertiesLoose(_ref56, _excluded56);
1780
+ } = _ref62,
1781
+ props = _objectWithoutPropertiesLoose(_ref62, _excluded62);
1594
1782
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1595
1783
  size: size,
1596
1784
  color: color
@@ -1608,14 +1796,14 @@ var ArrowIcon = _ref56 => {
1608
1796
  points: "6 12 12 6 18 12"
1609
1797
  })));
1610
1798
  };
1611
- var SpinnerIcon = _ref57 => {
1799
+ var SpinnerIcon = _ref63 => {
1612
1800
  var {
1613
1801
  size = 24,
1614
1802
  color = 'currentColor',
1615
1803
  filled = false,
1616
1804
  strokeWidth = 1
1617
- } = _ref57,
1618
- props = _objectWithoutPropertiesLoose(_ref57, _excluded57);
1805
+ } = _ref63,
1806
+ props = _objectWithoutPropertiesLoose(_ref63, _excluded63);
1619
1807
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1620
1808
  size: size,
1621
1809
  color: color
@@ -1633,14 +1821,14 @@ var SpinnerIcon = _ref57 => {
1633
1821
  strokeOpacity: "1"
1634
1822
  })));
1635
1823
  };
1636
- var CalendarIcon = _ref58 => {
1824
+ var CalendarIcon = _ref64 => {
1637
1825
  var {
1638
1826
  size = 24,
1639
1827
  color = 'currentColor',
1640
1828
  strokeWidth = 1,
1641
1829
  filled = false
1642
- } = _ref58,
1643
- props = _objectWithoutPropertiesLoose(_ref58, _excluded58);
1830
+ } = _ref64,
1831
+ props = _objectWithoutPropertiesLoose(_ref64, _excluded64);
1644
1832
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1645
1833
  size: size,
1646
1834
  color: color
@@ -1679,6 +1867,10 @@ var CalendarIcon = _ref58 => {
1679
1867
  var Icon = {
1680
1868
  __proto__: null,
1681
1869
  ChevronIcon: ChevronIcon,
1870
+ DragHandleIcon: DragHandleIcon,
1871
+ FileIcon: FileIcon,
1872
+ VideoIcon: VideoIcon,
1873
+ ImageIcon: ImageIcon,
1682
1874
  TwitterIcon: TwitterIcon,
1683
1875
  XIcon: XIcon,
1684
1876
  TwitchIcon: TwitchIcon,
@@ -1690,6 +1882,8 @@ var Icon = {
1690
1882
  ThreadsIcon: ThreadsIcon,
1691
1883
  MinusIcon: MinusIcon,
1692
1884
  InfoIcon: InfoIcon,
1885
+ PlayIcon: PlayIcon,
1886
+ PauseIcon: PauseIcon,
1693
1887
  HeartIcon: HeartIcon,
1694
1888
  StarIcon: StarIcon,
1695
1889
  SaveIcon: SaveIcon,
@@ -2512,7 +2706,7 @@ React.createElement(LoaderView, Object.assign({}, props)));
2512
2706
  // Exports the LoaderComponent as Loader, making it available for use in other parts of the application.
2513
2707
  var Loader = LoaderComponent;
2514
2708
 
2515
- var _excluded$9 = ["icon", "shadow", "children", "ariaLabel", "to", "isAuto", "isFilled", "isIconRounded", "isLoading", "isDisabled", "size", "variant", "iconPosition", "colorScheme", "shape", "onClick", "loaderProps", "loaderPosition", "effect", "isHovered", "setIsHovered", "isExternal", "themeMode"];
2709
+ var _excluded$9 = ["icon", "shadow", "children", "ariaLabel", "to", "isAuto", "isFilled", "isIconRounded", "isLoading", "isDisabled", "size", "variant", "iconPosition", "colorScheme", "shape", "onClick", "loaderProps", "loaderPosition", "effect", "isHovered", "setIsHovered", "isExternal", "themeMode", "containerProps", "linkProps"];
2516
2710
  var contrast = /*#__PURE__*/require('contrast');
2517
2711
  var ButtonView = _ref => {
2518
2712
  var _props$onClick;
@@ -2547,7 +2741,9 @@ var ButtonView = _ref => {
2547
2741
  isHovered,
2548
2742
  setIsHovered = () => {},
2549
2743
  isExternal = false,
2550
- themeMode: elementMode
2744
+ themeMode: elementMode,
2745
+ containerProps,
2746
+ linkProps
2551
2747
  // Defines CSS properties for 'outline' variant of the button with conditional styles based on reverse state.
2552
2748
  } = _ref,
2553
2749
  props = _objectWithoutPropertiesLoose(_ref, _excluded$9);
@@ -2610,7 +2806,11 @@ var ButtonView = _ref => {
2610
2806
  var changePadding = isIconRounded ? IconSizes$1[size] : ButtonSizes[size];
2611
2807
  var content = /*#__PURE__*/React.createElement(Horizontal, {
2612
2808
  gap: 10
2613
- }, isLoading && loaderPosition === 'left' && /*#__PURE__*/React.createElement(Loader, Object.assign({}, loaderProps)), icon && iconPosition === 'left' && !isLoading && icon, children, icon && iconPosition === 'right' && !isLoading && icon, isLoading && loaderPosition === 'right' && /*#__PURE__*/React.createElement(Loader, Object.assign({}, loaderProps)));
2809
+ }, isLoading && loaderPosition === 'left' && /*#__PURE__*/React.createElement(Loader, Object.assign({}, loaderProps)), icon && iconPosition === 'left' && !isLoading && (/*#__PURE__*/React.createElement(View$1, Object.assign({}, isHovered ? {
2810
+ animate: Animation.jackInTheBox({})
2811
+ } : {}), icon)), children, icon && iconPosition === 'right' && !isLoading && (/*#__PURE__*/React.createElement(View$1, Object.assign({}, isHovered ? {
2812
+ animate: Animation.jackInTheBox({})
2813
+ } : {}), icon)), isLoading && loaderPosition === 'right' && /*#__PURE__*/React.createElement(Loader, Object.assign({}, loaderProps)));
2614
2814
  return /*#__PURE__*/React.createElement(Element, Object.assign({
2615
2815
  gap: 8,
2616
2816
  as: "button",
@@ -2630,12 +2830,12 @@ var ButtonView = _ref => {
2630
2830
  }, hovering && !props.isDisabled ? {
2631
2831
  transition: 'transform 0.3s ease',
2632
2832
  transform: 'translateY(-5px)'
2633
- } : {}, defaultNativeProps, buttonSizeStyles, buttonVariant, scaleWidth, props.padding || props.paddingHorizontal || props.paddingVertical || props.paddingLeft || props.paddingRight || props.paddingTop || props.paddingBottom ? {} : changePadding, shadow, props), variant === 'link' && to ? (/*#__PURE__*/React.createElement(Link, {
2833
+ } : {}, defaultNativeProps, buttonSizeStyles, buttonVariant, scaleWidth, props.padding || props.paddingHorizontal || props.paddingVertical || props.paddingLeft || props.paddingRight || props.paddingTop || props.paddingBottom ? {} : changePadding, shadow, props, containerProps), variant === 'link' && to ? (/*#__PURE__*/React.createElement(Link, Object.assign({
2634
2834
  to: to,
2635
2835
  textDecorationColor: colorScheme,
2636
2836
  colorScheme: colorScheme,
2637
2837
  isExternal: isExternal
2638
- }, content)) : content);
2838
+ }, linkProps), content)) : content);
2639
2839
  };
2640
2840
 
2641
2841
  // Importing a custom hook to manage the state specific to the button component.
@@ -6758,6 +6958,277 @@ var MessageLayout = _ref => {
6758
6958
  return visible ? MessageContainer : null;
6759
6959
  };
6760
6960
 
6961
+ var useUpload = _ref => {
6962
+ var {
6963
+ maxSize = 100 * 1024 * 1024,
6964
+ // 100MB default
6965
+ onFileSelect,
6966
+ validateFile,
6967
+ thumbnail,
6968
+ onError = error => {
6969
+ showMessage('error', 'Error', error);
6970
+ }
6971
+ } = _ref;
6972
+ var fileInputRef = useRef(null);
6973
+ var videoRef = useRef(null);
6974
+ var [selectedFile, setSelectedFile] = useState(null);
6975
+ var [errorMessage, setErrorMessage] = useState(null);
6976
+ var [previewUrl, setPreviewUrl] = useState(null);
6977
+ var [thumbnailUrl, setThumbnailUrl] = useState(thumbnail || null);
6978
+ var generateThumbnail = videoFile => {
6979
+ var video = document.createElement('video');
6980
+ video.preload = 'metadata';
6981
+ video.onloadedmetadata = () => {
6982
+ video.currentTime = 1;
6983
+ };
6984
+ video.oncanplay = () => {
6985
+ var canvas = document.createElement('canvas');
6986
+ canvas.width = video.videoWidth;
6987
+ canvas.height = video.videoHeight;
6988
+ var ctx = canvas.getContext('2d');
6989
+ if (ctx) {
6990
+ ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
6991
+ var thumbnailDataUrl = canvas.toDataURL('image/jpeg');
6992
+ setThumbnailUrl(thumbnailDataUrl);
6993
+ }
6994
+ URL.revokeObjectURL(video.src);
6995
+ };
6996
+ video.src = URL.createObjectURL(videoFile);
6997
+ };
6998
+ var handleFileChange = useCallback(event => {
6999
+ var _event$target$files;
7000
+ var file = (_event$target$files = event.target.files) == null ? void 0 : _event$target$files[0];
7001
+ setErrorMessage(null);
7002
+ if (!file) {
7003
+ onError('No file selected');
7004
+ setErrorMessage('No file selected');
7005
+ return;
7006
+ }
7007
+ if (file.size > maxSize) {
7008
+ onError("File exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
7009
+ setErrorMessage("File exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
7010
+ return;
7011
+ }
7012
+ if (validateFile) {
7013
+ var validationError = validateFile(file);
7014
+ if (validationError) {
7015
+ onError(validationError);
7016
+ setErrorMessage(validationError);
7017
+ return;
7018
+ }
7019
+ }
7020
+ setPreviewUrl(URL.createObjectURL(file));
7021
+ if (file.type.startsWith('video/')) {
7022
+ generateThumbnail(file);
7023
+ }
7024
+ if (onFileSelect) {
7025
+ setSelectedFile(file);
7026
+ onFileSelect(file);
7027
+ }
7028
+ }, [maxSize, onFileSelect, validateFile]);
7029
+ var handleClick = () => {
7030
+ var _fileInputRef$current;
7031
+ return (_fileInputRef$current = fileInputRef.current) == null ? void 0 : _fileInputRef$current.click();
7032
+ };
7033
+ useEffect(() => {
7034
+ return () => {
7035
+ if (previewUrl) URL.revokeObjectURL(previewUrl);
7036
+ if (thumbnailUrl) URL.revokeObjectURL(thumbnailUrl);
7037
+ };
7038
+ }, [previewUrl, thumbnailUrl]);
7039
+ return {
7040
+ previewUrl,
7041
+ thumbnailUrl,
7042
+ errorMessage,
7043
+ fileInputRef,
7044
+ videoRef,
7045
+ selectedFile,
7046
+ handleFileChange,
7047
+ handleClick
7048
+ };
7049
+ };
7050
+ var Uploader = _ref2 => {
7051
+ var {
7052
+ accept = '*/*',
7053
+ isLoading = false,
7054
+ progress = 0,
7055
+ icon,
7056
+ text,
7057
+ maxSize,
7058
+ onFileSelect,
7059
+ validateFile,
7060
+ containerProps,
7061
+ errorMessageProps,
7062
+ progressProps,
7063
+ videoProps,
7064
+ imageProps,
7065
+ iconProps,
7066
+ textProps,
7067
+ renderError = _ref3 => {
7068
+ var {
7069
+ errorMessage,
7070
+ errorMessageProps
7071
+ } = _ref3;
7072
+ return /*#__PURE__*/React.createElement(Text$1, Object.assign({
7073
+ color: "red",
7074
+ fontSize: 12,
7075
+ marginTop: 8
7076
+ }, errorMessageProps), errorMessage);
7077
+ },
7078
+ renderText = _ref4 => {
7079
+ var {
7080
+ text,
7081
+ textProps
7082
+ } = _ref4;
7083
+ return /*#__PURE__*/React.createElement(Text$1, Object.assign({
7084
+ marginTop: 8
7085
+ }, textProps), text);
7086
+ },
7087
+ renderFile = _ref5 => {
7088
+ var {
7089
+ selectedFile,
7090
+ textProps
7091
+ } = _ref5;
7092
+ return /*#__PURE__*/React.createElement(Center, {
7093
+ marginTop: 8,
7094
+ gap: 10,
7095
+ flexDirection: "column"
7096
+ }, /*#__PURE__*/React.createElement(Text$1, Object.assign({
7097
+ maxLines: 2
7098
+ }, textProps), selectedFile.name), /*#__PURE__*/React.createElement(Text$1, Object.assign({}, textProps), "(", Math.round(selectedFile.size / 1024), " KB)"));
7099
+ },
7100
+ renderVideo = _ref6 => {
7101
+ var {
7102
+ selectedFile,
7103
+ thumbnailUrl,
7104
+ videoRef,
7105
+ videoProps,
7106
+ imageProps,
7107
+ iconProps
7108
+ } = _ref6;
7109
+ console.log('thumbnailUrl', thumbnailUrl);
7110
+ return /*#__PURE__*/React.createElement(View$1, {
7111
+ width: "100%",
7112
+ height: "100%",
7113
+ position: "relative"
7114
+ }, /*#__PURE__*/React.createElement(View$1, Object.assign({
7115
+ as: "video",
7116
+ width: 0,
7117
+ height: 0,
7118
+ src: selectedFile == null ? void 0 : selectedFile.name,
7119
+ style: {
7120
+ objectFit: 'cover'
7121
+ },
7122
+ ref: videoRef
7123
+ }, videoProps)), /*#__PURE__*/React.createElement(Image, Object.assign({
7124
+ src: thumbnailUrl,
7125
+ alt: "Video Thumbnail",
7126
+ width: "100%",
7127
+ height: "100%",
7128
+ objectFit: "cover"
7129
+ }, imageProps)), /*#__PURE__*/React.createElement(PlayIcon, Object.assign({
7130
+ position: "absolute",
7131
+ top: "50%",
7132
+ left: "50%",
7133
+ color: "white",
7134
+ size: '20%',
7135
+ transform: "translate(-50%, -50%)"
7136
+ }, iconProps)));
7137
+ },
7138
+ renderImage = _ref7 => {
7139
+ var {
7140
+ previewUrl,
7141
+ imageProps
7142
+ } = _ref7;
7143
+ return /*#__PURE__*/React.createElement(Image, Object.assign({
7144
+ src: previewUrl,
7145
+ alt: "Preview",
7146
+ width: "100%",
7147
+ height: "100%",
7148
+ objectFit: "cover"
7149
+ }, imageProps));
7150
+ },
7151
+ renderProgress = _ref8 => {
7152
+ var {
7153
+ progress,
7154
+ progressProps
7155
+ } = _ref8;
7156
+ return /*#__PURE__*/React.createElement(Horizontal$1, Object.assign({
7157
+ gap: 8,
7158
+ alignItems: "center"
7159
+ }, progressProps), /*#__PURE__*/React.createElement(View$1, {
7160
+ height: 4,
7161
+ backgroundColor: "rgba(0,0,0,0.1)",
7162
+ width: "100%",
7163
+ borderRadius: 2
7164
+ }, /*#__PURE__*/React.createElement(View$1, {
7165
+ height: 4,
7166
+ width: progress + "%",
7167
+ borderRadius: 2
7168
+ })), /*#__PURE__*/React.createElement(Text$1, {
7169
+ fontSize: 12
7170
+ }, progress, "%"));
7171
+ }
7172
+ } = _ref2;
7173
+ var {
7174
+ previewUrl,
7175
+ thumbnailUrl,
7176
+ errorMessage,
7177
+ videoRef,
7178
+ fileInputRef,
7179
+ selectedFile,
7180
+ handleFileChange,
7181
+ handleClick
7182
+ } = useUpload({
7183
+ accept,
7184
+ maxSize,
7185
+ onFileSelect,
7186
+ validateFile
7187
+ });
7188
+ var fileType = previewUrl && accept.includes('video') ? 'video' : previewUrl && accept.includes('image') ? 'image' : 'file';
7189
+ return /*#__PURE__*/React.createElement(Center, Object.assign({
7190
+ onClick: handleClick,
7191
+ cursor: "pointer",
7192
+ border: "1px solid rgba(0,0,0,0.1)",
7193
+ borderRadius: 8,
7194
+ padding: 16,
7195
+ flexDirection: "column",
7196
+ overflow: "hidden",
7197
+ position: "relative"
7198
+ }, containerProps), progress == 100 && fileType == 'image' && previewUrl && renderImage({
7199
+ previewUrl,
7200
+ imageProps
7201
+ }), progress == 100 && fileType == 'video' && thumbnailUrl && renderVideo({
7202
+ thumbnailUrl,
7203
+ videoRef,
7204
+ videoProps,
7205
+ iconProps
7206
+ }), progress == 100 && fileType == 'file' && previewUrl && renderFile({
7207
+ selectedFile,
7208
+ textProps
7209
+ }), progress < 100 && (icon || /*#__PURE__*/React.createElement(UploadIcon, Object.assign({
7210
+ size: 32
7211
+ }, iconProps))), !selectedFile && text && renderText({
7212
+ text,
7213
+ textProps
7214
+ }), isLoading && renderProgress({
7215
+ progress,
7216
+ progressProps
7217
+ }), renderError({
7218
+ errorMessage,
7219
+ errorMessageProps
7220
+ }), /*#__PURE__*/React.createElement(View$1, {
7221
+ as: "input",
7222
+ type: "file",
7223
+ ref: fileInputRef,
7224
+ onChange: handleFileChange,
7225
+ accept: accept,
7226
+ style: {
7227
+ display: 'none'
7228
+ }
7229
+ }));
7230
+ };
7231
+
6761
7232
  var useModalStore = /*#__PURE__*/create(set => ({
6762
7233
  modals: [],
6763
7234
  onHide: name => name,
@@ -7477,5 +7948,134 @@ var ToggleGroupComponent = _ref => {
7477
7948
  // Expose the ToggleGroupComponent for import into other modules
7478
7949
  var ToggleGroup = ToggleGroupComponent;
7479
7950
 
7480
- export { Alert, ArrowIcon, AspectRatio, Avatar, Badge, BatteryIcon, BluetoothIcon, BoldArrowIcon, BookmarkIcon, Bottom, Button, CalendarIcon, CameraIcon, Center, CenterBase, Checkbox, ChevronIcon, ClockIcon, CloseEyeIcon, CloseIcon, CloudIcon, ComboBox, CopyIcon, CountryPicker, DatePicker, DownloadIcon, DustBinIcon, EditIcon, ErrorIcon, ExternalLinkIcon, FacebookIcon, FileImage, FileSVG, FilterIcon, FormikCheckbox, FormikComboBox, FormikCountryPicker, FormikDatePicker, FormikForm, FormikPassword, FormikSelect, FormikSwitch, FormikTextArea, FormikTextField, HeartIcon, HomeIcon, Horizontal, HorizontalBase, Icon, InfoIcon, Inline, InstagramIcon, Left, LikeIcon, Link, LinkedinIcon, Loader, LocationIcon, LockIcon, MenuIcon, MessageLayout, MessageView, MicrophoneIcon, MinusIcon, Modal, MoonIcon, NotificationIcon, OpenEyeIcon, PanelIcon, Password, PlusIcon, PrintIcon, ProfileIcon, RefreshIcon, Right, SaveIcon, SearchIcon, Select, SettingsIcon, ShareIcon, SpinnerIcon, StarIcon, SuccessIcon, Switch, Table, Tabs, Text, TextArea, TextField, ThreadsIcon, TickIcon, Toggle, ToggleGroup, Top, TwitchIcon, TwitterIcon, UnLikeIcon, UnlockIcon, UploadIcon, Vertical, VerticalBase, View, WarningIcon, WifiIcon, XIcon, YoutubeIcon, hideMessage, hideModal, showMessage, showModal, useMessageStore, useModalStore };
7951
+ var useDragAndDropState = _ref => {
7952
+ var {
7953
+ items: initialItems,
7954
+ onChange
7955
+ } = _ref;
7956
+ var [items, setItems] = useState(initialItems);
7957
+ var [draggedItem, setDraggedItem] = useState(null);
7958
+ var [draggedIndex, setDraggedIndex] = useState(null);
7959
+ var dragStartPosRef = useRef({
7960
+ x: 0,
7961
+ y: 0
7962
+ });
7963
+ var itemRefs = useRef([]);
7964
+ var handleDragStart = useCallback((e, index) => {
7965
+ e.preventDefault();
7966
+ document.body.style.cursor = 'grabbing';
7967
+ var clientX = 'touches' in e ? e.touches[0].clientX : e.clientX;
7968
+ var clientY = 'touches' in e ? e.touches[0].clientY : e.clientY;
7969
+ dragStartPosRef.current = {
7970
+ x: clientX,
7971
+ y: clientY
7972
+ };
7973
+ setDraggedIndex(index);
7974
+ setDraggedItem(items[index]);
7975
+ }, [items]);
7976
+ var handleDragMove = useCallback(e => {
7977
+ if (draggedIndex === null) return;
7978
+ var clientX = 'touches' in e ? e.touches[0].clientX : e.clientX;
7979
+ var clientY = 'touches' in e ? e.touches[0].clientY : e.clientY;
7980
+ var draggedElement = itemRefs.current[draggedIndex];
7981
+ if (!draggedElement) return;
7982
+ var offsetX = clientX - dragStartPosRef.current.x;
7983
+ var offsetY = clientY - dragStartPosRef.current.y;
7984
+ draggedElement.style.transform = "translate(" + offsetX + "px, " + offsetY + "px)";
7985
+ draggedElement.style.zIndex = '1000';
7986
+ // Find the item being hovered over
7987
+ var hoveredIndex = itemRefs.current.findIndex((itemRef, index) => {
7988
+ if (!itemRef || index === draggedIndex) return false;
7989
+ var rect = itemRef.getBoundingClientRect();
7990
+ return clientY >= rect.top && clientY <= rect.bottom;
7991
+ });
7992
+ if (hoveredIndex !== -1 && hoveredIndex !== draggedIndex) {
7993
+ var newItems = [...items];
7994
+ var [removed] = newItems.splice(draggedIndex, 1);
7995
+ newItems.splice(hoveredIndex, 0, removed);
7996
+ setItems(newItems);
7997
+ setDraggedIndex(hoveredIndex);
7998
+ onChange == null || onChange(newItems);
7999
+ dragStartPosRef.current = {
8000
+ x: clientX,
8001
+ y: clientY
8002
+ };
8003
+ }
8004
+ }, [draggedIndex, items, onChange]);
8005
+ var handleDragEnd = useCallback(() => {
8006
+ document.body.style.cursor = '';
8007
+ itemRefs.current.forEach(el => {
8008
+ if (el) {
8009
+ el.style.transform = '';
8010
+ el.style.zIndex = '';
8011
+ }
8012
+ });
8013
+ setDraggedIndex(null);
8014
+ setDraggedItem(null);
8015
+ }, [draggedIndex]);
8016
+ useEffect(() => {
8017
+ if (draggedIndex !== null) {
8018
+ window.addEventListener('mousemove', handleDragMove);
8019
+ window.addEventListener('touchmove', handleDragMove);
8020
+ window.addEventListener('mouseup', handleDragEnd);
8021
+ window.addEventListener('touchend', handleDragEnd);
8022
+ }
8023
+ return () => {
8024
+ window.removeEventListener('mousemove', handleDragMove);
8025
+ window.removeEventListener('touchmove', handleDragMove);
8026
+ window.removeEventListener('mouseup', handleDragEnd);
8027
+ window.removeEventListener('touchend', handleDragEnd);
8028
+ };
8029
+ }, [draggedIndex, handleDragMove, handleDragEnd]);
8030
+ return {
8031
+ items,
8032
+ draggedItem,
8033
+ draggedIndex,
8034
+ itemRefs,
8035
+ handleDragStart
8036
+ };
8037
+ };
8038
+
8039
+ var DragAndDropView = _ref => {
8040
+ var {
8041
+ items,
8042
+ renderItem,
8043
+ containerProps,
8044
+ itemProps,
8045
+ draggedIndex,
8046
+ itemRefs,
8047
+ handleDragStart
8048
+ } = _ref;
8049
+ return /*#__PURE__*/React.createElement(View$1, Object.assign({
8050
+ overflow: "hidden",
8051
+ position: "relative"
8052
+ }, containerProps), items.map((item, index) => (/*#__PURE__*/React.createElement(View$1, Object.assign({
8053
+ key: index,
8054
+ ref: el => itemRefs.current[index] = el,
8055
+ onMouseDown: e => handleDragStart(e, index),
8056
+ onTouchStart: e => handleDragStart(e, index),
8057
+ position: "relative",
8058
+ cursor: "grab",
8059
+ transition: "transform 0.2s",
8060
+ backgroundColor: draggedIndex === index ? 'color.gray.100' : 'transparent'
8061
+ }, itemProps), renderItem ? renderItem(item, index) : item))));
8062
+ };
8063
+
8064
+ var DragAndDropComponent = props => {
8065
+ var {
8066
+ items,
8067
+ draggedIndex,
8068
+ itemRefs,
8069
+ handleDragStart
8070
+ } = useDragAndDropState(props);
8071
+ return /*#__PURE__*/React.createElement(DragAndDropView, Object.assign({}, props, {
8072
+ items: items,
8073
+ draggedIndex: draggedIndex,
8074
+ itemRefs: itemRefs,
8075
+ handleDragStart: handleDragStart
8076
+ }));
8077
+ };
8078
+ var DragAndDrop = DragAndDropComponent;
8079
+
8080
+ export { Alert, ArrowIcon, AspectRatio, Avatar, Badge, BatteryIcon, BluetoothIcon, BoldArrowIcon, BookmarkIcon, Bottom, Button, CalendarIcon, CameraIcon, Center, CenterBase, Checkbox, ChevronIcon, ClockIcon, CloseEyeIcon, CloseIcon, CloudIcon, ComboBox, CopyIcon, CountryPicker, DatePicker, DownloadIcon, DragAndDrop, DragAndDropComponent, DragHandleIcon, DustBinIcon, EditIcon, ErrorIcon, ExternalLinkIcon, FacebookIcon, FileIcon, FileImage, FileSVG, FilterIcon, FormikCheckbox, FormikComboBox, FormikCountryPicker, FormikDatePicker, FormikForm, FormikPassword, FormikSelect, FormikSwitch, FormikTextArea, FormikTextField, HeartIcon, HomeIcon, Horizontal, HorizontalBase, Icon, ImageIcon, InfoIcon, Inline, InstagramIcon, Left, LikeIcon, Link, LinkedinIcon, Loader, LocationIcon, LockIcon, MenuIcon, MessageLayout, MessageView, MicrophoneIcon, MinusIcon, Modal, MoonIcon, NotificationIcon, OpenEyeIcon, PanelIcon, Password, PauseIcon, PlayIcon, PlusIcon, PrintIcon, ProfileIcon, RefreshIcon, Right, SaveIcon, SearchIcon, Select, SettingsIcon, ShareIcon, SpinnerIcon, StarIcon, SuccessIcon, Switch, Table, Tabs, Text, TextArea, TextField, ThreadsIcon, TickIcon, Toggle, ToggleGroup, Top, TwitchIcon, TwitterIcon, UnLikeIcon, UnlockIcon, UploadIcon, Uploader, Vertical, VerticalBase, VideoIcon, View, WarningIcon, WifiIcon, XIcon, YoutubeIcon, hideMessage, hideModal, showMessage, showModal, useMessageStore, useModalStore, useUpload };
7481
8081
  //# sourceMappingURL=web.esm.js.map