@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.
@@ -38,34 +38,7 @@ require('core-js/modules/es.string.search.js');
38
38
  require('core-js/modules/es.array.flat-map.js');
39
39
  require('core-js/modules/es.array.unscopables.flat-map.js');
40
40
  require('core-js/modules/es.string.trim.js');
41
- var Loader$1 = require('src/components/Loader/Loader');
42
- var Icon$1 = require('src/components/Icon/Icon');
43
41
 
44
- function asyncGeneratorStep(n, t, e, r, o, a, c) {
45
- try {
46
- var i = n[a](c),
47
- u = i.value;
48
- } catch (n) {
49
- return void e(n);
50
- }
51
- i.done ? t(u) : Promise.resolve(u).then(r, o);
52
- }
53
- function _asyncToGenerator(n) {
54
- return function () {
55
- var t = this,
56
- e = arguments;
57
- return new Promise(function (r, o) {
58
- var a = n.apply(t, e);
59
- function _next(n) {
60
- asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
61
- }
62
- function _throw(n) {
63
- asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
64
- }
65
- _next(void 0);
66
- });
67
- };
68
- }
69
42
  function _objectWithoutPropertiesLoose(r, e) {
70
43
  if (null == r) return {};
71
44
  var t = {};
@@ -724,7 +697,7 @@ var _excluded$3 = ["widthHeight", "color", "transform", "orientation", "children
724
697
  _excluded38 = ["widthHeight", "color", "filled", "strokeWidth"],
725
698
  _excluded39 = ["widthHeight", "color", "strokeWidth", "filled"],
726
699
  _excluded40 = ["widthHeight", "color", "strokeWidth", "filled"],
727
- _excluded41 = ["widthHeight", "color", "strokeWidth", "filled"],
700
+ _excluded41 = ["widthHeight", "color", "filled", "strokeWidth"],
728
701
  _excluded42 = ["widthHeight", "color", "filled", "strokeWidth"],
729
702
  _excluded43 = ["widthHeight", "color", "filled", "strokeWidth"],
730
703
  _excluded44 = ["widthHeight", "color", "filled", "strokeWidth"],
@@ -736,9 +709,9 @@ var _excluded$3 = ["widthHeight", "color", "transform", "orientation", "children
736
709
  _excluded50 = ["widthHeight", "color", "filled", "strokeWidth"],
737
710
  _excluded51 = ["widthHeight", "color", "filled", "strokeWidth"],
738
711
  _excluded52 = ["widthHeight", "color", "filled", "strokeWidth"],
739
- _excluded53 = ["widthHeight", "color", "filled", "strokeWidth"],
712
+ _excluded53 = ["widthHeight", "color", "strokeWidth", "filled"],
740
713
  _excluded54 = ["widthHeight", "color", "strokeWidth", "filled"],
741
- _excluded55 = ["widthHeight", "color", "strokeWidth", "filled"],
714
+ _excluded55 = ["widthHeight", "color", "filled", "strokeWidth"],
742
715
  _excluded56 = ["widthHeight", "color", "filled", "strokeWidth"],
743
716
  _excluded57 = ["widthHeight", "color", "filled", "strokeWidth"],
744
717
  _excluded58 = ["widthHeight", "color", "filled", "strokeWidth"],
@@ -756,8 +729,8 @@ var _excluded$3 = ["widthHeight", "color", "transform", "orientation", "children
756
729
  _excluded70 = ["widthHeight", "color", "filled", "strokeWidth"],
757
730
  _excluded71 = ["widthHeight", "color", "filled", "strokeWidth"],
758
731
  _excluded72 = ["widthHeight", "color", "filled", "strokeWidth"],
759
- _excluded73 = ["widthHeight", "color", "filled", "strokeWidth"],
760
- _excluded74 = ["widthHeight", "color", "filled", "strokeWidth"],
732
+ _excluded73 = ["widthHeight", "color", "strokeWidth", "filled"],
733
+ _excluded74 = ["widthHeight", "color", "strokeWidth", "filled"],
761
734
  _excluded75 = ["widthHeight", "color", "strokeWidth", "filled"],
762
735
  _excluded76 = ["widthHeight", "color", "strokeWidth", "filled"],
763
736
  _excluded77 = ["widthHeight", "color", "strokeWidth", "filled"],
@@ -769,9 +742,7 @@ var _excluded$3 = ["widthHeight", "color", "transform", "orientation", "children
769
742
  _excluded83 = ["widthHeight", "color", "strokeWidth", "filled"],
770
743
  _excluded84 = ["widthHeight", "color", "strokeWidth", "filled"],
771
744
  _excluded85 = ["widthHeight", "color", "strokeWidth", "filled"],
772
- _excluded86 = ["widthHeight", "color", "strokeWidth", "filled"],
773
- _excluded87 = ["widthHeight", "color", "strokeWidth", "filled"],
774
- _excluded88 = ["widthHeight", "color", "strokeWidth", "filled"];
745
+ _excluded86 = ["widthHeight", "color", "strokeWidth", "filled"];
775
746
  // Default wrapper component for consistent sizing and styling
776
747
  var IconWrapper = _ref => {
777
748
  var {
@@ -814,12 +785,21 @@ var UserIcon = _ref2 => {
814
785
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
815
786
  widthHeight: widthHeight,
816
787
  color: color
817
- }, props), /*#__PURE__*/React__default.createElement("svg", Object.assign({
788
+ }, props), /*#__PURE__*/React__default.createElement("svg", {
818
789
  viewBox: "0 0 24 24",
819
790
  "aria-hidden": "true",
820
- focusable: "false"
821
- }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("path", {
822
- 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"
791
+ focusable: "false",
792
+ fill: filled ? color : 'none',
793
+ stroke: filled ? 'none' : color,
794
+ strokeWidth: strokeWidth,
795
+ strokeLinecap: "round",
796
+ strokeLinejoin: "round"
797
+ }, /*#__PURE__*/React__default.createElement("circle", {
798
+ cx: "12",
799
+ cy: "8",
800
+ r: "4"
801
+ }), /*#__PURE__*/React__default.createElement("path", {
802
+ d: "M4 20c0-4 4-7 8-7s8 3 8 7"
823
803
  })));
824
804
  };
825
805
  var HelpIcon = _ref3 => {
@@ -966,7 +946,8 @@ var ChevronIcon = _ref5 => {
966
946
  "aria-hidden": "true",
967
947
  focusable: "false"
968
948
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("path", {
969
- 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"
949
+ d: "M7.41 15.41L12 10.83L16.59 15.41L18 14L12 8L6 14L7.41 15.41Z",
950
+ fill: "currentColor"
970
951
  })));
971
952
  };
972
953
  var DragHandleIcon = _ref6 => {
@@ -1010,32 +991,28 @@ var DragHandleIcon = _ref6 => {
1010
991
  r: "2"
1011
992
  }))));
1012
993
  };
1013
- // File Icon Component
1014
994
  var FileIcon = _ref7 => {
1015
995
  var {
1016
996
  widthHeight = 24,
1017
997
  color = 'currentColor',
1018
- filled = true,
998
+ filled = false,
1019
999
  strokeWidth = 1
1020
1000
  } = _ref7,
1021
1001
  props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
1022
1002
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1023
1003
  widthHeight: widthHeight,
1024
1004
  color: color
1025
- }, props), /*#__PURE__*/React__default.createElement("svg", Object.assign({
1005
+ }, props), /*#__PURE__*/React__default.createElement("svg", {
1026
1006
  viewBox: "0 0 24 24",
1027
1007
  "aria-hidden": "true",
1028
- focusable: "false"
1029
- }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("path", {
1030
- d: "M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6z",
1008
+ focusable: "false",
1031
1009
  fill: filled ? color : 'none',
1032
1010
  stroke: filled ? 'none' : color,
1033
- strokeWidth: filled ? 0 : strokeWidth
1034
- }), /*#__PURE__*/React__default.createElement("polyline", {
1035
- points: "14 2 14 8 20 8",
1036
- fill: "none",
1037
- stroke: color,
1038
1011
  strokeWidth: strokeWidth
1012
+ }, /*#__PURE__*/React__default.createElement("path", {
1013
+ 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"
1014
+ }), /*#__PURE__*/React__default.createElement("path", {
1015
+ d: "M14 2V8H20"
1039
1016
  })));
1040
1017
  };
1041
1018
  // Video Icon Component
@@ -1189,7 +1166,7 @@ var CloseIcon = _ref13 => {
1189
1166
  widthHeight = 24,
1190
1167
  color = 'currentColor',
1191
1168
  filled = false,
1192
- strokeWidth = 1
1169
+ strokeWidth = 2
1193
1170
  } = _ref13,
1194
1171
  props = _objectWithoutPropertiesLoose(_ref13, _excluded13);
1195
1172
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
@@ -1839,7 +1816,7 @@ var MagicWandIcon = _ref39 => {
1839
1816
  d: "M16 15L16.7 16.5L18 17L16.7 17.5L16 19L15.3 17.5L14 17L15.3 16.5L16 15Z"
1840
1817
  })));
1841
1818
  };
1842
- var SliderVerticalIcon = _ref40 => {
1819
+ var PanelIcon = _ref40 => {
1843
1820
  var {
1844
1821
  widthHeight = 24,
1845
1822
  color = 'currentColor',
@@ -1854,77 +1831,6 @@ var SliderVerticalIcon = _ref40 => {
1854
1831
  viewBox: "0 0 24 24",
1855
1832
  "aria-hidden": "false",
1856
1833
  focusable: "false"
1857
- }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("line", {
1858
- stroke: color,
1859
- x1: "4",
1860
- y1: "21",
1861
- x2: "4",
1862
- y2: "14"
1863
- }), /*#__PURE__*/React__default.createElement("line", {
1864
- stroke: color,
1865
- x1: "4",
1866
- y1: "10",
1867
- x2: "4",
1868
- y2: "3"
1869
- }), /*#__PURE__*/React__default.createElement("line", {
1870
- stroke: color,
1871
- x1: "12",
1872
- y1: "21",
1873
- x2: "12",
1874
- y2: "12"
1875
- }), /*#__PURE__*/React__default.createElement("line", {
1876
- stroke: color,
1877
- x1: "12",
1878
- y1: "8",
1879
- x2: "12",
1880
- y2: "3"
1881
- }), /*#__PURE__*/React__default.createElement("line", {
1882
- stroke: color,
1883
- x1: "20",
1884
- y1: "21",
1885
- x2: "20",
1886
- y2: "16"
1887
- }), /*#__PURE__*/React__default.createElement("line", {
1888
- stroke: color,
1889
- x1: "20",
1890
- y1: "12",
1891
- x2: "20",
1892
- y2: "3"
1893
- }), /*#__PURE__*/React__default.createElement("line", {
1894
- stroke: color,
1895
- x1: "1",
1896
- y1: "14",
1897
- x2: "7",
1898
- y2: "14"
1899
- }), /*#__PURE__*/React__default.createElement("line", {
1900
- stroke: color,
1901
- x1: "9",
1902
- y1: "8",
1903
- x2: "15",
1904
- y2: "8"
1905
- }), /*#__PURE__*/React__default.createElement("line", {
1906
- stroke: color,
1907
- x1: "17",
1908
- y1: "16",
1909
- x2: "23",
1910
- y2: "16"
1911
- })));
1912
- };
1913
- var PanelIcon = _ref41 => {
1914
- var {
1915
- widthHeight = 24,
1916
- color = 'currentColor',
1917
- strokeWidth = 1,
1918
- filled = false
1919
- } = _ref41,
1920
- props = _objectWithoutPropertiesLoose(_ref41, _excluded41);
1921
- return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1922
- widthHeight: widthHeight,
1923
- color: color
1924
- }, props), /*#__PURE__*/React__default.createElement("svg", Object.assign({
1925
- viewBox: "0 0 24 24",
1926
- "aria-hidden": "false",
1927
- focusable: "false"
1928
1834
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("rect", {
1929
1835
  width: "18",
1930
1836
  height: "18",
@@ -1935,14 +1841,14 @@ var PanelIcon = _ref41 => {
1935
1841
  d: "M9 3v18"
1936
1842
  })));
1937
1843
  };
1938
- var FilterIcon = _ref42 => {
1844
+ var FilterIcon = _ref41 => {
1939
1845
  var {
1940
1846
  widthHeight = 24,
1941
1847
  color = 'currentColor',
1942
1848
  filled = false,
1943
1849
  strokeWidth = 1
1944
- } = _ref42,
1945
- props = _objectWithoutPropertiesLoose(_ref42, _excluded42);
1850
+ } = _ref41,
1851
+ props = _objectWithoutPropertiesLoose(_ref41, _excluded41);
1946
1852
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1947
1853
  widthHeight: widthHeight,
1948
1854
  color: color
@@ -1954,14 +1860,14 @@ var FilterIcon = _ref42 => {
1954
1860
  d: "M3 4h18l-7 10v5l-4 2v-7L3 4z"
1955
1861
  })));
1956
1862
  };
1957
- var HomeIcon = _ref43 => {
1863
+ var HomeIcon = _ref42 => {
1958
1864
  var {
1959
1865
  widthHeight = 24,
1960
1866
  color = 'currentColor',
1961
1867
  filled = true,
1962
1868
  strokeWidth = 1
1963
- } = _ref43,
1964
- props = _objectWithoutPropertiesLoose(_ref43, _excluded43);
1869
+ } = _ref42,
1870
+ props = _objectWithoutPropertiesLoose(_ref42, _excluded42);
1965
1871
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1966
1872
  widthHeight: widthHeight,
1967
1873
  color: color
@@ -1973,14 +1879,14 @@ var HomeIcon = _ref43 => {
1973
1879
  d: "M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8h5z"
1974
1880
  })));
1975
1881
  };
1976
- var LocationIcon = _ref44 => {
1882
+ var LocationIcon = _ref43 => {
1977
1883
  var {
1978
1884
  widthHeight = 24,
1979
1885
  color = 'currentColor',
1980
1886
  filled = true,
1981
1887
  strokeWidth = 1
1982
- } = _ref44,
1983
- props = _objectWithoutPropertiesLoose(_ref44, _excluded44);
1888
+ } = _ref43,
1889
+ props = _objectWithoutPropertiesLoose(_ref43, _excluded43);
1984
1890
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
1985
1891
  widthHeight: widthHeight,
1986
1892
  color: color
@@ -1992,14 +1898,14 @@ var LocationIcon = _ref44 => {
1992
1898
  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"
1993
1899
  })));
1994
1900
  };
1995
- var LockIcon = _ref45 => {
1901
+ var LockIcon = _ref44 => {
1996
1902
  var {
1997
1903
  widthHeight = 24,
1998
1904
  color = 'currentColor',
1999
1905
  filled = false,
2000
1906
  strokeWidth = 1
2001
- } = _ref45,
2002
- props = _objectWithoutPropertiesLoose(_ref45, _excluded45);
1907
+ } = _ref44,
1908
+ props = _objectWithoutPropertiesLoose(_ref44, _excluded44);
2003
1909
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2004
1910
  widthHeight: widthHeight,
2005
1911
  color: color
@@ -2024,14 +1930,14 @@ var LockIcon = _ref45 => {
2024
1930
  r: "1.5"
2025
1931
  })))));
2026
1932
  };
2027
- var MicrophoneIcon = _ref46 => {
1933
+ var MicrophoneIcon = _ref45 => {
2028
1934
  var {
2029
1935
  widthHeight = 24,
2030
1936
  color = 'currentColor',
2031
1937
  filled = false,
2032
1938
  strokeWidth = 1
2033
- } = _ref46,
2034
- props = _objectWithoutPropertiesLoose(_ref46, _excluded46);
1939
+ } = _ref45,
1940
+ props = _objectWithoutPropertiesLoose(_ref45, _excluded45);
2035
1941
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2036
1942
  widthHeight: widthHeight,
2037
1943
  color: color
@@ -2057,14 +1963,14 @@ var MicrophoneIcon = _ref46 => {
2057
1963
  y2: "23"
2058
1964
  })));
2059
1965
  };
2060
- var MoonIcon = _ref47 => {
1966
+ var MoonIcon = _ref46 => {
2061
1967
  var {
2062
1968
  widthHeight = 24,
2063
1969
  color = 'currentColor',
2064
1970
  filled = true,
2065
1971
  strokeWidth = 1
2066
- } = _ref47,
2067
- props = _objectWithoutPropertiesLoose(_ref47, _excluded47);
1972
+ } = _ref46,
1973
+ props = _objectWithoutPropertiesLoose(_ref46, _excluded46);
2068
1974
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2069
1975
  widthHeight: widthHeight,
2070
1976
  color: color
@@ -2076,14 +1982,14 @@ var MoonIcon = _ref47 => {
2076
1982
  d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"
2077
1983
  })));
2078
1984
  };
2079
- var NotificationIcon = _ref48 => {
1985
+ var NotificationIcon = _ref47 => {
2080
1986
  var {
2081
1987
  widthHeight = 24,
2082
1988
  color = 'currentColor',
2083
1989
  filled = false,
2084
1990
  strokeWidth = 1
2085
- } = _ref48,
2086
- props = _objectWithoutPropertiesLoose(_ref48, _excluded48);
1991
+ } = _ref47,
1992
+ props = _objectWithoutPropertiesLoose(_ref47, _excluded47);
2087
1993
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2088
1994
  widthHeight: widthHeight,
2089
1995
  color: color
@@ -2097,14 +2003,14 @@ var NotificationIcon = _ref48 => {
2097
2003
  d: "M13.73 21a2 2 0 0 1-3.46 0"
2098
2004
  })));
2099
2005
  };
2100
- var OpenEyeIcon = _ref49 => {
2006
+ var OpenEyeIcon = _ref48 => {
2101
2007
  var {
2102
2008
  widthHeight = 24,
2103
2009
  color = 'currentColor',
2104
2010
  filled = true,
2105
2011
  strokeWidth = 1
2106
- } = _ref49,
2107
- props = _objectWithoutPropertiesLoose(_ref49, _excluded49);
2012
+ } = _ref48,
2013
+ props = _objectWithoutPropertiesLoose(_ref48, _excluded48);
2108
2014
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2109
2015
  widthHeight: widthHeight,
2110
2016
  color: color
@@ -2116,14 +2022,14 @@ var OpenEyeIcon = _ref49 => {
2116
2022
  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"
2117
2023
  })));
2118
2024
  };
2119
- var ProfileIcon = _ref50 => {
2025
+ var ProfileIcon = _ref49 => {
2120
2026
  var {
2121
2027
  widthHeight = 24,
2122
2028
  color = 'currentColor',
2123
2029
  filled = true,
2124
2030
  strokeWidth = 1
2125
- } = _ref50,
2126
- props = _objectWithoutPropertiesLoose(_ref50, _excluded50);
2031
+ } = _ref49,
2032
+ props = _objectWithoutPropertiesLoose(_ref49, _excluded49);
2127
2033
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2128
2034
  widthHeight: widthHeight,
2129
2035
  color: color
@@ -2136,14 +2042,14 @@ var ProfileIcon = _ref50 => {
2136
2042
  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"
2137
2043
  }), ' '));
2138
2044
  };
2139
- var SettingsIcon = _ref51 => {
2045
+ var SettingsIcon = _ref50 => {
2140
2046
  var {
2141
2047
  widthHeight = 24,
2142
2048
  color = 'currentColor',
2143
2049
  filled = false,
2144
2050
  strokeWidth = 1
2145
- } = _ref51,
2146
- props = _objectWithoutPropertiesLoose(_ref51, _excluded51);
2051
+ } = _ref50,
2052
+ props = _objectWithoutPropertiesLoose(_ref50, _excluded50);
2147
2053
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2148
2054
  widthHeight: widthHeight,
2149
2055
  color: color
@@ -2155,14 +2061,14 @@ var SettingsIcon = _ref51 => {
2155
2061
  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"
2156
2062
  })));
2157
2063
  };
2158
- var SuccessIcon = _ref52 => {
2064
+ var SuccessIcon = _ref51 => {
2159
2065
  var {
2160
2066
  widthHeight = 24,
2161
2067
  color = 'currentColor',
2162
2068
  filled = true,
2163
2069
  strokeWidth = 1
2164
- } = _ref52,
2165
- props = _objectWithoutPropertiesLoose(_ref52, _excluded52);
2070
+ } = _ref51,
2071
+ props = _objectWithoutPropertiesLoose(_ref51, _excluded51);
2166
2072
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2167
2073
  widthHeight: widthHeight,
2168
2074
  color: color
@@ -2174,14 +2080,14 @@ var SuccessIcon = _ref52 => {
2174
2080
  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"
2175
2081
  })));
2176
2082
  };
2177
- var UnLikeIcon = _ref53 => {
2083
+ var UnLikeIcon = _ref52 => {
2178
2084
  var {
2179
2085
  widthHeight = 24,
2180
2086
  color = 'currentColor',
2181
2087
  filled = true,
2182
2088
  strokeWidth = 1
2183
- } = _ref53,
2184
- props = _objectWithoutPropertiesLoose(_ref53, _excluded53);
2089
+ } = _ref52,
2090
+ props = _objectWithoutPropertiesLoose(_ref52, _excluded52);
2185
2091
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2186
2092
  widthHeight: widthHeight,
2187
2093
  color: color
@@ -2193,14 +2099,14 @@ var UnLikeIcon = _ref53 => {
2193
2099
  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"
2194
2100
  })));
2195
2101
  };
2196
- var ClockIcon = _ref54 => {
2102
+ var ClockIcon = _ref53 => {
2197
2103
  var {
2198
2104
  widthHeight = 24,
2199
2105
  color = 'currentColor',
2200
2106
  strokeWidth = 1,
2201
2107
  filled = false
2202
- } = _ref54,
2203
- props = _objectWithoutPropertiesLoose(_ref54, _excluded54);
2108
+ } = _ref53,
2109
+ props = _objectWithoutPropertiesLoose(_ref53, _excluded53);
2204
2110
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2205
2111
  widthHeight: widthHeight,
2206
2112
  color: color
@@ -2216,14 +2122,14 @@ var ClockIcon = _ref54 => {
2216
2122
  points: "12 6 12 12 16 14"
2217
2123
  })));
2218
2124
  };
2219
- var CameraIcon = _ref55 => {
2125
+ var CameraIcon = _ref54 => {
2220
2126
  var {
2221
2127
  widthHeight = 24,
2222
2128
  color = 'currentColor',
2223
2129
  strokeWidth = 1,
2224
2130
  filled = false
2225
- } = _ref55,
2226
- props = _objectWithoutPropertiesLoose(_ref55, _excluded55);
2131
+ } = _ref54,
2132
+ props = _objectWithoutPropertiesLoose(_ref54, _excluded54);
2227
2133
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2228
2134
  widthHeight: widthHeight,
2229
2135
  color: color
@@ -2239,14 +2145,14 @@ var CameraIcon = _ref55 => {
2239
2145
  r: "4"
2240
2146
  })));
2241
2147
  };
2242
- var BluetoothIcon = _ref56 => {
2148
+ var BluetoothIcon = _ref55 => {
2243
2149
  var {
2244
2150
  widthHeight = 24,
2245
2151
  color = 'currentColor',
2246
2152
  filled = true,
2247
2153
  strokeWidth = 1
2248
- } = _ref56,
2249
- props = _objectWithoutPropertiesLoose(_ref56, _excluded56);
2154
+ } = _ref55,
2155
+ props = _objectWithoutPropertiesLoose(_ref55, _excluded55);
2250
2156
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2251
2157
  widthHeight: widthHeight,
2252
2158
  color: color
@@ -2258,14 +2164,14 @@ var BluetoothIcon = _ref56 => {
2258
2164
  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"
2259
2165
  })));
2260
2166
  };
2261
- var LikeIcon = _ref57 => {
2167
+ var LikeIcon = _ref56 => {
2262
2168
  var {
2263
2169
  widthHeight = 24,
2264
2170
  color = 'currentColor',
2265
2171
  filled = true,
2266
2172
  strokeWidth = 1
2267
- } = _ref57,
2268
- props = _objectWithoutPropertiesLoose(_ref57, _excluded57);
2173
+ } = _ref56,
2174
+ props = _objectWithoutPropertiesLoose(_ref56, _excluded56);
2269
2175
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2270
2176
  widthHeight: widthHeight,
2271
2177
  color: color
@@ -2277,14 +2183,14 @@ var LikeIcon = _ref57 => {
2277
2183
  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"
2278
2184
  })));
2279
2185
  };
2280
- var UnlockIcon = _ref58 => {
2186
+ var UnlockIcon = _ref57 => {
2281
2187
  var {
2282
2188
  widthHeight = 24,
2283
2189
  color = 'currentColor',
2284
2190
  filled = false,
2285
2191
  strokeWidth = 1
2286
- } = _ref58,
2287
- props = _objectWithoutPropertiesLoose(_ref58, _excluded58);
2192
+ } = _ref57,
2193
+ props = _objectWithoutPropertiesLoose(_ref57, _excluded57);
2288
2194
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2289
2195
  widthHeight: widthHeight,
2290
2196
  color: color
@@ -2309,14 +2215,14 @@ var UnlockIcon = _ref58 => {
2309
2215
  r: "1.5"
2310
2216
  })))));
2311
2217
  };
2312
- var WifiIcon = _ref59 => {
2218
+ var WifiIcon = _ref58 => {
2313
2219
  var {
2314
2220
  widthHeight = 24,
2315
2221
  color = 'currentColor',
2316
2222
  filled = false,
2317
2223
  strokeWidth = 1
2318
- } = _ref59,
2319
- props = _objectWithoutPropertiesLoose(_ref59, _excluded59);
2224
+ } = _ref58,
2225
+ props = _objectWithoutPropertiesLoose(_ref58, _excluded58);
2320
2226
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2321
2227
  widthHeight: widthHeight,
2322
2228
  color: color
@@ -2328,14 +2234,14 @@ var WifiIcon = _ref59 => {
2328
2234
  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"
2329
2235
  })));
2330
2236
  };
2331
- var UploadIcon = _ref60 => {
2237
+ var UploadIcon = _ref59 => {
2332
2238
  var {
2333
2239
  widthHeight = 24,
2334
2240
  color = 'currentColor',
2335
2241
  filled = false,
2336
2242
  strokeWidth = 1
2337
- } = _ref60,
2338
- props = _objectWithoutPropertiesLoose(_ref60, _excluded60);
2243
+ } = _ref59,
2244
+ props = _objectWithoutPropertiesLoose(_ref59, _excluded59);
2339
2245
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2340
2246
  widthHeight: widthHeight,
2341
2247
  color: color
@@ -2351,14 +2257,14 @@ var UploadIcon = _ref60 => {
2351
2257
  d: "M12 12l0 9"
2352
2258
  })));
2353
2259
  };
2354
- var SearchIcon = _ref61 => {
2260
+ var SearchIcon = _ref60 => {
2355
2261
  var {
2356
2262
  widthHeight = 24,
2357
2263
  color = 'currentColor',
2358
2264
  filled = true,
2359
2265
  strokeWidth = 1
2360
- } = _ref61,
2361
- props = _objectWithoutPropertiesLoose(_ref61, _excluded61);
2266
+ } = _ref60,
2267
+ props = _objectWithoutPropertiesLoose(_ref60, _excluded60);
2362
2268
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2363
2269
  widthHeight: widthHeight,
2364
2270
  color: color
@@ -2371,14 +2277,14 @@ var SearchIcon = _ref61 => {
2371
2277
  })));
2372
2278
  };
2373
2279
  // Stop Icon (rectangle) for stopping agent
2374
- var StopIcon = _ref62 => {
2280
+ var StopIcon = _ref61 => {
2375
2281
  var {
2376
2282
  widthHeight = 24,
2377
2283
  color = 'currentColor',
2378
2284
  filled = true,
2379
2285
  strokeWidth = 2
2380
- } = _ref62,
2381
- props = _objectWithoutPropertiesLoose(_ref62, _excluded62);
2286
+ } = _ref61,
2287
+ props = _objectWithoutPropertiesLoose(_ref61, _excluded61);
2382
2288
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2383
2289
  widthHeight: widthHeight,
2384
2290
  color: color
@@ -2396,14 +2302,14 @@ var StopIcon = _ref62 => {
2396
2302
  })));
2397
2303
  };
2398
2304
  // Send Icon (paper airplane) for chat submit
2399
- var SendIcon = _ref63 => {
2305
+ var SendIcon = _ref62 => {
2400
2306
  var {
2401
2307
  widthHeight = 24,
2402
2308
  color = 'currentColor',
2403
2309
  filled = false,
2404
2310
  strokeWidth = 2
2405
- } = _ref63,
2406
- props = _objectWithoutPropertiesLoose(_ref63, _excluded63);
2311
+ } = _ref62,
2312
+ props = _objectWithoutPropertiesLoose(_ref62, _excluded62);
2407
2313
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2408
2314
  widthHeight: widthHeight,
2409
2315
  color: color
@@ -2421,14 +2327,14 @@ var SendIcon = _ref63 => {
2421
2327
  })));
2422
2328
  };
2423
2329
  // Loading Spinner Icon for agent running indicator
2424
- var LoadingSpinnerIcon = _ref64 => {
2330
+ var LoadingSpinnerIcon = _ref63 => {
2425
2331
  var {
2426
2332
  widthHeight = 24,
2427
2333
  color = 'currentColor',
2428
2334
  filled = false,
2429
2335
  strokeWidth = 2
2430
- } = _ref64,
2431
- props = _objectWithoutPropertiesLoose(_ref64, _excluded64);
2336
+ } = _ref63,
2337
+ props = _objectWithoutPropertiesLoose(_ref63, _excluded63);
2432
2338
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2433
2339
  widthHeight: widthHeight,
2434
2340
  color: color
@@ -2479,14 +2385,14 @@ var LoadingSpinnerIcon = _ref64 => {
2479
2385
  })));
2480
2386
  };
2481
2387
  // Horizontal lines drag handle icon for Tree component
2482
- var DragHandleLinesIcon = _ref65 => {
2388
+ var DragHandleLinesIcon = _ref64 => {
2483
2389
  var {
2484
2390
  widthHeight = 16,
2485
2391
  color = 'currentColor',
2486
2392
  filled = false,
2487
2393
  strokeWidth = 1.5
2488
- } = _ref65,
2489
- props = _objectWithoutPropertiesLoose(_ref65, _excluded65);
2394
+ } = _ref64,
2395
+ props = _objectWithoutPropertiesLoose(_ref64, _excluded64);
2490
2396
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2491
2397
  widthHeight: widthHeight,
2492
2398
  color: color
@@ -2506,36 +2412,14 @@ var DragHandleLinesIcon = _ref65 => {
2506
2412
  strokeLinecap: "round"
2507
2413
  })));
2508
2414
  };
2509
- // ChevronDown Icon for dropdown menus
2510
- var ChevronDownIcon = _ref66 => {
2511
- var {
2512
- widthHeight = 24,
2513
- color = 'currentColor',
2514
- filled = true,
2515
- strokeWidth = 1
2516
- } = _ref66,
2517
- props = _objectWithoutPropertiesLoose(_ref66, _excluded66);
2518
- return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2519
- widthHeight: widthHeight,
2520
- color: color
2521
- }, props), /*#__PURE__*/React__default.createElement("svg", Object.assign({
2522
- viewBox: "0 0 24 24",
2523
- "aria-hidden": "false",
2524
- focusable: "false"
2525
- }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("path", {
2526
- d: "M16.59 8.59L12 13.17L7.41 8.59L6 10L12 16L18 10L16.59 8.59Z",
2527
- fill: "currentColor"
2528
- })));
2529
- };
2530
- // ChevronRight Icon for submenu indicators
2531
- var ChevronRightIcon = _ref67 => {
2415
+ var CloseEyeIcon = _ref65 => {
2532
2416
  var {
2533
2417
  widthHeight = 24,
2534
2418
  color = 'currentColor',
2535
2419
  filled = true,
2536
2420
  strokeWidth = 1
2537
- } = _ref67,
2538
- props = _objectWithoutPropertiesLoose(_ref67, _excluded67);
2421
+ } = _ref65,
2422
+ props = _objectWithoutPropertiesLoose(_ref65, _excluded65);
2539
2423
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2540
2424
  widthHeight: widthHeight,
2541
2425
  color: color
@@ -2544,39 +2428,40 @@ var ChevronRightIcon = _ref67 => {
2544
2428
  "aria-hidden": "false",
2545
2429
  focusable: "false"
2546
2430
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("path", {
2547
- d: "M8.59 16.59L13.17 12L8.59 7.41L10 6L16 12L10 18L8.59 16.59Z",
2431
+ 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",
2548
2432
  fill: "currentColor"
2549
2433
  })));
2550
2434
  };
2551
- var CloseEyeIcon = _ref68 => {
2435
+ var TrashIcon = DeleteIcon;
2436
+ var AttachmentIcon = _ref66 => {
2552
2437
  var {
2553
2438
  widthHeight = 24,
2554
2439
  color = 'currentColor',
2555
2440
  filled = true,
2556
2441
  strokeWidth = 1
2557
- } = _ref68,
2558
- props = _objectWithoutPropertiesLoose(_ref68, _excluded68);
2442
+ } = _ref66,
2443
+ props = _objectWithoutPropertiesLoose(_ref66, _excluded66);
2559
2444
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2560
2445
  widthHeight: widthHeight,
2561
2446
  color: color
2562
2447
  }, props), /*#__PURE__*/React__default.createElement("svg", Object.assign({
2563
- viewBox: "0 0 24 24",
2564
- "aria-hidden": "false",
2565
- focusable: "false"
2448
+ width: widthHeight,
2449
+ height: widthHeight,
2450
+ viewBox: "0 0 24 24"
2566
2451
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React__default.createElement("path", {
2567
- 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",
2568
- fill: "currentColor"
2569
- })));
2452
+ // fillRule="evenodd"
2453
+ // clipRule="evenodd"
2454
+ 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"
2455
+ }), ' '));
2570
2456
  };
2571
- var TrashIcon = DeleteIcon;
2572
- var ExternalLinkIcon = _ref69 => {
2457
+ var ExternalLinkIcon = _ref67 => {
2573
2458
  var {
2574
2459
  widthHeight = 24,
2575
2460
  color = 'currentColor',
2576
2461
  filled = true,
2577
2462
  strokeWidth = 1
2578
- } = _ref69,
2579
- props = _objectWithoutPropertiesLoose(_ref69, _excluded69);
2463
+ } = _ref67,
2464
+ props = _objectWithoutPropertiesLoose(_ref67, _excluded67);
2580
2465
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2581
2466
  widthHeight: widthHeight,
2582
2467
  color: color
@@ -2588,14 +2473,14 @@ var ExternalLinkIcon = _ref69 => {
2588
2473
  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"
2589
2474
  })));
2590
2475
  };
2591
- var PlusIcon = _ref70 => {
2476
+ var PlusIcon = _ref68 => {
2592
2477
  var {
2593
2478
  widthHeight = 24,
2594
2479
  color = 'currentColor',
2595
2480
  filled = false,
2596
2481
  strokeWidth = 1
2597
- } = _ref70,
2598
- props = _objectWithoutPropertiesLoose(_ref70, _excluded70);
2482
+ } = _ref68,
2483
+ props = _objectWithoutPropertiesLoose(_ref68, _excluded68);
2599
2484
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2600
2485
  widthHeight: widthHeight,
2601
2486
  color: color
@@ -2617,14 +2502,14 @@ var PlusIcon = _ref70 => {
2617
2502
  y2: "12"
2618
2503
  })));
2619
2504
  };
2620
- var TickIcon = _ref71 => {
2505
+ var TickIcon = _ref69 => {
2621
2506
  var {
2622
2507
  widthHeight = 24,
2623
2508
  color = 'currentColor',
2624
2509
  filled = false,
2625
2510
  strokeWidth = 1
2626
- } = _ref71,
2627
- props = _objectWithoutPropertiesLoose(_ref71, _excluded71);
2511
+ } = _ref69,
2512
+ props = _objectWithoutPropertiesLoose(_ref69, _excluded69);
2628
2513
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2629
2514
  widthHeight: widthHeight,
2630
2515
  color: color
@@ -2638,14 +2523,14 @@ var TickIcon = _ref71 => {
2638
2523
  strokeLinejoin: "round"
2639
2524
  })));
2640
2525
  };
2641
- var BoldArrowIcon = _ref72 => {
2526
+ var BoldArrowIcon = _ref70 => {
2642
2527
  var {
2643
2528
  widthHeight = 24,
2644
2529
  color = 'currentColor',
2645
2530
  filled = true,
2646
2531
  strokeWidth = 1
2647
- } = _ref72,
2648
- props = _objectWithoutPropertiesLoose(_ref72, _excluded72);
2532
+ } = _ref70,
2533
+ props = _objectWithoutPropertiesLoose(_ref70, _excluded70);
2649
2534
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2650
2535
  widthHeight: widthHeight,
2651
2536
  color: color
@@ -2657,14 +2542,14 @@ var BoldArrowIcon = _ref72 => {
2657
2542
  d: "M12 4l7 7h-4v7h-6v-7H5l7-7z"
2658
2543
  })));
2659
2544
  };
2660
- var ArrowIcon = _ref73 => {
2545
+ var ArrowIcon = _ref71 => {
2661
2546
  var {
2662
2547
  widthHeight = 24,
2663
2548
  color = 'currentColor',
2664
2549
  filled = false,
2665
2550
  strokeWidth = 1
2666
- } = _ref73,
2667
- props = _objectWithoutPropertiesLoose(_ref73, _excluded73);
2551
+ } = _ref71,
2552
+ props = _objectWithoutPropertiesLoose(_ref71, _excluded71);
2668
2553
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2669
2554
  widthHeight: widthHeight,
2670
2555
  color: color
@@ -2682,14 +2567,14 @@ var ArrowIcon = _ref73 => {
2682
2567
  points: "6 12 12 6 18 12"
2683
2568
  })));
2684
2569
  };
2685
- var SpinnerIcon = _ref74 => {
2570
+ var SpinnerIcon = _ref72 => {
2686
2571
  var {
2687
2572
  widthHeight = 24,
2688
2573
  color = 'currentColor',
2689
2574
  filled = false,
2690
2575
  strokeWidth = 1
2691
- } = _ref74,
2692
- props = _objectWithoutPropertiesLoose(_ref74, _excluded74);
2576
+ } = _ref72,
2577
+ props = _objectWithoutPropertiesLoose(_ref72, _excluded72);
2693
2578
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2694
2579
  widthHeight: widthHeight,
2695
2580
  color: color
@@ -2707,14 +2592,14 @@ var SpinnerIcon = _ref74 => {
2707
2592
  strokeOpacity: "1"
2708
2593
  })));
2709
2594
  };
2710
- var CalendarIcon = _ref75 => {
2595
+ var CalendarIcon = _ref73 => {
2711
2596
  var {
2712
2597
  widthHeight = 24,
2713
2598
  color = 'currentColor',
2714
2599
  strokeWidth = 1,
2715
2600
  filled = false
2716
- } = _ref75,
2717
- props = _objectWithoutPropertiesLoose(_ref75, _excluded75);
2601
+ } = _ref73,
2602
+ props = _objectWithoutPropertiesLoose(_ref73, _excluded73);
2718
2603
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2719
2604
  widthHeight: widthHeight,
2720
2605
  color: color
@@ -2749,14 +2634,14 @@ var CalendarIcon = _ref75 => {
2749
2634
  y2: "10"
2750
2635
  })));
2751
2636
  };
2752
- var SliderIcon = _ref76 => {
2637
+ var SliderIcon = _ref74 => {
2753
2638
  var {
2754
2639
  widthHeight = 24,
2755
2640
  color = 'currentColor',
2756
2641
  strokeWidth = 1,
2757
2642
  filled = false
2758
- } = _ref76,
2759
- props = _objectWithoutPropertiesLoose(_ref76, _excluded76);
2643
+ } = _ref74,
2644
+ props = _objectWithoutPropertiesLoose(_ref74, _excluded74);
2760
2645
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2761
2646
  widthHeight: widthHeight,
2762
2647
  color: color
@@ -2784,16 +2669,6 @@ var SliderIcon = _ref76 => {
2784
2669
  y1: "12",
2785
2670
  x2: "21",
2786
2671
  y2: "12"
2787
- }), /*#__PURE__*/React__default.createElement("line", {
2788
- x1: "3",
2789
- y1: "20",
2790
- x2: "8",
2791
- y2: "20"
2792
- }), /*#__PURE__*/React__default.createElement("line", {
2793
- x1: "12",
2794
- y1: "20",
2795
- x2: "21",
2796
- y2: "20"
2797
2672
  }), /*#__PURE__*/React__default.createElement("line", {
2798
2673
  x1: "10",
2799
2674
  y1: "1",
@@ -2804,21 +2679,16 @@ var SliderIcon = _ref76 => {
2804
2679
  y1: "9",
2805
2680
  x2: "16",
2806
2681
  y2: "15"
2807
- }), /*#__PURE__*/React__default.createElement("line", {
2808
- x1: "8",
2809
- y1: "17",
2810
- x2: "8",
2811
- y2: "23"
2812
2682
  })));
2813
2683
  };
2814
- var CropIcon = _ref77 => {
2684
+ var CropIcon = _ref75 => {
2815
2685
  var {
2816
2686
  widthHeight = 24,
2817
2687
  color = 'currentColor',
2818
2688
  strokeWidth = 1,
2819
2689
  filled = false
2820
- } = _ref77,
2821
- props = _objectWithoutPropertiesLoose(_ref77, _excluded77);
2690
+ } = _ref75,
2691
+ props = _objectWithoutPropertiesLoose(_ref75, _excluded75);
2822
2692
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2823
2693
  widthHeight: widthHeight,
2824
2694
  color: color
@@ -2832,14 +2702,14 @@ var CropIcon = _ref77 => {
2832
2702
  d: "M18 22V8a2 2 0 0 0-2-2H2"
2833
2703
  })));
2834
2704
  };
2835
- var ZoomInIcon = _ref78 => {
2705
+ var ZoomInIcon = _ref76 => {
2836
2706
  var {
2837
2707
  widthHeight = 24,
2838
2708
  color = 'currentColor',
2839
2709
  strokeWidth = 1,
2840
2710
  filled = false
2841
- } = _ref78,
2842
- props = _objectWithoutPropertiesLoose(_ref78, _excluded78);
2711
+ } = _ref76,
2712
+ props = _objectWithoutPropertiesLoose(_ref76, _excluded76);
2843
2713
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2844
2714
  widthHeight: widthHeight,
2845
2715
  color: color
@@ -2868,14 +2738,14 @@ var ZoomInIcon = _ref78 => {
2868
2738
  y2: "11"
2869
2739
  })));
2870
2740
  };
2871
- var ZoomOutIcon = _ref79 => {
2741
+ var ZoomOutIcon = _ref77 => {
2872
2742
  var {
2873
2743
  widthHeight = 24,
2874
2744
  color = 'currentColor',
2875
2745
  strokeWidth = 1,
2876
2746
  filled = false
2877
- } = _ref79,
2878
- props = _objectWithoutPropertiesLoose(_ref79, _excluded79);
2747
+ } = _ref77,
2748
+ props = _objectWithoutPropertiesLoose(_ref77, _excluded77);
2879
2749
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2880
2750
  widthHeight: widthHeight,
2881
2751
  color: color
@@ -2899,14 +2769,14 @@ var ZoomOutIcon = _ref79 => {
2899
2769
  y2: "11"
2900
2770
  })));
2901
2771
  };
2902
- var TextIcon = _ref80 => {
2772
+ var TextIcon = _ref78 => {
2903
2773
  var {
2904
2774
  widthHeight = 24,
2905
2775
  color = 'currentColor',
2906
2776
  strokeWidth = 1,
2907
2777
  filled = false
2908
- } = _ref80,
2909
- props = _objectWithoutPropertiesLoose(_ref80, _excluded80);
2778
+ } = _ref78,
2779
+ props = _objectWithoutPropertiesLoose(_ref78, _excluded78);
2910
2780
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2911
2781
  widthHeight: widthHeight,
2912
2782
  color: color
@@ -2931,14 +2801,14 @@ var TextIcon = _ref80 => {
2931
2801
  y2: "18"
2932
2802
  })));
2933
2803
  };
2934
- var ShapeIcon = _ref81 => {
2804
+ var ShapeIcon = _ref79 => {
2935
2805
  var {
2936
2806
  widthHeight = 24,
2937
2807
  color = 'currentColor',
2938
2808
  strokeWidth = 1,
2939
2809
  filled = false
2940
- } = _ref81,
2941
- props = _objectWithoutPropertiesLoose(_ref81, _excluded81);
2810
+ } = _ref79,
2811
+ props = _objectWithoutPropertiesLoose(_ref79, _excluded79);
2942
2812
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2943
2813
  widthHeight: widthHeight,
2944
2814
  color: color
@@ -2959,14 +2829,14 @@ var ShapeIcon = _ref81 => {
2959
2829
  points: "16,4 19,8 13,8"
2960
2830
  })));
2961
2831
  };
2962
- var RotateIcon = _ref82 => {
2832
+ var RotateIcon = _ref80 => {
2963
2833
  var {
2964
2834
  widthHeight = 24,
2965
2835
  color = 'currentColor',
2966
2836
  strokeWidth = 1,
2967
2837
  filled = false
2968
- } = _ref82,
2969
- props = _objectWithoutPropertiesLoose(_ref82, _excluded82);
2838
+ } = _ref80,
2839
+ props = _objectWithoutPropertiesLoose(_ref80, _excluded80);
2970
2840
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2971
2841
  widthHeight: widthHeight,
2972
2842
  color: color
@@ -2980,14 +2850,14 @@ var RotateIcon = _ref82 => {
2980
2850
  d: "M3.51 15a9 9 0 1 0 2.13-9.36L1 10"
2981
2851
  })));
2982
2852
  };
2983
- var DocumentIcon = _ref83 => {
2853
+ var DocumentIcon = _ref81 => {
2984
2854
  var {
2985
2855
  widthHeight = 24,
2986
2856
  color = 'currentColor',
2987
2857
  strokeWidth = 1,
2988
2858
  filled = false
2989
- } = _ref83,
2990
- props = _objectWithoutPropertiesLoose(_ref83, _excluded83);
2859
+ } = _ref81,
2860
+ props = _objectWithoutPropertiesLoose(_ref81, _excluded81);
2991
2861
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
2992
2862
  widthHeight: widthHeight,
2993
2863
  color: color
@@ -3013,14 +2883,14 @@ var DocumentIcon = _ref83 => {
3013
2883
  points: "10 9 9 9 8 9"
3014
2884
  })));
3015
2885
  };
3016
- var ChartIcon = _ref84 => {
2886
+ var ChartIcon = _ref82 => {
3017
2887
  var {
3018
2888
  widthHeight = 24,
3019
2889
  color = 'currentColor',
3020
2890
  strokeWidth = 1,
3021
2891
  filled = false
3022
- } = _ref84,
3023
- props = _objectWithoutPropertiesLoose(_ref84, _excluded84);
2892
+ } = _ref82,
2893
+ props = _objectWithoutPropertiesLoose(_ref82, _excluded82);
3024
2894
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
3025
2895
  widthHeight: widthHeight,
3026
2896
  color: color
@@ -3064,14 +2934,14 @@ var ChartIcon = _ref84 => {
3064
2934
  y2: "17"
3065
2935
  })));
3066
2936
  };
3067
- var GiftIcon = _ref85 => {
2937
+ var GiftIcon = _ref83 => {
3068
2938
  var {
3069
2939
  widthHeight = 24,
3070
2940
  color = 'currentColor',
3071
2941
  strokeWidth = 1,
3072
2942
  filled = false
3073
- } = _ref85,
3074
- props = _objectWithoutPropertiesLoose(_ref85, _excluded85);
2943
+ } = _ref83,
2944
+ props = _objectWithoutPropertiesLoose(_ref83, _excluded83);
3075
2945
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
3076
2946
  widthHeight: widthHeight,
3077
2947
  color: color
@@ -3097,14 +2967,14 @@ var GiftIcon = _ref85 => {
3097
2967
  d: "M12 8c.5-2.5 4-3 5-1.5S15 10 12 8z"
3098
2968
  })));
3099
2969
  };
3100
- var ShieldIcon = _ref86 => {
2970
+ var ShieldIcon = _ref84 => {
3101
2971
  var {
3102
2972
  widthHeight = 24,
3103
2973
  color = 'currentColor',
3104
2974
  strokeWidth = 1,
3105
2975
  filled = true
3106
- } = _ref86,
3107
- props = _objectWithoutPropertiesLoose(_ref86, _excluded86);
2976
+ } = _ref84,
2977
+ props = _objectWithoutPropertiesLoose(_ref84, _excluded84);
3108
2978
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
3109
2979
  widthHeight: widthHeight,
3110
2980
  color: color
@@ -3117,14 +2987,14 @@ var ShieldIcon = _ref86 => {
3117
2987
  })));
3118
2988
  };
3119
2989
  var CheckIcon = TickIcon;
3120
- var LogoutIcon = _ref87 => {
2990
+ var LogoutIcon = _ref85 => {
3121
2991
  var {
3122
2992
  widthHeight = 24,
3123
2993
  color = 'currentColor',
3124
2994
  strokeWidth = 1,
3125
2995
  filled = false
3126
- } = _ref87,
3127
- props = _objectWithoutPropertiesLoose(_ref87, _excluded87);
2996
+ } = _ref85,
2997
+ props = _objectWithoutPropertiesLoose(_ref85, _excluded85);
3128
2998
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
3129
2999
  widthHeight: widthHeight,
3130
3000
  color: color
@@ -3140,14 +3010,14 @@ var LogoutIcon = _ref87 => {
3140
3010
  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"
3141
3011
  })));
3142
3012
  };
3143
- var PowerOffIcon = _ref88 => {
3013
+ var PowerOffIcon = _ref86 => {
3144
3014
  var {
3145
3015
  widthHeight = 24,
3146
3016
  color = 'currentColor',
3147
3017
  strokeWidth = 1.5,
3148
3018
  filled = false
3149
- } = _ref88,
3150
- props = _objectWithoutPropertiesLoose(_ref88, _excluded88);
3019
+ } = _ref86,
3020
+ props = _objectWithoutPropertiesLoose(_ref86, _excluded86);
3151
3021
  return /*#__PURE__*/React__default.createElement(IconWrapper, Object.assign({
3152
3022
  widthHeight: widthHeight,
3153
3023
  color: color
@@ -3206,7 +3076,6 @@ var Icon = {
3206
3076
  RefreshIcon: RefreshIcon,
3207
3077
  PrintIcon: PrintIcon,
3208
3078
  MagicWandIcon: MagicWandIcon,
3209
- SliderVerticalIcon: SliderVerticalIcon,
3210
3079
  PanelIcon: PanelIcon,
3211
3080
  FilterIcon: FilterIcon,
3212
3081
  HomeIcon: HomeIcon,
@@ -3232,10 +3101,9 @@ var Icon = {
3232
3101
  SendIcon: SendIcon,
3233
3102
  LoadingSpinnerIcon: LoadingSpinnerIcon,
3234
3103
  DragHandleLinesIcon: DragHandleLinesIcon,
3235
- ChevronDownIcon: ChevronDownIcon,
3236
- ChevronRightIcon: ChevronRightIcon,
3237
3104
  CloseEyeIcon: CloseEyeIcon,
3238
3105
  TrashIcon: TrashIcon,
3106
+ AttachmentIcon: AttachmentIcon,
3239
3107
  ExternalLinkIcon: ExternalLinkIcon,
3240
3108
  PlusIcon: PlusIcon,
3241
3109
  TickIcon: TickIcon,
@@ -6663,7 +6531,8 @@ var ContextMenuItem = _ref4 => {
6663
6531
  flexGrow: 1
6664
6532
  }, item.label), hasSubmenu && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
6665
6533
  marginLeft: 8
6666
- }, views == null ? void 0 : views.submenuIndicator), /*#__PURE__*/React__default.createElement(ChevronRightIcon, {
6534
+ }, views == null ? void 0 : views.submenuIndicator), /*#__PURE__*/React__default.createElement(ChevronIcon, {
6535
+ orientation: "right",
6667
6536
  widthHeight: 16,
6668
6537
  color: "currentColor",
6669
6538
  filled: true
@@ -12532,8 +12401,10 @@ var useUpload = _ref => {
12532
12401
  maxSize = 100 * 1024 * 1024,
12533
12402
  // 100MB default
12534
12403
  onFileSelect,
12404
+ onMultipleFileSelect,
12535
12405
  validateFile,
12536
12406
  thumbnail,
12407
+ multiple = false,
12537
12408
  onError = error => {
12538
12409
  showMessage('error', 'Error', error);
12539
12410
  }
@@ -12541,40 +12412,70 @@ var useUpload = _ref => {
12541
12412
  var fileInputRef = React.useRef(null);
12542
12413
  var videoRef = React.useRef(null);
12543
12414
  var [selectedFile, setSelectedFile] = React.useState(null);
12415
+ var [selectedFiles, setSelectedFiles] = React.useState([]);
12544
12416
  var [errorMessage, setErrorMessage] = React.useState(null);
12545
12417
  var [previewUrl, setPreviewUrl] = React.useState(null);
12546
12418
  var [thumbnailUrl, setThumbnailUrl] = React.useState(thumbnail || null);
12547
12419
  var handleFileChange = React.useCallback(event => {
12548
- var _event$target$files;
12549
- var file = (_event$target$files = event.target.files) == null ? void 0 : _event$target$files[0];
12420
+ var files = event.target.files;
12550
12421
  setErrorMessage(null);
12551
- if (!file) {
12422
+ if (!files || files.length === 0) {
12552
12423
  onError('No file selected');
12553
12424
  setErrorMessage('No file selected');
12554
12425
  return;
12555
12426
  }
12556
- if (file.size > maxSize) {
12557
- onError("File exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
12558
- setErrorMessage("File exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
12559
- return;
12560
- }
12561
- if (validateFile) {
12562
- var validationError = validateFile(file);
12563
- if (validationError) {
12564
- onError(validationError);
12565
- setErrorMessage(validationError);
12427
+ if (multiple) {
12428
+ // Handle multiple files
12429
+ var fileArray = Array.from(files);
12430
+ var validFiles = [];
12431
+ for (var file of fileArray) {
12432
+ if (file.size > maxSize) {
12433
+ onError("File " + file.name + " exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
12434
+ setErrorMessage("File " + file.name + " exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
12435
+ continue;
12436
+ }
12437
+ if (validateFile) {
12438
+ var validationError = validateFile(file);
12439
+ if (validationError) {
12440
+ onError(file.name + ": " + validationError);
12441
+ setErrorMessage(file.name + ": " + validationError);
12442
+ continue;
12443
+ }
12444
+ }
12445
+ validFiles.push(file);
12446
+ }
12447
+ if (validFiles.length > 0) {
12448
+ setSelectedFiles(validFiles);
12449
+ if (onMultipleFileSelect) {
12450
+ onMultipleFileSelect(validFiles);
12451
+ }
12452
+ }
12453
+ } else {
12454
+ // Handle single file (existing logic)
12455
+ var _file = files[0];
12456
+ if (_file.size > maxSize) {
12457
+ onError("File exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
12458
+ setErrorMessage("File exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
12566
12459
  return;
12567
12460
  }
12461
+ if (validateFile) {
12462
+ var _validationError = validateFile(_file);
12463
+ if (_validationError) {
12464
+ onError(_validationError);
12465
+ setErrorMessage(_validationError);
12466
+ return;
12467
+ }
12468
+ }
12469
+ setPreviewUrl(URL.createObjectURL(_file));
12470
+ if (_file.type.startsWith('video/')) {
12471
+ generateThumbnail(_file, setThumbnailUrl);
12472
+ }
12473
+ if (onFileSelect) {
12474
+ setSelectedFile(_file);
12475
+ onFileSelect(_file);
12476
+ }
12568
12477
  }
12569
- setPreviewUrl(URL.createObjectURL(file));
12570
- if (file.type.startsWith('video/')) {
12571
- generateThumbnail(file, setThumbnailUrl);
12572
- }
12573
- if (onFileSelect) {
12574
- setSelectedFile(file);
12575
- onFileSelect(file);
12576
- }
12577
- }, [maxSize, onFileSelect, validateFile]);
12478
+ }, [maxSize, onFileSelect, onMultipleFileSelect, validateFile, multiple]);
12578
12479
  var handleClick = () => {
12579
12480
  var _fileInputRef$current;
12580
12481
  return (_fileInputRef$current = fileInputRef.current) == null ? void 0 : _fileInputRef$current.click();
@@ -12592,6 +12493,7 @@ var useUpload = _ref => {
12592
12493
  fileInputRef,
12593
12494
  videoRef,
12594
12495
  selectedFile,
12496
+ selectedFiles,
12595
12497
  handleFileChange,
12596
12498
  handleClick
12597
12499
  };
@@ -12610,8 +12512,10 @@ var UploadView = _ref => {
12610
12512
  fileInputRef,
12611
12513
  videoRef,
12612
12514
  selectedFile,
12515
+ selectedFiles,
12613
12516
  handleFileChange,
12614
12517
  handleClick,
12518
+ multiple = false,
12615
12519
  containerProps,
12616
12520
  errorMessageProps,
12617
12521
  progressProps,
@@ -12770,13 +12674,14 @@ var UploadView = _ref => {
12770
12674
  ref: fileInputRef,
12771
12675
  onChange: handleFileChange,
12772
12676
  accept: accept,
12677
+ multiple: multiple,
12773
12678
  style: {
12774
12679
  display: 'none'
12775
12680
  }
12776
12681
  }, views == null ? void 0 : views.view)));
12777
12682
  };
12778
12683
 
12779
- var _excluded$H = ["accept", "icon", "text", "maxSize", "onFileSelect", "validateFile", "isLoading", "progress", "fileType"];
12684
+ var _excluded$H = ["accept", "icon", "text", "maxSize", "onFileSelect", "onMultipleFileSelect", "validateFile", "isLoading", "progress", "fileType", "multiple"];
12780
12685
  var Uploader = _ref => {
12781
12686
  var {
12782
12687
  accept = '*/*',
@@ -12784,10 +12689,12 @@ var Uploader = _ref => {
12784
12689
  text,
12785
12690
  maxSize,
12786
12691
  onFileSelect,
12692
+ onMultipleFileSelect,
12787
12693
  validateFile,
12788
12694
  isLoading = false,
12789
12695
  progress = 0,
12790
- fileType
12696
+ fileType,
12697
+ multiple = false
12791
12698
  } = _ref,
12792
12699
  props = _objectWithoutPropertiesLoose(_ref, _excluded$H);
12793
12700
  var {
@@ -12797,13 +12704,16 @@ var Uploader = _ref => {
12797
12704
  videoRef,
12798
12705
  fileInputRef,
12799
12706
  selectedFile,
12707
+ selectedFiles,
12800
12708
  handleFileChange,
12801
12709
  handleClick
12802
12710
  } = useUpload({
12803
12711
  accept,
12804
12712
  maxSize,
12805
12713
  onFileSelect,
12806
- validateFile
12714
+ onMultipleFileSelect,
12715
+ validateFile,
12716
+ multiple
12807
12717
  });
12808
12718
  // Determine file type based on the selected file's MIME type if not explicitly provided
12809
12719
  var determineFileType = () => {
@@ -12831,11 +12741,13 @@ var Uploader = _ref => {
12831
12741
  errorMessage: errorMessage,
12832
12742
  handleFileChange: handleFileChange,
12833
12743
  selectedFile: selectedFile,
12744
+ selectedFiles: selectedFiles,
12834
12745
  videoRef: videoRef,
12835
12746
  fileInputRef: fileInputRef,
12836
12747
  previewUrl: previewUrl,
12837
12748
  thumbnailUrl: thumbnailUrl,
12838
- fileType: detectedFileType
12749
+ fileType: detectedFileType,
12750
+ multiple: multiple
12839
12751
  }, props));
12840
12752
  };
12841
12753
 
@@ -13482,7 +13394,8 @@ var NavigationMenuTrigger = _ref4 => {
13482
13394
  }, children), /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
13483
13395
  transition: "transform 0.2s ease",
13484
13396
  transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)'
13485
- }, views == null ? void 0 : views.indicator), /*#__PURE__*/React__default.createElement(ChevronDownIcon, {
13397
+ }, views == null ? void 0 : views.indicator), /*#__PURE__*/React__default.createElement(ChevronIcon, {
13398
+ orientation: "down",
13486
13399
  widthHeight: 16,
13487
13400
  color: "currentColor",
13488
13401
  filled: true
@@ -15069,7 +14982,8 @@ var DropdownMenuItem = _ref4 => {
15069
14982
  flexGrow: 1
15070
14983
  }, item.label), hasSubmenu && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
15071
14984
  marginLeft: 8
15072
- }, views == null ? void 0 : views.submenuIndicator), /*#__PURE__*/React__default.createElement(ChevronRightIcon, {
14985
+ }, views == null ? void 0 : views.submenuIndicator), /*#__PURE__*/React__default.createElement(ChevronIcon, {
14986
+ orientation: "right",
15073
14987
  widthHeight: 16,
15074
14988
  color: "currentColor",
15075
14989
  filled: true
@@ -21129,6 +21043,7 @@ var useChatInputState = props => {
21129
21043
  var [pendingFiles, setPendingFiles] = React.useState([]);
21130
21044
  var [isUploading, setIsUploading] = React.useState(false);
21131
21045
  var [isDraggingOver, setIsDraggingOver] = React.useState(false);
21046
+ // Reference images are now tracked within uploadedFiles using isReferenceImage flag
21132
21047
  // State for model selection
21133
21048
  var [selectedModel, setSelectedModel] = React.useState('gpt-4');
21134
21049
  var [modelOptions] = React.useState([{
@@ -21186,9 +21101,17 @@ var useChatInputState = props => {
21186
21101
  return;
21187
21102
  }
21188
21103
  var message = value;
21104
+ // Separate reference images from regular files
21105
+ var referenceFiles = uploadedFiles.filter(file => file.isReferenceImage);
21106
+ var regularFiles = uploadedFiles.filter(file => !file.isReferenceImage);
21107
+ // Add reference image information to the message if reference images are uploaded
21108
+ if (referenceFiles.length > 0) {
21109
+ var referenceImageInfo = referenceFiles.map(image => "[Reference Image: " + image.path + "]").join('\n');
21110
+ message = message ? referenceImageInfo + "\n\n" + message : referenceImageInfo;
21111
+ }
21189
21112
  // Add file information to the message if files are uploaded
21190
- if (uploadedFiles.length > 0) {
21191
- var fileInfo = uploadedFiles.map(file => "[Uploaded File: " + file.path + "]").join('\n');
21113
+ if (regularFiles.length > 0) {
21114
+ var fileInfo = regularFiles.map(file => "[Uploaded File: " + file.path + "]").join('\n');
21192
21115
  message = message ? message + "\n\n" + fileInfo : fileInfo;
21193
21116
  }
21194
21117
  // Determine model and thinking mode
@@ -21207,7 +21130,7 @@ var useChatInputState = props => {
21207
21130
  if (!isControlled) {
21208
21131
  setUncontrolledValue('');
21209
21132
  }
21210
- // Clear uploaded files
21133
+ // Clear uploaded files (including reference images)
21211
21134
  setUploadedFiles([]);
21212
21135
  };
21213
21136
  // Handle removing an uploaded file
@@ -21265,6 +21188,52 @@ var useChatInputState = props => {
21265
21188
  editableRef.current.focus();
21266
21189
  }
21267
21190
  };
21191
+ // Handle reference image upload
21192
+ var handleReferenceImageUpload = files => {
21193
+ var imageFiles = files.filter(file => file.type.startsWith('image/'));
21194
+ if (imageFiles.length === 0) {
21195
+ console.error('Only image files are allowed as reference images');
21196
+ return;
21197
+ }
21198
+ // Clear existing reference images first
21199
+ var updatedFiles = uploadedFiles.map(file => Object.assign({}, file, {
21200
+ isReferenceImage: false
21201
+ }));
21202
+ // Create reference image objects (only take the first one)
21203
+ var newReferenceImage = {
21204
+ name: imageFiles[0].name,
21205
+ path: "/workspace/" + imageFiles[0].name,
21206
+ size: imageFiles[0].size,
21207
+ type: imageFiles[0].type,
21208
+ localUrl: URL.createObjectURL(imageFiles[0]),
21209
+ isReferenceImage: true
21210
+ };
21211
+ // Add to pending files
21212
+ setPendingFiles(prevFiles => [...prevFiles, imageFiles[0]]);
21213
+ // Add the reference image to uploaded files
21214
+ setUploadedFiles([...updatedFiles, newReferenceImage]);
21215
+ };
21216
+ // Remove reference image
21217
+ var removeReferenceImage = () => {
21218
+ // Clear reference image flag from all uploaded files
21219
+ var updatedFiles = uploadedFiles.map(file => Object.assign({}, file, {
21220
+ isReferenceImage: false
21221
+ }));
21222
+ setUploadedFiles(updatedFiles);
21223
+ };
21224
+ // Set an uploaded file as reference image
21225
+ var setFileAsReference = fileIndex => {
21226
+ var file = uploadedFiles[fileIndex];
21227
+ if (!file || !file.type.startsWith('image/')) {
21228
+ console.error('Only image files can be set as reference images');
21229
+ return;
21230
+ }
21231
+ // Update the files to mark only the selected one as reference image
21232
+ var updatedFiles = uploadedFiles.map((f, index) => Object.assign({}, f, {
21233
+ isReferenceImage: index === fileIndex
21234
+ }));
21235
+ setUploadedFiles(updatedFiles);
21236
+ };
21268
21237
  return {
21269
21238
  value,
21270
21239
  handleChange,
@@ -21290,7 +21259,10 @@ var useChatInputState = props => {
21290
21259
  hideGuideTip,
21291
21260
  isReferenceImageModalShown,
21292
21261
  toggleReferenceImageModal,
21293
- handlePromptExampleSelect
21262
+ handlePromptExampleSelect,
21263
+ handleReferenceImageUpload,
21264
+ removeReferenceImage,
21265
+ setFileAsReference
21294
21266
  };
21295
21267
  };
21296
21268
 
@@ -21461,6 +21433,7 @@ var AttachmentGroup = _ref => {
21461
21433
  files,
21462
21434
  sandboxId,
21463
21435
  onRemove,
21436
+ onSetAsReference,
21464
21437
  layout = 'inline',
21465
21438
  maxHeight = '120px',
21466
21439
  showPreviews = false,
@@ -21518,7 +21491,7 @@ var AttachmentGroup = _ref => {
21518
21491
  as: "span",
21519
21492
  marginLeft: "4px",
21520
21493
  color: "theme.primary"
21521
- }, "(pending)"))), /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
21494
+ }, "(pending)"))), onSetAsReference && file.type.startsWith('image/') && (/*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
21522
21495
  as: "button",
21523
21496
  type: "button",
21524
21497
  width: "16px",
@@ -21527,35 +21500,28 @@ var AttachmentGroup = _ref => {
21527
21500
  alignItems: "center",
21528
21501
  justifyContent: "center",
21529
21502
  borderRadius: "50%",
21530
- backgroundColor: "transparent",
21531
- color: "color.gray.500",
21503
+ backgroundColor: file.isReferenceImage ? 'theme.primary' : 'transparent',
21504
+ color: file.isReferenceImage ? 'color.white' : 'color.gray.500',
21532
21505
  cursor: "pointer",
21533
21506
  transition: "all 0.2s ease",
21534
- onClick: () => onRemove(index),
21507
+ onClick: () => onSetAsReference(index),
21508
+ title: file.isReferenceImage ? 'Reference image' : 'Set as reference image',
21535
21509
  _hover: {
21536
- backgroundColor: 'color.gray.200',
21537
- color: 'color.gray.700'
21510
+ backgroundColor: file.isReferenceImage ? 'color.blue.600' : 'color.blue.100',
21511
+ color: file.isReferenceImage ? 'color.white' : 'theme.primary'
21538
21512
  }
21539
- }, views == null ? void 0 : views.removeButton), /*#__PURE__*/React__default.createElement("svg", {
21540
- width: "10",
21541
- height: "10",
21542
- viewBox: "0 0 24 24",
21543
- fill: "none",
21544
- stroke: "currentColor",
21545
- strokeWidth: "2",
21546
- strokeLinecap: "round",
21547
- strokeLinejoin: "round"
21548
- }, /*#__PURE__*/React__default.createElement("line", {
21549
- x1: "18",
21550
- y1: "6",
21551
- x2: "6",
21552
- y2: "18"
21553
- }), /*#__PURE__*/React__default.createElement("line", {
21554
- x1: "6",
21555
- y1: "6",
21556
- x2: "18",
21557
- y2: "18"
21558
- })))))));
21513
+ }, views == null ? void 0 : views.referenceButton), /*#__PURE__*/React__default.createElement(ImageIcon, {
21514
+ widthHeight: 20,
21515
+ color: "currentColor",
21516
+ filled: file.isReferenceImage
21517
+ }))), /*#__PURE__*/React__default.createElement(Button, {
21518
+ variant: "ghost",
21519
+ size: "sm",
21520
+ icon: /*#__PURE__*/React__default.createElement(TrashIcon, {
21521
+ widthHeight: 12
21522
+ }),
21523
+ onClick: () => onRemove(index)
21524
+ })))));
21559
21525
  };
21560
21526
 
21561
21527
  var EditableInput = /*#__PURE__*/React.forwardRef((_ref, ref) => {
@@ -21627,132 +21593,6 @@ var EditableInput = /*#__PURE__*/React.forwardRef((_ref, ref) => {
21627
21593
  });
21628
21594
  EditableInput.displayName = 'EditableInput';
21629
21595
 
21630
- /**
21631
- * Handle local files without uploading to server
21632
- */
21633
- var handleLocalFiles = (files, setPendingFiles, setUploadedFiles) => {
21634
- // Filter files that exceed size limit
21635
- var filteredFiles = files.filter(file => {
21636
- if (file.size > 50 * 1024 * 1024) {
21637
- console.error("File size exceeds 50MB limit: " + file.name);
21638
- return false;
21639
- }
21640
- return true;
21641
- });
21642
- // Add files to pending files
21643
- setPendingFiles(prevFiles => [...prevFiles, ...filteredFiles]);
21644
- // Create uploaded file objects
21645
- var newUploadedFiles = filteredFiles.map(file => ({
21646
- name: file.name,
21647
- path: "/workspace/" + file.name,
21648
- size: file.size,
21649
- type: file.type || 'application/octet-stream',
21650
- localUrl: URL.createObjectURL(file)
21651
- }));
21652
- // Add files to uploaded files
21653
- setUploadedFiles(prev => [...prev, ...newUploadedFiles]);
21654
- };
21655
- /**
21656
- * Handle files based on whether a sandboxId is available
21657
- */
21658
- var handleFiles = /*#__PURE__*/function () {
21659
- var _ref = /*#__PURE__*/_asyncToGenerator(function* (files, sandboxId, setPendingFiles, setUploadedFiles, setIsUploading) {
21660
- // If no sandboxId, just handle files locally
21661
- handleLocalFiles(files, setPendingFiles, setUploadedFiles);
21662
- });
21663
- return function handleFiles(_x, _x2, _x3, _x4, _x5) {
21664
- return _ref.apply(this, arguments);
21665
- };
21666
- }();
21667
- var FileUploadHandler = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
21668
- var {
21669
- loading,
21670
- disabled,
21671
- isAgentRunning,
21672
- isUploading,
21673
- sandboxId,
21674
- setPendingFiles,
21675
- setUploadedFiles,
21676
- setIsUploading,
21677
- views = {}
21678
- } = _ref2;
21679
- var {
21680
- getColor
21681
- } = appStudio.useTheme();
21682
- // Clean up object URLs when component unmounts
21683
- React.useEffect(() => {
21684
- return () => {
21685
- setUploadedFiles(prev => {
21686
- prev.forEach(file => {
21687
- if (file.localUrl) {
21688
- URL.revokeObjectURL(file.localUrl);
21689
- }
21690
- });
21691
- return prev;
21692
- });
21693
- };
21694
- }, [setUploadedFiles]);
21695
- // Handle file upload button click
21696
- var handleFileUpload = () => {
21697
- if (ref && 'current' in ref && ref.current) {
21698
- ref.current.click();
21699
- }
21700
- };
21701
- // Process file upload
21702
- var processFileUpload = /*#__PURE__*/function () {
21703
- var _ref3 = _asyncToGenerator(function* (event) {
21704
- if (!event.target.files || event.target.files.length === 0) return;
21705
- var files = Array.from(event.target.files);
21706
- // Handle files
21707
- handleFiles(files, sandboxId, setPendingFiles, setUploadedFiles, setIsUploading);
21708
- // Reset the input value
21709
- event.target.value = '';
21710
- });
21711
- return function processFileUpload(_x6) {
21712
- return _ref3.apply(this, arguments);
21713
- };
21714
- }();
21715
- return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(appStudio.Button, Object.assign({
21716
- type: "button",
21717
- onClick: handleFileUpload,
21718
- variant: "ghost",
21719
- height: "36px",
21720
- padding: "0 12px",
21721
- borderRadius: "8px",
21722
- backgroundColor: "transparent",
21723
- color: "color.gray.500",
21724
- disabled: loading || disabled && !isAgentRunning || isUploading,
21725
- _hover: {
21726
- backgroundColor: 'color.gray.100'
21727
- }
21728
- }, views == null ? void 0 : views.button), /*#__PURE__*/React__default.createElement(appStudio.Horizontal, {
21729
- gap: 4,
21730
- alignItems: "center"
21731
- }, isUploading ? (/*#__PURE__*/React__default.createElement(LoadingSpinnerIcon, Object.assign({
21732
- widthHeight: 16,
21733
- color: "currentColor",
21734
- filled: false,
21735
- style: {
21736
- animation: 'spin 1s linear infinite'
21737
- }
21738
- }, views == null ? void 0 : views.icon))) : (/*#__PURE__*/React__default.createElement(UploadIcon, Object.assign({
21739
- widthHeight: 16,
21740
- color: "currentColor",
21741
- filled: false
21742
- }, views == null ? void 0 : views.icon))), /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
21743
- fontSize: "14px"
21744
- }, views == null ? void 0 : views.text), "Attachments"))), /*#__PURE__*/React__default.createElement("input", {
21745
- type: "file",
21746
- ref: ref,
21747
- style: {
21748
- display: 'none'
21749
- },
21750
- onChange: processFileUpload,
21751
- multiple: true
21752
- }));
21753
- });
21754
- FileUploadHandler.displayName = 'FileUploadHandler';
21755
-
21756
21596
  var PromptExamples = _ref => {
21757
21597
  var {
21758
21598
  examples,
@@ -21790,109 +21630,7 @@ var PromptExamples = _ref => {
21790
21630
  }, views == null ? void 0 : views.text), example.text)))));
21791
21631
  };
21792
21632
 
21793
- var ReferenceImageButton = _ref => {
21794
- var {
21795
- onClick,
21796
- views = {}
21797
- } = _ref;
21798
- // Using theme context for potential future styling
21799
- return /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
21800
- as: "button",
21801
- type: "button",
21802
- display: "flex",
21803
- alignItems: "center",
21804
- gap: 4,
21805
- padding: "6px 10px",
21806
- border: "1px solid",
21807
- borderColor: "color.gray.300",
21808
- borderRadius: "4px",
21809
- backgroundColor: "transparent",
21810
- cursor: "pointer",
21811
- transition: "all 0.2s ease",
21812
- onClick: onClick,
21813
- _hover: {
21814
- backgroundColor: 'color.gray.100'
21815
- }
21816
- }, views == null ? void 0 : views.button), /*#__PURE__*/React__default.createElement(appStudio.Text, Object.assign({
21817
- fontSize: "14px",
21818
- color: "color.gray.700"
21819
- }, views == null ? void 0 : views.text), "Reference image"), /*#__PURE__*/React__default.createElement(ImageIcon, Object.assign({
21820
- widthHeight: 20,
21821
- color: "currentColor",
21822
- filled: false,
21823
- strokeWidth: 2
21824
- }, views == null ? void 0 : views.icon)));
21825
- };
21826
-
21827
- var ReferenceImageModal = _ref => {
21828
- var {
21829
- isOpen,
21830
- onClose,
21831
- views = {}
21832
- } = _ref;
21833
- // Using theme context for potential future styling
21834
- if (!isOpen) {
21835
- return null;
21836
- }
21837
- return /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
21838
- position: "absolute",
21839
- top: "0",
21840
- left: "0",
21841
- width: "100%",
21842
- height: isOpen ? '300px' : '0',
21843
- backgroundColor: "color.white",
21844
- borderRadius: "8px",
21845
- boxShadow: "0 4px 12px rgba(0, 0, 0, 0.1)",
21846
- overflow: "hidden",
21847
- transition: "height 0.3s ease",
21848
- zIndex: "10"
21849
- }, views == null ? void 0 : views.container), /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
21850
- padding: "16px",
21851
- width: "100%",
21852
- height: "100%"
21853
- }, views == null ? void 0 : views.content), /*#__PURE__*/React__default.createElement(appStudio.Text, {
21854
- fontSize: "16px",
21855
- fontWeight: "600",
21856
- marginBottom: "16px"
21857
- }, "Reference Image"), /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
21858
- as: "button",
21859
- type: "button",
21860
- position: "absolute",
21861
- top: "8px",
21862
- right: "8px",
21863
- width: "24px",
21864
- height: "24px",
21865
- display: "flex",
21866
- alignItems: "center",
21867
- justifyContent: "center",
21868
- borderRadius: "50%",
21869
- backgroundColor: "transparent",
21870
- border: "none",
21871
- cursor: "pointer",
21872
- transition: "all 0.2s ease",
21873
- onClick: onClose,
21874
- _hover: {
21875
- backgroundColor: 'color.gray.100'
21876
- }
21877
- }, views == null ? void 0 : views.closeButton), /*#__PURE__*/React__default.createElement(CloseIcon, {
21878
- widthHeight: 16,
21879
- color: "currentColor",
21880
- filled: false,
21881
- strokeWidth: 2
21882
- })), /*#__PURE__*/React__default.createElement(appStudio.View, {
21883
- width: "100%",
21884
- height: "calc(100% - 40px)",
21885
- backgroundColor: "color.gray.100",
21886
- borderRadius: "4px",
21887
- display: "flex",
21888
- alignItems: "center",
21889
- justifyContent: "center"
21890
- }, /*#__PURE__*/React__default.createElement(appStudio.Text, {
21891
- color: "color.gray.500"
21892
- }, "Drop an image here or click to upload"))));
21893
- };
21894
-
21895
- 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"];
21633
+ 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"];
21896
21634
  var ChatInputView = _ref => {
21897
21635
  var _value$trim$length;
21898
21636
  var {
@@ -21901,9 +21639,11 @@ var ChatInputView = _ref => {
21901
21639
  loading = false,
21902
21640
  disabled = false,
21903
21641
  isAgentRunning = false,
21642
+ loadingText = 'Agent is working...',
21904
21643
  autoFocus = true,
21905
21644
  sandboxId,
21906
21645
  hideAttachments = false,
21646
+ attachmentText = '',
21907
21647
  promptExamples = [],
21908
21648
  showReferenceImageButton = false,
21909
21649
  errorMessage,
@@ -21916,17 +21656,18 @@ var ChatInputView = _ref => {
21916
21656
  handleChange,
21917
21657
  handleSubmit,
21918
21658
  editableRef,
21919
- fileInputRef,
21920
21659
  isUploading,
21921
21660
  isDraggingOver,
21922
21661
  uploadedFiles,
21923
21662
  removeUploadedFile,
21924
21663
  setPendingFiles,
21925
21664
  setUploadedFiles,
21926
- setIsUploading,
21927
21665
  isReferenceImageModalShown,
21928
- toggleReferenceImageModal,
21929
- handlePromptExampleSelect
21666
+ handlePromptExampleSelect,
21667
+ handleDragOver,
21668
+ handleDragLeave,
21669
+ handleReferenceImageUpload,
21670
+ setFileAsReference
21930
21671
  // Other props
21931
21672
  } = _ref,
21932
21673
  props = _objectWithoutPropertiesLoose(_ref, _excluded$18);
@@ -21936,39 +21677,55 @@ var ChatInputView = _ref => {
21936
21677
  var contentStyles = Object.assign({}, DefaultChatInputStyles.content, Sizes$1[size], Variants[variant], views == null ? void 0 : views.content);
21937
21678
  // Determine if the submit button should be enabled
21938
21679
  var hasText = ((_value$trim$length = value == null ? void 0 : value.trim().length) != null ? _value$trim$length : 0) > 0 || uploadedFiles.length > 0;
21680
+ // Handle multiple file uploads for the Uploader component
21681
+ var handleMultipleFileUpload = files => {
21682
+ // Filter files that exceed size limit (50MB)
21683
+ var filteredFiles = files.filter(file => {
21684
+ if (file.size > 50 * 1024 * 1024) {
21685
+ console.error("File size exceeds 50MB limit: " + file.name);
21686
+ return false;
21687
+ }
21688
+ return true;
21689
+ });
21690
+ if (filteredFiles.length > 0) {
21691
+ // Add files to pending files
21692
+ setPendingFiles(prevFiles => [...prevFiles, ...filteredFiles]);
21693
+ // Create uploaded file objects
21694
+ var newUploadedFiles = filteredFiles.map(file => ({
21695
+ name: file.name,
21696
+ path: "/workspace/" + file.name,
21697
+ size: file.size,
21698
+ type: file.type || 'application/octet-stream',
21699
+ localUrl: URL.createObjectURL(file),
21700
+ isReferenceImage: false
21701
+ }));
21702
+ // Add files to uploaded files
21703
+ setUploadedFiles(prev => [...prev, ...newUploadedFiles]);
21704
+ }
21705
+ };
21939
21706
  return /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
21940
21707
  display: "flex",
21941
21708
  flexDirection: "column",
21942
21709
  // Width and maxWidth will come from containerStyles
21943
21710
  boxSizing: "border-box"
21944
21711
  }, containerStyles, props, {
21945
- onDragOver: e => {
21946
- e.preventDefault();
21947
- e.stopPropagation();
21948
- if (fileInputRef.current) {
21949
- props.handleDragOver == null || props.handleDragOver(e);
21950
- }
21951
- },
21952
- onDragLeave: e => {
21953
- e.preventDefault();
21954
- e.stopPropagation();
21955
- props.handleDragLeave == null || props.handleDragLeave(e);
21956
- },
21712
+ onDragOver: handleDragOver,
21713
+ onDragLeave: handleDragLeave,
21957
21714
  onDrop: e => {
21958
21715
  e.preventDefault();
21959
21716
  e.stopPropagation();
21960
- props.handleDragLeave == null || props.handleDragLeave(e);
21961
- if (fileInputRef.current && e.dataTransfer.files.length > 0) {
21717
+ handleDragLeave(e);
21718
+ if (e.dataTransfer.files.length > 0) {
21962
21719
  var files = Array.from(e.dataTransfer.files);
21963
- setPendingFiles(prevFiles => [...prevFiles, ...files]);
21964
- var newUploadedFiles = files.map(file => ({
21965
- name: file.name,
21966
- path: "/workspace/" + file.name,
21967
- size: file.size,
21968
- type: file.type || 'application/octet-stream',
21969
- localUrl: URL.createObjectURL(file)
21970
- }));
21971
- setUploadedFiles(prev => [...prev, ...newUploadedFiles]);
21720
+ // Separate image files from other files
21721
+ var imageFiles = files.filter(file => file.type.startsWith('image/'));
21722
+ // Handle image files as reference images if reference image modal is open
21723
+ if (isReferenceImageModalShown && imageFiles.length > 0) {
21724
+ handleReferenceImageUpload(imageFiles);
21725
+ } else {
21726
+ // Use the same file handling logic as the Uploader component
21727
+ handleMultipleFileUpload(files);
21728
+ }
21972
21729
  }
21973
21730
  }
21974
21731
  }), promptExamples.length > 0 && (/*#__PURE__*/React__default.createElement(PromptExamples, {
@@ -21978,24 +21735,36 @@ var ChatInputView = _ref => {
21978
21735
  container: views == null ? void 0 : views.promptExamples,
21979
21736
  item: views == null ? void 0 : views.promptExampleItem
21980
21737
  }
21981
- })), /*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
21982
- justifyContent: "space-between",
21983
- alignItems: "center"
21984
- }, views == null ? void 0 : views.header), showReferenceImageButton && (/*#__PURE__*/React__default.createElement(ReferenceImageButton, {
21985
- onClick: toggleReferenceImageModal,
21986
- views: {
21987
- button: views == null ? void 0 : views.referenceImageButton
21738
+ })), isAgentRunning && (/*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
21739
+ justifyContent: "center",
21740
+ alignItems: "center",
21741
+ gap: 8,
21742
+ padding: "8px 0",
21743
+ animate: {
21744
+ from: {
21745
+ opacity: 0,
21746
+ y: -10
21747
+ },
21748
+ to: {
21749
+ opacity: 1,
21750
+ y: 0
21751
+ },
21752
+ duration: '0.3s'
21988
21753
  }
21989
- }))), /*#__PURE__*/React__default.createElement(appStudio.View, {
21754
+ }, views == null ? void 0 : views.loadingIndicator), /*#__PURE__*/React__default.createElement(LoadingSpinnerIcon, {
21755
+ widthHeight: 12,
21756
+ color: "currentColor",
21757
+ filled: false,
21758
+ style: {
21759
+ animation: 'spin 1s linear infinite'
21760
+ }
21761
+ }), /*#__PURE__*/React__default.createElement(appStudio.Text, {
21762
+ fontSize: "12px",
21763
+ color: "color.gray.500"
21764
+ }, loadingText))), /*#__PURE__*/React__default.createElement(appStudio.View, {
21990
21765
  position: "relative",
21991
21766
  width: "100%"
21992
- }, /*#__PURE__*/React__default.createElement(ReferenceImageModal, {
21993
- isOpen: isReferenceImageModalShown,
21994
- onClose: toggleReferenceImageModal,
21995
- views: {
21996
- container: views == null ? void 0 : views.referenceImageModal
21997
- }
21998
- }), /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
21767
+ }, /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
21999
21768
  as: "form",
22000
21769
  onSubmit: handleSubmit,
22001
21770
  overflowY: "auto",
@@ -22009,12 +21778,14 @@ var ChatInputView = _ref => {
22009
21778
  files: uploadedFiles,
22010
21779
  sandboxId: sandboxId,
22011
21780
  onRemove: removeUploadedFile,
21781
+ onSetAsReference: setFileAsReference,
22012
21782
  views: {
22013
21783
  container: views == null ? void 0 : views.attachments,
22014
21784
  item: views == null ? void 0 : views.attachmentItem,
22015
21785
  name: views == null ? void 0 : views.attachmentName,
22016
21786
  size: views == null ? void 0 : views.attachmentSize,
22017
- removeButton: views == null ? void 0 : views.attachmentRemove
21787
+ removeButton: views == null ? void 0 : views.attachmentRemove,
21788
+ referenceButton: views == null ? void 0 : views.referenceButton
22018
21789
  }
22019
21790
  }), /*#__PURE__*/React__default.createElement(EditableInput, {
22020
21791
  ref: editableRef,
@@ -22035,18 +21806,46 @@ var ChatInputView = _ref => {
22035
21806
  }, /*#__PURE__*/React__default.createElement(appStudio.Horizontal, {
22036
21807
  gap: 8,
22037
21808
  alignItems: "center"
22038
- }, !hideAttachments && (/*#__PURE__*/React__default.createElement(FileUploadHandler, {
22039
- ref: fileInputRef,
22040
- loading: loading,
22041
- disabled: disabled,
22042
- isAgentRunning: isAgentRunning,
22043
- isUploading: isUploading,
22044
- sandboxId: sandboxId,
22045
- setPendingFiles: setPendingFiles,
22046
- setUploadedFiles: setUploadedFiles,
22047
- setIsUploading: setIsUploading,
21809
+ }, !hideAttachments && (/*#__PURE__*/React__default.createElement(Uploader, {
21810
+ accept: "*/*",
21811
+ icon: /*#__PURE__*/React__default.createElement(AttachmentIcon, {
21812
+ widthHeight: 16
21813
+ }),
21814
+ maxSize: 50 * 1024 * 1024,
21815
+ multiple: true,
21816
+ onMultipleFileSelect: handleMultipleFileUpload,
21817
+ isLoading: isUploading,
21818
+ text: attachmentText,
21819
+ fileType: "file",
22048
21820
  views: {
22049
- button: views == null ? void 0 : views.fileButton
21821
+ container: Object.assign({
21822
+ height: '36px',
21823
+ margin: '0 12px',
21824
+ // borderRadius: '8px',
21825
+ // backgroundColor: 'transparent',
21826
+ // border: '1px solid',
21827
+ // borderColor: 'color.gray.300',
21828
+ cursor: 'pointer',
21829
+ _hover: {
21830
+ backgroundColor: 'color.gray.100'
21831
+ }
21832
+ }, views == null ? void 0 : views.fileButton, containerStyles)
21833
+ },
21834
+ containerProps: {
21835
+ display: 'flex',
21836
+ alignItems: 'center',
21837
+ justifyContent: 'center',
21838
+ gap: 4
21839
+ },
21840
+ textProps: {
21841
+ fontSize: '14px',
21842
+ color: 'color.gray.600'
21843
+ },
21844
+ validateFile: file => {
21845
+ if (file.size > 50 * 1024 * 1024) {
21846
+ return 'File size exceeds 50MB limit';
21847
+ }
21848
+ return null;
22050
21849
  }
22051
21850
  }))), /*#__PURE__*/React__default.createElement(appStudio.View, Object.assign({
22052
21851
  as: "button",
@@ -22066,15 +21865,15 @@ var ChatInputView = _ref => {
22066
21865
  _hover: {
22067
21866
  backgroundColor: isAgentRunning ? 'color.red.600' : hasText ? 'color.blue.600' : 'color.gray.300'
22068
21867
  }
22069
- }, views == null ? void 0 : views.submitButton), isAgentRunning ? (/*#__PURE__*/React__default.createElement(Icon$1.StopIcon, {
21868
+ }, views == null ? void 0 : views.submitButton), isAgentRunning ? (/*#__PURE__*/React__default.createElement(StopIcon, {
22070
21869
  widthHeight: 16,
22071
21870
  color: "currentColor",
22072
21871
  filled: false
22073
- })) : loading ? (/*#__PURE__*/React__default.createElement(Loader$1.Loader, {
21872
+ })) : loading ? (/*#__PURE__*/React__default.createElement(Loader, {
22074
21873
  type: "quarter",
22075
21874
  size: 16,
22076
21875
  color: "color.white"
22077
- })) : (/*#__PURE__*/React__default.createElement(Icon$1.SendIcon, {
21876
+ })) : (/*#__PURE__*/React__default.createElement(SendIcon, {
22078
21877
  widthHeight: 16,
22079
21878
  color: "currentColor",
22080
21879
  filled: false
@@ -22082,35 +21881,12 @@ var ChatInputView = _ref => {
22082
21881
  fontSize: "12px",
22083
21882
  color: "theme.error",
22084
21883
  marginTop: "4px"
22085
- }, views == null ? void 0 : views.bottomTip), errorMessage)), isAgentRunning && (/*#__PURE__*/React__default.createElement(appStudio.Horizontal, Object.assign({
22086
- justifyContent: "center",
22087
- alignItems: "center",
22088
- gap: 8,
22089
- padding: "8px 0",
22090
- animate: {
22091
- from: {
22092
- opacity: 0,
22093
- y: -10
22094
- },
22095
- to: {
22096
- opacity: 1,
22097
- y: 0
22098
- },
22099
- duration: '0.3s'
22100
- }
22101
- }, views == null ? void 0 : views.loadingIndicator), /*#__PURE__*/React__default.createElement(Icon$1.LoadingSpinnerIcon, {
22102
- widthHeight: 12,
22103
- color: "currentColor",
22104
- filled: false,
22105
- style: {
22106
- animation: 'spin 1s linear infinite'
22107
- }
22108
- }), /*#__PURE__*/React__default.createElement(appStudio.Text, {
22109
- fontSize: "12px",
22110
- color: "color.gray.500"
22111
- }, "Agent is working..."))));
21884
+ }, views == null ? void 0 : views.bottomTip), errorMessage)));
22112
21885
  };
22113
21886
 
21887
+ /**
21888
+ * Interface for the ChatInput component's imperative handle
21889
+ */
22114
21890
  /**
22115
21891
  * ChatInput component
22116
21892
  *
@@ -22119,11 +21895,6 @@ var ChatInputView = _ref => {
22119
21895
  var ChatInput = /*#__PURE__*/React.forwardRef((props, ref) => {
22120
21896
  // Get state from custom hook
22121
21897
  var state = useChatInputState(props);
22122
- // Expose methods via ref
22123
- React.useImperativeHandle(ref, () => ({
22124
- getPendingFiles: () => state.pendingFiles || [],
22125
- clearPendingFiles: () => state.setPendingFiles([])
22126
- }));
22127
21898
  // Render the view component with props and state
22128
21899
  return /*#__PURE__*/React__default.createElement(ChatInputView, Object.assign({}, props, state));
22129
21900
  });
@@ -22133,6 +21904,7 @@ exports.Accordion = Accordion;
22133
21904
  exports.Alert = Alert;
22134
21905
  exports.ArrowIcon = ArrowIcon;
22135
21906
  exports.AspectRatio = AspectRatio;
21907
+ exports.AttachmentIcon = AttachmentIcon;
22136
21908
  exports.Avatar = Avatar;
22137
21909
  exports.Badge = Badge;
22138
21910
  exports.BatteryIcon = BatteryIcon;
@@ -22149,9 +21921,7 @@ exports.ChartIcon = ChartIcon;
22149
21921
  exports.ChatInput = ChatInput;
22150
21922
  exports.CheckIcon = CheckIcon;
22151
21923
  exports.Checkbox = Checkbox;
22152
- exports.ChevronDownIcon = ChevronDownIcon;
22153
21924
  exports.ChevronIcon = ChevronIcon;
22154
- exports.ChevronRightIcon = ChevronRightIcon;
22155
21925
  exports.ClockIcon = ClockIcon;
22156
21926
  exports.CloseEyeIcon = CloseEyeIcon;
22157
21927
  exports.CloseIcon = CloseIcon;
@@ -22250,7 +22020,6 @@ exports.ShieldIcon = ShieldIcon;
22250
22020
  exports.Sidebar = Sidebar;
22251
22021
  exports.Slider = Slider;
22252
22022
  exports.SliderIcon = SliderIcon;
22253
- exports.SliderVerticalIcon = SliderVerticalIcon;
22254
22023
  exports.SpinnerIcon = SpinnerIcon;
22255
22024
  exports.StarIcon = StarIcon;
22256
22025
  exports.StopIcon = StopIcon;