@app-studio/web 0.9.3 → 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';
@@ -32,31 +32,6 @@ 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
34
 
35
- function asyncGeneratorStep(n, t, e, r, o, a, c) {
36
- try {
37
- var i = n[a](c),
38
- u = i.value;
39
- } catch (n) {
40
- return void e(n);
41
- }
42
- i.done ? t(u) : Promise.resolve(u).then(r, o);
43
- }
44
- function _asyncToGenerator(n) {
45
- return function () {
46
- var t = this,
47
- e = arguments;
48
- return new Promise(function (r, o) {
49
- var a = n.apply(t, e);
50
- function _next(n) {
51
- asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
52
- }
53
- function _throw(n) {
54
- asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
55
- }
56
- _next(void 0);
57
- });
58
- };
59
- }
60
35
  function _objectWithoutPropertiesLoose(r, e) {
61
36
  if (null == r) return {};
62
37
  var t = {};
@@ -715,7 +690,7 @@ var _excluded$3 = ["widthHeight", "color", "transform", "orientation", "children
715
690
  _excluded38 = ["widthHeight", "color", "filled", "strokeWidth"],
716
691
  _excluded39 = ["widthHeight", "color", "strokeWidth", "filled"],
717
692
  _excluded40 = ["widthHeight", "color", "strokeWidth", "filled"],
718
- _excluded41 = ["widthHeight", "color", "strokeWidth", "filled"],
693
+ _excluded41 = ["widthHeight", "color", "filled", "strokeWidth"],
719
694
  _excluded42 = ["widthHeight", "color", "filled", "strokeWidth"],
720
695
  _excluded43 = ["widthHeight", "color", "filled", "strokeWidth"],
721
696
  _excluded44 = ["widthHeight", "color", "filled", "strokeWidth"],
@@ -727,9 +702,9 @@ var _excluded$3 = ["widthHeight", "color", "transform", "orientation", "children
727
702
  _excluded50 = ["widthHeight", "color", "filled", "strokeWidth"],
728
703
  _excluded51 = ["widthHeight", "color", "filled", "strokeWidth"],
729
704
  _excluded52 = ["widthHeight", "color", "filled", "strokeWidth"],
730
- _excluded53 = ["widthHeight", "color", "filled", "strokeWidth"],
705
+ _excluded53 = ["widthHeight", "color", "strokeWidth", "filled"],
731
706
  _excluded54 = ["widthHeight", "color", "strokeWidth", "filled"],
732
- _excluded55 = ["widthHeight", "color", "strokeWidth", "filled"],
707
+ _excluded55 = ["widthHeight", "color", "filled", "strokeWidth"],
733
708
  _excluded56 = ["widthHeight", "color", "filled", "strokeWidth"],
734
709
  _excluded57 = ["widthHeight", "color", "filled", "strokeWidth"],
735
710
  _excluded58 = ["widthHeight", "color", "filled", "strokeWidth"],
@@ -747,8 +722,8 @@ var _excluded$3 = ["widthHeight", "color", "transform", "orientation", "children
747
722
  _excluded70 = ["widthHeight", "color", "filled", "strokeWidth"],
748
723
  _excluded71 = ["widthHeight", "color", "filled", "strokeWidth"],
749
724
  _excluded72 = ["widthHeight", "color", "filled", "strokeWidth"],
750
- _excluded73 = ["widthHeight", "color", "filled", "strokeWidth"],
751
- _excluded74 = ["widthHeight", "color", "filled", "strokeWidth"],
725
+ _excluded73 = ["widthHeight", "color", "strokeWidth", "filled"],
726
+ _excluded74 = ["widthHeight", "color", "strokeWidth", "filled"],
752
727
  _excluded75 = ["widthHeight", "color", "strokeWidth", "filled"],
753
728
  _excluded76 = ["widthHeight", "color", "strokeWidth", "filled"],
754
729
  _excluded77 = ["widthHeight", "color", "strokeWidth", "filled"],
@@ -760,9 +735,7 @@ var _excluded$3 = ["widthHeight", "color", "transform", "orientation", "children
760
735
  _excluded83 = ["widthHeight", "color", "strokeWidth", "filled"],
761
736
  _excluded84 = ["widthHeight", "color", "strokeWidth", "filled"],
762
737
  _excluded85 = ["widthHeight", "color", "strokeWidth", "filled"],
763
- _excluded86 = ["widthHeight", "color", "strokeWidth", "filled"],
764
- _excluded87 = ["widthHeight", "color", "strokeWidth", "filled"],
765
- _excluded88 = ["widthHeight", "color", "strokeWidth", "filled"];
738
+ _excluded86 = ["widthHeight", "color", "strokeWidth", "filled"];
766
739
  // Default wrapper component for consistent sizing and styling
767
740
  var IconWrapper = _ref => {
768
741
  var {
@@ -805,12 +778,21 @@ var UserIcon = _ref2 => {
805
778
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
806
779
  widthHeight: widthHeight,
807
780
  color: color
808
- }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
781
+ }, props), /*#__PURE__*/React.createElement("svg", {
809
782
  viewBox: "0 0 24 24",
810
783
  "aria-hidden": "true",
811
- focusable: "false"
812
- }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
813
- 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"
814
796
  })));
815
797
  };
816
798
  var HelpIcon = _ref3 => {
@@ -957,7 +939,8 @@ var ChevronIcon = _ref5 => {
957
939
  "aria-hidden": "true",
958
940
  focusable: "false"
959
941
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
960
- 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"
961
944
  })));
962
945
  };
963
946
  var DragHandleIcon = _ref6 => {
@@ -1001,32 +984,28 @@ var DragHandleIcon = _ref6 => {
1001
984
  r: "2"
1002
985
  }))));
1003
986
  };
1004
- // File Icon Component
1005
987
  var FileIcon = _ref7 => {
1006
988
  var {
1007
989
  widthHeight = 24,
1008
990
  color = 'currentColor',
1009
- filled = true,
991
+ filled = false,
1010
992
  strokeWidth = 1
1011
993
  } = _ref7,
1012
994
  props = _objectWithoutPropertiesLoose(_ref7, _excluded7);
1013
995
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1014
996
  widthHeight: widthHeight,
1015
997
  color: color
1016
- }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
998
+ }, props), /*#__PURE__*/React.createElement("svg", {
1017
999
  viewBox: "0 0 24 24",
1018
1000
  "aria-hidden": "true",
1019
- focusable: "false"
1020
- }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
1021
- 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",
1022
1002
  fill: filled ? color : 'none',
1023
1003
  stroke: filled ? 'none' : color,
1024
- strokeWidth: filled ? 0 : strokeWidth
1025
- }), /*#__PURE__*/React.createElement("polyline", {
1026
- points: "14 2 14 8 20 8",
1027
- fill: "none",
1028
- stroke: color,
1029
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"
1030
1009
  })));
1031
1010
  };
1032
1011
  // Video Icon Component
@@ -1180,7 +1159,7 @@ var CloseIcon = _ref13 => {
1180
1159
  widthHeight = 24,
1181
1160
  color = 'currentColor',
1182
1161
  filled = false,
1183
- strokeWidth = 1
1162
+ strokeWidth = 2
1184
1163
  } = _ref13,
1185
1164
  props = _objectWithoutPropertiesLoose(_ref13, _excluded13);
1186
1165
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
@@ -1830,7 +1809,7 @@ var MagicWandIcon = _ref39 => {
1830
1809
  d: "M16 15L16.7 16.5L18 17L16.7 17.5L16 19L15.3 17.5L14 17L15.3 16.5L16 15Z"
1831
1810
  })));
1832
1811
  };
1833
- var SliderVerticalIcon = _ref40 => {
1812
+ var PanelIcon = _ref40 => {
1834
1813
  var {
1835
1814
  widthHeight = 24,
1836
1815
  color = 'currentColor',
@@ -1845,77 +1824,6 @@ var SliderVerticalIcon = _ref40 => {
1845
1824
  viewBox: "0 0 24 24",
1846
1825
  "aria-hidden": "false",
1847
1826
  focusable: "false"
1848
- }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("line", {
1849
- stroke: color,
1850
- x1: "4",
1851
- y1: "21",
1852
- x2: "4",
1853
- y2: "14"
1854
- }), /*#__PURE__*/React.createElement("line", {
1855
- stroke: color,
1856
- x1: "4",
1857
- y1: "10",
1858
- x2: "4",
1859
- y2: "3"
1860
- }), /*#__PURE__*/React.createElement("line", {
1861
- stroke: color,
1862
- x1: "12",
1863
- y1: "21",
1864
- x2: "12",
1865
- y2: "12"
1866
- }), /*#__PURE__*/React.createElement("line", {
1867
- stroke: color,
1868
- x1: "12",
1869
- y1: "8",
1870
- x2: "12",
1871
- y2: "3"
1872
- }), /*#__PURE__*/React.createElement("line", {
1873
- stroke: color,
1874
- x1: "20",
1875
- y1: "21",
1876
- x2: "20",
1877
- y2: "16"
1878
- }), /*#__PURE__*/React.createElement("line", {
1879
- stroke: color,
1880
- x1: "20",
1881
- y1: "12",
1882
- x2: "20",
1883
- y2: "3"
1884
- }), /*#__PURE__*/React.createElement("line", {
1885
- stroke: color,
1886
- x1: "1",
1887
- y1: "14",
1888
- x2: "7",
1889
- y2: "14"
1890
- }), /*#__PURE__*/React.createElement("line", {
1891
- stroke: color,
1892
- x1: "9",
1893
- y1: "8",
1894
- x2: "15",
1895
- y2: "8"
1896
- }), /*#__PURE__*/React.createElement("line", {
1897
- stroke: color,
1898
- x1: "17",
1899
- y1: "16",
1900
- x2: "23",
1901
- y2: "16"
1902
- })));
1903
- };
1904
- var PanelIcon = _ref41 => {
1905
- var {
1906
- widthHeight = 24,
1907
- color = 'currentColor',
1908
- strokeWidth = 1,
1909
- filled = false
1910
- } = _ref41,
1911
- props = _objectWithoutPropertiesLoose(_ref41, _excluded41);
1912
- return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1913
- widthHeight: widthHeight,
1914
- color: color
1915
- }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
1916
- viewBox: "0 0 24 24",
1917
- "aria-hidden": "false",
1918
- focusable: "false"
1919
1827
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("rect", {
1920
1828
  width: "18",
1921
1829
  height: "18",
@@ -1926,14 +1834,14 @@ var PanelIcon = _ref41 => {
1926
1834
  d: "M9 3v18"
1927
1835
  })));
1928
1836
  };
1929
- var FilterIcon = _ref42 => {
1837
+ var FilterIcon = _ref41 => {
1930
1838
  var {
1931
1839
  widthHeight = 24,
1932
1840
  color = 'currentColor',
1933
1841
  filled = false,
1934
1842
  strokeWidth = 1
1935
- } = _ref42,
1936
- props = _objectWithoutPropertiesLoose(_ref42, _excluded42);
1843
+ } = _ref41,
1844
+ props = _objectWithoutPropertiesLoose(_ref41, _excluded41);
1937
1845
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1938
1846
  widthHeight: widthHeight,
1939
1847
  color: color
@@ -1945,14 +1853,14 @@ var FilterIcon = _ref42 => {
1945
1853
  d: "M3 4h18l-7 10v5l-4 2v-7L3 4z"
1946
1854
  })));
1947
1855
  };
1948
- var HomeIcon = _ref43 => {
1856
+ var HomeIcon = _ref42 => {
1949
1857
  var {
1950
1858
  widthHeight = 24,
1951
1859
  color = 'currentColor',
1952
1860
  filled = true,
1953
1861
  strokeWidth = 1
1954
- } = _ref43,
1955
- props = _objectWithoutPropertiesLoose(_ref43, _excluded43);
1862
+ } = _ref42,
1863
+ props = _objectWithoutPropertiesLoose(_ref42, _excluded42);
1956
1864
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1957
1865
  widthHeight: widthHeight,
1958
1866
  color: color
@@ -1964,14 +1872,14 @@ var HomeIcon = _ref43 => {
1964
1872
  d: "M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8h5z"
1965
1873
  })));
1966
1874
  };
1967
- var LocationIcon = _ref44 => {
1875
+ var LocationIcon = _ref43 => {
1968
1876
  var {
1969
1877
  widthHeight = 24,
1970
1878
  color = 'currentColor',
1971
1879
  filled = true,
1972
1880
  strokeWidth = 1
1973
- } = _ref44,
1974
- props = _objectWithoutPropertiesLoose(_ref44, _excluded44);
1881
+ } = _ref43,
1882
+ props = _objectWithoutPropertiesLoose(_ref43, _excluded43);
1975
1883
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1976
1884
  widthHeight: widthHeight,
1977
1885
  color: color
@@ -1983,14 +1891,14 @@ var LocationIcon = _ref44 => {
1983
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"
1984
1892
  })));
1985
1893
  };
1986
- var LockIcon = _ref45 => {
1894
+ var LockIcon = _ref44 => {
1987
1895
  var {
1988
1896
  widthHeight = 24,
1989
1897
  color = 'currentColor',
1990
1898
  filled = false,
1991
1899
  strokeWidth = 1
1992
- } = _ref45,
1993
- props = _objectWithoutPropertiesLoose(_ref45, _excluded45);
1900
+ } = _ref44,
1901
+ props = _objectWithoutPropertiesLoose(_ref44, _excluded44);
1994
1902
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
1995
1903
  widthHeight: widthHeight,
1996
1904
  color: color
@@ -2015,14 +1923,14 @@ var LockIcon = _ref45 => {
2015
1923
  r: "1.5"
2016
1924
  })))));
2017
1925
  };
2018
- var MicrophoneIcon = _ref46 => {
1926
+ var MicrophoneIcon = _ref45 => {
2019
1927
  var {
2020
1928
  widthHeight = 24,
2021
1929
  color = 'currentColor',
2022
1930
  filled = false,
2023
1931
  strokeWidth = 1
2024
- } = _ref46,
2025
- props = _objectWithoutPropertiesLoose(_ref46, _excluded46);
1932
+ } = _ref45,
1933
+ props = _objectWithoutPropertiesLoose(_ref45, _excluded45);
2026
1934
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2027
1935
  widthHeight: widthHeight,
2028
1936
  color: color
@@ -2048,14 +1956,14 @@ var MicrophoneIcon = _ref46 => {
2048
1956
  y2: "23"
2049
1957
  })));
2050
1958
  };
2051
- var MoonIcon = _ref47 => {
1959
+ var MoonIcon = _ref46 => {
2052
1960
  var {
2053
1961
  widthHeight = 24,
2054
1962
  color = 'currentColor',
2055
1963
  filled = true,
2056
1964
  strokeWidth = 1
2057
- } = _ref47,
2058
- props = _objectWithoutPropertiesLoose(_ref47, _excluded47);
1965
+ } = _ref46,
1966
+ props = _objectWithoutPropertiesLoose(_ref46, _excluded46);
2059
1967
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2060
1968
  widthHeight: widthHeight,
2061
1969
  color: color
@@ -2067,14 +1975,14 @@ var MoonIcon = _ref47 => {
2067
1975
  d: "M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"
2068
1976
  })));
2069
1977
  };
2070
- var NotificationIcon = _ref48 => {
1978
+ var NotificationIcon = _ref47 => {
2071
1979
  var {
2072
1980
  widthHeight = 24,
2073
1981
  color = 'currentColor',
2074
1982
  filled = false,
2075
1983
  strokeWidth = 1
2076
- } = _ref48,
2077
- props = _objectWithoutPropertiesLoose(_ref48, _excluded48);
1984
+ } = _ref47,
1985
+ props = _objectWithoutPropertiesLoose(_ref47, _excluded47);
2078
1986
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2079
1987
  widthHeight: widthHeight,
2080
1988
  color: color
@@ -2088,14 +1996,14 @@ var NotificationIcon = _ref48 => {
2088
1996
  d: "M13.73 21a2 2 0 0 1-3.46 0"
2089
1997
  })));
2090
1998
  };
2091
- var OpenEyeIcon = _ref49 => {
1999
+ var OpenEyeIcon = _ref48 => {
2092
2000
  var {
2093
2001
  widthHeight = 24,
2094
2002
  color = 'currentColor',
2095
2003
  filled = true,
2096
2004
  strokeWidth = 1
2097
- } = _ref49,
2098
- props = _objectWithoutPropertiesLoose(_ref49, _excluded49);
2005
+ } = _ref48,
2006
+ props = _objectWithoutPropertiesLoose(_ref48, _excluded48);
2099
2007
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2100
2008
  widthHeight: widthHeight,
2101
2009
  color: color
@@ -2107,14 +2015,14 @@ var OpenEyeIcon = _ref49 => {
2107
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"
2108
2016
  })));
2109
2017
  };
2110
- var ProfileIcon = _ref50 => {
2018
+ var ProfileIcon = _ref49 => {
2111
2019
  var {
2112
2020
  widthHeight = 24,
2113
2021
  color = 'currentColor',
2114
2022
  filled = true,
2115
2023
  strokeWidth = 1
2116
- } = _ref50,
2117
- props = _objectWithoutPropertiesLoose(_ref50, _excluded50);
2024
+ } = _ref49,
2025
+ props = _objectWithoutPropertiesLoose(_ref49, _excluded49);
2118
2026
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2119
2027
  widthHeight: widthHeight,
2120
2028
  color: color
@@ -2127,14 +2035,14 @@ var ProfileIcon = _ref50 => {
2127
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"
2128
2036
  }), ' '));
2129
2037
  };
2130
- var SettingsIcon = _ref51 => {
2038
+ var SettingsIcon = _ref50 => {
2131
2039
  var {
2132
2040
  widthHeight = 24,
2133
2041
  color = 'currentColor',
2134
2042
  filled = false,
2135
2043
  strokeWidth = 1
2136
- } = _ref51,
2137
- props = _objectWithoutPropertiesLoose(_ref51, _excluded51);
2044
+ } = _ref50,
2045
+ props = _objectWithoutPropertiesLoose(_ref50, _excluded50);
2138
2046
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2139
2047
  widthHeight: widthHeight,
2140
2048
  color: color
@@ -2146,14 +2054,14 @@ var SettingsIcon = _ref51 => {
2146
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"
2147
2055
  })));
2148
2056
  };
2149
- var SuccessIcon = _ref52 => {
2057
+ var SuccessIcon = _ref51 => {
2150
2058
  var {
2151
2059
  widthHeight = 24,
2152
2060
  color = 'currentColor',
2153
2061
  filled = true,
2154
2062
  strokeWidth = 1
2155
- } = _ref52,
2156
- props = _objectWithoutPropertiesLoose(_ref52, _excluded52);
2063
+ } = _ref51,
2064
+ props = _objectWithoutPropertiesLoose(_ref51, _excluded51);
2157
2065
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2158
2066
  widthHeight: widthHeight,
2159
2067
  color: color
@@ -2165,14 +2073,14 @@ var SuccessIcon = _ref52 => {
2165
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"
2166
2074
  })));
2167
2075
  };
2168
- var UnLikeIcon = _ref53 => {
2076
+ var UnLikeIcon = _ref52 => {
2169
2077
  var {
2170
2078
  widthHeight = 24,
2171
2079
  color = 'currentColor',
2172
2080
  filled = true,
2173
2081
  strokeWidth = 1
2174
- } = _ref53,
2175
- props = _objectWithoutPropertiesLoose(_ref53, _excluded53);
2082
+ } = _ref52,
2083
+ props = _objectWithoutPropertiesLoose(_ref52, _excluded52);
2176
2084
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2177
2085
  widthHeight: widthHeight,
2178
2086
  color: color
@@ -2184,14 +2092,14 @@ var UnLikeIcon = _ref53 => {
2184
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"
2185
2093
  })));
2186
2094
  };
2187
- var ClockIcon = _ref54 => {
2095
+ var ClockIcon = _ref53 => {
2188
2096
  var {
2189
2097
  widthHeight = 24,
2190
2098
  color = 'currentColor',
2191
2099
  strokeWidth = 1,
2192
2100
  filled = false
2193
- } = _ref54,
2194
- props = _objectWithoutPropertiesLoose(_ref54, _excluded54);
2101
+ } = _ref53,
2102
+ props = _objectWithoutPropertiesLoose(_ref53, _excluded53);
2195
2103
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2196
2104
  widthHeight: widthHeight,
2197
2105
  color: color
@@ -2207,14 +2115,14 @@ var ClockIcon = _ref54 => {
2207
2115
  points: "12 6 12 12 16 14"
2208
2116
  })));
2209
2117
  };
2210
- var CameraIcon = _ref55 => {
2118
+ var CameraIcon = _ref54 => {
2211
2119
  var {
2212
2120
  widthHeight = 24,
2213
2121
  color = 'currentColor',
2214
2122
  strokeWidth = 1,
2215
2123
  filled = false
2216
- } = _ref55,
2217
- props = _objectWithoutPropertiesLoose(_ref55, _excluded55);
2124
+ } = _ref54,
2125
+ props = _objectWithoutPropertiesLoose(_ref54, _excluded54);
2218
2126
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2219
2127
  widthHeight: widthHeight,
2220
2128
  color: color
@@ -2230,14 +2138,14 @@ var CameraIcon = _ref55 => {
2230
2138
  r: "4"
2231
2139
  })));
2232
2140
  };
2233
- var BluetoothIcon = _ref56 => {
2141
+ var BluetoothIcon = _ref55 => {
2234
2142
  var {
2235
2143
  widthHeight = 24,
2236
2144
  color = 'currentColor',
2237
2145
  filled = true,
2238
2146
  strokeWidth = 1
2239
- } = _ref56,
2240
- props = _objectWithoutPropertiesLoose(_ref56, _excluded56);
2147
+ } = _ref55,
2148
+ props = _objectWithoutPropertiesLoose(_ref55, _excluded55);
2241
2149
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2242
2150
  widthHeight: widthHeight,
2243
2151
  color: color
@@ -2249,14 +2157,14 @@ var BluetoothIcon = _ref56 => {
2249
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"
2250
2158
  })));
2251
2159
  };
2252
- var LikeIcon = _ref57 => {
2160
+ var LikeIcon = _ref56 => {
2253
2161
  var {
2254
2162
  widthHeight = 24,
2255
2163
  color = 'currentColor',
2256
2164
  filled = true,
2257
2165
  strokeWidth = 1
2258
- } = _ref57,
2259
- props = _objectWithoutPropertiesLoose(_ref57, _excluded57);
2166
+ } = _ref56,
2167
+ props = _objectWithoutPropertiesLoose(_ref56, _excluded56);
2260
2168
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2261
2169
  widthHeight: widthHeight,
2262
2170
  color: color
@@ -2268,14 +2176,14 @@ var LikeIcon = _ref57 => {
2268
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"
2269
2177
  })));
2270
2178
  };
2271
- var UnlockIcon = _ref58 => {
2179
+ var UnlockIcon = _ref57 => {
2272
2180
  var {
2273
2181
  widthHeight = 24,
2274
2182
  color = 'currentColor',
2275
2183
  filled = false,
2276
2184
  strokeWidth = 1
2277
- } = _ref58,
2278
- props = _objectWithoutPropertiesLoose(_ref58, _excluded58);
2185
+ } = _ref57,
2186
+ props = _objectWithoutPropertiesLoose(_ref57, _excluded57);
2279
2187
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2280
2188
  widthHeight: widthHeight,
2281
2189
  color: color
@@ -2300,14 +2208,14 @@ var UnlockIcon = _ref58 => {
2300
2208
  r: "1.5"
2301
2209
  })))));
2302
2210
  };
2303
- var WifiIcon = _ref59 => {
2211
+ var WifiIcon = _ref58 => {
2304
2212
  var {
2305
2213
  widthHeight = 24,
2306
2214
  color = 'currentColor',
2307
2215
  filled = false,
2308
2216
  strokeWidth = 1
2309
- } = _ref59,
2310
- props = _objectWithoutPropertiesLoose(_ref59, _excluded59);
2217
+ } = _ref58,
2218
+ props = _objectWithoutPropertiesLoose(_ref58, _excluded58);
2311
2219
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2312
2220
  widthHeight: widthHeight,
2313
2221
  color: color
@@ -2319,14 +2227,14 @@ var WifiIcon = _ref59 => {
2319
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"
2320
2228
  })));
2321
2229
  };
2322
- var UploadIcon = _ref60 => {
2230
+ var UploadIcon = _ref59 => {
2323
2231
  var {
2324
2232
  widthHeight = 24,
2325
2233
  color = 'currentColor',
2326
2234
  filled = false,
2327
2235
  strokeWidth = 1
2328
- } = _ref60,
2329
- props = _objectWithoutPropertiesLoose(_ref60, _excluded60);
2236
+ } = _ref59,
2237
+ props = _objectWithoutPropertiesLoose(_ref59, _excluded59);
2330
2238
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2331
2239
  widthHeight: widthHeight,
2332
2240
  color: color
@@ -2342,14 +2250,14 @@ var UploadIcon = _ref60 => {
2342
2250
  d: "M12 12l0 9"
2343
2251
  })));
2344
2252
  };
2345
- var SearchIcon = _ref61 => {
2253
+ var SearchIcon = _ref60 => {
2346
2254
  var {
2347
2255
  widthHeight = 24,
2348
2256
  color = 'currentColor',
2349
2257
  filled = true,
2350
2258
  strokeWidth = 1
2351
- } = _ref61,
2352
- props = _objectWithoutPropertiesLoose(_ref61, _excluded61);
2259
+ } = _ref60,
2260
+ props = _objectWithoutPropertiesLoose(_ref60, _excluded60);
2353
2261
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2354
2262
  widthHeight: widthHeight,
2355
2263
  color: color
@@ -2362,14 +2270,14 @@ var SearchIcon = _ref61 => {
2362
2270
  })));
2363
2271
  };
2364
2272
  // Stop Icon (rectangle) for stopping agent
2365
- var StopIcon = _ref62 => {
2273
+ var StopIcon = _ref61 => {
2366
2274
  var {
2367
2275
  widthHeight = 24,
2368
2276
  color = 'currentColor',
2369
2277
  filled = true,
2370
2278
  strokeWidth = 2
2371
- } = _ref62,
2372
- props = _objectWithoutPropertiesLoose(_ref62, _excluded62);
2279
+ } = _ref61,
2280
+ props = _objectWithoutPropertiesLoose(_ref61, _excluded61);
2373
2281
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2374
2282
  widthHeight: widthHeight,
2375
2283
  color: color
@@ -2387,14 +2295,14 @@ var StopIcon = _ref62 => {
2387
2295
  })));
2388
2296
  };
2389
2297
  // Send Icon (paper airplane) for chat submit
2390
- var SendIcon = _ref63 => {
2298
+ var SendIcon = _ref62 => {
2391
2299
  var {
2392
2300
  widthHeight = 24,
2393
2301
  color = 'currentColor',
2394
2302
  filled = false,
2395
2303
  strokeWidth = 2
2396
- } = _ref63,
2397
- props = _objectWithoutPropertiesLoose(_ref63, _excluded63);
2304
+ } = _ref62,
2305
+ props = _objectWithoutPropertiesLoose(_ref62, _excluded62);
2398
2306
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2399
2307
  widthHeight: widthHeight,
2400
2308
  color: color
@@ -2412,14 +2320,14 @@ var SendIcon = _ref63 => {
2412
2320
  })));
2413
2321
  };
2414
2322
  // Loading Spinner Icon for agent running indicator
2415
- var LoadingSpinnerIcon = _ref64 => {
2323
+ var LoadingSpinnerIcon = _ref63 => {
2416
2324
  var {
2417
2325
  widthHeight = 24,
2418
2326
  color = 'currentColor',
2419
2327
  filled = false,
2420
2328
  strokeWidth = 2
2421
- } = _ref64,
2422
- props = _objectWithoutPropertiesLoose(_ref64, _excluded64);
2329
+ } = _ref63,
2330
+ props = _objectWithoutPropertiesLoose(_ref63, _excluded63);
2423
2331
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2424
2332
  widthHeight: widthHeight,
2425
2333
  color: color
@@ -2470,14 +2378,14 @@ var LoadingSpinnerIcon = _ref64 => {
2470
2378
  })));
2471
2379
  };
2472
2380
  // Horizontal lines drag handle icon for Tree component
2473
- var DragHandleLinesIcon = _ref65 => {
2381
+ var DragHandleLinesIcon = _ref64 => {
2474
2382
  var {
2475
2383
  widthHeight = 16,
2476
2384
  color = 'currentColor',
2477
2385
  filled = false,
2478
2386
  strokeWidth = 1.5
2479
- } = _ref65,
2480
- props = _objectWithoutPropertiesLoose(_ref65, _excluded65);
2387
+ } = _ref64,
2388
+ props = _objectWithoutPropertiesLoose(_ref64, _excluded64);
2481
2389
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2482
2390
  widthHeight: widthHeight,
2483
2391
  color: color
@@ -2497,36 +2405,14 @@ var DragHandleLinesIcon = _ref65 => {
2497
2405
  strokeLinecap: "round"
2498
2406
  })));
2499
2407
  };
2500
- // ChevronDown Icon for dropdown menus
2501
- var ChevronDownIcon = _ref66 => {
2502
- var {
2503
- widthHeight = 24,
2504
- color = 'currentColor',
2505
- filled = true,
2506
- strokeWidth = 1
2507
- } = _ref66,
2508
- props = _objectWithoutPropertiesLoose(_ref66, _excluded66);
2509
- return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2510
- widthHeight: widthHeight,
2511
- color: color
2512
- }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
2513
- viewBox: "0 0 24 24",
2514
- "aria-hidden": "false",
2515
- focusable: "false"
2516
- }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
2517
- d: "M16.59 8.59L12 13.17L7.41 8.59L6 10L12 16L18 10L16.59 8.59Z",
2518
- fill: "currentColor"
2519
- })));
2520
- };
2521
- // ChevronRight Icon for submenu indicators
2522
- var ChevronRightIcon = _ref67 => {
2408
+ var CloseEyeIcon = _ref65 => {
2523
2409
  var {
2524
2410
  widthHeight = 24,
2525
2411
  color = 'currentColor',
2526
2412
  filled = true,
2527
2413
  strokeWidth = 1
2528
- } = _ref67,
2529
- props = _objectWithoutPropertiesLoose(_ref67, _excluded67);
2414
+ } = _ref65,
2415
+ props = _objectWithoutPropertiesLoose(_ref65, _excluded65);
2530
2416
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2531
2417
  widthHeight: widthHeight,
2532
2418
  color: color
@@ -2535,39 +2421,40 @@ var ChevronRightIcon = _ref67 => {
2535
2421
  "aria-hidden": "false",
2536
2422
  focusable: "false"
2537
2423
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
2538
- 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",
2539
2425
  fill: "currentColor"
2540
2426
  })));
2541
2427
  };
2542
- var CloseEyeIcon = _ref68 => {
2428
+ var TrashIcon = DeleteIcon;
2429
+ var AttachmentIcon = _ref66 => {
2543
2430
  var {
2544
2431
  widthHeight = 24,
2545
2432
  color = 'currentColor',
2546
2433
  filled = true,
2547
2434
  strokeWidth = 1
2548
- } = _ref68,
2549
- props = _objectWithoutPropertiesLoose(_ref68, _excluded68);
2435
+ } = _ref66,
2436
+ props = _objectWithoutPropertiesLoose(_ref66, _excluded66);
2550
2437
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2551
2438
  widthHeight: widthHeight,
2552
2439
  color: color
2553
2440
  }, props), /*#__PURE__*/React.createElement("svg", Object.assign({
2554
- viewBox: "0 0 24 24",
2555
- "aria-hidden": "false",
2556
- focusable: "false"
2441
+ width: widthHeight,
2442
+ height: widthHeight,
2443
+ viewBox: "0 0 24 24"
2557
2444
  }, getSvgProps(filled, color, strokeWidth)), /*#__PURE__*/React.createElement("path", {
2558
- 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",
2559
- fill: "currentColor"
2560
- })));
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
+ }), ' '));
2561
2449
  };
2562
- var TrashIcon = DeleteIcon;
2563
- var ExternalLinkIcon = _ref69 => {
2450
+ var ExternalLinkIcon = _ref67 => {
2564
2451
  var {
2565
2452
  widthHeight = 24,
2566
2453
  color = 'currentColor',
2567
2454
  filled = true,
2568
2455
  strokeWidth = 1
2569
- } = _ref69,
2570
- props = _objectWithoutPropertiesLoose(_ref69, _excluded69);
2456
+ } = _ref67,
2457
+ props = _objectWithoutPropertiesLoose(_ref67, _excluded67);
2571
2458
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2572
2459
  widthHeight: widthHeight,
2573
2460
  color: color
@@ -2579,14 +2466,14 @@ var ExternalLinkIcon = _ref69 => {
2579
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"
2580
2467
  })));
2581
2468
  };
2582
- var PlusIcon = _ref70 => {
2469
+ var PlusIcon = _ref68 => {
2583
2470
  var {
2584
2471
  widthHeight = 24,
2585
2472
  color = 'currentColor',
2586
2473
  filled = false,
2587
2474
  strokeWidth = 1
2588
- } = _ref70,
2589
- props = _objectWithoutPropertiesLoose(_ref70, _excluded70);
2475
+ } = _ref68,
2476
+ props = _objectWithoutPropertiesLoose(_ref68, _excluded68);
2590
2477
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2591
2478
  widthHeight: widthHeight,
2592
2479
  color: color
@@ -2608,14 +2495,14 @@ var PlusIcon = _ref70 => {
2608
2495
  y2: "12"
2609
2496
  })));
2610
2497
  };
2611
- var TickIcon = _ref71 => {
2498
+ var TickIcon = _ref69 => {
2612
2499
  var {
2613
2500
  widthHeight = 24,
2614
2501
  color = 'currentColor',
2615
2502
  filled = false,
2616
2503
  strokeWidth = 1
2617
- } = _ref71,
2618
- props = _objectWithoutPropertiesLoose(_ref71, _excluded71);
2504
+ } = _ref69,
2505
+ props = _objectWithoutPropertiesLoose(_ref69, _excluded69);
2619
2506
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2620
2507
  widthHeight: widthHeight,
2621
2508
  color: color
@@ -2629,14 +2516,14 @@ var TickIcon = _ref71 => {
2629
2516
  strokeLinejoin: "round"
2630
2517
  })));
2631
2518
  };
2632
- var BoldArrowIcon = _ref72 => {
2519
+ var BoldArrowIcon = _ref70 => {
2633
2520
  var {
2634
2521
  widthHeight = 24,
2635
2522
  color = 'currentColor',
2636
2523
  filled = true,
2637
2524
  strokeWidth = 1
2638
- } = _ref72,
2639
- props = _objectWithoutPropertiesLoose(_ref72, _excluded72);
2525
+ } = _ref70,
2526
+ props = _objectWithoutPropertiesLoose(_ref70, _excluded70);
2640
2527
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2641
2528
  widthHeight: widthHeight,
2642
2529
  color: color
@@ -2648,14 +2535,14 @@ var BoldArrowIcon = _ref72 => {
2648
2535
  d: "M12 4l7 7h-4v7h-6v-7H5l7-7z"
2649
2536
  })));
2650
2537
  };
2651
- var ArrowIcon = _ref73 => {
2538
+ var ArrowIcon = _ref71 => {
2652
2539
  var {
2653
2540
  widthHeight = 24,
2654
2541
  color = 'currentColor',
2655
2542
  filled = false,
2656
2543
  strokeWidth = 1
2657
- } = _ref73,
2658
- props = _objectWithoutPropertiesLoose(_ref73, _excluded73);
2544
+ } = _ref71,
2545
+ props = _objectWithoutPropertiesLoose(_ref71, _excluded71);
2659
2546
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2660
2547
  widthHeight: widthHeight,
2661
2548
  color: color
@@ -2673,14 +2560,14 @@ var ArrowIcon = _ref73 => {
2673
2560
  points: "6 12 12 6 18 12"
2674
2561
  })));
2675
2562
  };
2676
- var SpinnerIcon = _ref74 => {
2563
+ var SpinnerIcon = _ref72 => {
2677
2564
  var {
2678
2565
  widthHeight = 24,
2679
2566
  color = 'currentColor',
2680
2567
  filled = false,
2681
2568
  strokeWidth = 1
2682
- } = _ref74,
2683
- props = _objectWithoutPropertiesLoose(_ref74, _excluded74);
2569
+ } = _ref72,
2570
+ props = _objectWithoutPropertiesLoose(_ref72, _excluded72);
2684
2571
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2685
2572
  widthHeight: widthHeight,
2686
2573
  color: color
@@ -2698,14 +2585,14 @@ var SpinnerIcon = _ref74 => {
2698
2585
  strokeOpacity: "1"
2699
2586
  })));
2700
2587
  };
2701
- var CalendarIcon = _ref75 => {
2588
+ var CalendarIcon = _ref73 => {
2702
2589
  var {
2703
2590
  widthHeight = 24,
2704
2591
  color = 'currentColor',
2705
2592
  strokeWidth = 1,
2706
2593
  filled = false
2707
- } = _ref75,
2708
- props = _objectWithoutPropertiesLoose(_ref75, _excluded75);
2594
+ } = _ref73,
2595
+ props = _objectWithoutPropertiesLoose(_ref73, _excluded73);
2709
2596
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2710
2597
  widthHeight: widthHeight,
2711
2598
  color: color
@@ -2740,14 +2627,14 @@ var CalendarIcon = _ref75 => {
2740
2627
  y2: "10"
2741
2628
  })));
2742
2629
  };
2743
- var SliderIcon = _ref76 => {
2630
+ var SliderIcon = _ref74 => {
2744
2631
  var {
2745
2632
  widthHeight = 24,
2746
2633
  color = 'currentColor',
2747
2634
  strokeWidth = 1,
2748
2635
  filled = false
2749
- } = _ref76,
2750
- props = _objectWithoutPropertiesLoose(_ref76, _excluded76);
2636
+ } = _ref74,
2637
+ props = _objectWithoutPropertiesLoose(_ref74, _excluded74);
2751
2638
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2752
2639
  widthHeight: widthHeight,
2753
2640
  color: color
@@ -2775,16 +2662,6 @@ var SliderIcon = _ref76 => {
2775
2662
  y1: "12",
2776
2663
  x2: "21",
2777
2664
  y2: "12"
2778
- }), /*#__PURE__*/React.createElement("line", {
2779
- x1: "3",
2780
- y1: "20",
2781
- x2: "8",
2782
- y2: "20"
2783
- }), /*#__PURE__*/React.createElement("line", {
2784
- x1: "12",
2785
- y1: "20",
2786
- x2: "21",
2787
- y2: "20"
2788
2665
  }), /*#__PURE__*/React.createElement("line", {
2789
2666
  x1: "10",
2790
2667
  y1: "1",
@@ -2795,21 +2672,16 @@ var SliderIcon = _ref76 => {
2795
2672
  y1: "9",
2796
2673
  x2: "16",
2797
2674
  y2: "15"
2798
- }), /*#__PURE__*/React.createElement("line", {
2799
- x1: "8",
2800
- y1: "17",
2801
- x2: "8",
2802
- y2: "23"
2803
2675
  })));
2804
2676
  };
2805
- var CropIcon = _ref77 => {
2677
+ var CropIcon = _ref75 => {
2806
2678
  var {
2807
2679
  widthHeight = 24,
2808
2680
  color = 'currentColor',
2809
2681
  strokeWidth = 1,
2810
2682
  filled = false
2811
- } = _ref77,
2812
- props = _objectWithoutPropertiesLoose(_ref77, _excluded77);
2683
+ } = _ref75,
2684
+ props = _objectWithoutPropertiesLoose(_ref75, _excluded75);
2813
2685
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2814
2686
  widthHeight: widthHeight,
2815
2687
  color: color
@@ -2823,14 +2695,14 @@ var CropIcon = _ref77 => {
2823
2695
  d: "M18 22V8a2 2 0 0 0-2-2H2"
2824
2696
  })));
2825
2697
  };
2826
- var ZoomInIcon = _ref78 => {
2698
+ var ZoomInIcon = _ref76 => {
2827
2699
  var {
2828
2700
  widthHeight = 24,
2829
2701
  color = 'currentColor',
2830
2702
  strokeWidth = 1,
2831
2703
  filled = false
2832
- } = _ref78,
2833
- props = _objectWithoutPropertiesLoose(_ref78, _excluded78);
2704
+ } = _ref76,
2705
+ props = _objectWithoutPropertiesLoose(_ref76, _excluded76);
2834
2706
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2835
2707
  widthHeight: widthHeight,
2836
2708
  color: color
@@ -2859,14 +2731,14 @@ var ZoomInIcon = _ref78 => {
2859
2731
  y2: "11"
2860
2732
  })));
2861
2733
  };
2862
- var ZoomOutIcon = _ref79 => {
2734
+ var ZoomOutIcon = _ref77 => {
2863
2735
  var {
2864
2736
  widthHeight = 24,
2865
2737
  color = 'currentColor',
2866
2738
  strokeWidth = 1,
2867
2739
  filled = false
2868
- } = _ref79,
2869
- props = _objectWithoutPropertiesLoose(_ref79, _excluded79);
2740
+ } = _ref77,
2741
+ props = _objectWithoutPropertiesLoose(_ref77, _excluded77);
2870
2742
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2871
2743
  widthHeight: widthHeight,
2872
2744
  color: color
@@ -2890,14 +2762,14 @@ var ZoomOutIcon = _ref79 => {
2890
2762
  y2: "11"
2891
2763
  })));
2892
2764
  };
2893
- var TextIcon = _ref80 => {
2765
+ var TextIcon = _ref78 => {
2894
2766
  var {
2895
2767
  widthHeight = 24,
2896
2768
  color = 'currentColor',
2897
2769
  strokeWidth = 1,
2898
2770
  filled = false
2899
- } = _ref80,
2900
- props = _objectWithoutPropertiesLoose(_ref80, _excluded80);
2771
+ } = _ref78,
2772
+ props = _objectWithoutPropertiesLoose(_ref78, _excluded78);
2901
2773
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2902
2774
  widthHeight: widthHeight,
2903
2775
  color: color
@@ -2922,14 +2794,14 @@ var TextIcon = _ref80 => {
2922
2794
  y2: "18"
2923
2795
  })));
2924
2796
  };
2925
- var ShapeIcon = _ref81 => {
2797
+ var ShapeIcon = _ref79 => {
2926
2798
  var {
2927
2799
  widthHeight = 24,
2928
2800
  color = 'currentColor',
2929
2801
  strokeWidth = 1,
2930
2802
  filled = false
2931
- } = _ref81,
2932
- props = _objectWithoutPropertiesLoose(_ref81, _excluded81);
2803
+ } = _ref79,
2804
+ props = _objectWithoutPropertiesLoose(_ref79, _excluded79);
2933
2805
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2934
2806
  widthHeight: widthHeight,
2935
2807
  color: color
@@ -2950,14 +2822,14 @@ var ShapeIcon = _ref81 => {
2950
2822
  points: "16,4 19,8 13,8"
2951
2823
  })));
2952
2824
  };
2953
- var RotateIcon = _ref82 => {
2825
+ var RotateIcon = _ref80 => {
2954
2826
  var {
2955
2827
  widthHeight = 24,
2956
2828
  color = 'currentColor',
2957
2829
  strokeWidth = 1,
2958
2830
  filled = false
2959
- } = _ref82,
2960
- props = _objectWithoutPropertiesLoose(_ref82, _excluded82);
2831
+ } = _ref80,
2832
+ props = _objectWithoutPropertiesLoose(_ref80, _excluded80);
2961
2833
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2962
2834
  widthHeight: widthHeight,
2963
2835
  color: color
@@ -2971,14 +2843,14 @@ var RotateIcon = _ref82 => {
2971
2843
  d: "M3.51 15a9 9 0 1 0 2.13-9.36L1 10"
2972
2844
  })));
2973
2845
  };
2974
- var DocumentIcon = _ref83 => {
2846
+ var DocumentIcon = _ref81 => {
2975
2847
  var {
2976
2848
  widthHeight = 24,
2977
2849
  color = 'currentColor',
2978
2850
  strokeWidth = 1,
2979
2851
  filled = false
2980
- } = _ref83,
2981
- props = _objectWithoutPropertiesLoose(_ref83, _excluded83);
2852
+ } = _ref81,
2853
+ props = _objectWithoutPropertiesLoose(_ref81, _excluded81);
2982
2854
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
2983
2855
  widthHeight: widthHeight,
2984
2856
  color: color
@@ -3004,14 +2876,14 @@ var DocumentIcon = _ref83 => {
3004
2876
  points: "10 9 9 9 8 9"
3005
2877
  })));
3006
2878
  };
3007
- var ChartIcon = _ref84 => {
2879
+ var ChartIcon = _ref82 => {
3008
2880
  var {
3009
2881
  widthHeight = 24,
3010
2882
  color = 'currentColor',
3011
2883
  strokeWidth = 1,
3012
2884
  filled = false
3013
- } = _ref84,
3014
- props = _objectWithoutPropertiesLoose(_ref84, _excluded84);
2885
+ } = _ref82,
2886
+ props = _objectWithoutPropertiesLoose(_ref82, _excluded82);
3015
2887
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
3016
2888
  widthHeight: widthHeight,
3017
2889
  color: color
@@ -3055,14 +2927,14 @@ var ChartIcon = _ref84 => {
3055
2927
  y2: "17"
3056
2928
  })));
3057
2929
  };
3058
- var GiftIcon = _ref85 => {
2930
+ var GiftIcon = _ref83 => {
3059
2931
  var {
3060
2932
  widthHeight = 24,
3061
2933
  color = 'currentColor',
3062
2934
  strokeWidth = 1,
3063
2935
  filled = false
3064
- } = _ref85,
3065
- props = _objectWithoutPropertiesLoose(_ref85, _excluded85);
2936
+ } = _ref83,
2937
+ props = _objectWithoutPropertiesLoose(_ref83, _excluded83);
3066
2938
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
3067
2939
  widthHeight: widthHeight,
3068
2940
  color: color
@@ -3088,14 +2960,14 @@ var GiftIcon = _ref85 => {
3088
2960
  d: "M12 8c.5-2.5 4-3 5-1.5S15 10 12 8z"
3089
2961
  })));
3090
2962
  };
3091
- var ShieldIcon = _ref86 => {
2963
+ var ShieldIcon = _ref84 => {
3092
2964
  var {
3093
2965
  widthHeight = 24,
3094
2966
  color = 'currentColor',
3095
2967
  strokeWidth = 1,
3096
2968
  filled = true
3097
- } = _ref86,
3098
- props = _objectWithoutPropertiesLoose(_ref86, _excluded86);
2969
+ } = _ref84,
2970
+ props = _objectWithoutPropertiesLoose(_ref84, _excluded84);
3099
2971
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
3100
2972
  widthHeight: widthHeight,
3101
2973
  color: color
@@ -3108,14 +2980,14 @@ var ShieldIcon = _ref86 => {
3108
2980
  })));
3109
2981
  };
3110
2982
  var CheckIcon = TickIcon;
3111
- var LogoutIcon = _ref87 => {
2983
+ var LogoutIcon = _ref85 => {
3112
2984
  var {
3113
2985
  widthHeight = 24,
3114
2986
  color = 'currentColor',
3115
2987
  strokeWidth = 1,
3116
2988
  filled = false
3117
- } = _ref87,
3118
- props = _objectWithoutPropertiesLoose(_ref87, _excluded87);
2989
+ } = _ref85,
2990
+ props = _objectWithoutPropertiesLoose(_ref85, _excluded85);
3119
2991
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
3120
2992
  widthHeight: widthHeight,
3121
2993
  color: color
@@ -3131,14 +3003,14 @@ var LogoutIcon = _ref87 => {
3131
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"
3132
3004
  })));
3133
3005
  };
3134
- var PowerOffIcon = _ref88 => {
3006
+ var PowerOffIcon = _ref86 => {
3135
3007
  var {
3136
3008
  widthHeight = 24,
3137
3009
  color = 'currentColor',
3138
3010
  strokeWidth = 1.5,
3139
3011
  filled = false
3140
- } = _ref88,
3141
- props = _objectWithoutPropertiesLoose(_ref88, _excluded88);
3012
+ } = _ref86,
3013
+ props = _objectWithoutPropertiesLoose(_ref86, _excluded86);
3142
3014
  return /*#__PURE__*/React.createElement(IconWrapper, Object.assign({
3143
3015
  widthHeight: widthHeight,
3144
3016
  color: color
@@ -3197,7 +3069,6 @@ var Icon = {
3197
3069
  RefreshIcon: RefreshIcon,
3198
3070
  PrintIcon: PrintIcon,
3199
3071
  MagicWandIcon: MagicWandIcon,
3200
- SliderVerticalIcon: SliderVerticalIcon,
3201
3072
  PanelIcon: PanelIcon,
3202
3073
  FilterIcon: FilterIcon,
3203
3074
  HomeIcon: HomeIcon,
@@ -3223,10 +3094,9 @@ var Icon = {
3223
3094
  SendIcon: SendIcon,
3224
3095
  LoadingSpinnerIcon: LoadingSpinnerIcon,
3225
3096
  DragHandleLinesIcon: DragHandleLinesIcon,
3226
- ChevronDownIcon: ChevronDownIcon,
3227
- ChevronRightIcon: ChevronRightIcon,
3228
3097
  CloseEyeIcon: CloseEyeIcon,
3229
3098
  TrashIcon: TrashIcon,
3099
+ AttachmentIcon: AttachmentIcon,
3230
3100
  ExternalLinkIcon: ExternalLinkIcon,
3231
3101
  PlusIcon: PlusIcon,
3232
3102
  TickIcon: TickIcon,
@@ -6654,7 +6524,8 @@ var ContextMenuItem = _ref4 => {
6654
6524
  flexGrow: 1
6655
6525
  }, item.label), hasSubmenu && (/*#__PURE__*/React.createElement(View, Object.assign({
6656
6526
  marginLeft: 8
6657
- }, views == null ? void 0 : views.submenuIndicator), /*#__PURE__*/React.createElement(ChevronRightIcon, {
6527
+ }, views == null ? void 0 : views.submenuIndicator), /*#__PURE__*/React.createElement(ChevronIcon, {
6528
+ orientation: "right",
6658
6529
  widthHeight: 16,
6659
6530
  color: "currentColor",
6660
6531
  filled: true
@@ -12523,8 +12394,10 @@ var useUpload = _ref => {
12523
12394
  maxSize = 100 * 1024 * 1024,
12524
12395
  // 100MB default
12525
12396
  onFileSelect,
12397
+ onMultipleFileSelect,
12526
12398
  validateFile,
12527
12399
  thumbnail,
12400
+ multiple = false,
12528
12401
  onError = error => {
12529
12402
  showMessage('error', 'Error', error);
12530
12403
  }
@@ -12532,40 +12405,70 @@ var useUpload = _ref => {
12532
12405
  var fileInputRef = useRef(null);
12533
12406
  var videoRef = useRef(null);
12534
12407
  var [selectedFile, setSelectedFile] = useState(null);
12408
+ var [selectedFiles, setSelectedFiles] = useState([]);
12535
12409
  var [errorMessage, setErrorMessage] = useState(null);
12536
12410
  var [previewUrl, setPreviewUrl] = useState(null);
12537
12411
  var [thumbnailUrl, setThumbnailUrl] = useState(thumbnail || null);
12538
12412
  var handleFileChange = useCallback(event => {
12539
- var _event$target$files;
12540
- var file = (_event$target$files = event.target.files) == null ? void 0 : _event$target$files[0];
12413
+ var files = event.target.files;
12541
12414
  setErrorMessage(null);
12542
- if (!file) {
12415
+ if (!files || files.length === 0) {
12543
12416
  onError('No file selected');
12544
12417
  setErrorMessage('No file selected');
12545
12418
  return;
12546
12419
  }
12547
- if (file.size > maxSize) {
12548
- onError("File exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
12549
- setErrorMessage("File exceeds " + Math.round(maxSize / (1024 * 1024)) + "MB.");
12550
- return;
12551
- }
12552
- if (validateFile) {
12553
- var validationError = validateFile(file);
12554
- if (validationError) {
12555
- onError(validationError);
12556
- 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.");
12557
12452
  return;
12558
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
+ }
12559
12470
  }
12560
- setPreviewUrl(URL.createObjectURL(file));
12561
- if (file.type.startsWith('video/')) {
12562
- generateThumbnail(file, setThumbnailUrl);
12563
- }
12564
- if (onFileSelect) {
12565
- setSelectedFile(file);
12566
- onFileSelect(file);
12567
- }
12568
- }, [maxSize, onFileSelect, validateFile]);
12471
+ }, [maxSize, onFileSelect, onMultipleFileSelect, validateFile, multiple]);
12569
12472
  var handleClick = () => {
12570
12473
  var _fileInputRef$current;
12571
12474
  return (_fileInputRef$current = fileInputRef.current) == null ? void 0 : _fileInputRef$current.click();
@@ -12583,6 +12486,7 @@ var useUpload = _ref => {
12583
12486
  fileInputRef,
12584
12487
  videoRef,
12585
12488
  selectedFile,
12489
+ selectedFiles,
12586
12490
  handleFileChange,
12587
12491
  handleClick
12588
12492
  };
@@ -12601,8 +12505,10 @@ var UploadView = _ref => {
12601
12505
  fileInputRef,
12602
12506
  videoRef,
12603
12507
  selectedFile,
12508
+ selectedFiles,
12604
12509
  handleFileChange,
12605
12510
  handleClick,
12511
+ multiple = false,
12606
12512
  containerProps,
12607
12513
  errorMessageProps,
12608
12514
  progressProps,
@@ -12761,13 +12667,14 @@ var UploadView = _ref => {
12761
12667
  ref: fileInputRef,
12762
12668
  onChange: handleFileChange,
12763
12669
  accept: accept,
12670
+ multiple: multiple,
12764
12671
  style: {
12765
12672
  display: 'none'
12766
12673
  }
12767
12674
  }, views == null ? void 0 : views.view)));
12768
12675
  };
12769
12676
 
12770
- 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"];
12771
12678
  var Uploader = _ref => {
12772
12679
  var {
12773
12680
  accept = '*/*',
@@ -12775,10 +12682,12 @@ var Uploader = _ref => {
12775
12682
  text,
12776
12683
  maxSize,
12777
12684
  onFileSelect,
12685
+ onMultipleFileSelect,
12778
12686
  validateFile,
12779
12687
  isLoading = false,
12780
12688
  progress = 0,
12781
- fileType
12689
+ fileType,
12690
+ multiple = false
12782
12691
  } = _ref,
12783
12692
  props = _objectWithoutPropertiesLoose(_ref, _excluded$H);
12784
12693
  var {
@@ -12788,13 +12697,16 @@ var Uploader = _ref => {
12788
12697
  videoRef,
12789
12698
  fileInputRef,
12790
12699
  selectedFile,
12700
+ selectedFiles,
12791
12701
  handleFileChange,
12792
12702
  handleClick
12793
12703
  } = useUpload({
12794
12704
  accept,
12795
12705
  maxSize,
12796
12706
  onFileSelect,
12797
- validateFile
12707
+ onMultipleFileSelect,
12708
+ validateFile,
12709
+ multiple
12798
12710
  });
12799
12711
  // Determine file type based on the selected file's MIME type if not explicitly provided
12800
12712
  var determineFileType = () => {
@@ -12822,11 +12734,13 @@ var Uploader = _ref => {
12822
12734
  errorMessage: errorMessage,
12823
12735
  handleFileChange: handleFileChange,
12824
12736
  selectedFile: selectedFile,
12737
+ selectedFiles: selectedFiles,
12825
12738
  videoRef: videoRef,
12826
12739
  fileInputRef: fileInputRef,
12827
12740
  previewUrl: previewUrl,
12828
12741
  thumbnailUrl: thumbnailUrl,
12829
- fileType: detectedFileType
12742
+ fileType: detectedFileType,
12743
+ multiple: multiple
12830
12744
  }, props));
12831
12745
  };
12832
12746
 
@@ -13473,7 +13387,8 @@ var NavigationMenuTrigger = _ref4 => {
13473
13387
  }, children), /*#__PURE__*/React.createElement(View, Object.assign({
13474
13388
  transition: "transform 0.2s ease",
13475
13389
  transform: isExpanded ? 'rotate(180deg)' : 'rotate(0deg)'
13476
- }, views == null ? void 0 : views.indicator), /*#__PURE__*/React.createElement(ChevronDownIcon, {
13390
+ }, views == null ? void 0 : views.indicator), /*#__PURE__*/React.createElement(ChevronIcon, {
13391
+ orientation: "down",
13477
13392
  widthHeight: 16,
13478
13393
  color: "currentColor",
13479
13394
  filled: true
@@ -15060,7 +14975,8 @@ var DropdownMenuItem = _ref4 => {
15060
14975
  flexGrow: 1
15061
14976
  }, item.label), hasSubmenu && (/*#__PURE__*/React.createElement(View, Object.assign({
15062
14977
  marginLeft: 8
15063
- }, views == null ? void 0 : views.submenuIndicator), /*#__PURE__*/React.createElement(ChevronRightIcon, {
14978
+ }, views == null ? void 0 : views.submenuIndicator), /*#__PURE__*/React.createElement(ChevronIcon, {
14979
+ orientation: "right",
15064
14980
  widthHeight: 16,
15065
14981
  color: "currentColor",
15066
14982
  filled: true
@@ -21120,6 +21036,7 @@ var useChatInputState = props => {
21120
21036
  var [pendingFiles, setPendingFiles] = useState([]);
21121
21037
  var [isUploading, setIsUploading] = useState(false);
21122
21038
  var [isDraggingOver, setIsDraggingOver] = useState(false);
21039
+ // Reference images are now tracked within uploadedFiles using isReferenceImage flag
21123
21040
  // State for model selection
21124
21041
  var [selectedModel, setSelectedModel] = useState('gpt-4');
21125
21042
  var [modelOptions] = useState([{
@@ -21177,9 +21094,17 @@ var useChatInputState = props => {
21177
21094
  return;
21178
21095
  }
21179
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
+ }
21180
21105
  // Add file information to the message if files are uploaded
21181
- if (uploadedFiles.length > 0) {
21182
- 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');
21183
21108
  message = message ? message + "\n\n" + fileInfo : fileInfo;
21184
21109
  }
21185
21110
  // Determine model and thinking mode
@@ -21198,7 +21123,7 @@ var useChatInputState = props => {
21198
21123
  if (!isControlled) {
21199
21124
  setUncontrolledValue('');
21200
21125
  }
21201
- // Clear uploaded files
21126
+ // Clear uploaded files (including reference images)
21202
21127
  setUploadedFiles([]);
21203
21128
  };
21204
21129
  // Handle removing an uploaded file
@@ -21256,6 +21181,52 @@ var useChatInputState = props => {
21256
21181
  editableRef.current.focus();
21257
21182
  }
21258
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
+ };
21259
21230
  return {
21260
21231
  value,
21261
21232
  handleChange,
@@ -21281,7 +21252,10 @@ var useChatInputState = props => {
21281
21252
  hideGuideTip,
21282
21253
  isReferenceImageModalShown,
21283
21254
  toggleReferenceImageModal,
21284
- handlePromptExampleSelect
21255
+ handlePromptExampleSelect,
21256
+ handleReferenceImageUpload,
21257
+ removeReferenceImage,
21258
+ setFileAsReference
21285
21259
  };
21286
21260
  };
21287
21261
 
@@ -21452,6 +21426,7 @@ var AttachmentGroup = _ref => {
21452
21426
  files,
21453
21427
  sandboxId,
21454
21428
  onRemove,
21429
+ onSetAsReference,
21455
21430
  layout = 'inline',
21456
21431
  maxHeight = '120px',
21457
21432
  showPreviews = false,
@@ -21509,7 +21484,7 @@ var AttachmentGroup = _ref => {
21509
21484
  as: "span",
21510
21485
  marginLeft: "4px",
21511
21486
  color: "theme.primary"
21512
- }, "(pending)"))), /*#__PURE__*/React.createElement(View, Object.assign({
21487
+ }, "(pending)"))), onSetAsReference && file.type.startsWith('image/') && (/*#__PURE__*/React.createElement(View, Object.assign({
21513
21488
  as: "button",
21514
21489
  type: "button",
21515
21490
  width: "16px",
@@ -21518,35 +21493,28 @@ var AttachmentGroup = _ref => {
21518
21493
  alignItems: "center",
21519
21494
  justifyContent: "center",
21520
21495
  borderRadius: "50%",
21521
- backgroundColor: "transparent",
21522
- color: "color.gray.500",
21496
+ backgroundColor: file.isReferenceImage ? 'theme.primary' : 'transparent',
21497
+ color: file.isReferenceImage ? 'color.white' : 'color.gray.500',
21523
21498
  cursor: "pointer",
21524
21499
  transition: "all 0.2s ease",
21525
- onClick: () => onRemove(index),
21500
+ onClick: () => onSetAsReference(index),
21501
+ title: file.isReferenceImage ? 'Reference image' : 'Set as reference image',
21526
21502
  _hover: {
21527
- backgroundColor: 'color.gray.200',
21528
- color: 'color.gray.700'
21503
+ backgroundColor: file.isReferenceImage ? 'color.blue.600' : 'color.blue.100',
21504
+ color: file.isReferenceImage ? 'color.white' : 'theme.primary'
21529
21505
  }
21530
- }, views == null ? void 0 : views.removeButton), /*#__PURE__*/React.createElement("svg", {
21531
- width: "10",
21532
- height: "10",
21533
- viewBox: "0 0 24 24",
21534
- fill: "none",
21535
- stroke: "currentColor",
21536
- strokeWidth: "2",
21537
- strokeLinecap: "round",
21538
- strokeLinejoin: "round"
21539
- }, /*#__PURE__*/React.createElement("line", {
21540
- x1: "18",
21541
- y1: "6",
21542
- x2: "6",
21543
- y2: "18"
21544
- }), /*#__PURE__*/React.createElement("line", {
21545
- x1: "6",
21546
- y1: "6",
21547
- x2: "18",
21548
- y2: "18"
21549
- })))))));
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
+ })))));
21550
21518
  };
21551
21519
 
21552
21520
  var EditableInput = /*#__PURE__*/forwardRef((_ref, ref) => {
@@ -21618,132 +21586,6 @@ var EditableInput = /*#__PURE__*/forwardRef((_ref, ref) => {
21618
21586
  });
21619
21587
  EditableInput.displayName = 'EditableInput';
21620
21588
 
21621
- /**
21622
- * Handle local files without uploading to server
21623
- */
21624
- var handleLocalFiles = (files, setPendingFiles, setUploadedFiles) => {
21625
- // Filter files that exceed size limit
21626
- var filteredFiles = files.filter(file => {
21627
- if (file.size > 50 * 1024 * 1024) {
21628
- console.error("File size exceeds 50MB limit: " + file.name);
21629
- return false;
21630
- }
21631
- return true;
21632
- });
21633
- // Add files to pending files
21634
- setPendingFiles(prevFiles => [...prevFiles, ...filteredFiles]);
21635
- // Create uploaded file objects
21636
- var newUploadedFiles = filteredFiles.map(file => ({
21637
- name: file.name,
21638
- path: "/workspace/" + file.name,
21639
- size: file.size,
21640
- type: file.type || 'application/octet-stream',
21641
- localUrl: URL.createObjectURL(file)
21642
- }));
21643
- // Add files to uploaded files
21644
- setUploadedFiles(prev => [...prev, ...newUploadedFiles]);
21645
- };
21646
- /**
21647
- * Handle files based on whether a sandboxId is available
21648
- */
21649
- var handleFiles = /*#__PURE__*/function () {
21650
- var _ref = /*#__PURE__*/_asyncToGenerator(function* (files, sandboxId, setPendingFiles, setUploadedFiles, setIsUploading) {
21651
- // If no sandboxId, just handle files locally
21652
- handleLocalFiles(files, setPendingFiles, setUploadedFiles);
21653
- });
21654
- return function handleFiles(_x, _x2, _x3, _x4, _x5) {
21655
- return _ref.apply(this, arguments);
21656
- };
21657
- }();
21658
- var FileUploadHandler = /*#__PURE__*/forwardRef((_ref2, ref) => {
21659
- var {
21660
- loading,
21661
- disabled,
21662
- isAgentRunning,
21663
- isUploading,
21664
- sandboxId,
21665
- setPendingFiles,
21666
- setUploadedFiles,
21667
- setIsUploading,
21668
- views = {}
21669
- } = _ref2;
21670
- var {
21671
- getColor
21672
- } = useTheme();
21673
- // Clean up object URLs when component unmounts
21674
- useEffect(() => {
21675
- return () => {
21676
- setUploadedFiles(prev => {
21677
- prev.forEach(file => {
21678
- if (file.localUrl) {
21679
- URL.revokeObjectURL(file.localUrl);
21680
- }
21681
- });
21682
- return prev;
21683
- });
21684
- };
21685
- }, [setUploadedFiles]);
21686
- // Handle file upload button click
21687
- var handleFileUpload = () => {
21688
- if (ref && 'current' in ref && ref.current) {
21689
- ref.current.click();
21690
- }
21691
- };
21692
- // Process file upload
21693
- var processFileUpload = /*#__PURE__*/function () {
21694
- var _ref3 = _asyncToGenerator(function* (event) {
21695
- if (!event.target.files || event.target.files.length === 0) return;
21696
- var files = Array.from(event.target.files);
21697
- // Handle files
21698
- handleFiles(files, sandboxId, setPendingFiles, setUploadedFiles, setIsUploading);
21699
- // Reset the input value
21700
- event.target.value = '';
21701
- });
21702
- return function processFileUpload(_x6) {
21703
- return _ref3.apply(this, arguments);
21704
- };
21705
- }();
21706
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button$1, Object.assign({
21707
- type: "button",
21708
- onClick: handleFileUpload,
21709
- variant: "ghost",
21710
- height: "36px",
21711
- padding: "0 12px",
21712
- borderRadius: "8px",
21713
- backgroundColor: "transparent",
21714
- color: "color.gray.500",
21715
- disabled: loading || disabled && !isAgentRunning || isUploading,
21716
- _hover: {
21717
- backgroundColor: 'color.gray.100'
21718
- }
21719
- }, views == null ? void 0 : views.button), /*#__PURE__*/React.createElement(Horizontal, {
21720
- gap: 4,
21721
- alignItems: "center"
21722
- }, isUploading ? (/*#__PURE__*/React.createElement(LoadingSpinnerIcon, Object.assign({
21723
- widthHeight: 16,
21724
- color: "currentColor",
21725
- filled: false,
21726
- style: {
21727
- animation: 'spin 1s linear infinite'
21728
- }
21729
- }, views == null ? void 0 : views.icon))) : (/*#__PURE__*/React.createElement(UploadIcon, Object.assign({
21730
- widthHeight: 16,
21731
- color: "currentColor",
21732
- filled: false
21733
- }, views == null ? void 0 : views.icon))), /*#__PURE__*/React.createElement(Text$1, Object.assign({
21734
- fontSize: "14px"
21735
- }, views == null ? void 0 : views.text), "Attachments"))), /*#__PURE__*/React.createElement("input", {
21736
- type: "file",
21737
- ref: ref,
21738
- style: {
21739
- display: 'none'
21740
- },
21741
- onChange: processFileUpload,
21742
- multiple: true
21743
- }));
21744
- });
21745
- FileUploadHandler.displayName = 'FileUploadHandler';
21746
-
21747
21589
  var PromptExamples = _ref => {
21748
21590
  var {
21749
21591
  examples,
@@ -21781,109 +21623,7 @@ var PromptExamples = _ref => {
21781
21623
  }, views == null ? void 0 : views.text), example.text)))));
21782
21624
  };
21783
21625
 
21784
- var ReferenceImageButton = _ref => {
21785
- var {
21786
- onClick,
21787
- views = {}
21788
- } = _ref;
21789
- // Using theme context for potential future styling
21790
- return /*#__PURE__*/React.createElement(View, Object.assign({
21791
- as: "button",
21792
- type: "button",
21793
- display: "flex",
21794
- alignItems: "center",
21795
- gap: 4,
21796
- padding: "6px 10px",
21797
- border: "1px solid",
21798
- borderColor: "color.gray.300",
21799
- borderRadius: "4px",
21800
- backgroundColor: "transparent",
21801
- cursor: "pointer",
21802
- transition: "all 0.2s ease",
21803
- onClick: onClick,
21804
- _hover: {
21805
- backgroundColor: 'color.gray.100'
21806
- }
21807
- }, views == null ? void 0 : views.button), /*#__PURE__*/React.createElement(Text$1, Object.assign({
21808
- fontSize: "14px",
21809
- color: "color.gray.700"
21810
- }, views == null ? void 0 : views.text), "Reference image"), /*#__PURE__*/React.createElement(ImageIcon, Object.assign({
21811
- widthHeight: 20,
21812
- color: "currentColor",
21813
- filled: false,
21814
- strokeWidth: 2
21815
- }, views == null ? void 0 : views.icon)));
21816
- };
21817
-
21818
- var ReferenceImageModal = _ref => {
21819
- var {
21820
- isOpen,
21821
- onClose,
21822
- views = {}
21823
- } = _ref;
21824
- // Using theme context for potential future styling
21825
- if (!isOpen) {
21826
- return null;
21827
- }
21828
- return /*#__PURE__*/React.createElement(View, Object.assign({
21829
- position: "absolute",
21830
- top: "0",
21831
- left: "0",
21832
- width: "100%",
21833
- height: isOpen ? '300px' : '0',
21834
- backgroundColor: "color.white",
21835
- borderRadius: "8px",
21836
- boxShadow: "0 4px 12px rgba(0, 0, 0, 0.1)",
21837
- overflow: "hidden",
21838
- transition: "height 0.3s ease",
21839
- zIndex: "10"
21840
- }, views == null ? void 0 : views.container), /*#__PURE__*/React.createElement(View, Object.assign({
21841
- padding: "16px",
21842
- width: "100%",
21843
- height: "100%"
21844
- }, views == null ? void 0 : views.content), /*#__PURE__*/React.createElement(Text$1, {
21845
- fontSize: "16px",
21846
- fontWeight: "600",
21847
- marginBottom: "16px"
21848
- }, "Reference Image"), /*#__PURE__*/React.createElement(View, Object.assign({
21849
- as: "button",
21850
- type: "button",
21851
- position: "absolute",
21852
- top: "8px",
21853
- right: "8px",
21854
- width: "24px",
21855
- height: "24px",
21856
- display: "flex",
21857
- alignItems: "center",
21858
- justifyContent: "center",
21859
- borderRadius: "50%",
21860
- backgroundColor: "transparent",
21861
- border: "none",
21862
- cursor: "pointer",
21863
- transition: "all 0.2s ease",
21864
- onClick: onClose,
21865
- _hover: {
21866
- backgroundColor: 'color.gray.100'
21867
- }
21868
- }, views == null ? void 0 : views.closeButton), /*#__PURE__*/React.createElement(CloseIcon, {
21869
- widthHeight: 16,
21870
- color: "currentColor",
21871
- filled: false,
21872
- strokeWidth: 2
21873
- })), /*#__PURE__*/React.createElement(View, {
21874
- width: "100%",
21875
- height: "calc(100% - 40px)",
21876
- backgroundColor: "color.gray.100",
21877
- borderRadius: "4px",
21878
- display: "flex",
21879
- alignItems: "center",
21880
- justifyContent: "center"
21881
- }, /*#__PURE__*/React.createElement(Text$1, {
21882
- color: "color.gray.500"
21883
- }, "Drop an image here or click to upload"))));
21884
- };
21885
-
21886
- 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"];
21887
21627
  var ChatInputView = _ref => {
21888
21628
  var _value$trim$length;
21889
21629
  var {
@@ -21892,9 +21632,11 @@ var ChatInputView = _ref => {
21892
21632
  loading = false,
21893
21633
  disabled = false,
21894
21634
  isAgentRunning = false,
21635
+ loadingText = 'Agent is working...',
21895
21636
  autoFocus = true,
21896
21637
  sandboxId,
21897
21638
  hideAttachments = false,
21639
+ attachmentText = '',
21898
21640
  promptExamples = [],
21899
21641
  showReferenceImageButton = false,
21900
21642
  errorMessage,
@@ -21907,17 +21649,18 @@ var ChatInputView = _ref => {
21907
21649
  handleChange,
21908
21650
  handleSubmit,
21909
21651
  editableRef,
21910
- fileInputRef,
21911
21652
  isUploading,
21912
21653
  isDraggingOver,
21913
21654
  uploadedFiles,
21914
21655
  removeUploadedFile,
21915
21656
  setPendingFiles,
21916
21657
  setUploadedFiles,
21917
- setIsUploading,
21918
21658
  isReferenceImageModalShown,
21919
- toggleReferenceImageModal,
21920
- handlePromptExampleSelect
21659
+ handlePromptExampleSelect,
21660
+ handleDragOver,
21661
+ handleDragLeave,
21662
+ handleReferenceImageUpload,
21663
+ setFileAsReference
21921
21664
  // Other props
21922
21665
  } = _ref,
21923
21666
  props = _objectWithoutPropertiesLoose(_ref, _excluded$18);
@@ -21927,39 +21670,55 @@ var ChatInputView = _ref => {
21927
21670
  var contentStyles = Object.assign({}, DefaultChatInputStyles.content, Sizes$1[size], Variants[variant], views == null ? void 0 : views.content);
21928
21671
  // Determine if the submit button should be enabled
21929
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
+ };
21930
21699
  return /*#__PURE__*/React.createElement(View, Object.assign({
21931
21700
  display: "flex",
21932
21701
  flexDirection: "column",
21933
21702
  // Width and maxWidth will come from containerStyles
21934
21703
  boxSizing: "border-box"
21935
21704
  }, containerStyles, props, {
21936
- onDragOver: e => {
21937
- e.preventDefault();
21938
- e.stopPropagation();
21939
- if (fileInputRef.current) {
21940
- props.handleDragOver == null || props.handleDragOver(e);
21941
- }
21942
- },
21943
- onDragLeave: e => {
21944
- e.preventDefault();
21945
- e.stopPropagation();
21946
- props.handleDragLeave == null || props.handleDragLeave(e);
21947
- },
21705
+ onDragOver: handleDragOver,
21706
+ onDragLeave: handleDragLeave,
21948
21707
  onDrop: e => {
21949
21708
  e.preventDefault();
21950
21709
  e.stopPropagation();
21951
- props.handleDragLeave == null || props.handleDragLeave(e);
21952
- if (fileInputRef.current && e.dataTransfer.files.length > 0) {
21710
+ handleDragLeave(e);
21711
+ if (e.dataTransfer.files.length > 0) {
21953
21712
  var files = Array.from(e.dataTransfer.files);
21954
- setPendingFiles(prevFiles => [...prevFiles, ...files]);
21955
- var newUploadedFiles = files.map(file => ({
21956
- name: file.name,
21957
- path: "/workspace/" + file.name,
21958
- size: file.size,
21959
- type: file.type || 'application/octet-stream',
21960
- localUrl: URL.createObjectURL(file)
21961
- }));
21962
- 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
+ }
21963
21722
  }
21964
21723
  }
21965
21724
  }), promptExamples.length > 0 && (/*#__PURE__*/React.createElement(PromptExamples, {
@@ -21969,24 +21728,36 @@ var ChatInputView = _ref => {
21969
21728
  container: views == null ? void 0 : views.promptExamples,
21970
21729
  item: views == null ? void 0 : views.promptExampleItem
21971
21730
  }
21972
- })), /*#__PURE__*/React.createElement(Horizontal, Object.assign({
21973
- justifyContent: "space-between",
21974
- alignItems: "center"
21975
- }, views == null ? void 0 : views.header), showReferenceImageButton && (/*#__PURE__*/React.createElement(ReferenceImageButton, {
21976
- onClick: toggleReferenceImageModal,
21977
- views: {
21978
- 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'
21979
21746
  }
21980
- }))), /*#__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, {
21981
21758
  position: "relative",
21982
21759
  width: "100%"
21983
- }, /*#__PURE__*/React.createElement(ReferenceImageModal, {
21984
- isOpen: isReferenceImageModalShown,
21985
- onClose: toggleReferenceImageModal,
21986
- views: {
21987
- container: views == null ? void 0 : views.referenceImageModal
21988
- }
21989
- }), /*#__PURE__*/React.createElement(View, Object.assign({
21760
+ }, /*#__PURE__*/React.createElement(View, Object.assign({
21990
21761
  as: "form",
21991
21762
  onSubmit: handleSubmit,
21992
21763
  overflowY: "auto",
@@ -22000,12 +21771,14 @@ var ChatInputView = _ref => {
22000
21771
  files: uploadedFiles,
22001
21772
  sandboxId: sandboxId,
22002
21773
  onRemove: removeUploadedFile,
21774
+ onSetAsReference: setFileAsReference,
22003
21775
  views: {
22004
21776
  container: views == null ? void 0 : views.attachments,
22005
21777
  item: views == null ? void 0 : views.attachmentItem,
22006
21778
  name: views == null ? void 0 : views.attachmentName,
22007
21779
  size: views == null ? void 0 : views.attachmentSize,
22008
- removeButton: views == null ? void 0 : views.attachmentRemove
21780
+ removeButton: views == null ? void 0 : views.attachmentRemove,
21781
+ referenceButton: views == null ? void 0 : views.referenceButton
22009
21782
  }
22010
21783
  }), /*#__PURE__*/React.createElement(EditableInput, {
22011
21784
  ref: editableRef,
@@ -22026,18 +21799,46 @@ var ChatInputView = _ref => {
22026
21799
  }, /*#__PURE__*/React.createElement(Horizontal, {
22027
21800
  gap: 8,
22028
21801
  alignItems: "center"
22029
- }, !hideAttachments && (/*#__PURE__*/React.createElement(FileUploadHandler, {
22030
- ref: fileInputRef,
22031
- loading: loading,
22032
- disabled: disabled,
22033
- isAgentRunning: isAgentRunning,
22034
- isUploading: isUploading,
22035
- sandboxId: sandboxId,
22036
- setPendingFiles: setPendingFiles,
22037
- setUploadedFiles: setUploadedFiles,
22038
- 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",
22039
21813
  views: {
22040
- 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;
22041
21842
  }
22042
21843
  }))), /*#__PURE__*/React.createElement(View, Object.assign({
22043
21844
  as: "button",
@@ -22073,35 +21874,12 @@ var ChatInputView = _ref => {
22073
21874
  fontSize: "12px",
22074
21875
  color: "theme.error",
22075
21876
  marginTop: "4px"
22076
- }, views == null ? void 0 : views.bottomTip), errorMessage)), isAgentRunning && (/*#__PURE__*/React.createElement(Horizontal, Object.assign({
22077
- justifyContent: "center",
22078
- alignItems: "center",
22079
- gap: 8,
22080
- padding: "8px 0",
22081
- animate: {
22082
- from: {
22083
- opacity: 0,
22084
- y: -10
22085
- },
22086
- to: {
22087
- opacity: 1,
22088
- y: 0
22089
- },
22090
- duration: '0.3s'
22091
- }
22092
- }, views == null ? void 0 : views.loadingIndicator), /*#__PURE__*/React.createElement(LoadingSpinnerIcon, {
22093
- widthHeight: 12,
22094
- color: "currentColor",
22095
- filled: false,
22096
- style: {
22097
- animation: 'spin 1s linear infinite'
22098
- }
22099
- }), /*#__PURE__*/React.createElement(Text$1, {
22100
- fontSize: "12px",
22101
- color: "color.gray.500"
22102
- }, "Agent is working..."))));
21877
+ }, views == null ? void 0 : views.bottomTip), errorMessage)));
22103
21878
  };
22104
21879
 
21880
+ /**
21881
+ * Interface for the ChatInput component's imperative handle
21882
+ */
22105
21883
  /**
22106
21884
  * ChatInput component
22107
21885
  *
@@ -22110,15 +21888,10 @@ var ChatInputView = _ref => {
22110
21888
  var ChatInput = /*#__PURE__*/forwardRef((props, ref) => {
22111
21889
  // Get state from custom hook
22112
21890
  var state = useChatInputState(props);
22113
- // Expose methods via ref
22114
- useImperativeHandle(ref, () => ({
22115
- getPendingFiles: () => state.pendingFiles || [],
22116
- clearPendingFiles: () => state.setPendingFiles([])
22117
- }));
22118
21891
  // Render the view component with props and state
22119
21892
  return /*#__PURE__*/React.createElement(ChatInputView, Object.assign({}, props, state));
22120
21893
  });
22121
21894
  ChatInput.displayName = 'ChatInput';
22122
21895
 
22123
- 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 };
22124
21897
  //# sourceMappingURL=web.esm.js.map