@app-studio/web 0.8.60 → 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.
@@ -1,8 +1,8 @@
1
1
  (function (global, factory) {
2
- typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('core-js/modules/es.symbol.description.js'), require('react'), require('core-js/modules/es.object.assign.js'), require('app-studio'), require('core-js/modules/es.array.iterator.js'), require('core-js/modules/es.parse-float.js'), require('core-js/modules/web.dom-collections.iterator.js'), require('react-router-dom'), require('core-js/modules/es.array.includes.js'), require('core-js/modules/es.string.includes.js'), require('core-js/modules/es.string.starts-with.js'), require('date-fns/format'), require('formik'), require('zustand')) :
3
- typeof define === 'function' && define.amd ? define(['exports', 'core-js/modules/es.symbol.description.js', 'react', 'core-js/modules/es.object.assign.js', 'app-studio', 'core-js/modules/es.array.iterator.js', 'core-js/modules/es.parse-float.js', 'core-js/modules/web.dom-collections.iterator.js', 'react-router-dom', 'core-js/modules/es.array.includes.js', 'core-js/modules/es.string.includes.js', 'core-js/modules/es.string.starts-with.js', 'date-fns/format', 'formik', 'zustand'], factory) :
4
- (global = global || self, factory(global['@app-studio/web'] = {}, null, global.React, null, global.appStudio, null, null, null, global.reactRouterDom, null, null, null, global.format, global.formik, global.zustand));
5
- }(this, (function (exports, es_symbol_description_js, React, es_object_assign_js, appStudio, es_array_iterator_js, es_parseFloat_js, web_domCollections_iterator_js, reactRouterDom, es_array_includes_js, es_string_includes_js, es_string_startsWith_js, format, formik, zustand) { 'use strict';
2
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('core-js/modules/es.symbol.description.js'), require('react'), require('core-js/modules/es.object.assign.js'), require('app-studio'), require('core-js/modules/es.array.iterator.js'), require('core-js/modules/es.parse-float.js'), require('core-js/modules/web.dom-collections.iterator.js'), require('react-router-dom'), require('core-js/modules/es.array.includes.js'), require('core-js/modules/es.string.includes.js'), require('core-js/modules/es.string.starts-with.js'), require('date-fns/format'), require('formik'), require('core-js/modules/web.url.js'), require('core-js/modules/web.url.to-json.js'), require('core-js/modules/web.url-search-params.js'), require('zustand')) :
3
+ typeof define === 'function' && define.amd ? define(['exports', 'core-js/modules/es.symbol.description.js', 'react', 'core-js/modules/es.object.assign.js', 'app-studio', 'core-js/modules/es.array.iterator.js', 'core-js/modules/es.parse-float.js', 'core-js/modules/web.dom-collections.iterator.js', 'react-router-dom', 'core-js/modules/es.array.includes.js', 'core-js/modules/es.string.includes.js', 'core-js/modules/es.string.starts-with.js', 'date-fns/format', 'formik', 'core-js/modules/web.url.js', 'core-js/modules/web.url.to-json.js', 'core-js/modules/web.url-search-params.js', 'zustand'], factory) :
4
+ (global = global || self, factory(global['@app-studio/web'] = {}, null, global.React, null, global.appStudio, null, null, null, global.reactRouterDom, null, null, null, global.format, global.formik, null, null, null, global.zustand));
5
+ }(this, (function (exports, es_symbol_description_js, React, es_object_assign_js, appStudio, es_array_iterator_js, es_parseFloat_js, web_domCollections_iterator_js, reactRouterDom, es_array_includes_js, es_string_includes_js, es_string_startsWith_js, format, formik, web_url_js, web_url_toJson_js, web_urlSearchParams_js, zustand) { 'use strict';
6
6
 
7
7
  var React__default = 'default' in React ? React['default'] : React;
8
8
  format = format && Object.prototype.hasOwnProperty.call(format, 'default') ? format['default'] : format;
@@ -68,7 +68,7 @@
68
68
  }
69
69
  };
70
70
 
71
- var _excluded = ["children", "heading", "maxLines", "isItalic", "isUnderlined", "isSub", "isSup", "isStriked", "isTruncated", "weight", "size"];
71
+ var _excluded = ["children", "heading", "maxLines", "isItalic", "isUnderlined", "isSub", "isSup", "isStriked", "weight", "size"];
72
72
  var TextContent = _ref => {
73
73
  var {
74
74
  children,
@@ -123,7 +123,6 @@
123
123
  isSub = false,
124
124
  isSup = false,
125
125
  isStriked = false,
126
- isTruncated = false,
127
126
  weight = 'normal',
128
127
  size = 'md'
129
128
  } = _ref3,
@@ -139,7 +138,7 @@
139
138
  fontStyle: isItalic ? 'italic' : 'normal',
140
139
  fontWeight: appStudio.Typography.fontWeights[weight],
141
140
  textDecoration: isStriked ? 'line-through' : isUnderlined ? 'underline' : 'none'
142
- }, noLineBreak, headingStyles, props), isTruncated && maxLines && typeof children === 'string' ? (/*#__PURE__*/React__default.createElement(TruncateText, {
141
+ }, noLineBreak, headingStyles, props), maxLines && typeof children === 'string' ? (/*#__PURE__*/React__default.createElement(TruncateText, {
143
142
  text: children,
144
143
  maxLines: maxLines
145
144
  })) : (/*#__PURE__*/React__default.createElement(TextContent, Object.assign({
@@ -234,18 +233,18 @@
234
233
  _excluded22 = ["size", "color", "filled", "strokeWidth"],
235
234
  _excluded23 = ["size", "color", "filled", "strokeWidth"],
236
235
  _excluded24 = ["size", "color", "filled", "strokeWidth"],
237
- _excluded25 = ["size", "color", "strokeWidth", "filled"],
236
+ _excluded25 = ["size", "color", "filled", "strokeWidth"],
238
237
  _excluded26 = ["size", "color", "filled", "strokeWidth"],
239
- _excluded27 = ["size", "color", "strokeWidth", "filled"],
238
+ _excluded27 = ["size", "color", "filled", "strokeWidth"],
240
239
  _excluded28 = ["size", "color", "filled", "strokeWidth"],
241
- _excluded29 = ["size", "color", "strokeWidth", "filled"],
242
- _excluded30 = ["size", "color", "filled", "strokeWidth"],
243
- _excluded31 = ["size", "color", "strokeWidth", "filled"],
244
- _excluded32 = ["size", "color", "filled", "strokeWidth"],
240
+ _excluded29 = ["size", "color", "filled", "strokeWidth"],
241
+ _excluded30 = ["size", "color", "strokeWidth", "filled"],
242
+ _excluded31 = ["size", "color", "filled", "strokeWidth"],
243
+ _excluded32 = ["size", "color", "strokeWidth", "filled"],
245
244
  _excluded33 = ["size", "color", "filled", "strokeWidth"],
246
- _excluded34 = ["size", "color", "filled", "strokeWidth"],
245
+ _excluded34 = ["size", "color", "strokeWidth", "filled"],
247
246
  _excluded35 = ["size", "color", "filled", "strokeWidth"],
248
- _excluded36 = ["size", "color", "filled", "strokeWidth"],
247
+ _excluded36 = ["size", "color", "strokeWidth", "filled"],
249
248
  _excluded37 = ["size", "color", "filled", "strokeWidth"],
250
249
  _excluded38 = ["size", "color", "filled", "strokeWidth"],
251
250
  _excluded39 = ["size", "color", "filled", "strokeWidth"],
@@ -253,13 +252,13 @@
253
252
  _excluded41 = ["size", "color", "filled", "strokeWidth"],
254
253
  _excluded42 = ["size", "color", "filled", "strokeWidth"],
255
254
  _excluded43 = ["size", "color", "filled", "strokeWidth"],
256
- _excluded44 = ["size", "color", "strokeWidth", "filled"],
257
- _excluded45 = ["size", "color", "strokeWidth", "filled"],
255
+ _excluded44 = ["size", "color", "filled", "strokeWidth"],
256
+ _excluded45 = ["size", "color", "filled", "strokeWidth"],
258
257
  _excluded46 = ["size", "color", "filled", "strokeWidth"],
259
258
  _excluded47 = ["size", "color", "filled", "strokeWidth"],
260
259
  _excluded48 = ["size", "color", "filled", "strokeWidth"],
261
- _excluded49 = ["size", "color", "filled", "strokeWidth"],
262
- _excluded50 = ["size", "color", "filled", "strokeWidth"],
260
+ _excluded49 = ["size", "color", "strokeWidth", "filled"],
261
+ _excluded50 = ["size", "color", "strokeWidth", "filled"],
263
262
  _excluded51 = ["size", "color", "filled", "strokeWidth"],
264
263
  _excluded52 = ["size", "color", "filled", "strokeWidth"],
265
264
  _excluded53 = ["size", "color", "filled", "strokeWidth"],
@@ -268,7 +267,12 @@
268
267
  _excluded56 = ["size", "color", "filled", "strokeWidth"],
269
268
  _excluded57 = ["size", "color", "filled", "strokeWidth"],
270
269
  _excluded58 = ["size", "color", "filled", "strokeWidth"],
271
- _excluded59 = ["size", "color", "strokeWidth", "filled"];
270
+ _excluded59 = ["size", "color", "filled", "strokeWidth"],
271
+ _excluded60 = ["size", "color", "filled", "strokeWidth"],
272
+ _excluded61 = ["size", "color", "filled", "strokeWidth"],
273
+ _excluded62 = ["size", "color", "filled", "strokeWidth"],
274
+ _excluded63 = ["size", "color", "filled", "strokeWidth"],
275
+ _excluded64 = ["size", "color", "strokeWidth", "filled"];
272
276
  // Default wrapper component for consistent sizing and styling
273
277
  var IconWrapper = _ref => {
274
278
  var {
@@ -358,7 +362,8 @@
358
362
  r: "2"
359
363
  }))));
360
364
  };
361
- var TwitterIcon = _ref4 => {
365
+ // File Icon Component
366
+ var FileIcon = _ref4 => {
362
367
  var {
363
368
  size = 24,
364
369
  color = 'currentColor',
@@ -374,13 +379,19 @@
374
379
  "aria-hidden": "true",
375
380
  focusable: "false"
376
381
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("path", {
377
- 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",
382
+ d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
378
383
  fill: filled ? color : 'none',
379
384
  stroke: filled ? 'none' : color,
380
385
  strokeWidth: filled ? 0 : strokeWidth
386
+ }), /*#__PURE__*/React__default.createElement("polyline", {
387
+ points: "14 2 14 8 20 8",
388
+ fill: "none",
389
+ stroke: color,
390
+ strokeWidth: strokeWidth
381
391
  })));
382
392
  };
383
- var XIcon = _ref5 => {
393
+ // Video Icon Component
394
+ var VideoIcon = _ref5 => {
384
395
  var {
385
396
  size = 24,
386
397
  color = 'currentColor',
@@ -395,6 +406,100 @@
395
406
  viewBox: "0 0 24 24",
396
407
  "aria-hidden": "true",
397
408
  focusable: "false"
409
+ }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("rect", {
410
+ x: "2",
411
+ y: "4",
412
+ width: "20",
413
+ height: "16",
414
+ rx: "2",
415
+ ry: "2",
416
+ fill: filled ? color : 'none',
417
+ stroke: filled ? 'none' : color,
418
+ strokeWidth: filled ? 0 : strokeWidth
419
+ }), /*#__PURE__*/React__default.createElement("polygon", {
420
+ points: "10 8 16 12 10 16 10 8",
421
+ fill: filled ? filled ? 'white' : color : 'none',
422
+ stroke: filled ? 'none' : color,
423
+ strokeWidth: filled ? 0 : strokeWidth
424
+ })));
425
+ };
426
+ // Image Icon Component
427
+ var ImageIcon = _ref6 => {
428
+ var {
429
+ size = 24,
430
+ color = 'currentColor',
431
+ filled = true,
432
+ strokeWidth = 1
433
+ } = _ref6,
434
+ props = _objectWithoutPropertiesLoose(_ref6, _excluded6);
435
+ return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
436
+ size: size,
437
+ color: color
438
+ }, props), /*#__PURE__*/React__default.createElement("svg", Object.assign({
439
+ viewBox: "0 0 24 24",
440
+ "aria-hidden": "true",
441
+ focusable: "false"
442
+ }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("rect", {
443
+ x: "2",
444
+ y: "2",
445
+ width: "20",
446
+ height: "20",
447
+ rx: "2",
448
+ ry: "2",
449
+ fill: filled ? color : 'none',
450
+ stroke: filled ? 'none' : color,
451
+ strokeWidth: filled ? 0 : strokeWidth
452
+ }), /*#__PURE__*/React__default.createElement("circle", {
453
+ cx: "8.5",
454
+ cy: "8.5",
455
+ r: "1.5",
456
+ fill: filled ? filled ? 'white' : color : 'none',
457
+ stroke: filled ? 'none' : color,
458
+ strokeWidth: filled ? 0 : strokeWidth
459
+ }), /*#__PURE__*/React__default.createElement("polyline", {
460
+ points: "21 15 16 10 5 21",
461
+ fill: "none",
462
+ stroke: filled ? 'white' : color,
463
+ strokeWidth: strokeWidth
464
+ })));
465
+ };
466
+ var TwitterIcon = _ref7 => {
467
+ var {
468
+ size = 24,
469
+ color = 'currentColor',
470
+ filled = true,
471
+ strokeWidth = 1
472
+ } = _ref7,
473
+ props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
474
+ return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
475
+ size: size,
476
+ color: color
477
+ }, props), /*#__PURE__*/React__default.createElement("svg", Object.assign({
478
+ viewBox: "0 0 24 24",
479
+ "aria-hidden": "true",
480
+ focusable: "false"
481
+ }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("path", {
482
+ 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",
483
+ fill: filled ? color : 'none',
484
+ stroke: filled ? 'none' : color,
485
+ strokeWidth: filled ? 0 : strokeWidth
486
+ })));
487
+ };
488
+ var XIcon = _ref8 => {
489
+ var {
490
+ size = 24,
491
+ color = 'currentColor',
492
+ filled = true,
493
+ strokeWidth = 1
494
+ } = _ref8,
495
+ props = _objectWithoutPropertiesLoose(_ref8, _excluded8);
496
+ return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
497
+ size: size,
498
+ color: color
499
+ }, props), /*#__PURE__*/React__default.createElement("svg", Object.assign({
500
+ viewBox: "0 0 24 24",
501
+ "aria-hidden": "true",
502
+ focusable: "false"
398
503
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("path", {
399
504
  d: "M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z",
400
505
  fill: filled ? color : 'none',
@@ -403,14 +508,14 @@
403
508
  })));
404
509
  };
405
510
  // Example of a Twitch Icon
406
- var TwitchIcon = _ref6 => {
511
+ var TwitchIcon = _ref9 => {
407
512
  var {
408
513
  size = 24,
409
514
  color = 'currentColor',
410
515
  filled = true,
411
516
  strokeWidth = 1
412
- } = _ref6,
413
- props = _objectWithoutPropertiesLoose(_ref6, _excluded6);
517
+ } = _ref9,
518
+ props = _objectWithoutPropertiesLoose(_ref9, _excluded9);
414
519
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
415
520
  size: size,
416
521
  color: color
@@ -431,14 +536,14 @@
431
536
  })));
432
537
  };
433
538
  // Example of another Icon: CloseIcon
434
- var CloseIcon = _ref7 => {
539
+ var CloseIcon = _ref10 => {
435
540
  var {
436
541
  size = 24,
437
542
  color = 'currentColor',
438
543
  filled = false,
439
544
  strokeWidth = 1
440
- } = _ref7,
441
- props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
545
+ } = _ref10,
546
+ props = _objectWithoutPropertiesLoose(_ref10, _excluded10);
442
547
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
443
548
  size: size,
444
549
  color: color
@@ -460,14 +565,14 @@
460
565
  y2: "18"
461
566
  })));
462
567
  };
463
- var InstagramIcon = _ref8 => {
568
+ var InstagramIcon = _ref11 => {
464
569
  var {
465
570
  size = 24,
466
571
  color = 'currentColor',
467
572
  filled = false,
468
573
  strokeWidth = 1
469
- } = _ref8,
470
- props = _objectWithoutPropertiesLoose(_ref8, _excluded8);
574
+ } = _ref11,
575
+ props = _objectWithoutPropertiesLoose(_ref11, _excluded11);
471
576
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
472
577
  size: size,
473
578
  color: color
@@ -491,14 +596,14 @@
491
596
  y2: "6.5"
492
597
  })));
493
598
  };
494
- var YoutubeIcon = _ref9 => {
599
+ var YoutubeIcon = _ref12 => {
495
600
  var {
496
601
  size = 24,
497
602
  color = 'currentColor',
498
603
  filled = true,
499
604
  strokeWidth = 1
500
- } = _ref9,
501
- props = _objectWithoutPropertiesLoose(_ref9, _excluded9);
605
+ } = _ref12,
606
+ props = _objectWithoutPropertiesLoose(_ref12, _excluded12);
502
607
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
503
608
  size: size,
504
609
  color: color
@@ -519,14 +624,14 @@
519
624
  strokeWidth: strokeWidth
520
625
  })));
521
626
  };
522
- var FacebookIcon = _ref10 => {
627
+ var FacebookIcon = _ref13 => {
523
628
  var {
524
629
  size = 24,
525
630
  color = 'currentColor',
526
631
  filled = true,
527
632
  strokeWidth = 1
528
- } = _ref10,
529
- props = _objectWithoutPropertiesLoose(_ref10, _excluded10);
633
+ } = _ref13,
634
+ props = _objectWithoutPropertiesLoose(_ref13, _excluded13);
530
635
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
531
636
  size: size,
532
637
  color: color
@@ -541,14 +646,14 @@
541
646
  strokeWidth: filled ? 0 : strokeWidth
542
647
  })));
543
648
  };
544
- var LinkedinIcon = _ref11 => {
649
+ var LinkedinIcon = _ref14 => {
545
650
  var {
546
651
  size = 24,
547
652
  color = 'currentColor',
548
653
  filled = true,
549
654
  strokeWidth = 1
550
- } = _ref11,
551
- props = _objectWithoutPropertiesLoose(_ref11, _excluded11);
655
+ } = _ref14,
656
+ props = _objectWithoutPropertiesLoose(_ref14, _excluded14);
552
657
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
553
658
  size: size,
554
659
  color: color
@@ -567,14 +672,14 @@
567
672
  r: "2"
568
673
  })));
569
674
  };
570
- var ThreadsIcon = _ref12 => {
675
+ var ThreadsIcon = _ref15 => {
571
676
  var {
572
677
  size = 24,
573
678
  color = 'currentColor',
574
679
  filled = false,
575
680
  strokeWidth = 1
576
- } = _ref12,
577
- props = _objectWithoutPropertiesLoose(_ref12, _excluded12);
681
+ } = _ref15,
682
+ props = _objectWithoutPropertiesLoose(_ref15, _excluded15);
578
683
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
579
684
  size: size,
580
685
  color: color
@@ -589,15 +694,15 @@
589
694
  })));
590
695
  };
591
696
  // Example Refactored Icon: MinusIcon without undefined 'padding' prop
592
- var MinusIcon = _ref13 => {
697
+ var MinusIcon = _ref16 => {
593
698
  var {
594
699
  size = 24,
595
700
  color = 'currentColor',
596
701
  filled = false,
597
702
  // Assuming minus can be filled; adjust as needed
598
703
  strokeWidth = 1
599
- } = _ref13,
600
- props = _objectWithoutPropertiesLoose(_ref13, _excluded13);
704
+ } = _ref16,
705
+ props = _objectWithoutPropertiesLoose(_ref16, _excluded16);
601
706
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
602
707
  size: size,
603
708
  color: color
@@ -614,14 +719,14 @@
614
719
  })));
615
720
  };
616
721
  // Example Refactored Icon: InfoIcon with accessibility enhancements
617
- var InfoIcon = _ref14 => {
722
+ var InfoIcon = _ref17 => {
618
723
  var {
619
724
  size = 24,
620
725
  color = 'currentColor',
621
726
  filled = false,
622
727
  strokeWidth = 1
623
- } = _ref14,
624
- props = _objectWithoutPropertiesLoose(_ref14, _excluded14);
728
+ } = _ref17,
729
+ props = _objectWithoutPropertiesLoose(_ref17, _excluded17);
625
730
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
626
731
  size: size,
627
732
  color: color
@@ -635,14 +740,52 @@
635
740
  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"
636
741
  })));
637
742
  };
638
- var HeartIcon = _ref15 => {
743
+ var PlayIcon = _ref18 => {
639
744
  var {
640
745
  size = 24,
641
746
  color = 'currentColor',
642
747
  filled = true,
643
748
  strokeWidth = 1
644
- } = _ref15,
645
- props = _objectWithoutPropertiesLoose(_ref15, _excluded15);
749
+ } = _ref18,
750
+ props = _objectWithoutPropertiesLoose(_ref18, _excluded18);
751
+ return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
752
+ size: size,
753
+ color: color
754
+ }, props), /*#__PURE__*/React__default.createElement("svg", Object.assign({
755
+ viewBox: "0 0 24 24",
756
+ "aria-hidden": "false",
757
+ focusable: "false"
758
+ }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("path", {
759
+ d: "M8 5v14l11-7z"
760
+ })));
761
+ };
762
+ var PauseIcon = _ref19 => {
763
+ var {
764
+ size = 24,
765
+ color = 'currentColor',
766
+ filled = true,
767
+ strokeWidth = 1
768
+ } = _ref19,
769
+ props = _objectWithoutPropertiesLoose(_ref19, _excluded19);
770
+ return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
771
+ size: size,
772
+ color: color
773
+ }, props), /*#__PURE__*/React__default.createElement("svg", Object.assign({
774
+ viewBox: "0 0 24 24",
775
+ "aria-hidden": "false",
776
+ focusable: "false"
777
+ }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("path", {
778
+ d: "M6 4h4v16H6V4zm8 0h4v16h-4V4z"
779
+ })));
780
+ };
781
+ var HeartIcon = _ref20 => {
782
+ var {
783
+ size = 24,
784
+ color = 'currentColor',
785
+ filled = true,
786
+ strokeWidth = 1
787
+ } = _ref20,
788
+ props = _objectWithoutPropertiesLoose(_ref20, _excluded20);
646
789
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
647
790
  size: size,
648
791
  color: color
@@ -654,14 +797,14 @@
654
797
  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"
655
798
  })));
656
799
  };
657
- var StarIcon = _ref16 => {
800
+ var StarIcon = _ref21 => {
658
801
  var {
659
802
  size = 24,
660
803
  color = 'currentColor',
661
804
  filled = true,
662
805
  strokeWidth = 1
663
- } = _ref16,
664
- props = _objectWithoutPropertiesLoose(_ref16, _excluded16);
806
+ } = _ref21,
807
+ props = _objectWithoutPropertiesLoose(_ref21, _excluded21);
665
808
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
666
809
  size: size,
667
810
  color: color
@@ -673,14 +816,14 @@
673
816
  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"
674
817
  })));
675
818
  };
676
- var SaveIcon = _ref17 => {
819
+ var SaveIcon = _ref22 => {
677
820
  var {
678
821
  size = 24,
679
822
  color = 'currentColor',
680
823
  filled = false,
681
824
  strokeWidth = 1
682
- } = _ref17,
683
- props = _objectWithoutPropertiesLoose(_ref17, _excluded17);
825
+ } = _ref22,
826
+ props = _objectWithoutPropertiesLoose(_ref22, _excluded22);
684
827
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
685
828
  size: size,
686
829
  color: color
@@ -696,14 +839,14 @@
696
839
  points: "7 3 7 8 15 8"
697
840
  })));
698
841
  };
699
- var WarningIcon = _ref18 => {
842
+ var WarningIcon = _ref23 => {
700
843
  var {
701
844
  size = 24,
702
845
  color = 'currentColor',
703
846
  filled = false,
704
847
  strokeWidth = 1
705
- } = _ref18,
706
- props = _objectWithoutPropertiesLoose(_ref18, _excluded18);
848
+ } = _ref23,
849
+ props = _objectWithoutPropertiesLoose(_ref23, _excluded23);
707
850
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
708
851
  size: size,
709
852
  color: color
@@ -727,14 +870,14 @@
727
870
  y2: "15"
728
871
  })));
729
872
  };
730
- var BatteryIcon = _ref19 => {
873
+ var BatteryIcon = _ref24 => {
731
874
  var {
732
875
  size = 24,
733
876
  color = 'currentColor',
734
877
  filled = true,
735
878
  strokeWidth = 1
736
- } = _ref19,
737
- props = _objectWithoutPropertiesLoose(_ref19, _excluded19);
879
+ } = _ref24,
880
+ props = _objectWithoutPropertiesLoose(_ref24, _excluded24);
738
881
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
739
882
  size: size,
740
883
  color: color
@@ -746,14 +889,14 @@
746
889
  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"
747
890
  })));
748
891
  };
749
- var BookmarkIcon = _ref20 => {
892
+ var BookmarkIcon = _ref25 => {
750
893
  var {
751
894
  size = 24,
752
895
  color = 'currentColor',
753
896
  filled = false,
754
897
  strokeWidth = 1
755
- } = _ref20,
756
- props = _objectWithoutPropertiesLoose(_ref20, _excluded20);
898
+ } = _ref25,
899
+ props = _objectWithoutPropertiesLoose(_ref25, _excluded25);
757
900
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
758
901
  size: size,
759
902
  color: color
@@ -765,14 +908,14 @@
765
908
  d: "M17 3H7c-1.1 0-2 .9-2 2v16l7-3 7 3V5c0-1.1-.9-2-2-2z"
766
909
  })));
767
910
  };
768
- var CloudIcon = _ref21 => {
911
+ var CloudIcon = _ref26 => {
769
912
  var {
770
913
  size = 24,
771
914
  color = 'currentColor',
772
915
  filled = true,
773
916
  strokeWidth = 1
774
- } = _ref21,
775
- props = _objectWithoutPropertiesLoose(_ref21, _excluded21);
917
+ } = _ref26,
918
+ props = _objectWithoutPropertiesLoose(_ref26, _excluded26);
776
919
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
777
920
  size: size,
778
921
  color: color
@@ -784,14 +927,14 @@
784
927
  d: "M18 10h-1.26A8 8 0 109 20h9a5 5 0 000-10z"
785
928
  })));
786
929
  };
787
- var CopyIcon = _ref22 => {
930
+ var CopyIcon = _ref27 => {
788
931
  var {
789
932
  size = 24,
790
933
  color = 'currentColor',
791
934
  filled = false,
792
935
  strokeWidth = 1
793
- } = _ref22,
794
- props = _objectWithoutPropertiesLoose(_ref22, _excluded22);
936
+ } = _ref27,
937
+ props = _objectWithoutPropertiesLoose(_ref27, _excluded27);
795
938
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
796
939
  size: size,
797
940
  color: color
@@ -810,14 +953,14 @@
810
953
  d: "M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"
811
954
  })));
812
955
  };
813
- var DustBinIcon = _ref23 => {
956
+ var DustBinIcon = _ref28 => {
814
957
  var {
815
958
  size = 24,
816
959
  color = 'currentColor',
817
960
  filled = false,
818
961
  strokeWidth = 1
819
- } = _ref23,
820
- props = _objectWithoutPropertiesLoose(_ref23, _excluded23);
962
+ } = _ref28,
963
+ props = _objectWithoutPropertiesLoose(_ref28, _excluded28);
821
964
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
822
965
  size: size,
823
966
  color: color
@@ -829,14 +972,14 @@
829
972
  d: "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"
830
973
  })));
831
974
  };
832
- var EditIcon = _ref24 => {
975
+ var EditIcon = _ref29 => {
833
976
  var {
834
977
  size = 24,
835
978
  color = 'currentColor',
836
979
  filled = false,
837
980
  strokeWidth = 1
838
- } = _ref24,
839
- props = _objectWithoutPropertiesLoose(_ref24, _excluded24);
981
+ } = _ref29,
982
+ props = _objectWithoutPropertiesLoose(_ref29, _excluded29);
840
983
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
841
984
  size: size,
842
985
  color: color
@@ -848,14 +991,14 @@
848
991
  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"
849
992
  })));
850
993
  };
851
- var ErrorIcon = _ref25 => {
994
+ var ErrorIcon = _ref30 => {
852
995
  var {
853
996
  size = 24,
854
997
  color = 'currentColor',
855
998
  strokeWidth = 1,
856
999
  filled = true
857
- } = _ref25,
858
- props = _objectWithoutPropertiesLoose(_ref25, _excluded25);
1000
+ } = _ref30,
1001
+ props = _objectWithoutPropertiesLoose(_ref30, _excluded30);
859
1002
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
860
1003
  size: size,
861
1004
  color: color
@@ -881,14 +1024,14 @@
881
1024
  stroke: filled ? 'white' : color
882
1025
  })));
883
1026
  };
884
- var DownloadIcon = _ref26 => {
1027
+ var DownloadIcon = _ref31 => {
885
1028
  var {
886
1029
  size = 24,
887
1030
  color = 'currentColor',
888
1031
  filled = true,
889
1032
  strokeWidth = 1
890
- } = _ref26,
891
- props = _objectWithoutPropertiesLoose(_ref26, _excluded26);
1033
+ } = _ref31,
1034
+ props = _objectWithoutPropertiesLoose(_ref31, _excluded31);
892
1035
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
893
1036
  size: size,
894
1037
  color: color
@@ -900,14 +1043,14 @@
900
1043
  d: "M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"
901
1044
  })));
902
1045
  };
903
- var MenuIcon = _ref27 => {
1046
+ var MenuIcon = _ref32 => {
904
1047
  var {
905
1048
  size = 24,
906
1049
  color = 'currentColor',
907
1050
  strokeWidth = 1,
908
1051
  filled = false
909
- } = _ref27,
910
- props = _objectWithoutPropertiesLoose(_ref27, _excluded27);
1052
+ } = _ref32,
1053
+ props = _objectWithoutPropertiesLoose(_ref32, _excluded32);
911
1054
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
912
1055
  size: size,
913
1056
  color: color
@@ -935,14 +1078,14 @@
935
1078
  y2: "18"
936
1079
  })));
937
1080
  };
938
- var ShareIcon = _ref28 => {
1081
+ var ShareIcon = _ref33 => {
939
1082
  var {
940
1083
  size = 24,
941
1084
  color = 'currentColor',
942
1085
  filled = false,
943
1086
  strokeWidth = 1
944
- } = _ref28,
945
- props = _objectWithoutPropertiesLoose(_ref28, _excluded28);
1087
+ } = _ref33,
1088
+ props = _objectWithoutPropertiesLoose(_ref33, _excluded33);
946
1089
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
947
1090
  size: size,
948
1091
  color: color
@@ -976,14 +1119,14 @@
976
1119
  y2: "10.49"
977
1120
  })));
978
1121
  };
979
- var RefreshIcon = _ref29 => {
1122
+ var RefreshIcon = _ref34 => {
980
1123
  var {
981
1124
  size = 24,
982
1125
  color = 'currentColor',
983
1126
  strokeWidth = 1,
984
1127
  filled = false
985
- } = _ref29,
986
- props = _objectWithoutPropertiesLoose(_ref29, _excluded29);
1128
+ } = _ref34,
1129
+ props = _objectWithoutPropertiesLoose(_ref34, _excluded34);
987
1130
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
988
1131
  size: size,
989
1132
  color: color
@@ -997,14 +1140,14 @@
997
1140
  d: "M20.49 15a9 9 0 1 1-2.13-9.36L23 10"
998
1141
  })));
999
1142
  };
1000
- var PrintIcon = _ref30 => {
1143
+ var PrintIcon = _ref35 => {
1001
1144
  var {
1002
1145
  size = 24,
1003
1146
  color = 'currentColor',
1004
1147
  filled = true,
1005
1148
  strokeWidth = 1
1006
- } = _ref30,
1007
- props = _objectWithoutPropertiesLoose(_ref30, _excluded30);
1149
+ } = _ref35,
1150
+ props = _objectWithoutPropertiesLoose(_ref35, _excluded35);
1008
1151
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1009
1152
  size: size,
1010
1153
  color: color
@@ -1017,14 +1160,14 @@
1017
1160
  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"
1018
1161
  })));
1019
1162
  };
1020
- var PanelIcon = _ref31 => {
1163
+ var PanelIcon = _ref36 => {
1021
1164
  var {
1022
1165
  size = 24,
1023
1166
  color = 'currentColor',
1024
1167
  strokeWidth = 1,
1025
1168
  filled = false
1026
- } = _ref31,
1027
- props = _objectWithoutPropertiesLoose(_ref31, _excluded31);
1169
+ } = _ref36,
1170
+ props = _objectWithoutPropertiesLoose(_ref36, _excluded36);
1028
1171
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1029
1172
  size: size,
1030
1173
  color: color
@@ -1088,14 +1231,14 @@
1088
1231
  y2: "16"
1089
1232
  })));
1090
1233
  };
1091
- var FilterIcon = _ref32 => {
1234
+ var FilterIcon = _ref37 => {
1092
1235
  var {
1093
1236
  size = 24,
1094
1237
  color = 'currentColor',
1095
1238
  filled = false,
1096
1239
  strokeWidth = 1
1097
- } = _ref32,
1098
- props = _objectWithoutPropertiesLoose(_ref32, _excluded32);
1240
+ } = _ref37,
1241
+ props = _objectWithoutPropertiesLoose(_ref37, _excluded37);
1099
1242
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1100
1243
  size: size,
1101
1244
  color: color
@@ -1107,14 +1250,14 @@
1107
1250
  d: "M3 4h18l-7 10v5l-4 2v-7L3 4z"
1108
1251
  })));
1109
1252
  };
1110
- var HomeIcon = _ref33 => {
1253
+ var HomeIcon = _ref38 => {
1111
1254
  var {
1112
1255
  size = 24,
1113
1256
  color = 'currentColor',
1114
1257
  filled = true,
1115
1258
  strokeWidth = 1
1116
- } = _ref33,
1117
- props = _objectWithoutPropertiesLoose(_ref33, _excluded33);
1259
+ } = _ref38,
1260
+ props = _objectWithoutPropertiesLoose(_ref38, _excluded38);
1118
1261
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1119
1262
  size: size,
1120
1263
  color: color
@@ -1126,14 +1269,14 @@
1126
1269
  d: "M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8h5z"
1127
1270
  })));
1128
1271
  };
1129
- var LocationIcon = _ref34 => {
1272
+ var LocationIcon = _ref39 => {
1130
1273
  var {
1131
1274
  size = 24,
1132
1275
  color = 'currentColor',
1133
1276
  filled = true,
1134
1277
  strokeWidth = 1
1135
- } = _ref34,
1136
- props = _objectWithoutPropertiesLoose(_ref34, _excluded34);
1278
+ } = _ref39,
1279
+ props = _objectWithoutPropertiesLoose(_ref39, _excluded39);
1137
1280
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1138
1281
  size: size,
1139
1282
  color: color
@@ -1145,14 +1288,14 @@
1145
1288
  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"
1146
1289
  })));
1147
1290
  };
1148
- var LockIcon = _ref35 => {
1291
+ var LockIcon = _ref40 => {
1149
1292
  var {
1150
1293
  size = 24,
1151
1294
  color = 'currentColor',
1152
1295
  filled = false,
1153
1296
  strokeWidth = 1
1154
- } = _ref35,
1155
- props = _objectWithoutPropertiesLoose(_ref35, _excluded35);
1297
+ } = _ref40,
1298
+ props = _objectWithoutPropertiesLoose(_ref40, _excluded40);
1156
1299
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1157
1300
  size: size,
1158
1301
  color: color
@@ -1171,14 +1314,14 @@
1171
1314
  d: "M7 11V7a5 5 0 0 1 10 0v4"
1172
1315
  })));
1173
1316
  };
1174
- var MicrophoneIcon = _ref36 => {
1317
+ var MicrophoneIcon = _ref41 => {
1175
1318
  var {
1176
1319
  size = 24,
1177
1320
  color = 'currentColor',
1178
1321
  filled = false,
1179
1322
  strokeWidth = 1
1180
- } = _ref36,
1181
- props = _objectWithoutPropertiesLoose(_ref36, _excluded36);
1323
+ } = _ref41,
1324
+ props = _objectWithoutPropertiesLoose(_ref41, _excluded41);
1182
1325
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1183
1326
  size: size,
1184
1327
  color: color
@@ -1204,14 +1347,14 @@
1204
1347
  y2: "23"
1205
1348
  })));
1206
1349
  };
1207
- var MoonIcon = _ref37 => {
1350
+ var MoonIcon = _ref42 => {
1208
1351
  var {
1209
1352
  size = 24,
1210
1353
  color = 'currentColor',
1211
1354
  filled = true,
1212
1355
  strokeWidth = 1
1213
- } = _ref37,
1214
- props = _objectWithoutPropertiesLoose(_ref37, _excluded37);
1356
+ } = _ref42,
1357
+ props = _objectWithoutPropertiesLoose(_ref42, _excluded42);
1215
1358
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1216
1359
  size: size,
1217
1360
  color: color
@@ -1223,14 +1366,14 @@
1223
1366
  d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"
1224
1367
  })));
1225
1368
  };
1226
- var NotificationIcon = _ref38 => {
1369
+ var NotificationIcon = _ref43 => {
1227
1370
  var {
1228
1371
  size = 24,
1229
1372
  color = 'currentColor',
1230
1373
  filled = false,
1231
1374
  strokeWidth = 1
1232
- } = _ref38,
1233
- props = _objectWithoutPropertiesLoose(_ref38, _excluded38);
1375
+ } = _ref43,
1376
+ props = _objectWithoutPropertiesLoose(_ref43, _excluded43);
1234
1377
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1235
1378
  size: size,
1236
1379
  color: color
@@ -1244,14 +1387,14 @@
1244
1387
  d: "M13.73 21a2 2 0 0 1-3.46 0"
1245
1388
  })));
1246
1389
  };
1247
- var OpenEyeIcon = _ref39 => {
1390
+ var OpenEyeIcon = _ref44 => {
1248
1391
  var {
1249
1392
  size = 24,
1250
1393
  color = 'currentColor',
1251
1394
  filled = true,
1252
1395
  strokeWidth = 1
1253
- } = _ref39,
1254
- props = _objectWithoutPropertiesLoose(_ref39, _excluded39);
1396
+ } = _ref44,
1397
+ props = _objectWithoutPropertiesLoose(_ref44, _excluded44);
1255
1398
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1256
1399
  size: size,
1257
1400
  color: color
@@ -1263,14 +1406,14 @@
1263
1406
  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"
1264
1407
  })));
1265
1408
  };
1266
- var ProfileIcon = _ref40 => {
1409
+ var ProfileIcon = _ref45 => {
1267
1410
  var {
1268
1411
  size = 24,
1269
1412
  color = 'currentColor',
1270
1413
  filled = true,
1271
1414
  strokeWidth = 1
1272
- } = _ref40,
1273
- props = _objectWithoutPropertiesLoose(_ref40, _excluded40);
1415
+ } = _ref45,
1416
+ props = _objectWithoutPropertiesLoose(_ref45, _excluded45);
1274
1417
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1275
1418
  size: size,
1276
1419
  color: color
@@ -1283,14 +1426,14 @@
1283
1426
  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"
1284
1427
  }), ' '));
1285
1428
  };
1286
- var SettingsIcon = _ref41 => {
1429
+ var SettingsIcon = _ref46 => {
1287
1430
  var {
1288
1431
  size = 24,
1289
1432
  color = 'currentColor',
1290
1433
  filled = false,
1291
1434
  strokeWidth = 1
1292
- } = _ref41,
1293
- props = _objectWithoutPropertiesLoose(_ref41, _excluded41);
1435
+ } = _ref46,
1436
+ props = _objectWithoutPropertiesLoose(_ref46, _excluded46);
1294
1437
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1295
1438
  size: size,
1296
1439
  color: color
@@ -1302,14 +1445,14 @@
1302
1445
  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"
1303
1446
  })));
1304
1447
  };
1305
- var SuccessIcon = _ref42 => {
1448
+ var SuccessIcon = _ref47 => {
1306
1449
  var {
1307
1450
  size = 24,
1308
1451
  color = 'currentColor',
1309
1452
  filled = true,
1310
1453
  strokeWidth = 1
1311
- } = _ref42,
1312
- props = _objectWithoutPropertiesLoose(_ref42, _excluded42);
1454
+ } = _ref47,
1455
+ props = _objectWithoutPropertiesLoose(_ref47, _excluded47);
1313
1456
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1314
1457
  size: size,
1315
1458
  color: color
@@ -1321,14 +1464,14 @@
1321
1464
  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"
1322
1465
  })));
1323
1466
  };
1324
- var UnLikeIcon = _ref43 => {
1467
+ var UnLikeIcon = _ref48 => {
1325
1468
  var {
1326
1469
  size = 24,
1327
1470
  color = 'currentColor',
1328
1471
  filled = true,
1329
1472
  strokeWidth = 1
1330
- } = _ref43,
1331
- props = _objectWithoutPropertiesLoose(_ref43, _excluded43);
1473
+ } = _ref48,
1474
+ props = _objectWithoutPropertiesLoose(_ref48, _excluded48);
1332
1475
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1333
1476
  size: size,
1334
1477
  color: color
@@ -1340,14 +1483,14 @@
1340
1483
  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"
1341
1484
  })));
1342
1485
  };
1343
- var ClockIcon = _ref44 => {
1486
+ var ClockIcon = _ref49 => {
1344
1487
  var {
1345
1488
  size = 24,
1346
1489
  color = 'currentColor',
1347
1490
  strokeWidth = 1,
1348
1491
  filled = false
1349
- } = _ref44,
1350
- props = _objectWithoutPropertiesLoose(_ref44, _excluded44);
1492
+ } = _ref49,
1493
+ props = _objectWithoutPropertiesLoose(_ref49, _excluded49);
1351
1494
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1352
1495
  size: size,
1353
1496
  color: color
@@ -1363,14 +1506,14 @@
1363
1506
  points: "12 6 12 12 16 14"
1364
1507
  })));
1365
1508
  };
1366
- var CameraIcon = _ref45 => {
1509
+ var CameraIcon = _ref50 => {
1367
1510
  var {
1368
1511
  size = 24,
1369
1512
  color = 'currentColor',
1370
1513
  strokeWidth = 1,
1371
1514
  filled = false
1372
- } = _ref45,
1373
- props = _objectWithoutPropertiesLoose(_ref45, _excluded45);
1515
+ } = _ref50,
1516
+ props = _objectWithoutPropertiesLoose(_ref50, _excluded50);
1374
1517
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1375
1518
  size: size,
1376
1519
  color: color
@@ -1386,14 +1529,14 @@
1386
1529
  r: "4"
1387
1530
  })));
1388
1531
  };
1389
- var BluetoothIcon = _ref46 => {
1532
+ var BluetoothIcon = _ref51 => {
1390
1533
  var {
1391
1534
  size = 24,
1392
1535
  color = 'currentColor',
1393
1536
  filled = true,
1394
1537
  strokeWidth = 1
1395
- } = _ref46,
1396
- props = _objectWithoutPropertiesLoose(_ref46, _excluded46);
1538
+ } = _ref51,
1539
+ props = _objectWithoutPropertiesLoose(_ref51, _excluded51);
1397
1540
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1398
1541
  size: size,
1399
1542
  color: color
@@ -1405,14 +1548,14 @@
1405
1548
  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"
1406
1549
  })));
1407
1550
  };
1408
- var LikeIcon = _ref47 => {
1551
+ var LikeIcon = _ref52 => {
1409
1552
  var {
1410
1553
  size = 24,
1411
1554
  color = 'currentColor',
1412
1555
  filled = true,
1413
1556
  strokeWidth = 1
1414
- } = _ref47,
1415
- props = _objectWithoutPropertiesLoose(_ref47, _excluded47);
1557
+ } = _ref52,
1558
+ props = _objectWithoutPropertiesLoose(_ref52, _excluded52);
1416
1559
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1417
1560
  size: size,
1418
1561
  color: color
@@ -1424,14 +1567,14 @@
1424
1567
  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"
1425
1568
  })));
1426
1569
  };
1427
- var UnlockIcon = _ref48 => {
1570
+ var UnlockIcon = _ref53 => {
1428
1571
  var {
1429
1572
  size = 24,
1430
1573
  color = 'currentColor',
1431
1574
  filled = false,
1432
1575
  strokeWidth = 1
1433
- } = _ref48,
1434
- props = _objectWithoutPropertiesLoose(_ref48, _excluded48);
1576
+ } = _ref53,
1577
+ props = _objectWithoutPropertiesLoose(_ref53, _excluded53);
1435
1578
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1436
1579
  size: size,
1437
1580
  color: color
@@ -1450,14 +1593,14 @@
1450
1593
  d: "M7 11V7a5 5 0 0 1 9.9-1"
1451
1594
  })));
1452
1595
  };
1453
- var WifiIcon = _ref49 => {
1596
+ var WifiIcon = _ref54 => {
1454
1597
  var {
1455
1598
  size = 24,
1456
1599
  color = 'currentColor',
1457
1600
  filled = false,
1458
1601
  strokeWidth = 1
1459
- } = _ref49,
1460
- props = _objectWithoutPropertiesLoose(_ref49, _excluded49);
1602
+ } = _ref54,
1603
+ props = _objectWithoutPropertiesLoose(_ref54, _excluded54);
1461
1604
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1462
1605
  size: size,
1463
1606
  color: color
@@ -1469,14 +1612,14 @@
1469
1612
  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"
1470
1613
  })));
1471
1614
  };
1472
- var UploadIcon = _ref50 => {
1615
+ var UploadIcon = _ref55 => {
1473
1616
  var {
1474
1617
  size = 24,
1475
1618
  color = 'currentColor',
1476
1619
  filled = false,
1477
1620
  strokeWidth = 1
1478
- } = _ref50,
1479
- props = _objectWithoutPropertiesLoose(_ref50, _excluded50);
1621
+ } = _ref55,
1622
+ props = _objectWithoutPropertiesLoose(_ref55, _excluded55);
1480
1623
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1481
1624
  size: size,
1482
1625
  color: color
@@ -1492,14 +1635,14 @@
1492
1635
  d: "M12 12l0 9"
1493
1636
  })));
1494
1637
  };
1495
- var SearchIcon = _ref51 => {
1638
+ var SearchIcon = _ref56 => {
1496
1639
  var {
1497
1640
  size = 24,
1498
1641
  color = 'currentColor',
1499
1642
  filled = true,
1500
1643
  strokeWidth = 1
1501
- } = _ref51,
1502
- props = _objectWithoutPropertiesLoose(_ref51, _excluded51);
1644
+ } = _ref56,
1645
+ props = _objectWithoutPropertiesLoose(_ref56, _excluded56);
1503
1646
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1504
1647
  size: size,
1505
1648
  color: color
@@ -1511,14 +1654,14 @@
1511
1654
  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"
1512
1655
  })));
1513
1656
  };
1514
- var CloseEyeIcon = _ref52 => {
1657
+ var CloseEyeIcon = _ref57 => {
1515
1658
  var {
1516
1659
  size = 24,
1517
1660
  color = 'currentColor',
1518
1661
  filled = true,
1519
1662
  strokeWidth = 1
1520
- } = _ref52,
1521
- props = _objectWithoutPropertiesLoose(_ref52, _excluded52);
1663
+ } = _ref57,
1664
+ props = _objectWithoutPropertiesLoose(_ref57, _excluded57);
1522
1665
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1523
1666
  size: size,
1524
1667
  color: color
@@ -1531,14 +1674,14 @@
1531
1674
  fill: "currentColor"
1532
1675
  })));
1533
1676
  };
1534
- var ExternalLinkIcon = _ref53 => {
1677
+ var ExternalLinkIcon = _ref58 => {
1535
1678
  var {
1536
1679
  size = 24,
1537
1680
  color = 'currentColor',
1538
1681
  filled = true,
1539
1682
  strokeWidth = 1
1540
- } = _ref53,
1541
- props = _objectWithoutPropertiesLoose(_ref53, _excluded53);
1683
+ } = _ref58,
1684
+ props = _objectWithoutPropertiesLoose(_ref58, _excluded58);
1542
1685
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1543
1686
  size: size,
1544
1687
  color: color
@@ -1550,14 +1693,14 @@
1550
1693
  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"
1551
1694
  })));
1552
1695
  };
1553
- var PlusIcon = _ref54 => {
1696
+ var PlusIcon = _ref59 => {
1554
1697
  var {
1555
1698
  size = 24,
1556
1699
  color = 'currentColor',
1557
1700
  filled = false,
1558
1701
  strokeWidth = 1
1559
- } = _ref54,
1560
- props = _objectWithoutPropertiesLoose(_ref54, _excluded54);
1702
+ } = _ref59,
1703
+ props = _objectWithoutPropertiesLoose(_ref59, _excluded59);
1561
1704
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1562
1705
  size: size,
1563
1706
  color: color
@@ -1579,14 +1722,14 @@
1579
1722
  y2: "12"
1580
1723
  })));
1581
1724
  };
1582
- var TickIcon = _ref55 => {
1725
+ var TickIcon = _ref60 => {
1583
1726
  var {
1584
1727
  size = 24,
1585
1728
  color = 'currentColor',
1586
1729
  filled = false,
1587
1730
  strokeWidth = 1
1588
- } = _ref55,
1589
- props = _objectWithoutPropertiesLoose(_ref55, _excluded55);
1731
+ } = _ref60,
1732
+ props = _objectWithoutPropertiesLoose(_ref60, _excluded60);
1590
1733
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1591
1734
  size: size,
1592
1735
  color: color
@@ -1600,14 +1743,14 @@
1600
1743
  strokeLinejoin: "round"
1601
1744
  })));
1602
1745
  };
1603
- var BoldArrowIcon = _ref56 => {
1746
+ var BoldArrowIcon = _ref61 => {
1604
1747
  var {
1605
1748
  size = 24,
1606
1749
  color = 'currentColor',
1607
1750
  filled = true,
1608
1751
  strokeWidth = 1
1609
- } = _ref56,
1610
- props = _objectWithoutPropertiesLoose(_ref56, _excluded56);
1752
+ } = _ref61,
1753
+ props = _objectWithoutPropertiesLoose(_ref61, _excluded61);
1611
1754
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1612
1755
  size: size,
1613
1756
  color: color
@@ -1619,14 +1762,14 @@
1619
1762
  d: "M12 4l7 7h-4v7h-6v-7H5l7-7z"
1620
1763
  })));
1621
1764
  };
1622
- var ArrowIcon = _ref57 => {
1765
+ var ArrowIcon = _ref62 => {
1623
1766
  var {
1624
1767
  size = 24,
1625
1768
  color = 'currentColor',
1626
1769
  filled = false,
1627
1770
  strokeWidth = 1
1628
- } = _ref57,
1629
- props = _objectWithoutPropertiesLoose(_ref57, _excluded57);
1771
+ } = _ref62,
1772
+ props = _objectWithoutPropertiesLoose(_ref62, _excluded62);
1630
1773
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1631
1774
  size: size,
1632
1775
  color: color
@@ -1644,14 +1787,14 @@
1644
1787
  points: "6 12 12 6 18 12"
1645
1788
  })));
1646
1789
  };
1647
- var SpinnerIcon = _ref58 => {
1790
+ var SpinnerIcon = _ref63 => {
1648
1791
  var {
1649
1792
  size = 24,
1650
1793
  color = 'currentColor',
1651
1794
  filled = false,
1652
1795
  strokeWidth = 1
1653
- } = _ref58,
1654
- props = _objectWithoutPropertiesLoose(_ref58, _excluded58);
1796
+ } = _ref63,
1797
+ props = _objectWithoutPropertiesLoose(_ref63, _excluded63);
1655
1798
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1656
1799
  size: size,
1657
1800
  color: color
@@ -1669,14 +1812,14 @@
1669
1812
  strokeOpacity: "1"
1670
1813
  })));
1671
1814
  };
1672
- var CalendarIcon = _ref59 => {
1815
+ var CalendarIcon = _ref64 => {
1673
1816
  var {
1674
1817
  size = 24,
1675
1818
  color = 'currentColor',
1676
1819
  strokeWidth = 1,
1677
1820
  filled = false
1678
- } = _ref59,
1679
- props = _objectWithoutPropertiesLoose(_ref59, _excluded59);
1821
+ } = _ref64,
1822
+ props = _objectWithoutPropertiesLoose(_ref64, _excluded64);
1680
1823
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1681
1824
  size: size,
1682
1825
  color: color
@@ -1716,6 +1859,9 @@
1716
1859
  __proto__: null,
1717
1860
  ChevronIcon: ChevronIcon,
1718
1861
  DragHandleIcon: DragHandleIcon,
1862
+ FileIcon: FileIcon,
1863
+ VideoIcon: VideoIcon,
1864
+ ImageIcon: ImageIcon,
1719
1865
  TwitterIcon: TwitterIcon,
1720
1866
  XIcon: XIcon,
1721
1867
  TwitchIcon: TwitchIcon,
@@ -1727,6 +1873,8 @@
1727
1873
  ThreadsIcon: ThreadsIcon,
1728
1874
  MinusIcon: MinusIcon,
1729
1875
  InfoIcon: InfoIcon,
1876
+ PlayIcon: PlayIcon,
1877
+ PauseIcon: PauseIcon,
1730
1878
  HeartIcon: HeartIcon,
1731
1879
  StarIcon: StarIcon,
1732
1880
  SaveIcon: SaveIcon,
@@ -2549,7 +2697,7 @@
2549
2697
  // Exports the LoaderComponent as Loader, making it available for use in other parts of the application.
2550
2698
  var Loader = LoaderComponent;
2551
2699
 
2552
- 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"];
2700
+ 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"];
2553
2701
  var contrast = /*#__PURE__*/require('contrast');
2554
2702
  var ButtonView = _ref => {
2555
2703
  var _props$onClick;
@@ -2584,7 +2732,9 @@
2584
2732
  isHovered,
2585
2733
  setIsHovered = () => {},
2586
2734
  isExternal = false,
2587
- themeMode: elementMode
2735
+ themeMode: elementMode,
2736
+ containerProps,
2737
+ linkProps
2588
2738
  // Defines CSS properties for 'outline' variant of the button with conditional styles based on reverse state.
2589
2739
  } = _ref,
2590
2740
  props = _objectWithoutPropertiesLoose(_ref, _excluded$9);
@@ -2647,7 +2797,11 @@
2647
2797
  var changePadding = isIconRounded ? IconSizes$1[size] : ButtonSizes[size];
2648
2798
  var content = /*#__PURE__*/React__default.createElement(Horizontal, {
2649
2799
  gap: 10
2650
- }, isLoading && loaderPosition === 'left' && /*#__PURE__*/React__default.createElement(Loader, Object.assign({}, loaderProps)), icon && iconPosition === 'left' && !isLoading && icon, children, icon && iconPosition === 'right' && !isLoading && icon, isLoading && loaderPosition === 'right' && /*#__PURE__*/React__default.createElement(Loader, Object.assign({}, loaderProps)));
2800
+ }, isLoading && loaderPosition === 'left' && /*#__PURE__*/React__default.createElement(Loader, Object.assign({}, loaderProps)), icon && iconPosition === 'left' && !isLoading && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({}, isHovered ? {
2801
+ animate: appStudio.Animation.jackInTheBox({})
2802
+ } : {}), icon)), children, icon && iconPosition === 'right' && !isLoading && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({}, isHovered ? {
2803
+ animate: appStudio.Animation.jackInTheBox({})
2804
+ } : {}), icon)), isLoading && loaderPosition === 'right' && /*#__PURE__*/React__default.createElement(Loader, Object.assign({}, loaderProps)));
2651
2805
  return /*#__PURE__*/React__default.createElement(appStudio.Element, Object.assign({
2652
2806
  gap: 8,
2653
2807
  as: "button",
@@ -2667,12 +2821,12 @@
2667
2821
  }, hovering && !props.isDisabled ? {
2668
2822
  transition: 'transform 0.3s ease',
2669
2823
  transform: 'translateY(-5px)'
2670
- } : {}, 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__default.createElement(Link, {
2824
+ } : {}, 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__default.createElement(Link, Object.assign({
2671
2825
  to: to,
2672
2826
  textDecorationColor: colorScheme,
2673
2827
  colorScheme: colorScheme,
2674
2828
  isExternal: isExternal
2675
- }, content)) : content);
2829
+ }, linkProps), content)) : content);
2676
2830
  };
2677
2831
 
2678
2832
  // Importing a custom hook to manage the state specific to the button component.
@@ -6795,6 +6949,277 @@
6795
6949
  return visible ? MessageContainer : null;
6796
6950
  };
6797
6951
 
6952
+ var useUpload = _ref => {
6953
+ var {
6954
+ maxSize = 100 * 1024 * 1024,
6955
+ // 100MB default
6956
+ onFileSelect,
6957
+ validateFile,
6958
+ thumbnail,
6959
+ onError = error => {
6960
+ showMessage('error', 'Error', error);
6961
+ }
6962
+ } = _ref;
6963
+ var fileInputRef = React.useRef(null);
6964
+ var videoRef = React.useRef(null);
6965
+ var [selectedFile, setSelectedFile] = React.useState(null);
6966
+ var [errorMessage, setErrorMessage] = React.useState(null);
6967
+ var [previewUrl, setPreviewUrl] = React.useState(null);
6968
+ var [thumbnailUrl, setThumbnailUrl] = React.useState(thumbnail || null);
6969
+ var generateThumbnail = videoFile => {
6970
+ var video = document.createElement('video');
6971
+ video.preload = 'metadata';
6972
+ video.onloadedmetadata = () => {
6973
+ video.currentTime = 1;
6974
+ };
6975
+ video.oncanplay = () => {
6976
+ var canvas = document.createElement('canvas');
6977
+ canvas.width = video.videoWidth;
6978
+ canvas.height = video.videoHeight;
6979
+ var ctx = canvas.getContext('2d');
6980
+ if (ctx) {
6981
+ ctx.drawImage(video, 0, 0, canvas.width, canvas.height);
6982
+ var thumbnailDataUrl = canvas.toDataURL('image/jpeg');
6983
+ setThumbnailUrl(thumbnailDataUrl);
6984
+ }
6985
+ URL.revokeObjectURL(video.src);
6986
+ };
6987
+ video.src = URL.createObjectURL(videoFile);
6988
+ };
6989
+ var handleFileChange = React.useCallback(event => {
6990
+ var _event$target$files;
6991
+ var file = (_event$target$files = event.target.files) == null ? void 0 : _event$target$files[0];
6992
+ setErrorMessage(null);
6993
+ if (!file) {
6994
+ onError('No file selected');
6995
+ setErrorMessage('No file selected');
6996
+ return;
6997
+ }
6998
+ if (file.size > maxSize) {
6999
+ onError("File exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
7000
+ setErrorMessage("File exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
7001
+ return;
7002
+ }
7003
+ if (validateFile) {
7004
+ var validationError = validateFile(file);
7005
+ if (validationError) {
7006
+ onError(validationError);
7007
+ setErrorMessage(validationError);
7008
+ return;
7009
+ }
7010
+ }
7011
+ setPreviewUrl(URL.createObjectURL(file));
7012
+ if (file.type.startsWith('video/')) {
7013
+ generateThumbnail(file);
7014
+ }
7015
+ if (onFileSelect) {
7016
+ setSelectedFile(file);
7017
+ onFileSelect(file);
7018
+ }
7019
+ }, [maxSize, onFileSelect, validateFile]);
7020
+ var handleClick = () => {
7021
+ var _fileInputRef$current;
7022
+ return (_fileInputRef$current = fileInputRef.current) == null ? void 0 : _fileInputRef$current.click();
7023
+ };
7024
+ React.useEffect(() => {
7025
+ return () => {
7026
+ if (previewUrl) URL.revokeObjectURL(previewUrl);
7027
+ if (thumbnailUrl) URL.revokeObjectURL(thumbnailUrl);
7028
+ };
7029
+ }, [previewUrl, thumbnailUrl]);
7030
+ return {
7031
+ previewUrl,
7032
+ thumbnailUrl,
7033
+ errorMessage,
7034
+ fileInputRef,
7035
+ videoRef,
7036
+ selectedFile,
7037
+ handleFileChange,
7038
+ handleClick
7039
+ };
7040
+ };
7041
+ var Uploader = _ref2 => {
7042
+ var {
7043
+ accept = '*/*',
7044
+ isLoading = false,
7045
+ progress = 0,
7046
+ icon,
7047
+ text,
7048
+ maxSize,
7049
+ onFileSelect,
7050
+ validateFile,
7051
+ containerProps,
7052
+ errorMessageProps,
7053
+ progressProps,
7054
+ videoProps,
7055
+ imageProps,
7056
+ iconProps,
7057
+ textProps,
7058
+ renderError = _ref3 => {
7059
+ var {
7060
+ errorMessage,
7061
+ errorMessageProps
7062
+ } = _ref3;
7063
+ return /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
7064
+ color: "red",
7065
+ fontSize: 12,
7066
+ marginTop: 8
7067
+ }, errorMessageProps), errorMessage);
7068
+ },
7069
+ renderText = _ref4 => {
7070
+ var {
7071
+ text,
7072
+ textProps
7073
+ } = _ref4;
7074
+ return /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
7075
+ marginTop: 8
7076
+ }, textProps), text);
7077
+ },
7078
+ renderFile = _ref5 => {
7079
+ var {
7080
+ selectedFile,
7081
+ textProps
7082
+ } = _ref5;
7083
+ return /*#__PURE__*/React__default.createElement(Center, {
7084
+ marginTop: 8,
7085
+ gap: 10,
7086
+ flexDirection: "column"
7087
+ }, /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
7088
+ maxLines: 2
7089
+ }, textProps), selectedFile.name), /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({}, textProps), "(", Math.round(selectedFile.size / 1024), " KB)"));
7090
+ },
7091
+ renderVideo = _ref6 => {
7092
+ var {
7093
+ selectedFile,
7094
+ thumbnailUrl,
7095
+ videoRef,
7096
+ videoProps,
7097
+ imageProps,
7098
+ iconProps
7099
+ } = _ref6;
7100
+ console.log('thumbnailUrl', thumbnailUrl);
7101
+ return /*#__PURE__*/React__default.createElement(appStudio.View, {
7102
+ width: "100%",
7103
+ height: "100%",
7104
+ position: "relative"
7105
+ }, /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
7106
+ as: "video",
7107
+ width: 0,
7108
+ height: 0,
7109
+ src: selectedFile == null ? void 0 : selectedFile.name,
7110
+ style: {
7111
+ objectFit: 'cover'
7112
+ },
7113
+ ref: videoRef
7114
+ }, videoProps)), /*#__PURE__*/React__default.createElement(appStudio.Image, Object.assign({
7115
+ src: thumbnailUrl,
7116
+ alt: "Video Thumbnail",
7117
+ width: "100%",
7118
+ height: "100%",
7119
+ objectFit: "cover"
7120
+ }, imageProps)), /*#__PURE__*/React__default.createElement(PlayIcon, Object.assign({
7121
+ position: "absolute",
7122
+ top: "50%",
7123
+ left: "50%",
7124
+ color: "white",
7125
+ size: '20%',
7126
+ transform: "translate(-50%, -50%)"
7127
+ }, iconProps)));
7128
+ },
7129
+ renderImage = _ref7 => {
7130
+ var {
7131
+ previewUrl,
7132
+ imageProps
7133
+ } = _ref7;
7134
+ return /*#__PURE__*/React__default.createElement(appStudio.Image, Object.assign({
7135
+ src: previewUrl,
7136
+ alt: "Preview",
7137
+ width: "100%",
7138
+ height: "100%",
7139
+ objectFit: "cover"
7140
+ }, imageProps));
7141
+ },
7142
+ renderProgress = _ref8 => {
7143
+ var {
7144
+ progress,
7145
+ progressProps
7146
+ } = _ref8;
7147
+ return /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
7148
+ gap: 8,
7149
+ alignItems: "center"
7150
+ }, progressProps), /*#__PURE__*/React__default.createElement(appStudio.View, {
7151
+ height: 4,
7152
+ backgroundColor: "rgba(0,0,0,0.1)",
7153
+ width: "100%",
7154
+ borderRadius: 2
7155
+ }, /*#__PURE__*/React__default.createElement(appStudio.View, {
7156
+ height: 4,
7157
+ width: progress + "%",
7158
+ borderRadius: 2
7159
+ })), /*#__PURE__*/React__default.createElement(appStudio.Text, {
7160
+ fontSize: 12
7161
+ }, progress, "%"));
7162
+ }
7163
+ } = _ref2;
7164
+ var {
7165
+ previewUrl,
7166
+ thumbnailUrl,
7167
+ errorMessage,
7168
+ videoRef,
7169
+ fileInputRef,
7170
+ selectedFile,
7171
+ handleFileChange,
7172
+ handleClick
7173
+ } = useUpload({
7174
+ accept,
7175
+ maxSize,
7176
+ onFileSelect,
7177
+ validateFile
7178
+ });
7179
+ var fileType = previewUrl && accept.includes('video') ? 'video' : previewUrl && accept.includes('image') ? 'image' : 'file';
7180
+ return /*#__PURE__*/React__default.createElement(Center, Object.assign({
7181
+ onClick: handleClick,
7182
+ cursor: "pointer",
7183
+ border: "1px solid rgba(0,0,0,0.1)",
7184
+ borderRadius: 8,
7185
+ padding: 16,
7186
+ flexDirection: "column",
7187
+ overflow: "hidden",
7188
+ position: "relative"
7189
+ }, containerProps), progress == 100 && fileType == 'image' && previewUrl && renderImage({
7190
+ previewUrl,
7191
+ imageProps
7192
+ }), progress == 100 && fileType == 'video' && thumbnailUrl && renderVideo({
7193
+ thumbnailUrl,
7194
+ videoRef,
7195
+ videoProps,
7196
+ iconProps
7197
+ }), progress == 100 && fileType == 'file' && previewUrl && renderFile({
7198
+ selectedFile,
7199
+ textProps
7200
+ }), progress < 100 && (icon || /*#__PURE__*/React__default.createElement(UploadIcon, Object.assign({
7201
+ size: 32
7202
+ }, iconProps))), !selectedFile && text && renderText({
7203
+ text,
7204
+ textProps
7205
+ }), isLoading && renderProgress({
7206
+ progress,
7207
+ progressProps
7208
+ }), renderError({
7209
+ errorMessage,
7210
+ errorMessageProps
7211
+ }), /*#__PURE__*/React__default.createElement(appStudio.View, {
7212
+ as: "input",
7213
+ type: "file",
7214
+ ref: fileInputRef,
7215
+ onChange: handleFileChange,
7216
+ accept: accept,
7217
+ style: {
7218
+ display: 'none'
7219
+ }
7220
+ }));
7221
+ };
7222
+
6798
7223
  var useModalStore = /*#__PURE__*/zustand.create(set => ({
6799
7224
  modals: [],
6800
7225
  onHide: name => name,
@@ -7677,6 +8102,7 @@
7677
8102
  exports.ErrorIcon = ErrorIcon;
7678
8103
  exports.ExternalLinkIcon = ExternalLinkIcon;
7679
8104
  exports.FacebookIcon = FacebookIcon;
8105
+ exports.FileIcon = FileIcon;
7680
8106
  exports.FileImage = FileImage;
7681
8107
  exports.FileSVG = FileSVG;
7682
8108
  exports.FilterIcon = FilterIcon;
@@ -7695,6 +8121,7 @@
7695
8121
  exports.Horizontal = Horizontal;
7696
8122
  exports.HorizontalBase = HorizontalBase;
7697
8123
  exports.Icon = Icon;
8124
+ exports.ImageIcon = ImageIcon;
7698
8125
  exports.InfoIcon = InfoIcon;
7699
8126
  exports.Inline = Inline;
7700
8127
  exports.InstagramIcon = InstagramIcon;
@@ -7716,6 +8143,8 @@
7716
8143
  exports.OpenEyeIcon = OpenEyeIcon;
7717
8144
  exports.PanelIcon = PanelIcon;
7718
8145
  exports.Password = Password;
8146
+ exports.PauseIcon = PauseIcon;
8147
+ exports.PlayIcon = PlayIcon;
7719
8148
  exports.PlusIcon = PlusIcon;
7720
8149
  exports.PrintIcon = PrintIcon;
7721
8150
  exports.ProfileIcon = ProfileIcon;
@@ -7745,8 +8174,10 @@
7745
8174
  exports.UnLikeIcon = UnLikeIcon;
7746
8175
  exports.UnlockIcon = UnlockIcon;
7747
8176
  exports.UploadIcon = UploadIcon;
8177
+ exports.Uploader = Uploader;
7748
8178
  exports.Vertical = Vertical;
7749
8179
  exports.VerticalBase = VerticalBase;
8180
+ exports.VideoIcon = VideoIcon;
7750
8181
  exports.View = View;
7751
8182
  exports.WarningIcon = WarningIcon;
7752
8183
  exports.WifiIcon = WifiIcon;
@@ -7758,6 +8189,7 @@
7758
8189
  exports.showModal = showModal;
7759
8190
  exports.useMessageStore = useMessageStore;
7760
8191
  exports.useModalStore = useModalStore;
8192
+ exports.useUpload = useUpload;
7761
8193
 
7762
8194
  Object.defineProperty(exports, '__esModule', { value: true });
7763
8195