@app-studio/web 0.9.2 → 0.9.4

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,11 +1,11 @@
1
1
  import 'core-js/modules/es.object.assign.js';
2
- import React, { useState, useMemo, useEffect, useCallback, isValidElement, Children, cloneElement, useContext, createContext, useRef, Fragment, useLayoutEffect, forwardRef, useImperativeHandle } from 'react';
2
+ import React, { useState, useMemo, useEffect, useCallback, isValidElement, Children, cloneElement, useContext, createContext, useRef, Fragment, useLayoutEffect, forwardRef } from 'react';
3
3
  import 'core-js/modules/es.array.includes.js';
4
4
  import 'core-js/modules/es.array.iterator.js';
5
5
  import 'core-js/modules/es.string.includes.js';
6
6
  import 'core-js/modules/web.dom-collections.iterator.js';
7
7
  import 'core-js/modules/es.regexp.to-string.js';
8
- import { View, Horizontal, Vertical, Element, Text as Text$1, Center, useTheme, Image, useHover, Typography, Input, Form, useInView, Button as Button$1 } from 'app-studio';
8
+ import { View, Horizontal, Vertical, Element, Text as Text$1, Center, useTheme, Image, useHover, Typography, Input, Form, useInView } from 'app-studio';
9
9
  import 'core-js/modules/es.symbol.description.js';
10
10
  import 'core-js/modules/es.parse-float.js';
11
11
  import 'core-js/modules/es.string.trim-end.js';
@@ -31,34 +31,7 @@ import 'core-js/modules/es.string.search.js';
31
31
  import 'core-js/modules/es.array.flat-map.js';
32
32
  import 'core-js/modules/es.array.unscopables.flat-map.js';
33
33
  import 'core-js/modules/es.string.trim.js';
34
- import { Loader as Loader$1 } from 'src/components/Loader/Loader';
35
- import { StopIcon as StopIcon$1, SendIcon as SendIcon$1, LoadingSpinnerIcon as LoadingSpinnerIcon$1 } from 'src/components/Icon/Icon';
36
34
 
37
- function asyncGeneratorStep(n, t, e, r, o, a, c) {
38
- try {
39
- var i = n[a](c),
40
- u = i.value;
41
- } catch (n) {
42
- return void e(n);
43
- }
44
- i.done ? t(u) : Promise.resolve(u).then(r, o);
45
- }
46
- function _asyncToGenerator(n) {
47
- return function () {
48
- var t = this,
49
- e = arguments;
50
- return new Promise(function (r, o) {
51
- var a = n.apply(t, e);
52
- function _next(n) {
53
- asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
54
- }
55
- function _throw(n) {
56
- asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
57
- }
58
- _next(void 0);
59
- });
60
- };
61
- }
62
35
  function _objectWithoutPropertiesLoose(r, e) {
63
36
  if (null == r) return {};
64
37
  var t = {};
@@ -717,7 +690,7 @@ var _excluded$3 = ["widthHeight", "color", "transform", "orientation", "children
717
690
  _excluded38 = ["widthHeight", "color", "filled", "strokeWidth"],
718
691
  _excluded39 = ["widthHeight", "color", "strokeWidth", "filled"],
719
692
  _excluded40 = ["widthHeight", "color", "strokeWidth", "filled"],
720
- _excluded41 = ["widthHeight", "color", "strokeWidth", "filled"],
693
+ _excluded41 = ["widthHeight", "color", "filled", "strokeWidth"],
721
694
  _excluded42 = ["widthHeight", "color", "filled", "strokeWidth"],
722
695
  _excluded43 = ["widthHeight", "color", "filled", "strokeWidth"],
723
696
  _excluded44 = ["widthHeight", "color", "filled", "strokeWidth"],
@@ -729,9 +702,9 @@ var _excluded$3 = ["widthHeight", "color", "transform", "orientation", "children
729
702
  _excluded50 = ["widthHeight", "color", "filled", "strokeWidth"],
730
703
  _excluded51 = ["widthHeight", "color", "filled", "strokeWidth"],
731
704
  _excluded52 = ["widthHeight", "color", "filled", "strokeWidth"],
732
- _excluded53 = ["widthHeight", "color", "filled", "strokeWidth"],
705
+ _excluded53 = ["widthHeight", "color", "strokeWidth", "filled"],
733
706
  _excluded54 = ["widthHeight", "color", "strokeWidth", "filled"],
734
- _excluded55 = ["widthHeight", "color", "strokeWidth", "filled"],
707
+ _excluded55 = ["widthHeight", "color", "filled", "strokeWidth"],
735
708
  _excluded56 = ["widthHeight", "color", "filled", "strokeWidth"],
736
709
  _excluded57 = ["widthHeight", "color", "filled", "strokeWidth"],
737
710
  _excluded58 = ["widthHeight", "color", "filled", "strokeWidth"],
@@ -749,8 +722,8 @@ var _excluded$3 = ["widthHeight", "color", "transform", "orientation", "children
749
722
  _excluded70 = ["widthHeight", "color", "filled", "strokeWidth"],
750
723
  _excluded71 = ["widthHeight", "color", "filled", "strokeWidth"],
751
724
  _excluded72 = ["widthHeight", "color", "filled", "strokeWidth"],
752
- _excluded73 = ["widthHeight", "color", "filled", "strokeWidth"],
753
- _excluded74 = ["widthHeight", "color", "filled", "strokeWidth"],
725
+ _excluded73 = ["widthHeight", "color", "strokeWidth", "filled"],
726
+ _excluded74 = ["widthHeight", "color", "strokeWidth", "filled"],
754
727
  _excluded75 = ["widthHeight", "color", "strokeWidth", "filled"],
755
728
  _excluded76 = ["widthHeight", "color", "strokeWidth", "filled"],
756
729
  _excluded77 = ["widthHeight", "color", "strokeWidth", "filled"],
@@ -762,9 +735,7 @@ var _excluded$3 = ["widthHeight", "color", "transform", "orientation", "children
762
735
  _excluded83 = ["widthHeight", "color", "strokeWidth", "filled"],
763
736
  _excluded84 = ["widthHeight", "color", "strokeWidth", "filled"],
764
737
  _excluded85 = ["widthHeight", "color", "strokeWidth", "filled"],
765
- _excluded86 = ["widthHeight", "color", "strokeWidth", "filled"],
766
- _excluded87 = ["widthHeight", "color", "strokeWidth", "filled"],
767
- _excluded88 = ["widthHeight", "color", "strokeWidth", "filled"];
738
+ _excluded86 = ["widthHeight", "color", "strokeWidth", "filled"];
768
739
  // Default wrapper component for consistent sizing and styling
769
740
  var IconWrapper = _ref => {
770
741
  var {
@@ -807,12 +778,21 @@ var UserIcon = _ref2 => {
807
778
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
808
779
  widthHeight: widthHeight,
809
780
  color: color
810
- }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
781
+ }, props), /*#__PURE__*/React.createElement("svg", {
811
782
  viewBox: "0 0 24 24",
812
783
  "aria-hidden": "true",
813
- focusable: "false"
814
- }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
815
- d: "M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"
784
+ focusable: "false",
785
+ fill: filled ? color : 'none',
786
+ stroke: filled ? 'none' : color,
787
+ strokeWidth: strokeWidth,
788
+ strokeLinecap: "round",
789
+ strokeLinejoin: "round"
790
+ }, /*#__PURE__*/React.createElement("circle", {
791
+ cx: "12",
792
+ cy: "8",
793
+ r: "4"
794
+ }), /*#__PURE__*/React.createElement("path", {
795
+ d: "M4 20c0-4 4-7 8-7s8 3 8 7"
816
796
  })));
817
797
  };
818
798
  var HelpIcon = _ref3 => {
@@ -959,7 +939,8 @@ var ChevronIcon = _ref5 => {
959
939
  "aria-hidden": "true",
960
940
  focusable: "false"
961
941
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
962
- 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"
942
+ d: "M7.41 15.41L12 10.83L16.59 15.41L18 14L12 8L6 14L7.41 15.41Z",
943
+ fill: "currentColor"
963
944
  })));
964
945
  };
965
946
  var DragHandleIcon = _ref6 => {
@@ -1003,32 +984,28 @@ var DragHandleIcon = _ref6 => {
1003
984
  r: "2"
1004
985
  }))));
1005
986
  };
1006
- // File Icon Component
1007
987
  var FileIcon = _ref7 => {
1008
988
  var {
1009
989
  widthHeight = 24,
1010
990
  color = 'currentColor',
1011
- filled = true,
991
+ filled = false,
1012
992
  strokeWidth = 1
1013
993
  } = _ref7,
1014
994
  props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
1015
995
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1016
996
  widthHeight: widthHeight,
1017
997
  color: color
1018
- }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
998
+ }, props), /*#__PURE__*/React.createElement("svg", {
1019
999
  viewBox: "0 0 24 24",
1020
1000
  "aria-hidden": "true",
1021
- focusable: "false"
1022
- }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
1023
- d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
1001
+ focusable: "false",
1024
1002
  fill: filled ? color : 'none',
1025
1003
  stroke: filled ? 'none' : color,
1026
- strokeWidth: filled ? 0 : strokeWidth
1027
- }), /*#__PURE__*/React.createElement("polyline", {
1028
- points: "14 2 14 8 20 8",
1029
- fill: "none",
1030
- stroke: color,
1031
1004
  strokeWidth: strokeWidth
1005
+ }, /*#__PURE__*/React.createElement("path", {
1006
+ d: "M6 2H14L20 8V20C20 21.1 19.1 22 18 22H6C4.9 22 4 21.1 4 20V4C4 2.9 4.9 2 6 2Z"
1007
+ }), /*#__PURE__*/React.createElement("path", {
1008
+ d: "M14 2V8H20"
1032
1009
  })));
1033
1010
  };
1034
1011
  // Video Icon Component
@@ -1182,7 +1159,7 @@ var CloseIcon = _ref13 => {
1182
1159
  widthHeight = 24,
1183
1160
  color = 'currentColor',
1184
1161
  filled = false,
1185
- strokeWidth = 1
1162
+ strokeWidth = 2
1186
1163
  } = _ref13,
1187
1164
  props = _objectWithoutPropertiesLoose(_ref13, _excluded13);
1188
1165
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
@@ -1832,7 +1809,7 @@ var MagicWandIcon = _ref39 => {
1832
1809
  d: "M16 15L16.7 16.5L18 17L16.7 17.5L16 19L15.3 17.5L14 17L15.3 16.5L16 15Z"
1833
1810
  })));
1834
1811
  };
1835
- var SliderVerticalIcon = _ref40 => {
1812
+ var PanelIcon = _ref40 => {
1836
1813
  var {
1837
1814
  widthHeight = 24,
1838
1815
  color = 'currentColor',
@@ -1847,77 +1824,6 @@ var SliderVerticalIcon = _ref40 => {
1847
1824
  viewBox: "0 0 24 24",
1848
1825
  "aria-hidden": "false",
1849
1826
  focusable: "false"
1850
- }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("line", {
1851
- stroke: color,
1852
- x1: "4",
1853
- y1: "21",
1854
- x2: "4",
1855
- y2: "14"
1856
- }), /*#__PURE__*/React.createElement("line", {
1857
- stroke: color,
1858
- x1: "4",
1859
- y1: "10",
1860
- x2: "4",
1861
- y2: "3"
1862
- }), /*#__PURE__*/React.createElement("line", {
1863
- stroke: color,
1864
- x1: "12",
1865
- y1: "21",
1866
- x2: "12",
1867
- y2: "12"
1868
- }), /*#__PURE__*/React.createElement("line", {
1869
- stroke: color,
1870
- x1: "12",
1871
- y1: "8",
1872
- x2: "12",
1873
- y2: "3"
1874
- }), /*#__PURE__*/React.createElement("line", {
1875
- stroke: color,
1876
- x1: "20",
1877
- y1: "21",
1878
- x2: "20",
1879
- y2: "16"
1880
- }), /*#__PURE__*/React.createElement("line", {
1881
- stroke: color,
1882
- x1: "20",
1883
- y1: "12",
1884
- x2: "20",
1885
- y2: "3"
1886
- }), /*#__PURE__*/React.createElement("line", {
1887
- stroke: color,
1888
- x1: "1",
1889
- y1: "14",
1890
- x2: "7",
1891
- y2: "14"
1892
- }), /*#__PURE__*/React.createElement("line", {
1893
- stroke: color,
1894
- x1: "9",
1895
- y1: "8",
1896
- x2: "15",
1897
- y2: "8"
1898
- }), /*#__PURE__*/React.createElement("line", {
1899
- stroke: color,
1900
- x1: "17",
1901
- y1: "16",
1902
- x2: "23",
1903
- y2: "16"
1904
- })));
1905
- };
1906
- var PanelIcon = _ref41 => {
1907
- var {
1908
- widthHeight = 24,
1909
- color = 'currentColor',
1910
- strokeWidth = 1,
1911
- filled = false
1912
- } = _ref41,
1913
- props = _objectWithoutPropertiesLoose(_ref41, _excluded41);
1914
- return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1915
- widthHeight: widthHeight,
1916
- color: color
1917
- }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
1918
- viewBox: "0 0 24 24",
1919
- "aria-hidden": "false",
1920
- focusable: "false"
1921
1827
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("rect", {
1922
1828
  width: "18",
1923
1829
  height: "18",
@@ -1928,14 +1834,14 @@ var PanelIcon = _ref41 => {
1928
1834
  d: "M9 3v18"
1929
1835
  })));
1930
1836
  };
1931
- var FilterIcon = _ref42 => {
1837
+ var FilterIcon = _ref41 => {
1932
1838
  var {
1933
1839
  widthHeight = 24,
1934
1840
  color = 'currentColor',
1935
1841
  filled = false,
1936
1842
  strokeWidth = 1
1937
- } = _ref42,
1938
- props = _objectWithoutPropertiesLoose(_ref42, _excluded42);
1843
+ } = _ref41,
1844
+ props = _objectWithoutPropertiesLoose(_ref41, _excluded41);
1939
1845
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1940
1846
  widthHeight: widthHeight,
1941
1847
  color: color
@@ -1947,14 +1853,14 @@ var FilterIcon = _ref42 => {
1947
1853
  d: "M3 4h18l-7 10v5l-4 2v-7L3 4z"
1948
1854
  })));
1949
1855
  };
1950
- var HomeIcon = _ref43 => {
1856
+ var HomeIcon = _ref42 => {
1951
1857
  var {
1952
1858
  widthHeight = 24,
1953
1859
  color = 'currentColor',
1954
1860
  filled = true,
1955
1861
  strokeWidth = 1
1956
- } = _ref43,
1957
- props = _objectWithoutPropertiesLoose(_ref43, _excluded43);
1862
+ } = _ref42,
1863
+ props = _objectWithoutPropertiesLoose(_ref42, _excluded42);
1958
1864
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1959
1865
  widthHeight: widthHeight,
1960
1866
  color: color
@@ -1966,14 +1872,14 @@ var HomeIcon = _ref43 => {
1966
1872
  d: "M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8h5z"
1967
1873
  })));
1968
1874
  };
1969
- var LocationIcon = _ref44 => {
1875
+ var LocationIcon = _ref43 => {
1970
1876
  var {
1971
1877
  widthHeight = 24,
1972
1878
  color = 'currentColor',
1973
1879
  filled = true,
1974
1880
  strokeWidth = 1
1975
- } = _ref44,
1976
- props = _objectWithoutPropertiesLoose(_ref44, _excluded44);
1881
+ } = _ref43,
1882
+ props = _objectWithoutPropertiesLoose(_ref43, _excluded43);
1977
1883
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1978
1884
  widthHeight: widthHeight,
1979
1885
  color: color
@@ -1985,14 +1891,14 @@ var LocationIcon = _ref44 => {
1985
1891
  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"
1986
1892
  })));
1987
1893
  };
1988
- var LockIcon = _ref45 => {
1894
+ var LockIcon = _ref44 => {
1989
1895
  var {
1990
1896
  widthHeight = 24,
1991
1897
  color = 'currentColor',
1992
1898
  filled = false,
1993
1899
  strokeWidth = 1
1994
- } = _ref45,
1995
- props = _objectWithoutPropertiesLoose(_ref45, _excluded45);
1900
+ } = _ref44,
1901
+ props = _objectWithoutPropertiesLoose(_ref44, _excluded44);
1996
1902
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1997
1903
  widthHeight: widthHeight,
1998
1904
  color: color
@@ -2017,14 +1923,14 @@ var LockIcon = _ref45 => {
2017
1923
  r: "1.5"
2018
1924
  })))));
2019
1925
  };
2020
- var MicrophoneIcon = _ref46 => {
1926
+ var MicrophoneIcon = _ref45 => {
2021
1927
  var {
2022
1928
  widthHeight = 24,
2023
1929
  color = 'currentColor',
2024
1930
  filled = false,
2025
1931
  strokeWidth = 1
2026
- } = _ref46,
2027
- props = _objectWithoutPropertiesLoose(_ref46, _excluded46);
1932
+ } = _ref45,
1933
+ props = _objectWithoutPropertiesLoose(_ref45, _excluded45);
2028
1934
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2029
1935
  widthHeight: widthHeight,
2030
1936
  color: color
@@ -2050,14 +1956,14 @@ var MicrophoneIcon = _ref46 => {
2050
1956
  y2: "23"
2051
1957
  })));
2052
1958
  };
2053
- var MoonIcon = _ref47 => {
1959
+ var MoonIcon = _ref46 => {
2054
1960
  var {
2055
1961
  widthHeight = 24,
2056
1962
  color = 'currentColor',
2057
1963
  filled = true,
2058
1964
  strokeWidth = 1
2059
- } = _ref47,
2060
- props = _objectWithoutPropertiesLoose(_ref47, _excluded47);
1965
+ } = _ref46,
1966
+ props = _objectWithoutPropertiesLoose(_ref46, _excluded46);
2061
1967
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2062
1968
  widthHeight: widthHeight,
2063
1969
  color: color
@@ -2069,14 +1975,14 @@ var MoonIcon = _ref47 => {
2069
1975
  d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"
2070
1976
  })));
2071
1977
  };
2072
- var NotificationIcon = _ref48 => {
1978
+ var NotificationIcon = _ref47 => {
2073
1979
  var {
2074
1980
  widthHeight = 24,
2075
1981
  color = 'currentColor',
2076
1982
  filled = false,
2077
1983
  strokeWidth = 1
2078
- } = _ref48,
2079
- props = _objectWithoutPropertiesLoose(_ref48, _excluded48);
1984
+ } = _ref47,
1985
+ props = _objectWithoutPropertiesLoose(_ref47, _excluded47);
2080
1986
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2081
1987
  widthHeight: widthHeight,
2082
1988
  color: color
@@ -2090,14 +1996,14 @@ var NotificationIcon = _ref48 => {
2090
1996
  d: "M13.73 21a2 2 0 0 1-3.46 0"
2091
1997
  })));
2092
1998
  };
2093
- var OpenEyeIcon = _ref49 => {
1999
+ var OpenEyeIcon = _ref48 => {
2094
2000
  var {
2095
2001
  widthHeight = 24,
2096
2002
  color = 'currentColor',
2097
2003
  filled = true,
2098
2004
  strokeWidth = 1
2099
- } = _ref49,
2100
- props = _objectWithoutPropertiesLoose(_ref49, _excluded49);
2005
+ } = _ref48,
2006
+ props = _objectWithoutPropertiesLoose(_ref48, _excluded48);
2101
2007
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2102
2008
  widthHeight: widthHeight,
2103
2009
  color: color
@@ -2109,14 +2015,14 @@ var OpenEyeIcon = _ref49 => {
2109
2015
  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"
2110
2016
  })));
2111
2017
  };
2112
- var ProfileIcon = _ref50 => {
2018
+ var ProfileIcon = _ref49 => {
2113
2019
  var {
2114
2020
  widthHeight = 24,
2115
2021
  color = 'currentColor',
2116
2022
  filled = true,
2117
2023
  strokeWidth = 1
2118
- } = _ref50,
2119
- props = _objectWithoutPropertiesLoose(_ref50, _excluded50);
2024
+ } = _ref49,
2025
+ props = _objectWithoutPropertiesLoose(_ref49, _excluded49);
2120
2026
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2121
2027
  widthHeight: widthHeight,
2122
2028
  color: color
@@ -2129,14 +2035,14 @@ var ProfileIcon = _ref50 => {
2129
2035
  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"
2130
2036
  }), ' '));
2131
2037
  };
2132
- var SettingsIcon = _ref51 => {
2038
+ var SettingsIcon = _ref50 => {
2133
2039
  var {
2134
2040
  widthHeight = 24,
2135
2041
  color = 'currentColor',
2136
2042
  filled = false,
2137
2043
  strokeWidth = 1
2138
- } = _ref51,
2139
- props = _objectWithoutPropertiesLoose(_ref51, _excluded51);
2044
+ } = _ref50,
2045
+ props = _objectWithoutPropertiesLoose(_ref50, _excluded50);
2140
2046
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2141
2047
  widthHeight: widthHeight,
2142
2048
  color: color
@@ -2148,14 +2054,14 @@ var SettingsIcon = _ref51 => {
2148
2054
  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"
2149
2055
  })));
2150
2056
  };
2151
- var SuccessIcon = _ref52 => {
2057
+ var SuccessIcon = _ref51 => {
2152
2058
  var {
2153
2059
  widthHeight = 24,
2154
2060
  color = 'currentColor',
2155
2061
  filled = true,
2156
2062
  strokeWidth = 1
2157
- } = _ref52,
2158
- props = _objectWithoutPropertiesLoose(_ref52, _excluded52);
2063
+ } = _ref51,
2064
+ props = _objectWithoutPropertiesLoose(_ref51, _excluded51);
2159
2065
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2160
2066
  widthHeight: widthHeight,
2161
2067
  color: color
@@ -2167,14 +2073,14 @@ var SuccessIcon = _ref52 => {
2167
2073
  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"
2168
2074
  })));
2169
2075
  };
2170
- var UnLikeIcon = _ref53 => {
2076
+ var UnLikeIcon = _ref52 => {
2171
2077
  var {
2172
2078
  widthHeight = 24,
2173
2079
  color = 'currentColor',
2174
2080
  filled = true,
2175
2081
  strokeWidth = 1
2176
- } = _ref53,
2177
- props = _objectWithoutPropertiesLoose(_ref53, _excluded53);
2082
+ } = _ref52,
2083
+ props = _objectWithoutPropertiesLoose(_ref52, _excluded52);
2178
2084
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2179
2085
  widthHeight: widthHeight,
2180
2086
  color: color
@@ -2186,14 +2092,14 @@ var UnLikeIcon = _ref53 => {
2186
2092
  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"
2187
2093
  })));
2188
2094
  };
2189
- var ClockIcon = _ref54 => {
2095
+ var ClockIcon = _ref53 => {
2190
2096
  var {
2191
2097
  widthHeight = 24,
2192
2098
  color = 'currentColor',
2193
2099
  strokeWidth = 1,
2194
2100
  filled = false
2195
- } = _ref54,
2196
- props = _objectWithoutPropertiesLoose(_ref54, _excluded54);
2101
+ } = _ref53,
2102
+ props = _objectWithoutPropertiesLoose(_ref53, _excluded53);
2197
2103
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2198
2104
  widthHeight: widthHeight,
2199
2105
  color: color
@@ -2209,14 +2115,14 @@ var ClockIcon = _ref54 => {
2209
2115
  points: "12 6 12 12 16 14"
2210
2116
  })));
2211
2117
  };
2212
- var CameraIcon = _ref55 => {
2118
+ var CameraIcon = _ref54 => {
2213
2119
  var {
2214
2120
  widthHeight = 24,
2215
2121
  color = 'currentColor',
2216
2122
  strokeWidth = 1,
2217
2123
  filled = false
2218
- } = _ref55,
2219
- props = _objectWithoutPropertiesLoose(_ref55, _excluded55);
2124
+ } = _ref54,
2125
+ props = _objectWithoutPropertiesLoose(_ref54, _excluded54);
2220
2126
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2221
2127
  widthHeight: widthHeight,
2222
2128
  color: color
@@ -2232,14 +2138,14 @@ var CameraIcon = _ref55 => {
2232
2138
  r: "4"
2233
2139
  })));
2234
2140
  };
2235
- var BluetoothIcon = _ref56 => {
2141
+ var BluetoothIcon = _ref55 => {
2236
2142
  var {
2237
2143
  widthHeight = 24,
2238
2144
  color = 'currentColor',
2239
2145
  filled = true,
2240
2146
  strokeWidth = 1
2241
- } = _ref56,
2242
- props = _objectWithoutPropertiesLoose(_ref56, _excluded56);
2147
+ } = _ref55,
2148
+ props = _objectWithoutPropertiesLoose(_ref55, _excluded55);
2243
2149
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2244
2150
  widthHeight: widthHeight,
2245
2151
  color: color
@@ -2251,14 +2157,14 @@ var BluetoothIcon = _ref56 => {
2251
2157
  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"
2252
2158
  })));
2253
2159
  };
2254
- var LikeIcon = _ref57 => {
2160
+ var LikeIcon = _ref56 => {
2255
2161
  var {
2256
2162
  widthHeight = 24,
2257
2163
  color = 'currentColor',
2258
2164
  filled = true,
2259
2165
  strokeWidth = 1
2260
- } = _ref57,
2261
- props = _objectWithoutPropertiesLoose(_ref57, _excluded57);
2166
+ } = _ref56,
2167
+ props = _objectWithoutPropertiesLoose(_ref56, _excluded56);
2262
2168
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2263
2169
  widthHeight: widthHeight,
2264
2170
  color: color
@@ -2270,14 +2176,14 @@ var LikeIcon = _ref57 => {
2270
2176
  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"
2271
2177
  })));
2272
2178
  };
2273
- var UnlockIcon = _ref58 => {
2179
+ var UnlockIcon = _ref57 => {
2274
2180
  var {
2275
2181
  widthHeight = 24,
2276
2182
  color = 'currentColor',
2277
2183
  filled = false,
2278
2184
  strokeWidth = 1
2279
- } = _ref58,
2280
- props = _objectWithoutPropertiesLoose(_ref58, _excluded58);
2185
+ } = _ref57,
2186
+ props = _objectWithoutPropertiesLoose(_ref57, _excluded57);
2281
2187
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2282
2188
  widthHeight: widthHeight,
2283
2189
  color: color
@@ -2302,14 +2208,14 @@ var UnlockIcon = _ref58 => {
2302
2208
  r: "1.5"
2303
2209
  })))));
2304
2210
  };
2305
- var WifiIcon = _ref59 => {
2211
+ var WifiIcon = _ref58 => {
2306
2212
  var {
2307
2213
  widthHeight = 24,
2308
2214
  color = 'currentColor',
2309
2215
  filled = false,
2310
2216
  strokeWidth = 1
2311
- } = _ref59,
2312
- props = _objectWithoutPropertiesLoose(_ref59, _excluded59);
2217
+ } = _ref58,
2218
+ props = _objectWithoutPropertiesLoose(_ref58, _excluded58);
2313
2219
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2314
2220
  widthHeight: widthHeight,
2315
2221
  color: color
@@ -2321,14 +2227,14 @@ var WifiIcon = _ref59 => {
2321
2227
  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"
2322
2228
  })));
2323
2229
  };
2324
- var UploadIcon = _ref60 => {
2230
+ var UploadIcon = _ref59 => {
2325
2231
  var {
2326
2232
  widthHeight = 24,
2327
2233
  color = 'currentColor',
2328
2234
  filled = false,
2329
2235
  strokeWidth = 1
2330
- } = _ref60,
2331
- props = _objectWithoutPropertiesLoose(_ref60, _excluded60);
2236
+ } = _ref59,
2237
+ props = _objectWithoutPropertiesLoose(_ref59, _excluded59);
2332
2238
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2333
2239
  widthHeight: widthHeight,
2334
2240
  color: color
@@ -2344,14 +2250,14 @@ var UploadIcon = _ref60 => {
2344
2250
  d: "M12 12l0 9"
2345
2251
  })));
2346
2252
  };
2347
- var SearchIcon = _ref61 => {
2253
+ var SearchIcon = _ref60 => {
2348
2254
  var {
2349
2255
  widthHeight = 24,
2350
2256
  color = 'currentColor',
2351
2257
  filled = true,
2352
2258
  strokeWidth = 1
2353
- } = _ref61,
2354
- props = _objectWithoutPropertiesLoose(_ref61, _excluded61);
2259
+ } = _ref60,
2260
+ props = _objectWithoutPropertiesLoose(_ref60, _excluded60);
2355
2261
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2356
2262
  widthHeight: widthHeight,
2357
2263
  color: color
@@ -2364,14 +2270,14 @@ var SearchIcon = _ref61 => {
2364
2270
  })));
2365
2271
  };
2366
2272
  // Stop Icon (rectangle) for stopping agent
2367
- var StopIcon = _ref62 => {
2273
+ var StopIcon = _ref61 => {
2368
2274
  var {
2369
2275
  widthHeight = 24,
2370
2276
  color = 'currentColor',
2371
2277
  filled = true,
2372
2278
  strokeWidth = 2
2373
- } = _ref62,
2374
- props = _objectWithoutPropertiesLoose(_ref62, _excluded62);
2279
+ } = _ref61,
2280
+ props = _objectWithoutPropertiesLoose(_ref61, _excluded61);
2375
2281
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2376
2282
  widthHeight: widthHeight,
2377
2283
  color: color
@@ -2389,14 +2295,14 @@ var StopIcon = _ref62 => {
2389
2295
  })));
2390
2296
  };
2391
2297
  // Send Icon (paper airplane) for chat submit
2392
- var SendIcon = _ref63 => {
2298
+ var SendIcon = _ref62 => {
2393
2299
  var {
2394
2300
  widthHeight = 24,
2395
2301
  color = 'currentColor',
2396
2302
  filled = false,
2397
2303
  strokeWidth = 2
2398
- } = _ref63,
2399
- props = _objectWithoutPropertiesLoose(_ref63, _excluded63);
2304
+ } = _ref62,
2305
+ props = _objectWithoutPropertiesLoose(_ref62, _excluded62);
2400
2306
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2401
2307
  widthHeight: widthHeight,
2402
2308
  color: color
@@ -2414,14 +2320,14 @@ var SendIcon = _ref63 => {
2414
2320
  })));
2415
2321
  };
2416
2322
  // Loading Spinner Icon for agent running indicator
2417
- var LoadingSpinnerIcon = _ref64 => {
2323
+ var LoadingSpinnerIcon = _ref63 => {
2418
2324
  var {
2419
2325
  widthHeight = 24,
2420
2326
  color = 'currentColor',
2421
2327
  filled = false,
2422
2328
  strokeWidth = 2
2423
- } = _ref64,
2424
- props = _objectWithoutPropertiesLoose(_ref64, _excluded64);
2329
+ } = _ref63,
2330
+ props = _objectWithoutPropertiesLoose(_ref63, _excluded63);
2425
2331
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2426
2332
  widthHeight: widthHeight,
2427
2333
  color: color
@@ -2472,14 +2378,14 @@ var LoadingSpinnerIcon = _ref64 => {
2472
2378
  })));
2473
2379
  };
2474
2380
  // Horizontal lines drag handle icon for Tree component
2475
- var DragHandleLinesIcon = _ref65 => {
2381
+ var DragHandleLinesIcon = _ref64 => {
2476
2382
  var {
2477
2383
  widthHeight = 16,
2478
2384
  color = 'currentColor',
2479
2385
  filled = false,
2480
2386
  strokeWidth = 1.5
2481
- } = _ref65,
2482
- props = _objectWithoutPropertiesLoose(_ref65, _excluded65);
2387
+ } = _ref64,
2388
+ props = _objectWithoutPropertiesLoose(_ref64, _excluded64);
2483
2389
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2484
2390
  widthHeight: widthHeight,
2485
2391
  color: color
@@ -2499,36 +2405,14 @@ var DragHandleLinesIcon = _ref65 => {
2499
2405
  strokeLinecap: "round"
2500
2406
  })));
2501
2407
  };
2502
- // ChevronDown Icon for dropdown menus
2503
- var ChevronDownIcon = _ref66 => {
2504
- var {
2505
- widthHeight = 24,
2506
- color = 'currentColor',
2507
- filled = true,
2508
- strokeWidth = 1
2509
- } = _ref66,
2510
- props = _objectWithoutPropertiesLoose(_ref66, _excluded66);
2511
- return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2512
- widthHeight: widthHeight,
2513
- color: color
2514
- }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
2515
- viewBox: "0 0 24 24",
2516
- "aria-hidden": "false",
2517
- focusable: "false"
2518
- }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
2519
- d: "M16.59 8.59L12 13.17L7.41 8.59L6 10L12 16L18 10L16.59 8.59Z",
2520
- fill: "currentColor"
2521
- })));
2522
- };
2523
- // ChevronRight Icon for submenu indicators
2524
- var ChevronRightIcon = _ref67 => {
2408
+ var CloseEyeIcon = _ref65 => {
2525
2409
  var {
2526
2410
  widthHeight = 24,
2527
2411
  color = 'currentColor',
2528
2412
  filled = true,
2529
2413
  strokeWidth = 1
2530
- } = _ref67,
2531
- props = _objectWithoutPropertiesLoose(_ref67, _excluded67);
2414
+ } = _ref65,
2415
+ props = _objectWithoutPropertiesLoose(_ref65, _excluded65);
2532
2416
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2533
2417
  widthHeight: widthHeight,
2534
2418
  color: color
@@ -2537,39 +2421,40 @@ var ChevronRightIcon = _ref67 => {
2537
2421
  "aria-hidden": "false",
2538
2422
  focusable: "false"
2539
2423
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
2540
- d: "M8.59 16.59L13.17 12L8.59 7.41L10 6L16 12L10 18L8.59 16.59Z",
2424
+ d: "M19.7071 5.70711C20.0976 5.31658 20.0976 4.68342 19.7071 4.29289C19.3166 3.90237 18.6834 3.90237 18.2929 4.29289L14.032 8.55382C13.4365 8.20193 12.7418 8 12 8C9.79086 8 8 9.79086 8 12C8 12.7418 8.20193 13.4365 8.55382 14.032L4.29289 18.2929C3.90237 18.6834 3.90237 19.3166 4.29289 19.7071C4.68342 20.0976 5.31658 20.0976 5.70711 19.7071L9.96803 15.4462C10.5635 15.7981 11.2582 16 12 16C14.2091 16 16 14.2091 16 12C16 11.2582 15.7981 10.5635 15.4462 9.96803L19.7071 5.70711ZM12.518 10.0677C12.3528 10.0236 12.1792 10 12 10C10.8954 10 10 10.8954 10 12C10 12.1792 10.0236 12.3528 10.0677 12.518L12.518 10.0677ZM11.482 13.9323L13.9323 11.482C13.9764 11.6472 14 11.8208 14 12C14 13.1046 13.1046 14 12 14C11.8208 14 11.6472 13.9764 11.482 13.9323ZM15.7651 4.8207C14.6287 4.32049 13.3675 4 12 4C9.14754 4 6.75717 5.39462 4.99812 6.90595C3.23268 8.42276 2.00757 10.1376 1.46387 10.9698C1.05306 11.5985 1.05306 12.4015 1.46387 13.0302C1.92276 13.7326 2.86706 15.0637 4.21194 16.3739L5.62626 14.9596C4.4555 13.8229 3.61144 12.6531 3.18002 12C3.6904 11.2274 4.77832 9.73158 6.30147 8.42294C7.87402 7.07185 9.81574 6 12 6C12.7719 6 13.5135 6.13385 14.2193 6.36658L15.7651 4.8207ZM12 18C11.2282 18 10.4866 17.8661 9.78083 17.6334L8.23496 19.1793C9.37136 19.6795 10.6326 20 12 20C14.8525 20 17.2429 18.6054 19.002 17.0941C20.7674 15.5772 21.9925 13.8624 22.5362 13.0302C22.947 12.4015 22.947 11.5985 22.5362 10.9698C22.0773 10.2674 21.133 8.93627 19.7881 7.62611L18.3738 9.04043C19.5446 10.1771 20.3887 11.3469 20.8201 12C20.3097 12.7726 19.2218 14.2684 17.6986 15.5771C16.1261 16.9282 14.1843 18 12 18Z",
2541
2425
  fill: "currentColor"
2542
2426
  })));
2543
2427
  };
2544
- var CloseEyeIcon = _ref68 => {
2428
+ var TrashIcon = DeleteIcon;
2429
+ var AttachmentIcon = _ref66 => {
2545
2430
  var {
2546
2431
  widthHeight = 24,
2547
2432
  color = 'currentColor',
2548
2433
  filled = true,
2549
2434
  strokeWidth = 1
2550
- } = _ref68,
2551
- props = _objectWithoutPropertiesLoose(_ref68, _excluded68);
2435
+ } = _ref66,
2436
+ props = _objectWithoutPropertiesLoose(_ref66, _excluded66);
2552
2437
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2553
2438
  widthHeight: widthHeight,
2554
2439
  color: color
2555
2440
  }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
2556
- viewBox: "0 0 24 24",
2557
- "aria-hidden": "false",
2558
- focusable: "false"
2441
+ width: widthHeight,
2442
+ height: widthHeight,
2443
+ viewBox: "0 0 24 24"
2559
2444
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
2560
- d: "M19.7071 5.70711C20.0976 5.31658 20.0976 4.68342 19.7071 4.29289C19.3166 3.90237 18.6834 3.90237 18.2929 4.29289L14.032 8.55382C13.4365 8.20193 12.7418 8 12 8C9.79086 8 8 9.79086 8 12C8 12.7418 8.20193 13.4365 8.55382 14.032L4.29289 18.2929C3.90237 18.6834 3.90237 19.3166 4.29289 19.7071C4.68342 20.0976 5.31658 20.0976 5.70711 19.7071L9.96803 15.4462C10.5635 15.7981 11.2582 16 12 16C14.2091 16 16 14.2091 16 12C16 11.2582 15.7981 10.5635 15.4462 9.96803L19.7071 5.70711ZM12.518 10.0677C12.3528 10.0236 12.1792 10 12 10C10.8954 10 10 10.8954 10 12C10 12.1792 10.0236 12.3528 10.0677 12.518L12.518 10.0677ZM11.482 13.9323L13.9323 11.482C13.9764 11.6472 14 11.8208 14 12C14 13.1046 13.1046 14 12 14C11.8208 14 11.6472 13.9764 11.482 13.9323ZM15.7651 4.8207C14.6287 4.32049 13.3675 4 12 4C9.14754 4 6.75717 5.39462 4.99812 6.90595C3.23268 8.42276 2.00757 10.1376 1.46387 10.9698C1.05306 11.5985 1.05306 12.4015 1.46387 13.0302C1.92276 13.7326 2.86706 15.0637 4.21194 16.3739L5.62626 14.9596C4.4555 13.8229 3.61144 12.6531 3.18002 12C3.6904 11.2274 4.77832 9.73158 6.30147 8.42294C7.87402 7.07185 9.81574 6 12 6C12.7719 6 13.5135 6.13385 14.2193 6.36658L15.7651 4.8207ZM12 18C11.2282 18 10.4866 17.8661 9.78083 17.6334L8.23496 19.1793C9.37136 19.6795 10.6326 20 12 20C14.8525 20 17.2429 18.6054 19.002 17.0941C20.7674 15.5772 21.9925 13.8624 22.5362 13.0302C22.947 12.4015 22.947 11.5985 22.5362 10.9698C22.0773 10.2674 21.133 8.93627 19.7881 7.62611L18.3738 9.04043C19.5446 10.1771 20.3887 11.3469 20.8201 12C20.3097 12.7726 19.2218 14.2684 17.6986 15.5771C16.1261 16.9282 14.1843 18 12 18Z",
2561
- fill: "currentColor"
2562
- })));
2445
+ // fillRule="evenodd"
2446
+ // clipRule="evenodd"
2447
+ d: "M3.70104 5.15932C3.0938 3.61775 3.85122 1.8758 5.39278 1.26856L5.56558 1.2005C7.10714 0.593259 8.84909 1.35068 9.45633 2.89225L13.071 12.0685C13.4252 12.9677 12.9833 13.9839 12.0841 14.3381L11.9977 14.3721C11.0985 14.7264 10.0823 14.2845 9.72809 13.3853L7.81051 8.5172C7.7093 8.26027 7.83554 7.96995 8.09247 7.86874C8.34939 7.76753 8.63972 7.89377 8.74092 8.1507L10.6585 13.0188C10.8103 13.4042 11.2458 13.5935 11.6312 13.4417L11.7176 13.4077C12.103 13.2559 12.2923 12.8204 12.1405 12.435L8.52592 3.25875C8.12109 2.23104 6.95979 1.72609 5.93208 2.13092L5.75929 2.19898C4.73158 2.60381 4.22663 3.76511 4.63145 4.79282L8.99282 15.8648C9.65066 17.5348 11.5378 18.3554 13.2078 17.6975L13.467 17.5954C15.137 16.9376 15.9576 15.0505 15.2997 13.3804L12.6354 6.61663C12.5342 6.3597 12.6604 6.06938 12.9173 5.96817C13.1743 5.86696 13.4646 5.9932 13.5658 6.25013L16.2301 13.0139C17.0904 15.1978 16.0174 17.6656 13.8335 18.5258L13.5743 18.6279C11.3904 19.4882 8.92266 18.4152 8.0624 16.2313L3.70104 5.15932Z"
2448
+ }), ' '));
2563
2449
  };
2564
- var TrashIcon = DeleteIcon;
2565
- var ExternalLinkIcon = _ref69 => {
2450
+ var ExternalLinkIcon = _ref67 => {
2566
2451
  var {
2567
2452
  widthHeight = 24,
2568
2453
  color = 'currentColor',
2569
2454
  filled = true,
2570
2455
  strokeWidth = 1
2571
- } = _ref69,
2572
- props = _objectWithoutPropertiesLoose(_ref69, _excluded69);
2456
+ } = _ref67,
2457
+ props = _objectWithoutPropertiesLoose(_ref67, _excluded67);
2573
2458
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2574
2459
  widthHeight: widthHeight,
2575
2460
  color: color
@@ -2581,14 +2466,14 @@ var ExternalLinkIcon = _ref69 => {
2581
2466
  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"
2582
2467
  })));
2583
2468
  };
2584
- var PlusIcon = _ref70 => {
2469
+ var PlusIcon = _ref68 => {
2585
2470
  var {
2586
2471
  widthHeight = 24,
2587
2472
  color = 'currentColor',
2588
2473
  filled = false,
2589
2474
  strokeWidth = 1
2590
- } = _ref70,
2591
- props = _objectWithoutPropertiesLoose(_ref70, _excluded70);
2475
+ } = _ref68,
2476
+ props = _objectWithoutPropertiesLoose(_ref68, _excluded68);
2592
2477
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2593
2478
  widthHeight: widthHeight,
2594
2479
  color: color
@@ -2610,14 +2495,14 @@ var PlusIcon = _ref70 => {
2610
2495
  y2: "12"
2611
2496
  })));
2612
2497
  };
2613
- var TickIcon = _ref71 => {
2498
+ var TickIcon = _ref69 => {
2614
2499
  var {
2615
2500
  widthHeight = 24,
2616
2501
  color = 'currentColor',
2617
2502
  filled = false,
2618
2503
  strokeWidth = 1
2619
- } = _ref71,
2620
- props = _objectWithoutPropertiesLoose(_ref71, _excluded71);
2504
+ } = _ref69,
2505
+ props = _objectWithoutPropertiesLoose(_ref69, _excluded69);
2621
2506
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2622
2507
  widthHeight: widthHeight,
2623
2508
  color: color
@@ -2631,14 +2516,14 @@ var TickIcon = _ref71 => {
2631
2516
  strokeLinejoin: "round"
2632
2517
  })));
2633
2518
  };
2634
- var BoldArrowIcon = _ref72 => {
2519
+ var BoldArrowIcon = _ref70 => {
2635
2520
  var {
2636
2521
  widthHeight = 24,
2637
2522
  color = 'currentColor',
2638
2523
  filled = true,
2639
2524
  strokeWidth = 1
2640
- } = _ref72,
2641
- props = _objectWithoutPropertiesLoose(_ref72, _excluded72);
2525
+ } = _ref70,
2526
+ props = _objectWithoutPropertiesLoose(_ref70, _excluded70);
2642
2527
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2643
2528
  widthHeight: widthHeight,
2644
2529
  color: color
@@ -2650,14 +2535,14 @@ var BoldArrowIcon = _ref72 => {
2650
2535
  d: "M12 4l7 7h-4v7h-6v-7H5l7-7z"
2651
2536
  })));
2652
2537
  };
2653
- var ArrowIcon = _ref73 => {
2538
+ var ArrowIcon = _ref71 => {
2654
2539
  var {
2655
2540
  widthHeight = 24,
2656
2541
  color = 'currentColor',
2657
2542
  filled = false,
2658
2543
  strokeWidth = 1
2659
- } = _ref73,
2660
- props = _objectWithoutPropertiesLoose(_ref73, _excluded73);
2544
+ } = _ref71,
2545
+ props = _objectWithoutPropertiesLoose(_ref71, _excluded71);
2661
2546
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2662
2547
  widthHeight: widthHeight,
2663
2548
  color: color
@@ -2675,14 +2560,14 @@ var ArrowIcon = _ref73 => {
2675
2560
  points: "6 12 12 6 18 12"
2676
2561
  })));
2677
2562
  };
2678
- var SpinnerIcon = _ref74 => {
2563
+ var SpinnerIcon = _ref72 => {
2679
2564
  var {
2680
2565
  widthHeight = 24,
2681
2566
  color = 'currentColor',
2682
2567
  filled = false,
2683
2568
  strokeWidth = 1
2684
- } = _ref74,
2685
- props = _objectWithoutPropertiesLoose(_ref74, _excluded74);
2569
+ } = _ref72,
2570
+ props = _objectWithoutPropertiesLoose(_ref72, _excluded72);
2686
2571
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2687
2572
  widthHeight: widthHeight,
2688
2573
  color: color
@@ -2700,14 +2585,14 @@ var SpinnerIcon = _ref74 => {
2700
2585
  strokeOpacity: "1"
2701
2586
  })));
2702
2587
  };
2703
- var CalendarIcon = _ref75 => {
2588
+ var CalendarIcon = _ref73 => {
2704
2589
  var {
2705
2590
  widthHeight = 24,
2706
2591
  color = 'currentColor',
2707
2592
  strokeWidth = 1,
2708
2593
  filled = false
2709
- } = _ref75,
2710
- props = _objectWithoutPropertiesLoose(_ref75, _excluded75);
2594
+ } = _ref73,
2595
+ props = _objectWithoutPropertiesLoose(_ref73, _excluded73);
2711
2596
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2712
2597
  widthHeight: widthHeight,
2713
2598
  color: color
@@ -2742,14 +2627,14 @@ var CalendarIcon = _ref75 => {
2742
2627
  y2: "10"
2743
2628
  })));
2744
2629
  };
2745
- var SliderIcon = _ref76 => {
2630
+ var SliderIcon = _ref74 => {
2746
2631
  var {
2747
2632
  widthHeight = 24,
2748
2633
  color = 'currentColor',
2749
2634
  strokeWidth = 1,
2750
2635
  filled = false
2751
- } = _ref76,
2752
- props = _objectWithoutPropertiesLoose(_ref76, _excluded76);
2636
+ } = _ref74,
2637
+ props = _objectWithoutPropertiesLoose(_ref74, _excluded74);
2753
2638
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2754
2639
  widthHeight: widthHeight,
2755
2640
  color: color
@@ -2777,16 +2662,6 @@ var SliderIcon = _ref76 => {
2777
2662
  y1: "12",
2778
2663
  x2: "21",
2779
2664
  y2: "12"
2780
- }), /*#__PURE__*/React.createElement("line", {
2781
- x1: "3",
2782
- y1: "20",
2783
- x2: "8",
2784
- y2: "20"
2785
- }), /*#__PURE__*/React.createElement("line", {
2786
- x1: "12",
2787
- y1: "20",
2788
- x2: "21",
2789
- y2: "20"
2790
2665
  }), /*#__PURE__*/React.createElement("line", {
2791
2666
  x1: "10",
2792
2667
  y1: "1",
@@ -2797,21 +2672,16 @@ var SliderIcon = _ref76 => {
2797
2672
  y1: "9",
2798
2673
  x2: "16",
2799
2674
  y2: "15"
2800
- }), /*#__PURE__*/React.createElement("line", {
2801
- x1: "8",
2802
- y1: "17",
2803
- x2: "8",
2804
- y2: "23"
2805
2675
  })));
2806
2676
  };
2807
- var CropIcon = _ref77 => {
2677
+ var CropIcon = _ref75 => {
2808
2678
  var {
2809
2679
  widthHeight = 24,
2810
2680
  color = 'currentColor',
2811
2681
  strokeWidth = 1,
2812
2682
  filled = false
2813
- } = _ref77,
2814
- props = _objectWithoutPropertiesLoose(_ref77, _excluded77);
2683
+ } = _ref75,
2684
+ props = _objectWithoutPropertiesLoose(_ref75, _excluded75);
2815
2685
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2816
2686
  widthHeight: widthHeight,
2817
2687
  color: color
@@ -2825,14 +2695,14 @@ var CropIcon = _ref77 => {
2825
2695
  d: "M18 22V8a2 2 0 0 0-2-2H2"
2826
2696
  })));
2827
2697
  };
2828
- var ZoomInIcon = _ref78 => {
2698
+ var ZoomInIcon = _ref76 => {
2829
2699
  var {
2830
2700
  widthHeight = 24,
2831
2701
  color = 'currentColor',
2832
2702
  strokeWidth = 1,
2833
2703
  filled = false
2834
- } = _ref78,
2835
- props = _objectWithoutPropertiesLoose(_ref78, _excluded78);
2704
+ } = _ref76,
2705
+ props = _objectWithoutPropertiesLoose(_ref76, _excluded76);
2836
2706
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2837
2707
  widthHeight: widthHeight,
2838
2708
  color: color
@@ -2861,14 +2731,14 @@ var ZoomInIcon = _ref78 => {
2861
2731
  y2: "11"
2862
2732
  })));
2863
2733
  };
2864
- var ZoomOutIcon = _ref79 => {
2734
+ var ZoomOutIcon = _ref77 => {
2865
2735
  var {
2866
2736
  widthHeight = 24,
2867
2737
  color = 'currentColor',
2868
2738
  strokeWidth = 1,
2869
2739
  filled = false
2870
- } = _ref79,
2871
- props = _objectWithoutPropertiesLoose(_ref79, _excluded79);
2740
+ } = _ref77,
2741
+ props = _objectWithoutPropertiesLoose(_ref77, _excluded77);
2872
2742
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2873
2743
  widthHeight: widthHeight,
2874
2744
  color: color
@@ -2892,14 +2762,14 @@ var ZoomOutIcon = _ref79 => {
2892
2762
  y2: "11"
2893
2763
  })));
2894
2764
  };
2895
- var TextIcon = _ref80 => {
2765
+ var TextIcon = _ref78 => {
2896
2766
  var {
2897
2767
  widthHeight = 24,
2898
2768
  color = 'currentColor',
2899
2769
  strokeWidth = 1,
2900
2770
  filled = false
2901
- } = _ref80,
2902
- props = _objectWithoutPropertiesLoose(_ref80, _excluded80);
2771
+ } = _ref78,
2772
+ props = _objectWithoutPropertiesLoose(_ref78, _excluded78);
2903
2773
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2904
2774
  widthHeight: widthHeight,
2905
2775
  color: color
@@ -2924,14 +2794,14 @@ var TextIcon = _ref80 => {
2924
2794
  y2: "18"
2925
2795
  })));
2926
2796
  };
2927
- var ShapeIcon = _ref81 => {
2797
+ var ShapeIcon = _ref79 => {
2928
2798
  var {
2929
2799
  widthHeight = 24,
2930
2800
  color = 'currentColor',
2931
2801
  strokeWidth = 1,
2932
2802
  filled = false
2933
- } = _ref81,
2934
- props = _objectWithoutPropertiesLoose(_ref81, _excluded81);
2803
+ } = _ref79,
2804
+ props = _objectWithoutPropertiesLoose(_ref79, _excluded79);
2935
2805
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2936
2806
  widthHeight: widthHeight,
2937
2807
  color: color
@@ -2952,14 +2822,14 @@ var ShapeIcon = _ref81 => {
2952
2822
  points: "16,4 19,8 13,8"
2953
2823
  })));
2954
2824
  };
2955
- var RotateIcon = _ref82 => {
2825
+ var RotateIcon = _ref80 => {
2956
2826
  var {
2957
2827
  widthHeight = 24,
2958
2828
  color = 'currentColor',
2959
2829
  strokeWidth = 1,
2960
2830
  filled = false
2961
- } = _ref82,
2962
- props = _objectWithoutPropertiesLoose(_ref82, _excluded82);
2831
+ } = _ref80,
2832
+ props = _objectWithoutPropertiesLoose(_ref80, _excluded80);
2963
2833
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2964
2834
  widthHeight: widthHeight,
2965
2835
  color: color
@@ -2973,14 +2843,14 @@ var RotateIcon = _ref82 => {
2973
2843
  d: "M3.51 15a9 9 0 1 0 2.13-9.36L1 10"
2974
2844
  })));
2975
2845
  };
2976
- var DocumentIcon = _ref83 => {
2846
+ var DocumentIcon = _ref81 => {
2977
2847
  var {
2978
2848
  widthHeight = 24,
2979
2849
  color = 'currentColor',
2980
2850
  strokeWidth = 1,
2981
2851
  filled = false
2982
- } = _ref83,
2983
- props = _objectWithoutPropertiesLoose(_ref83, _excluded83);
2852
+ } = _ref81,
2853
+ props = _objectWithoutPropertiesLoose(_ref81, _excluded81);
2984
2854
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2985
2855
  widthHeight: widthHeight,
2986
2856
  color: color
@@ -3006,14 +2876,14 @@ var DocumentIcon = _ref83 => {
3006
2876
  points: "10 9 9 9 8 9"
3007
2877
  })));
3008
2878
  };
3009
- var ChartIcon = _ref84 => {
2879
+ var ChartIcon = _ref82 => {
3010
2880
  var {
3011
2881
  widthHeight = 24,
3012
2882
  color = 'currentColor',
3013
2883
  strokeWidth = 1,
3014
2884
  filled = false
3015
- } = _ref84,
3016
- props = _objectWithoutPropertiesLoose(_ref84, _excluded84);
2885
+ } = _ref82,
2886
+ props = _objectWithoutPropertiesLoose(_ref82, _excluded82);
3017
2887
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
3018
2888
  widthHeight: widthHeight,
3019
2889
  color: color
@@ -3057,14 +2927,14 @@ var ChartIcon = _ref84 => {
3057
2927
  y2: "17"
3058
2928
  })));
3059
2929
  };
3060
- var GiftIcon = _ref85 => {
2930
+ var GiftIcon = _ref83 => {
3061
2931
  var {
3062
2932
  widthHeight = 24,
3063
2933
  color = 'currentColor',
3064
2934
  strokeWidth = 1,
3065
2935
  filled = false
3066
- } = _ref85,
3067
- props = _objectWithoutPropertiesLoose(_ref85, _excluded85);
2936
+ } = _ref83,
2937
+ props = _objectWithoutPropertiesLoose(_ref83, _excluded83);
3068
2938
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
3069
2939
  widthHeight: widthHeight,
3070
2940
  color: color
@@ -3090,14 +2960,14 @@ var GiftIcon = _ref85 => {
3090
2960
  d: "M12 8c.5-2.5 4-3 5-1.5S15 10 12 8z"
3091
2961
  })));
3092
2962
  };
3093
- var ShieldIcon = _ref86 => {
2963
+ var ShieldIcon = _ref84 => {
3094
2964
  var {
3095
2965
  widthHeight = 24,
3096
2966
  color = 'currentColor',
3097
2967
  strokeWidth = 1,
3098
2968
  filled = true
3099
- } = _ref86,
3100
- props = _objectWithoutPropertiesLoose(_ref86, _excluded86);
2969
+ } = _ref84,
2970
+ props = _objectWithoutPropertiesLoose(_ref84, _excluded84);
3101
2971
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
3102
2972
  widthHeight: widthHeight,
3103
2973
  color: color
@@ -3110,14 +2980,14 @@ var ShieldIcon = _ref86 => {
3110
2980
  })));
3111
2981
  };
3112
2982
  var CheckIcon = TickIcon;
3113
- var LogoutIcon = _ref87 => {
2983
+ var LogoutIcon = _ref85 => {
3114
2984
  var {
3115
2985
  widthHeight = 24,
3116
2986
  color = 'currentColor',
3117
2987
  strokeWidth = 1,
3118
2988
  filled = false
3119
- } = _ref87,
3120
- props = _objectWithoutPropertiesLoose(_ref87, _excluded87);
2989
+ } = _ref85,
2990
+ props = _objectWithoutPropertiesLoose(_ref85, _excluded85);
3121
2991
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
3122
2992
  widthHeight: widthHeight,
3123
2993
  color: color
@@ -3133,14 +3003,14 @@ var LogoutIcon = _ref87 => {
3133
3003
  d: "M13 5v-2a1 1 0 0 0-1-1H5a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h7a1 1 0 0 0 1-1v-2"
3134
3004
  })));
3135
3005
  };
3136
- var PowerOffIcon = _ref88 => {
3006
+ var PowerOffIcon = _ref86 => {
3137
3007
  var {
3138
3008
  widthHeight = 24,
3139
3009
  color = 'currentColor',
3140
3010
  strokeWidth = 1.5,
3141
3011
  filled = false
3142
- } = _ref88,
3143
- props = _objectWithoutPropertiesLoose(_ref88, _excluded88);
3012
+ } = _ref86,
3013
+ props = _objectWithoutPropertiesLoose(_ref86, _excluded86);
3144
3014
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
3145
3015
  widthHeight: widthHeight,
3146
3016
  color: color
@@ -3199,7 +3069,6 @@ var Icon = {
3199
3069
  RefreshIcon: RefreshIcon,
3200
3070
  PrintIcon: PrintIcon,
3201
3071
  MagicWandIcon: MagicWandIcon,
3202
- SliderVerticalIcon: SliderVerticalIcon,
3203
3072
  PanelIcon: PanelIcon,
3204
3073
  FilterIcon: FilterIcon,
3205
3074
  HomeIcon: HomeIcon,
@@ -3225,10 +3094,9 @@ var Icon = {
3225
3094
  SendIcon: SendIcon,
3226
3095
  LoadingSpinnerIcon: LoadingSpinnerIcon,
3227
3096
  DragHandleLinesIcon: DragHandleLinesIcon,
3228
- ChevronDownIcon: ChevronDownIcon,
3229
- ChevronRightIcon: ChevronRightIcon,
3230
3097
  CloseEyeIcon: CloseEyeIcon,
3231
3098
  TrashIcon: TrashIcon,
3099
+ AttachmentIcon: AttachmentIcon,
3232
3100
  ExternalLinkIcon: ExternalLinkIcon,
3233
3101
  PlusIcon: PlusIcon,
3234
3102
  TickIcon: TickIcon,
@@ -6656,7 +6524,8 @@ var ContextMenuItem = _ref4 => {
6656
6524
  flexGrow: 1
6657
6525
  }, item.label), hasSubmenu && (/*#__PURE__*/React.createElement(View, Object.assign({
6658
6526
  marginLeft: 8
6659
- }, views == null ? void 0 : views.submenuIndicator), /*#__PURE__*/React.createElement(ChevronRightIcon, {
6527
+ }, views == null ? void 0 : views.submenuIndicator), /*#__PURE__*/React.createElement(ChevronIcon, {
6528
+ orientation: "right",
6660
6529
  widthHeight: 16,
6661
6530
  color: "currentColor",
6662
6531
  filled: true
@@ -12525,8 +12394,10 @@ var useUpload = _ref => {
12525
12394
  maxSize = 100 * 1024 * 1024,
12526
12395
  // 100MB default
12527
12396
  onFileSelect,
12397
+ onMultipleFileSelect,
12528
12398
  validateFile,
12529
12399
  thumbnail,
12400
+ multiple = false,
12530
12401
  onError = error => {
12531
12402
  showMessage('error', 'Error', error);
12532
12403
  }
@@ -12534,40 +12405,70 @@ var useUpload = _ref => {
12534
12405
  var fileInputRef = useRef(null);
12535
12406
  var videoRef = useRef(null);
12536
12407
  var [selectedFile, setSelectedFile] = useState(null);
12408
+ var [selectedFiles, setSelectedFiles] = useState([]);
12537
12409
  var [errorMessage, setErrorMessage] = useState(null);
12538
12410
  var [previewUrl, setPreviewUrl] = useState(null);
12539
12411
  var [thumbnailUrl, setThumbnailUrl] = useState(thumbnail || null);
12540
12412
  var handleFileChange = useCallback(event => {
12541
- var _event$target$files;
12542
- var file = (_event$target$files = event.target.files) == null ? void 0 : _event$target$files[0];
12413
+ var files = event.target.files;
12543
12414
  setErrorMessage(null);
12544
- if (!file) {
12415
+ if (!files || files.length === 0) {
12545
12416
  onError('No file selected');
12546
12417
  setErrorMessage('No file selected');
12547
12418
  return;
12548
12419
  }
12549
- if (file.size > maxSize) {
12550
- onError("File exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
12551
- setErrorMessage("File exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
12552
- return;
12553
- }
12554
- if (validateFile) {
12555
- var validationError = validateFile(file);
12556
- if (validationError) {
12557
- onError(validationError);
12558
- setErrorMessage(validationError);
12420
+ if (multiple) {
12421
+ // Handle multiple files
12422
+ var fileArray = Array.from(files);
12423
+ var validFiles = [];
12424
+ for (var file of fileArray) {
12425
+ if (file.size > maxSize) {
12426
+ onError("File " + file.name + " exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
12427
+ setErrorMessage("File " + file.name + " exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
12428
+ continue;
12429
+ }
12430
+ if (validateFile) {
12431
+ var validationError = validateFile(file);
12432
+ if (validationError) {
12433
+ onError(file.name + ": " + validationError);
12434
+ setErrorMessage(file.name + ": " + validationError);
12435
+ continue;
12436
+ }
12437
+ }
12438
+ validFiles.push(file);
12439
+ }
12440
+ if (validFiles.length > 0) {
12441
+ setSelectedFiles(validFiles);
12442
+ if (onMultipleFileSelect) {
12443
+ onMultipleFileSelect(validFiles);
12444
+ }
12445
+ }
12446
+ } else {
12447
+ // Handle single file (existing logic)
12448
+ var _file = files[0];
12449
+ if (_file.size > maxSize) {
12450
+ onError("File exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
12451
+ setErrorMessage("File exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
12559
12452
  return;
12560
12453
  }
12454
+ if (validateFile) {
12455
+ var _validationError = validateFile(_file);
12456
+ if (_validationError) {
12457
+ onError(_validationError);
12458
+ setErrorMessage(_validationError);
12459
+ return;
12460
+ }
12461
+ }
12462
+ setPreviewUrl(URL.createObjectURL(_file));
12463
+ if (_file.type.startsWith('video/')) {
12464
+ generateThumbnail(_file, setThumbnailUrl);
12465
+ }
12466
+ if (onFileSelect) {
12467
+ setSelectedFile(_file);
12468
+ onFileSelect(_file);
12469
+ }
12561
12470
  }
12562
- setPreviewUrl(URL.createObjectURL(file));
12563
- if (file.type.startsWith('video/')) {
12564
- generateThumbnail(file, setThumbnailUrl);
12565
- }
12566
- if (onFileSelect) {
12567
- setSelectedFile(file);
12568
- onFileSelect(file);
12569
- }
12570
- }, [maxSize, onFileSelect, validateFile]);
12471
+ }, [maxSize, onFileSelect, onMultipleFileSelect, validateFile, multiple]);
12571
12472
  var handleClick = () => {
12572
12473
  var _fileInputRef$current;
12573
12474
  return (_fileInputRef$current = fileInputRef.current) == null ? void 0 : _fileInputRef$current.click();
@@ -12585,6 +12486,7 @@ var useUpload = _ref => {
12585
12486
  fileInputRef,
12586
12487
  videoRef,
12587
12488
  selectedFile,
12489
+ selectedFiles,
12588
12490
  handleFileChange,
12589
12491
  handleClick
12590
12492
  };
@@ -12603,8 +12505,10 @@ var UploadView = _ref => {
12603
12505
  fileInputRef,
12604
12506
  videoRef,
12605
12507
  selectedFile,
12508
+ selectedFiles,
12606
12509
  handleFileChange,
12607
12510
  handleClick,
12511
+ multiple = false,
12608
12512
  containerProps,
12609
12513
  errorMessageProps,
12610
12514
  progressProps,
@@ -12763,13 +12667,14 @@ var UploadView = _ref => {
12763
12667
  ref: fileInputRef,
12764
12668
  onChange: handleFileChange,
12765
12669
  accept: accept,
12670
+ multiple: multiple,
12766
12671
  style: {
12767
12672
  display: 'none'
12768
12673
  }
12769
12674
  }, views == null ? void 0 : views.view)));
12770
12675
  };
12771
12676
 
12772
- var _excluded$H = ["accept", "icon", "text", "maxSize", "onFileSelect", "validateFile", "isLoading", "progress", "fileType"];
12677
+ var _excluded$H = ["accept", "icon", "text", "maxSize", "onFileSelect", "onMultipleFileSelect", "validateFile", "isLoading", "progress", "fileType", "multiple"];
12773
12678
  var Uploader = _ref => {
12774
12679
  var {
12775
12680
  accept = '*/*',
@@ -12777,10 +12682,12 @@ var Uploader = _ref => {
12777
12682
  text,
12778
12683
  maxSize,
12779
12684
  onFileSelect,
12685
+ onMultipleFileSelect,
12780
12686
  validateFile,
12781
12687
  isLoading = false,
12782
12688
  progress = 0,
12783
- fileType
12689
+ fileType,
12690
+ multiple = false
12784
12691
  } = _ref,
12785
12692
  props = _objectWithoutPropertiesLoose(_ref, _excluded$H);
12786
12693
  var {
@@ -12790,13 +12697,16 @@ var Uploader = _ref => {
12790
12697
  videoRef,
12791
12698
  fileInputRef,
12792
12699
  selectedFile,
12700
+ selectedFiles,
12793
12701
  handleFileChange,
12794
12702
  handleClick
12795
12703
  } = useUpload({
12796
12704
  accept,
12797
12705
  maxSize,
12798
12706
  onFileSelect,
12799
- validateFile
12707
+ onMultipleFileSelect,
12708
+ validateFile,
12709
+ multiple
12800
12710
  });
12801
12711
  // Determine file type based on the selected file's MIME type if not explicitly provided
12802
12712
  var determineFileType = () => {
@@ -12824,11 +12734,13 @@ var Uploader = _ref => {
12824
12734
  errorMessage: errorMessage,
12825
12735
  handleFileChange: handleFileChange,
12826
12736
  selectedFile: selectedFile,
12737
+ selectedFiles: selectedFiles,
12827
12738
  videoRef: videoRef,
12828
12739
  fileInputRef: fileInputRef,
12829
12740
  previewUrl: previewUrl,
12830
12741
  thumbnailUrl: thumbnailUrl,
12831
- fileType: detectedFileType
12742
+ fileType: detectedFileType,
12743
+ multiple: multiple
12832
12744
  }, props));
12833
12745
  };
12834
12746
 
@@ -13475,7 +13387,8 @@ var NavigationMenuTrigger = _ref4 => {
13475
13387
  }, children), /*#__PURE__*/React.createElement(View, Object.assign({
13476
13388
  transition: "transform 0.2s ease",
13477
13389
  transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)'
13478
- }, views == null ? void 0 : views.indicator), /*#__PURE__*/React.createElement(ChevronDownIcon, {
13390
+ }, views == null ? void 0 : views.indicator), /*#__PURE__*/React.createElement(ChevronIcon, {
13391
+ orientation: "down",
13479
13392
  widthHeight: 16,
13480
13393
  color: "currentColor",
13481
13394
  filled: true
@@ -15062,7 +14975,8 @@ var DropdownMenuItem = _ref4 => {
15062
14975
  flexGrow: 1
15063
14976
  }, item.label), hasSubmenu && (/*#__PURE__*/React.createElement(View, Object.assign({
15064
14977
  marginLeft: 8
15065
- }, views == null ? void 0 : views.submenuIndicator), /*#__PURE__*/React.createElement(ChevronRightIcon, {
14978
+ }, views == null ? void 0 : views.submenuIndicator), /*#__PURE__*/React.createElement(ChevronIcon, {
14979
+ orientation: "right",
15066
14980
  widthHeight: 16,
15067
14981
  color: "currentColor",
15068
14982
  filled: true
@@ -21122,6 +21036,7 @@ var useChatInputState = props => {
21122
21036
  var [pendingFiles, setPendingFiles] = useState([]);
21123
21037
  var [isUploading, setIsUploading] = useState(false);
21124
21038
  var [isDraggingOver, setIsDraggingOver] = useState(false);
21039
+ // Reference images are now tracked within uploadedFiles using isReferenceImage flag
21125
21040
  // State for model selection
21126
21041
  var [selectedModel, setSelectedModel] = useState('gpt-4');
21127
21042
  var [modelOptions] = useState([{
@@ -21179,9 +21094,17 @@ var useChatInputState = props => {
21179
21094
  return;
21180
21095
  }
21181
21096
  var message = value;
21097
+ // Separate reference images from regular files
21098
+ var referenceFiles = uploadedFiles.filter(file => file.isReferenceImage);
21099
+ var regularFiles = uploadedFiles.filter(file => !file.isReferenceImage);
21100
+ // Add reference image information to the message if reference images are uploaded
21101
+ if (referenceFiles.length > 0) {
21102
+ var referenceImageInfo = referenceFiles.map(image => "[Reference Image: " + image.path + "]").join('\n');
21103
+ message = message ? referenceImageInfo + "\n\n" + message : referenceImageInfo;
21104
+ }
21182
21105
  // Add file information to the message if files are uploaded
21183
- if (uploadedFiles.length > 0) {
21184
- var fileInfo = uploadedFiles.map(file => "[Uploaded File: " + file.path + "]").join('\n');
21106
+ if (regularFiles.length > 0) {
21107
+ var fileInfo = regularFiles.map(file => "[Uploaded File: " + file.path + "]").join('\n');
21185
21108
  message = message ? message + "\n\n" + fileInfo : fileInfo;
21186
21109
  }
21187
21110
  // Determine model and thinking mode
@@ -21200,7 +21123,7 @@ var useChatInputState = props => {
21200
21123
  if (!isControlled) {
21201
21124
  setUncontrolledValue('');
21202
21125
  }
21203
- // Clear uploaded files
21126
+ // Clear uploaded files (including reference images)
21204
21127
  setUploadedFiles([]);
21205
21128
  };
21206
21129
  // Handle removing an uploaded file
@@ -21258,6 +21181,52 @@ var useChatInputState = props => {
21258
21181
  editableRef.current.focus();
21259
21182
  }
21260
21183
  };
21184
+ // Handle reference image upload
21185
+ var handleReferenceImageUpload = files => {
21186
+ var imageFiles = files.filter(file => file.type.startsWith('image/'));
21187
+ if (imageFiles.length === 0) {
21188
+ console.error('Only image files are allowed as reference images');
21189
+ return;
21190
+ }
21191
+ // Clear existing reference images first
21192
+ var updatedFiles = uploadedFiles.map(file => Object.assign({}, file, {
21193
+ isReferenceImage: false
21194
+ }));
21195
+ // Create reference image objects (only take the first one)
21196
+ var newReferenceImage = {
21197
+ name: imageFiles[0].name,
21198
+ path: "/workspace/" + imageFiles[0].name,
21199
+ size: imageFiles[0].size,
21200
+ type: imageFiles[0].type,
21201
+ localUrl: URL.createObjectURL(imageFiles[0]),
21202
+ isReferenceImage: true
21203
+ };
21204
+ // Add to pending files
21205
+ setPendingFiles(prevFiles => [...prevFiles, imageFiles[0]]);
21206
+ // Add the reference image to uploaded files
21207
+ setUploadedFiles([...updatedFiles, newReferenceImage]);
21208
+ };
21209
+ // Remove reference image
21210
+ var removeReferenceImage = () => {
21211
+ // Clear reference image flag from all uploaded files
21212
+ var updatedFiles = uploadedFiles.map(file => Object.assign({}, file, {
21213
+ isReferenceImage: false
21214
+ }));
21215
+ setUploadedFiles(updatedFiles);
21216
+ };
21217
+ // Set an uploaded file as reference image
21218
+ var setFileAsReference = fileIndex => {
21219
+ var file = uploadedFiles[fileIndex];
21220
+ if (!file || !file.type.startsWith('image/')) {
21221
+ console.error('Only image files can be set as reference images');
21222
+ return;
21223
+ }
21224
+ // Update the files to mark only the selected one as reference image
21225
+ var updatedFiles = uploadedFiles.map((f, index) => Object.assign({}, f, {
21226
+ isReferenceImage: index === fileIndex
21227
+ }));
21228
+ setUploadedFiles(updatedFiles);
21229
+ };
21261
21230
  return {
21262
21231
  value,
21263
21232
  handleChange,
@@ -21283,7 +21252,10 @@ var useChatInputState = props => {
21283
21252
  hideGuideTip,
21284
21253
  isReferenceImageModalShown,
21285
21254
  toggleReferenceImageModal,
21286
- handlePromptExampleSelect
21255
+ handlePromptExampleSelect,
21256
+ handleReferenceImageUpload,
21257
+ removeReferenceImage,
21258
+ setFileAsReference
21287
21259
  };
21288
21260
  };
21289
21261
 
@@ -21454,6 +21426,7 @@ var AttachmentGroup = _ref => {
21454
21426
  files,
21455
21427
  sandboxId,
21456
21428
  onRemove,
21429
+ onSetAsReference,
21457
21430
  layout = 'inline',
21458
21431
  maxHeight = '120px',
21459
21432
  showPreviews = false,
@@ -21511,7 +21484,7 @@ var AttachmentGroup = _ref => {
21511
21484
  as: "span",
21512
21485
  marginLeft: "4px",
21513
21486
  color: "theme.primary"
21514
- }, "(pending)"))), /*#__PURE__*/React.createElement(View, Object.assign({
21487
+ }, "(pending)"))), onSetAsReference && file.type.startsWith('image/') && (/*#__PURE__*/React.createElement(View, Object.assign({
21515
21488
  as: "button",
21516
21489
  type: "button",
21517
21490
  width: "16px",
@@ -21520,35 +21493,28 @@ var AttachmentGroup = _ref => {
21520
21493
  alignItems: "center",
21521
21494
  justifyContent: "center",
21522
21495
  borderRadius: "50%",
21523
- backgroundColor: "transparent",
21524
- color: "color.gray.500",
21496
+ backgroundColor: file.isReferenceImage ? 'theme.primary' : 'transparent',
21497
+ color: file.isReferenceImage ? 'color.white' : 'color.gray.500',
21525
21498
  cursor: "pointer",
21526
21499
  transition: "all 0.2s ease",
21527
- onClick: () => onRemove(index),
21500
+ onClick: () => onSetAsReference(index),
21501
+ title: file.isReferenceImage ? 'Reference image' : 'Set as reference image',
21528
21502
  _hover: {
21529
- backgroundColor: 'color.gray.200',
21530
- color: 'color.gray.700'
21503
+ backgroundColor: file.isReferenceImage ? 'color.blue.600' : 'color.blue.100',
21504
+ color: file.isReferenceImage ? 'color.white' : 'theme.primary'
21531
21505
  }
21532
- }, views == null ? void 0 : views.removeButton), /*#__PURE__*/React.createElement("svg", {
21533
- width: "10",
21534
- height: "10",
21535
- viewBox: "0 0 24 24",
21536
- fill: "none",
21537
- stroke: "currentColor",
21538
- strokeWidth: "2",
21539
- strokeLinecap: "round",
21540
- strokeLinejoin: "round"
21541
- }, /*#__PURE__*/React.createElement("line", {
21542
- x1: "18",
21543
- y1: "6",
21544
- x2: "6",
21545
- y2: "18"
21546
- }), /*#__PURE__*/React.createElement("line", {
21547
- x1: "6",
21548
- y1: "6",
21549
- x2: "18",
21550
- y2: "18"
21551
- })))))));
21506
+ }, views == null ? void 0 : views.referenceButton), /*#__PURE__*/React.createElement(ImageIcon, {
21507
+ widthHeight: 20,
21508
+ color: "currentColor",
21509
+ filled: file.isReferenceImage
21510
+ }))), /*#__PURE__*/React.createElement(Button, {
21511
+ variant: "ghost",
21512
+ size: "sm",
21513
+ icon: /*#__PURE__*/React.createElement(TrashIcon, {
21514
+ widthHeight: 12
21515
+ }),
21516
+ onClick: () => onRemove(index)
21517
+ })))));
21552
21518
  };
21553
21519
 
21554
21520
  var EditableInput = /*#__PURE__*/forwardRef((_ref, ref) => {
@@ -21620,132 +21586,6 @@ var EditableInput = /*#__PURE__*/forwardRef((_ref, ref) => {
21620
21586
  });
21621
21587
  EditableInput.displayName = 'EditableInput';
21622
21588
 
21623
- /**
21624
- * Handle local files without uploading to server
21625
- */
21626
- var handleLocalFiles = (files, setPendingFiles, setUploadedFiles) => {
21627
- // Filter files that exceed size limit
21628
- var filteredFiles = files.filter(file => {
21629
- if (file.size > 50 * 1024 * 1024) {
21630
- console.error("File size exceeds 50MB limit: " + file.name);
21631
- return false;
21632
- }
21633
- return true;
21634
- });
21635
- // Add files to pending files
21636
- setPendingFiles(prevFiles => [...prevFiles, ...filteredFiles]);
21637
- // Create uploaded file objects
21638
- var newUploadedFiles = filteredFiles.map(file => ({
21639
- name: file.name,
21640
- path: "/workspace/" + file.name,
21641
- size: file.size,
21642
- type: file.type || 'application/octet-stream',
21643
- localUrl: URL.createObjectURL(file)
21644
- }));
21645
- // Add files to uploaded files
21646
- setUploadedFiles(prev => [...prev, ...newUploadedFiles]);
21647
- };
21648
- /**
21649
- * Handle files based on whether a sandboxId is available
21650
- */
21651
- var handleFiles = /*#__PURE__*/function () {
21652
- var _ref = /*#__PURE__*/_asyncToGenerator(function* (files, sandboxId, setPendingFiles, setUploadedFiles, setIsUploading) {
21653
- // If no sandboxId, just handle files locally
21654
- handleLocalFiles(files, setPendingFiles, setUploadedFiles);
21655
- });
21656
- return function handleFiles(_x, _x2, _x3, _x4, _x5) {
21657
- return _ref.apply(this, arguments);
21658
- };
21659
- }();
21660
- var FileUploadHandler = /*#__PURE__*/forwardRef((_ref2, ref) => {
21661
- var {
21662
- loading,
21663
- disabled,
21664
- isAgentRunning,
21665
- isUploading,
21666
- sandboxId,
21667
- setPendingFiles,
21668
- setUploadedFiles,
21669
- setIsUploading,
21670
- views = {}
21671
- } = _ref2;
21672
- var {
21673
- getColor
21674
- } = useTheme();
21675
- // Clean up object URLs when component unmounts
21676
- useEffect(() => {
21677
- return () => {
21678
- setUploadedFiles(prev => {
21679
- prev.forEach(file => {
21680
- if (file.localUrl) {
21681
- URL.revokeObjectURL(file.localUrl);
21682
- }
21683
- });
21684
- return prev;
21685
- });
21686
- };
21687
- }, [setUploadedFiles]);
21688
- // Handle file upload button click
21689
- var handleFileUpload = () => {
21690
- if (ref && 'current' in ref && ref.current) {
21691
- ref.current.click();
21692
- }
21693
- };
21694
- // Process file upload
21695
- var processFileUpload = /*#__PURE__*/function () {
21696
- var _ref3 = _asyncToGenerator(function* (event) {
21697
- if (!event.target.files || event.target.files.length === 0) return;
21698
- var files = Array.from(event.target.files);
21699
- // Handle files
21700
- handleFiles(files, sandboxId, setPendingFiles, setUploadedFiles, setIsUploading);
21701
- // Reset the input value
21702
- event.target.value = '';
21703
- });
21704
- return function processFileUpload(_x6) {
21705
- return _ref3.apply(this, arguments);
21706
- };
21707
- }();
21708
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button$1, Object.assign({
21709
- type: "button",
21710
- onClick: handleFileUpload,
21711
- variant: "ghost",
21712
- height: "36px",
21713
- padding: "0 12px",
21714
- borderRadius: "8px",
21715
- backgroundColor: "transparent",
21716
- color: "color.gray.500",
21717
- disabled: loading || disabled && !isAgentRunning || isUploading,
21718
- _hover: {
21719
- backgroundColor: 'color.gray.100'
21720
- }
21721
- }, views == null ? void 0 : views.button), /*#__PURE__*/React.createElement(Horizontal, {
21722
- gap: 4,
21723
- alignItems: "center"
21724
- }, isUploading ? (/*#__PURE__*/React.createElement(LoadingSpinnerIcon, Object.assign({
21725
- widthHeight: 16,
21726
- color: "currentColor",
21727
- filled: false,
21728
- style: {
21729
- animation: 'spin 1s linear infinite'
21730
- }
21731
- }, views == null ? void 0 : views.icon))) : (/*#__PURE__*/React.createElement(UploadIcon, Object.assign({
21732
- widthHeight: 16,
21733
- color: "currentColor",
21734
- filled: false
21735
- }, views == null ? void 0 : views.icon))), /*#__PURE__*/React.createElement(Text$1, Object.assign({
21736
- fontSize: "14px"
21737
- }, views == null ? void 0 : views.text), "Attachments"))), /*#__PURE__*/React.createElement("input", {
21738
- type: "file",
21739
- ref: ref,
21740
- style: {
21741
- display: 'none'
21742
- },
21743
- onChange: processFileUpload,
21744
- multiple: true
21745
- }));
21746
- });
21747
- FileUploadHandler.displayName = 'FileUploadHandler';
21748
-
21749
21589
  var PromptExamples = _ref => {
21750
21590
  var {
21751
21591
  examples,
@@ -21783,109 +21623,7 @@ var PromptExamples = _ref => {
21783
21623
  }, views == null ? void 0 : views.text), example.text)))));
21784
21624
  };
21785
21625
 
21786
- var ReferenceImageButton = _ref => {
21787
- var {
21788
- onClick,
21789
- views = {}
21790
- } = _ref;
21791
- // Using theme context for potential future styling
21792
- return /*#__PURE__*/React.createElement(View, Object.assign({
21793
- as: "button",
21794
- type: "button",
21795
- display: "flex",
21796
- alignItems: "center",
21797
- gap: 4,
21798
- padding: "6px 10px",
21799
- border: "1px solid",
21800
- borderColor: "color.gray.300",
21801
- borderRadius: "4px",
21802
- backgroundColor: "transparent",
21803
- cursor: "pointer",
21804
- transition: "all 0.2s ease",
21805
- onClick: onClick,
21806
- _hover: {
21807
- backgroundColor: 'color.gray.100'
21808
- }
21809
- }, views == null ? void 0 : views.button), /*#__PURE__*/React.createElement(Text$1, Object.assign({
21810
- fontSize: "14px",
21811
- color: "color.gray.700"
21812
- }, views == null ? void 0 : views.text), "Reference image"), /*#__PURE__*/React.createElement(ImageIcon, Object.assign({
21813
- widthHeight: 20,
21814
- color: "currentColor",
21815
- filled: false,
21816
- strokeWidth: 2
21817
- }, views == null ? void 0 : views.icon)));
21818
- };
21819
-
21820
- var ReferenceImageModal = _ref => {
21821
- var {
21822
- isOpen,
21823
- onClose,
21824
- views = {}
21825
- } = _ref;
21826
- // Using theme context for potential future styling
21827
- if (!isOpen) {
21828
- return null;
21829
- }
21830
- return /*#__PURE__*/React.createElement(View, Object.assign({
21831
- position: "absolute",
21832
- top: "0",
21833
- left: "0",
21834
- width: "100%",
21835
- height: isOpen ? '300px' : '0',
21836
- backgroundColor: "color.white",
21837
- borderRadius: "8px",
21838
- boxShadow: "0 4px 12px rgba(0, 0, 0, 0.1)",
21839
- overflow: "hidden",
21840
- transition: "height 0.3s ease",
21841
- zIndex: "10"
21842
- }, views == null ? void 0 : views.container), /*#__PURE__*/React.createElement(View, Object.assign({
21843
- padding: "16px",
21844
- width: "100%",
21845
- height: "100%"
21846
- }, views == null ? void 0 : views.content), /*#__PURE__*/React.createElement(Text$1, {
21847
- fontSize: "16px",
21848
- fontWeight: "600",
21849
- marginBottom: "16px"
21850
- }, "Reference Image"), /*#__PURE__*/React.createElement(View, Object.assign({
21851
- as: "button",
21852
- type: "button",
21853
- position: "absolute",
21854
- top: "8px",
21855
- right: "8px",
21856
- width: "24px",
21857
- height: "24px",
21858
- display: "flex",
21859
- alignItems: "center",
21860
- justifyContent: "center",
21861
- borderRadius: "50%",
21862
- backgroundColor: "transparent",
21863
- border: "none",
21864
- cursor: "pointer",
21865
- transition: "all 0.2s ease",
21866
- onClick: onClose,
21867
- _hover: {
21868
- backgroundColor: 'color.gray.100'
21869
- }
21870
- }, views == null ? void 0 : views.closeButton), /*#__PURE__*/React.createElement(CloseIcon, {
21871
- widthHeight: 16,
21872
- color: "currentColor",
21873
- filled: false,
21874
- strokeWidth: 2
21875
- })), /*#__PURE__*/React.createElement(View, {
21876
- width: "100%",
21877
- height: "calc(100% - 40px)",
21878
- backgroundColor: "color.gray.100",
21879
- borderRadius: "4px",
21880
- display: "flex",
21881
- alignItems: "center",
21882
- justifyContent: "center"
21883
- }, /*#__PURE__*/React.createElement(Text$1, {
21884
- color: "color.gray.500"
21885
- }, "Drop an image here or click to upload"))));
21886
- };
21887
-
21888
- var _excluded$18 = ["onSubmit", "placeholder", "loading", "disabled", "isAgentRunning", "onStopAgent", "autoFocus", "sandboxId", "hideAttachments", "promptExamples", "showReferenceImageButton", "errorMessage", "size", "shape", "variant", "views", "value", "handleChange", "handleSubmit", "editableRef", "fileInputRef", "isUploading", "isDraggingOver", "uploadedFiles", "removeUploadedFile", "setPendingFiles", "setUploadedFiles", "setIsUploading", "selectedModel", "handleModelChange", "modelOptions", "subscriptionStatus", "canAccessModel", "isGuideTipShown", "hideGuideTip", "isReferenceImageModalShown", "toggleReferenceImageModal", "handlePromptExampleSelect"];
21626
+ var _excluded$18 = ["onSubmit", "placeholder", "loading", "disabled", "isAgentRunning", "onStopAgent", "loadingText", "autoFocus", "sandboxId", "hideAttachments", "attachmentText", "promptExamples", "showReferenceImageButton", "errorMessage", "size", "shape", "variant", "views", "value", "handleChange", "handleSubmit", "editableRef", "fileInputRef", "isUploading", "isDraggingOver", "uploadedFiles", "removeUploadedFile", "setPendingFiles", "setUploadedFiles", "setIsUploading", "selectedModel", "handleModelChange", "modelOptions", "subscriptionStatus", "canAccessModel", "isGuideTipShown", "hideGuideTip", "isReferenceImageModalShown", "toggleReferenceImageModal", "handlePromptExampleSelect", "handleDragOver", "handleDragLeave", "handleReferenceImageUpload", "removeReferenceImage", "setFileAsReference"];
21889
21627
  var ChatInputView = _ref => {
21890
21628
  var _value$trim$length;
21891
21629
  var {
@@ -21894,9 +21632,11 @@ var ChatInputView = _ref => {
21894
21632
  loading = false,
21895
21633
  disabled = false,
21896
21634
  isAgentRunning = false,
21635
+ loadingText = 'Agent is working...',
21897
21636
  autoFocus = true,
21898
21637
  sandboxId,
21899
21638
  hideAttachments = false,
21639
+ attachmentText = '',
21900
21640
  promptExamples = [],
21901
21641
  showReferenceImageButton = false,
21902
21642
  errorMessage,
@@ -21909,17 +21649,18 @@ var ChatInputView = _ref => {
21909
21649
  handleChange,
21910
21650
  handleSubmit,
21911
21651
  editableRef,
21912
- fileInputRef,
21913
21652
  isUploading,
21914
21653
  isDraggingOver,
21915
21654
  uploadedFiles,
21916
21655
  removeUploadedFile,
21917
21656
  setPendingFiles,
21918
21657
  setUploadedFiles,
21919
- setIsUploading,
21920
21658
  isReferenceImageModalShown,
21921
- toggleReferenceImageModal,
21922
- handlePromptExampleSelect
21659
+ handlePromptExampleSelect,
21660
+ handleDragOver,
21661
+ handleDragLeave,
21662
+ handleReferenceImageUpload,
21663
+ setFileAsReference
21923
21664
  // Other props
21924
21665
  } = _ref,
21925
21666
  props = _objectWithoutPropertiesLoose(_ref, _excluded$18);
@@ -21929,39 +21670,55 @@ var ChatInputView = _ref => {
21929
21670
  var contentStyles = Object.assign({}, DefaultChatInputStyles.content, Sizes$1[size], Variants[variant], views == null ? void 0 : views.content);
21930
21671
  // Determine if the submit button should be enabled
21931
21672
  var hasText = ((_value$trim$length = value == null ? void 0 : value.trim().length) != null ? _value$trim$length : 0) > 0 || uploadedFiles.length > 0;
21673
+ // Handle multiple file uploads for the Uploader component
21674
+ var handleMultipleFileUpload = files => {
21675
+ // Filter files that exceed size limit (50MB)
21676
+ var filteredFiles = files.filter(file => {
21677
+ if (file.size > 50 * 1024 * 1024) {
21678
+ console.error("File size exceeds 50MB limit: " + file.name);
21679
+ return false;
21680
+ }
21681
+ return true;
21682
+ });
21683
+ if (filteredFiles.length > 0) {
21684
+ // Add files to pending files
21685
+ setPendingFiles(prevFiles => [...prevFiles, ...filteredFiles]);
21686
+ // Create uploaded file objects
21687
+ var newUploadedFiles = filteredFiles.map(file => ({
21688
+ name: file.name,
21689
+ path: "/workspace/" + file.name,
21690
+ size: file.size,
21691
+ type: file.type || 'application/octet-stream',
21692
+ localUrl: URL.createObjectURL(file),
21693
+ isReferenceImage: false
21694
+ }));
21695
+ // Add files to uploaded files
21696
+ setUploadedFiles(prev => [...prev, ...newUploadedFiles]);
21697
+ }
21698
+ };
21932
21699
  return /*#__PURE__*/React.createElement(View, Object.assign({
21933
21700
  display: "flex",
21934
21701
  flexDirection: "column",
21935
21702
  // Width and maxWidth will come from containerStyles
21936
21703
  boxSizing: "border-box"
21937
21704
  }, containerStyles, props, {
21938
- onDragOver: e => {
21939
- e.preventDefault();
21940
- e.stopPropagation();
21941
- if (fileInputRef.current) {
21942
- props.handleDragOver == null || props.handleDragOver(e);
21943
- }
21944
- },
21945
- onDragLeave: e => {
21946
- e.preventDefault();
21947
- e.stopPropagation();
21948
- props.handleDragLeave == null || props.handleDragLeave(e);
21949
- },
21705
+ onDragOver: handleDragOver,
21706
+ onDragLeave: handleDragLeave,
21950
21707
  onDrop: e => {
21951
21708
  e.preventDefault();
21952
21709
  e.stopPropagation();
21953
- props.handleDragLeave == null || props.handleDragLeave(e);
21954
- if (fileInputRef.current && e.dataTransfer.files.length > 0) {
21710
+ handleDragLeave(e);
21711
+ if (e.dataTransfer.files.length > 0) {
21955
21712
  var files = Array.from(e.dataTransfer.files);
21956
- setPendingFiles(prevFiles => [...prevFiles, ...files]);
21957
- var newUploadedFiles = files.map(file => ({
21958
- name: file.name,
21959
- path: "/workspace/" + file.name,
21960
- size: file.size,
21961
- type: file.type || 'application/octet-stream',
21962
- localUrl: URL.createObjectURL(file)
21963
- }));
21964
- setUploadedFiles(prev => [...prev, ...newUploadedFiles]);
21713
+ // Separate image files from other files
21714
+ var imageFiles = files.filter(file => file.type.startsWith('image/'));
21715
+ // Handle image files as reference images if reference image modal is open
21716
+ if (isReferenceImageModalShown && imageFiles.length > 0) {
21717
+ handleReferenceImageUpload(imageFiles);
21718
+ } else {
21719
+ // Use the same file handling logic as the Uploader component
21720
+ handleMultipleFileUpload(files);
21721
+ }
21965
21722
  }
21966
21723
  }
21967
21724
  }), promptExamples.length > 0 && (/*#__PURE__*/React.createElement(PromptExamples, {
@@ -21971,24 +21728,36 @@ var ChatInputView = _ref => {
21971
21728
  container: views == null ? void 0 : views.promptExamples,
21972
21729
  item: views == null ? void 0 : views.promptExampleItem
21973
21730
  }
21974
- })), /*#__PURE__*/React.createElement(Horizontal, Object.assign({
21975
- justifyContent: "space-between",
21976
- alignItems: "center"
21977
- }, views == null ? void 0 : views.header), showReferenceImageButton && (/*#__PURE__*/React.createElement(ReferenceImageButton, {
21978
- onClick: toggleReferenceImageModal,
21979
- views: {
21980
- button: views == null ? void 0 : views.referenceImageButton
21731
+ })), isAgentRunning && (/*#__PURE__*/React.createElement(Horizontal, Object.assign({
21732
+ justifyContent: "center",
21733
+ alignItems: "center",
21734
+ gap: 8,
21735
+ padding: "8px 0",
21736
+ animate: {
21737
+ from: {
21738
+ opacity: 0,
21739
+ y: -10
21740
+ },
21741
+ to: {
21742
+ opacity: 1,
21743
+ y: 0
21744
+ },
21745
+ duration: '0.3s'
21981
21746
  }
21982
- }))), /*#__PURE__*/React.createElement(View, {
21747
+ }, views == null ? void 0 : views.loadingIndicator), /*#__PURE__*/React.createElement(LoadingSpinnerIcon, {
21748
+ widthHeight: 12,
21749
+ color: "currentColor",
21750
+ filled: false,
21751
+ style: {
21752
+ animation: 'spin 1s linear infinite'
21753
+ }
21754
+ }), /*#__PURE__*/React.createElement(Text$1, {
21755
+ fontSize: "12px",
21756
+ color: "color.gray.500"
21757
+ }, loadingText))), /*#__PURE__*/React.createElement(View, {
21983
21758
  position: "relative",
21984
21759
  width: "100%"
21985
- }, /*#__PURE__*/React.createElement(ReferenceImageModal, {
21986
- isOpen: isReferenceImageModalShown,
21987
- onClose: toggleReferenceImageModal,
21988
- views: {
21989
- container: views == null ? void 0 : views.referenceImageModal
21990
- }
21991
- }), /*#__PURE__*/React.createElement(View, Object.assign({
21760
+ }, /*#__PURE__*/React.createElement(View, Object.assign({
21992
21761
  as: "form",
21993
21762
  onSubmit: handleSubmit,
21994
21763
  overflowY: "auto",
@@ -22002,12 +21771,14 @@ var ChatInputView = _ref => {
22002
21771
  files: uploadedFiles,
22003
21772
  sandboxId: sandboxId,
22004
21773
  onRemove: removeUploadedFile,
21774
+ onSetAsReference: setFileAsReference,
22005
21775
  views: {
22006
21776
  container: views == null ? void 0 : views.attachments,
22007
21777
  item: views == null ? void 0 : views.attachmentItem,
22008
21778
  name: views == null ? void 0 : views.attachmentName,
22009
21779
  size: views == null ? void 0 : views.attachmentSize,
22010
- removeButton: views == null ? void 0 : views.attachmentRemove
21780
+ removeButton: views == null ? void 0 : views.attachmentRemove,
21781
+ referenceButton: views == null ? void 0 : views.referenceButton
22011
21782
  }
22012
21783
  }), /*#__PURE__*/React.createElement(EditableInput, {
22013
21784
  ref: editableRef,
@@ -22028,18 +21799,46 @@ var ChatInputView = _ref => {
22028
21799
  }, /*#__PURE__*/React.createElement(Horizontal, {
22029
21800
  gap: 8,
22030
21801
  alignItems: "center"
22031
- }, !hideAttachments && (/*#__PURE__*/React.createElement(FileUploadHandler, {
22032
- ref: fileInputRef,
22033
- loading: loading,
22034
- disabled: disabled,
22035
- isAgentRunning: isAgentRunning,
22036
- isUploading: isUploading,
22037
- sandboxId: sandboxId,
22038
- setPendingFiles: setPendingFiles,
22039
- setUploadedFiles: setUploadedFiles,
22040
- setIsUploading: setIsUploading,
21802
+ }, !hideAttachments && (/*#__PURE__*/React.createElement(Uploader, {
21803
+ accept: "*/*",
21804
+ icon: /*#__PURE__*/React.createElement(AttachmentIcon, {
21805
+ widthHeight: 16
21806
+ }),
21807
+ maxSize: 50 * 1024 * 1024,
21808
+ multiple: true,
21809
+ onMultipleFileSelect: handleMultipleFileUpload,
21810
+ isLoading: isUploading,
21811
+ text: attachmentText,
21812
+ fileType: "file",
22041
21813
  views: {
22042
- button: views == null ? void 0 : views.fileButton
21814
+ container: Object.assign({
21815
+ height: '36px',
21816
+ margin: '0 12px',
21817
+ // borderRadius: '8px',
21818
+ // backgroundColor: 'transparent',
21819
+ // border: '1px solid',
21820
+ // borderColor: 'color.gray.300',
21821
+ cursor: 'pointer',
21822
+ _hover: {
21823
+ backgroundColor: 'color.gray.100'
21824
+ }
21825
+ }, views == null ? void 0 : views.fileButton, containerStyles)
21826
+ },
21827
+ containerProps: {
21828
+ display: 'flex',
21829
+ alignItems: 'center',
21830
+ justifyContent: 'center',
21831
+ gap: 4
21832
+ },
21833
+ textProps: {
21834
+ fontSize: '14px',
21835
+ color: 'color.gray.600'
21836
+ },
21837
+ validateFile: file => {
21838
+ if (file.size > 50 * 1024 * 1024) {
21839
+ return 'File size exceeds 50MB limit';
21840
+ }
21841
+ return null;
22043
21842
  }
22044
21843
  }))), /*#__PURE__*/React.createElement(View, Object.assign({
22045
21844
  as: "button",
@@ -22059,15 +21858,15 @@ var ChatInputView = _ref => {
22059
21858
  _hover: {
22060
21859
  backgroundColor: isAgentRunning ? 'color.red.600' : hasText ? 'color.blue.600' : 'color.gray.300'
22061
21860
  }
22062
- }, views == null ? void 0 : views.submitButton), isAgentRunning ? (/*#__PURE__*/React.createElement(StopIcon$1, {
21861
+ }, views == null ? void 0 : views.submitButton), isAgentRunning ? (/*#__PURE__*/React.createElement(StopIcon, {
22063
21862
  widthHeight: 16,
22064
21863
  color: "currentColor",
22065
21864
  filled: false
22066
- })) : loading ? (/*#__PURE__*/React.createElement(Loader$1, {
21865
+ })) : loading ? (/*#__PURE__*/React.createElement(Loader, {
22067
21866
  type: "quarter",
22068
21867
  size: 16,
22069
21868
  color: "color.white"
22070
- })) : (/*#__PURE__*/React.createElement(SendIcon$1, {
21869
+ })) : (/*#__PURE__*/React.createElement(SendIcon, {
22071
21870
  widthHeight: 16,
22072
21871
  color: "currentColor",
22073
21872
  filled: false
@@ -22075,35 +21874,12 @@ var ChatInputView = _ref => {
22075
21874
  fontSize: "12px",
22076
21875
  color: "theme.error",
22077
21876
  marginTop: "4px"
22078
- }, views == null ? void 0 : views.bottomTip), errorMessage)), isAgentRunning && (/*#__PURE__*/React.createElement(Horizontal, Object.assign({
22079
- justifyContent: "center",
22080
- alignItems: "center",
22081
- gap: 8,
22082
- padding: "8px 0",
22083
- animate: {
22084
- from: {
22085
- opacity: 0,
22086
- y: -10
22087
- },
22088
- to: {
22089
- opacity: 1,
22090
- y: 0
22091
- },
22092
- duration: '0.3s'
22093
- }
22094
- }, views == null ? void 0 : views.loadingIndicator), /*#__PURE__*/React.createElement(LoadingSpinnerIcon$1, {
22095
- widthHeight: 12,
22096
- color: "currentColor",
22097
- filled: false,
22098
- style: {
22099
- animation: 'spin 1s linear infinite'
22100
- }
22101
- }), /*#__PURE__*/React.createElement(Text$1, {
22102
- fontSize: "12px",
22103
- color: "color.gray.500"
22104
- }, "Agent is working..."))));
21877
+ }, views == null ? void 0 : views.bottomTip), errorMessage)));
22105
21878
  };
22106
21879
 
21880
+ /**
21881
+ * Interface for the ChatInput component's imperative handle
21882
+ */
22107
21883
  /**
22108
21884
  * ChatInput component
22109
21885
  *
@@ -22112,15 +21888,10 @@ var ChatInputView = _ref => {
22112
21888
  var ChatInput = /*#__PURE__*/forwardRef((props, ref) => {
22113
21889
  // Get state from custom hook
22114
21890
  var state = useChatInputState(props);
22115
- // Expose methods via ref
22116
- useImperativeHandle(ref, () => ({
22117
- getPendingFiles: () => state.pendingFiles || [],
22118
- clearPendingFiles: () => state.setPendingFiles([])
22119
- }));
22120
21891
  // Render the view component with props and state
22121
21892
  return /*#__PURE__*/React.createElement(ChatInputView, Object.assign({}, props, state));
22122
21893
  });
22123
21894
  ChatInput.displayName = 'ChatInput';
22124
21895
 
22125
- export { Accordion, Alert, ArrowIcon, AspectRatio, Avatar, Badge, BatteryIcon, BluetoothIcon, BoldArrowIcon, BookmarkIcon, Button, CalendarIcon, CameraIcon, Card, Carousel, Chart, ChartIcon, ChatInput, CheckIcon, Checkbox, ChevronDownIcon, ChevronIcon, ChevronRightIcon, ClockIcon, CloseEyeIcon, CloseIcon, CloudIcon, ComboBox, Command, ContextMenu, CookieConsent, CopyIcon, CountryPicker, CropIcon, DatePicker, DeleteIcon, Divider, DocumentIcon, DownloadIcon, DragAndDrop, DragAndDropComponent, DragHandleIcon, DragHandleLinesIcon, DropdownMenu, DustBinIcon, EditIcon, ErrorIcon, ExternalLinkIcon, FacebookIcon, FileIcon, FileImage, FileSVG, FilterIcon, Flow, FolderIcon, FormikCheckbox, FormikComboBox, FormikCountryPicker, FormikDatePicker, FormikForm, FormikOTPInput, FormikPassword, FormikSelect, FormikSlider, FormikSwitch, FormikTextArea, FormikTextField, GiftIcon, HeartIcon, HelpIcon, HomeIcon, HoverCard, Icon, ImageIcon, InfoIcon, InstagramIcon, LikeIcon, Link, LinkedinIcon, Loader, LoadingSpinnerIcon, LocationIcon, LockIcon, LogoutIcon, MagicWandIcon, MenuIcon, Menubar, MessageLayout, MessageView, MicrophoneIcon, MinusIcon, Modal, MoonIcon, NavigationMenu, NotificationIcon, OTPInput, OpenEyeIcon, Pagination, PanelIcon, Password, PauseIcon, PlayIcon, PlusIcon, PowerOffIcon, PrintIcon, ProfileIcon, RefreshIcon, Resizable, RotateIcon, SaveIcon, SearchIcon, Select, SendIcon, Separator, SettingsIcon, ShapeIcon, ShareIcon, ShieldIcon, Sidebar, Slider, SliderIcon, SliderVerticalIcon, SpinnerIcon, StarIcon, StopIcon, SuccessIcon, Switch, Table, Tabs, Text, TextArea, TextField, TextIcon, ThreadsIcon, TickIcon, Title, Toast, Toggle, ToggleGroup, Tooltip, TrashIcon, Tree, TwitchIcon, TwitterIcon, UnLikeIcon, UnlockIcon, UploadIcon, Uploader, UserIcon, VideoIcon, WarningIcon, WifiIcon, XIcon, YoutubeIcon, ZoomInIcon, ZoomOutIcon, hideMessage, hideModal, showMessage, showModal, showToast, useMessageStore, useModalStore, useToast$1 as useToast };
21896
+ export { Accordion, Alert, ArrowIcon, AspectRatio, AttachmentIcon, Avatar, Badge, BatteryIcon, BluetoothIcon, BoldArrowIcon, BookmarkIcon, Button, CalendarIcon, CameraIcon, Card, Carousel, Chart, ChartIcon, ChatInput, CheckIcon, Checkbox, ChevronIcon, ClockIcon, CloseEyeIcon, CloseIcon, CloudIcon, ComboBox, Command, ContextMenu, CookieConsent, CopyIcon, CountryPicker, CropIcon, DatePicker, DeleteIcon, Divider, DocumentIcon, DownloadIcon, DragAndDrop, DragAndDropComponent, DragHandleIcon, DragHandleLinesIcon, DropdownMenu, DustBinIcon, EditIcon, ErrorIcon, ExternalLinkIcon, FacebookIcon, FileIcon, FileImage, FileSVG, FilterIcon, Flow, FolderIcon, FormikCheckbox, FormikComboBox, FormikCountryPicker, FormikDatePicker, FormikForm, FormikOTPInput, FormikPassword, FormikSelect, FormikSlider, FormikSwitch, FormikTextArea, FormikTextField, GiftIcon, HeartIcon, HelpIcon, HomeIcon, HoverCard, Icon, ImageIcon, InfoIcon, InstagramIcon, LikeIcon, Link, LinkedinIcon, Loader, LoadingSpinnerIcon, LocationIcon, LockIcon, LogoutIcon, MagicWandIcon, MenuIcon, Menubar, MessageLayout, MessageView, MicrophoneIcon, MinusIcon, Modal, MoonIcon, NavigationMenu, NotificationIcon, OTPInput, OpenEyeIcon, Pagination, PanelIcon, Password, PauseIcon, PlayIcon, PlusIcon, PowerOffIcon, PrintIcon, ProfileIcon, RefreshIcon, Resizable, RotateIcon, SaveIcon, SearchIcon, Select, SendIcon, Separator, SettingsIcon, ShapeIcon, ShareIcon, ShieldIcon, Sidebar, Slider, SliderIcon, SpinnerIcon, StarIcon, StopIcon, SuccessIcon, Switch, Table, Tabs, Text, TextArea, TextField, TextIcon, ThreadsIcon, TickIcon, Title, Toast, Toggle, ToggleGroup, Tooltip, TrashIcon, Tree, TwitchIcon, TwitterIcon, UnLikeIcon, UnlockIcon, UploadIcon, Uploader, UserIcon, VideoIcon, WarningIcon, WifiIcon, XIcon, YoutubeIcon, ZoomInIcon, ZoomOutIcon, hideMessage, hideModal, showMessage, showModal, showToast, useMessageStore, useModalStore, useToast$1 as useToast };
22126
21897
  //# sourceMappingURL=web.esm.js.map