dhi-copilot-ai 3.0.0 → 3.0.2
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/dhi-copilot-ai.css +1 -1
- package/dist/dhi-copilot-ai.js +195 -183
- package/dist/dhi-copilot-ai.umd.cjs +4 -4
- package/package.json +2 -2
package/dist/dhi-copilot-ai.js
CHANGED
|
@@ -20825,7 +20825,7 @@ const createLucideIcon = (iconName, iconNode) => {
|
|
|
20825
20825
|
* This source code is licensed under the ISC license.
|
|
20826
20826
|
* See the LICENSE file in the root directory of this source tree.
|
|
20827
20827
|
*/
|
|
20828
|
-
const __iconNode$
|
|
20828
|
+
const __iconNode$u = [
|
|
20829
20829
|
["path", { d: "M12 8V4H8", key: "hb8ula" }],
|
|
20830
20830
|
["rect", { width: "16", height: "12", x: "4", y: "8", rx: "2", key: "enze0r" }],
|
|
20831
20831
|
["path", { d: "M2 14h2", key: "vft8re" }],
|
|
@@ -20833,117 +20833,117 @@ const __iconNode$t = [
|
|
|
20833
20833
|
["path", { d: "M15 13v2", key: "1xurst" }],
|
|
20834
20834
|
["path", { d: "M9 13v2", key: "rq6x2g" }]
|
|
20835
20835
|
];
|
|
20836
|
-
const Bot = createLucideIcon("Bot", __iconNode$
|
|
20836
|
+
const Bot = createLucideIcon("Bot", __iconNode$u);
|
|
20837
20837
|
/**
|
|
20838
20838
|
* @license lucide-react v0.474.0 - ISC
|
|
20839
20839
|
*
|
|
20840
20840
|
* This source code is licensed under the ISC license.
|
|
20841
20841
|
* See the LICENSE file in the root directory of this source tree.
|
|
20842
20842
|
*/
|
|
20843
|
-
const __iconNode$
|
|
20843
|
+
const __iconNode$t = [
|
|
20844
20844
|
["path", { d: "M8 2v4", key: "1cmpym" }],
|
|
20845
20845
|
["path", { d: "M16 2v4", key: "4m81vk" }],
|
|
20846
20846
|
["rect", { width: "18", height: "18", x: "3", y: "4", rx: "2", key: "1hopcy" }],
|
|
20847
20847
|
["path", { d: "M3 10h18", key: "8toen8" }]
|
|
20848
20848
|
];
|
|
20849
|
-
const Calendar = createLucideIcon("Calendar", __iconNode$
|
|
20849
|
+
const Calendar = createLucideIcon("Calendar", __iconNode$t);
|
|
20850
20850
|
/**
|
|
20851
20851
|
* @license lucide-react v0.474.0 - ISC
|
|
20852
20852
|
*
|
|
20853
20853
|
* This source code is licensed under the ISC license.
|
|
20854
20854
|
* See the LICENSE file in the root directory of this source tree.
|
|
20855
20855
|
*/
|
|
20856
|
-
const __iconNode$
|
|
20857
|
-
const Check = createLucideIcon("Check", __iconNode$
|
|
20856
|
+
const __iconNode$s = [["path", { d: "M20 6 9 17l-5-5", key: "1gmf2c" }]];
|
|
20857
|
+
const Check = createLucideIcon("Check", __iconNode$s);
|
|
20858
20858
|
/**
|
|
20859
20859
|
* @license lucide-react v0.474.0 - ISC
|
|
20860
20860
|
*
|
|
20861
20861
|
* This source code is licensed under the ISC license.
|
|
20862
20862
|
* See the LICENSE file in the root directory of this source tree.
|
|
20863
20863
|
*/
|
|
20864
|
-
const __iconNode$
|
|
20865
|
-
const ChevronDown = createLucideIcon("ChevronDown", __iconNode$
|
|
20864
|
+
const __iconNode$r = [["path", { d: "m6 9 6 6 6-6", key: "qrunsl" }]];
|
|
20865
|
+
const ChevronDown = createLucideIcon("ChevronDown", __iconNode$r);
|
|
20866
20866
|
/**
|
|
20867
20867
|
* @license lucide-react v0.474.0 - ISC
|
|
20868
20868
|
*
|
|
20869
20869
|
* This source code is licensed under the ISC license.
|
|
20870
20870
|
* See the LICENSE file in the root directory of this source tree.
|
|
20871
20871
|
*/
|
|
20872
|
-
const __iconNode$
|
|
20873
|
-
const ChevronLeft = createLucideIcon("ChevronLeft", __iconNode$
|
|
20872
|
+
const __iconNode$q = [["path", { d: "m15 18-6-6 6-6", key: "1wnfg3" }]];
|
|
20873
|
+
const ChevronLeft = createLucideIcon("ChevronLeft", __iconNode$q);
|
|
20874
20874
|
/**
|
|
20875
20875
|
* @license lucide-react v0.474.0 - ISC
|
|
20876
20876
|
*
|
|
20877
20877
|
* This source code is licensed under the ISC license.
|
|
20878
20878
|
* See the LICENSE file in the root directory of this source tree.
|
|
20879
20879
|
*/
|
|
20880
|
-
const __iconNode$
|
|
20881
|
-
const ChevronRight = createLucideIcon("ChevronRight", __iconNode$
|
|
20880
|
+
const __iconNode$p = [["path", { d: "m9 18 6-6-6-6", key: "mthhwq" }]];
|
|
20881
|
+
const ChevronRight = createLucideIcon("ChevronRight", __iconNode$p);
|
|
20882
20882
|
/**
|
|
20883
20883
|
* @license lucide-react v0.474.0 - ISC
|
|
20884
20884
|
*
|
|
20885
20885
|
* This source code is licensed under the ISC license.
|
|
20886
20886
|
* See the LICENSE file in the root directory of this source tree.
|
|
20887
20887
|
*/
|
|
20888
|
-
const __iconNode$
|
|
20888
|
+
const __iconNode$o = [
|
|
20889
20889
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
20890
20890
|
["path", { d: "m9 12 2 2 4-4", key: "dzmm74" }]
|
|
20891
20891
|
];
|
|
20892
|
-
const CircleCheck = createLucideIcon("CircleCheck", __iconNode$
|
|
20892
|
+
const CircleCheck = createLucideIcon("CircleCheck", __iconNode$o);
|
|
20893
20893
|
/**
|
|
20894
20894
|
* @license lucide-react v0.474.0 - ISC
|
|
20895
20895
|
*
|
|
20896
20896
|
* This source code is licensed under the ISC license.
|
|
20897
20897
|
* See the LICENSE file in the root directory of this source tree.
|
|
20898
20898
|
*/
|
|
20899
|
-
const __iconNode$
|
|
20899
|
+
const __iconNode$n = [
|
|
20900
20900
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
20901
20901
|
["polyline", { points: "12 6 12 12 16 14", key: "68esgv" }]
|
|
20902
20902
|
];
|
|
20903
|
-
const Clock = createLucideIcon("Clock", __iconNode$
|
|
20903
|
+
const Clock = createLucideIcon("Clock", __iconNode$n);
|
|
20904
20904
|
/**
|
|
20905
20905
|
* @license lucide-react v0.474.0 - ISC
|
|
20906
20906
|
*
|
|
20907
20907
|
* This source code is licensed under the ISC license.
|
|
20908
20908
|
* See the LICENSE file in the root directory of this source tree.
|
|
20909
20909
|
*/
|
|
20910
|
-
const __iconNode$
|
|
20910
|
+
const __iconNode$m = [
|
|
20911
20911
|
["path", { d: "M17.5 19H9a7 7 0 1 1 6.71-9h1.79a4.5 4.5 0 1 1 0 9Z", key: "p7xjir" }]
|
|
20912
20912
|
];
|
|
20913
|
-
const Cloud = createLucideIcon("Cloud", __iconNode$
|
|
20913
|
+
const Cloud = createLucideIcon("Cloud", __iconNode$m);
|
|
20914
20914
|
/**
|
|
20915
20915
|
* @license lucide-react v0.474.0 - ISC
|
|
20916
20916
|
*
|
|
20917
20917
|
* This source code is licensed under the ISC license.
|
|
20918
20918
|
* See the LICENSE file in the root directory of this source tree.
|
|
20919
20919
|
*/
|
|
20920
|
-
const __iconNode$
|
|
20920
|
+
const __iconNode$l = [
|
|
20921
20921
|
["ellipse", { cx: "12", cy: "5", rx: "9", ry: "3", key: "msslwz" }],
|
|
20922
20922
|
["path", { d: "M3 5V19A9 3 0 0 0 21 19V5", key: "1wlel7" }],
|
|
20923
20923
|
["path", { d: "M3 12A9 3 0 0 0 21 12", key: "mv7ke4" }]
|
|
20924
20924
|
];
|
|
20925
|
-
const Database = createLucideIcon("Database", __iconNode$
|
|
20925
|
+
const Database = createLucideIcon("Database", __iconNode$l);
|
|
20926
20926
|
/**
|
|
20927
20927
|
* @license lucide-react v0.474.0 - ISC
|
|
20928
20928
|
*
|
|
20929
20929
|
* This source code is licensed under the ISC license.
|
|
20930
20930
|
* See the LICENSE file in the root directory of this source tree.
|
|
20931
20931
|
*/
|
|
20932
|
-
const __iconNode$
|
|
20932
|
+
const __iconNode$k = [
|
|
20933
20933
|
["path", { d: "M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z", key: "1rqfz7" }],
|
|
20934
20934
|
["path", { d: "M14 2v4a2 2 0 0 0 2 2h4", key: "tnqrlb" }],
|
|
20935
20935
|
["path", { d: "M10 9H8", key: "b1mrlr" }],
|
|
20936
20936
|
["path", { d: "M16 13H8", key: "t4e002" }],
|
|
20937
20937
|
["path", { d: "M16 17H8", key: "z1uh3a" }]
|
|
20938
20938
|
];
|
|
20939
|
-
const FileText = createLucideIcon("FileText", __iconNode$
|
|
20939
|
+
const FileText = createLucideIcon("FileText", __iconNode$k);
|
|
20940
20940
|
/**
|
|
20941
20941
|
* @license lucide-react v0.474.0 - ISC
|
|
20942
20942
|
*
|
|
20943
20943
|
* This source code is licensed under the ISC license.
|
|
20944
20944
|
* See the LICENSE file in the root directory of this source tree.
|
|
20945
20945
|
*/
|
|
20946
|
-
const __iconNode$
|
|
20946
|
+
const __iconNode$j = [
|
|
20947
20947
|
[
|
|
20948
20948
|
"path",
|
|
20949
20949
|
{
|
|
@@ -20952,26 +20952,26 @@ const __iconNode$i = [
|
|
|
20952
20952
|
}
|
|
20953
20953
|
]
|
|
20954
20954
|
];
|
|
20955
|
-
const Folder = createLucideIcon("Folder", __iconNode$
|
|
20955
|
+
const Folder = createLucideIcon("Folder", __iconNode$j);
|
|
20956
20956
|
/**
|
|
20957
20957
|
* @license lucide-react v0.474.0 - ISC
|
|
20958
20958
|
*
|
|
20959
20959
|
* This source code is licensed under the ISC license.
|
|
20960
20960
|
* See the LICENSE file in the root directory of this source tree.
|
|
20961
20961
|
*/
|
|
20962
|
-
const __iconNode$
|
|
20962
|
+
const __iconNode$i = [
|
|
20963
20963
|
["circle", { cx: "12", cy: "12", r: "10", key: "1mglay" }],
|
|
20964
20964
|
["path", { d: "M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20", key: "13o1zl" }],
|
|
20965
20965
|
["path", { d: "M2 12h20", key: "9i4pu4" }]
|
|
20966
20966
|
];
|
|
20967
|
-
const Globe = createLucideIcon("Globe", __iconNode$
|
|
20967
|
+
const Globe = createLucideIcon("Globe", __iconNode$i);
|
|
20968
20968
|
/**
|
|
20969
20969
|
* @license lucide-react v0.474.0 - ISC
|
|
20970
20970
|
*
|
|
20971
20971
|
* This source code is licensed under the ISC license.
|
|
20972
20972
|
* See the LICENSE file in the root directory of this source tree.
|
|
20973
20973
|
*/
|
|
20974
|
-
const __iconNode$
|
|
20974
|
+
const __iconNode$h = [
|
|
20975
20975
|
["line", { x1: "22", x2: "2", y1: "12", y2: "12", key: "1y58io" }],
|
|
20976
20976
|
[
|
|
20977
20977
|
"path",
|
|
@@ -20983,53 +20983,53 @@ const __iconNode$g = [
|
|
|
20983
20983
|
["line", { x1: "6", x2: "6.01", y1: "16", y2: "16", key: "sgf278" }],
|
|
20984
20984
|
["line", { x1: "10", x2: "10.01", y1: "16", y2: "16", key: "1l4acy" }]
|
|
20985
20985
|
];
|
|
20986
|
-
const HardDrive = createLucideIcon("HardDrive", __iconNode$
|
|
20986
|
+
const HardDrive = createLucideIcon("HardDrive", __iconNode$h);
|
|
20987
20987
|
/**
|
|
20988
20988
|
* @license lucide-react v0.474.0 - ISC
|
|
20989
20989
|
*
|
|
20990
20990
|
* This source code is licensed under the ISC license.
|
|
20991
20991
|
* See the LICENSE file in the root directory of this source tree.
|
|
20992
20992
|
*/
|
|
20993
|
-
const __iconNode$
|
|
20994
|
-
const LoaderCircle = createLucideIcon("LoaderCircle", __iconNode$
|
|
20993
|
+
const __iconNode$g = [["path", { d: "M21 12a9 9 0 1 1-6.219-8.56", key: "13zald" }]];
|
|
20994
|
+
const LoaderCircle = createLucideIcon("LoaderCircle", __iconNode$g);
|
|
20995
20995
|
/**
|
|
20996
20996
|
* @license lucide-react v0.474.0 - ISC
|
|
20997
20997
|
*
|
|
20998
20998
|
* This source code is licensed under the ISC license.
|
|
20999
20999
|
* See the LICENSE file in the root directory of this source tree.
|
|
21000
21000
|
*/
|
|
21001
|
-
const __iconNode$
|
|
21001
|
+
const __iconNode$f = [
|
|
21002
21002
|
["rect", { width: "18", height: "11", x: "3", y: "11", rx: "2", ry: "2", key: "1w4ew1" }],
|
|
21003
21003
|
["path", { d: "M7 11V7a5 5 0 0 1 10 0v4", key: "fwvmzm" }]
|
|
21004
21004
|
];
|
|
21005
|
-
const Lock = createLucideIcon("Lock", __iconNode$
|
|
21005
|
+
const Lock = createLucideIcon("Lock", __iconNode$f);
|
|
21006
21006
|
/**
|
|
21007
21007
|
* @license lucide-react v0.474.0 - ISC
|
|
21008
21008
|
*
|
|
21009
21009
|
* This source code is licensed under the ISC license.
|
|
21010
21010
|
* See the LICENSE file in the root directory of this source tree.
|
|
21011
21011
|
*/
|
|
21012
|
-
const __iconNode$
|
|
21012
|
+
const __iconNode$e = [
|
|
21013
21013
|
["path", { d: "M7.9 20A9 9 0 1 0 4 16.1L2 22Z", key: "vv11sd" }]
|
|
21014
21014
|
];
|
|
21015
|
-
const MessageCircle = createLucideIcon("MessageCircle", __iconNode$
|
|
21015
|
+
const MessageCircle = createLucideIcon("MessageCircle", __iconNode$e);
|
|
21016
21016
|
/**
|
|
21017
21017
|
* @license lucide-react v0.474.0 - ISC
|
|
21018
21018
|
*
|
|
21019
21019
|
* This source code is licensed under the ISC license.
|
|
21020
21020
|
* See the LICENSE file in the root directory of this source tree.
|
|
21021
21021
|
*/
|
|
21022
|
-
const __iconNode$
|
|
21022
|
+
const __iconNode$d = [
|
|
21023
21023
|
["path", { d: "M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z", key: "1lielz" }]
|
|
21024
21024
|
];
|
|
21025
|
-
const MessageSquare = createLucideIcon("MessageSquare", __iconNode$
|
|
21025
|
+
const MessageSquare = createLucideIcon("MessageSquare", __iconNode$d);
|
|
21026
21026
|
/**
|
|
21027
21027
|
* @license lucide-react v0.474.0 - ISC
|
|
21028
21028
|
*
|
|
21029
21029
|
* This source code is licensed under the ISC license.
|
|
21030
21030
|
* See the LICENSE file in the root directory of this source tree.
|
|
21031
21031
|
*/
|
|
21032
|
-
const __iconNode$
|
|
21032
|
+
const __iconNode$c = [
|
|
21033
21033
|
["path", { d: "M13.234 20.252 21 12.3", key: "1cbrk9" }],
|
|
21034
21034
|
[
|
|
21035
21035
|
"path",
|
|
@@ -21039,38 +21039,38 @@ const __iconNode$b = [
|
|
|
21039
21039
|
}
|
|
21040
21040
|
]
|
|
21041
21041
|
];
|
|
21042
|
-
const Paperclip = createLucideIcon("Paperclip", __iconNode$
|
|
21042
|
+
const Paperclip = createLucideIcon("Paperclip", __iconNode$c);
|
|
21043
21043
|
/**
|
|
21044
21044
|
* @license lucide-react v0.474.0 - ISC
|
|
21045
21045
|
*
|
|
21046
21046
|
* This source code is licensed under the ISC license.
|
|
21047
21047
|
* See the LICENSE file in the root directory of this source tree.
|
|
21048
21048
|
*/
|
|
21049
|
-
const __iconNode$
|
|
21049
|
+
const __iconNode$b = [
|
|
21050
21050
|
["path", { d: "M5 12h14", key: "1ays0h" }],
|
|
21051
21051
|
["path", { d: "M12 5v14", key: "s699le" }]
|
|
21052
21052
|
];
|
|
21053
|
-
const Plus = createLucideIcon("Plus", __iconNode$
|
|
21053
|
+
const Plus = createLucideIcon("Plus", __iconNode$b);
|
|
21054
21054
|
/**
|
|
21055
21055
|
* @license lucide-react v0.474.0 - ISC
|
|
21056
21056
|
*
|
|
21057
21057
|
* This source code is licensed under the ISC license.
|
|
21058
21058
|
* See the LICENSE file in the root directory of this source tree.
|
|
21059
21059
|
*/
|
|
21060
|
-
const __iconNode$
|
|
21060
|
+
const __iconNode$a = [
|
|
21061
21061
|
["path", { d: "M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8", key: "v9h5vc" }],
|
|
21062
21062
|
["path", { d: "M21 3v5h-5", key: "1q7to0" }],
|
|
21063
21063
|
["path", { d: "M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16", key: "3uifl3" }],
|
|
21064
21064
|
["path", { d: "M8 16H3v5", key: "1cv678" }]
|
|
21065
21065
|
];
|
|
21066
|
-
const RefreshCw = createLucideIcon("RefreshCw", __iconNode$
|
|
21066
|
+
const RefreshCw = createLucideIcon("RefreshCw", __iconNode$a);
|
|
21067
21067
|
/**
|
|
21068
21068
|
* @license lucide-react v0.474.0 - ISC
|
|
21069
21069
|
*
|
|
21070
21070
|
* This source code is licensed under the ISC license.
|
|
21071
21071
|
* See the LICENSE file in the root directory of this source tree.
|
|
21072
21072
|
*/
|
|
21073
|
-
const __iconNode$
|
|
21073
|
+
const __iconNode$9 = [
|
|
21074
21074
|
[
|
|
21075
21075
|
"path",
|
|
21076
21076
|
{
|
|
@@ -21080,27 +21080,27 @@ const __iconNode$8 = [
|
|
|
21080
21080
|
],
|
|
21081
21081
|
["path", { d: "M6 12h16", key: "s4cdu5" }]
|
|
21082
21082
|
];
|
|
21083
|
-
const SendHorizontal = createLucideIcon("SendHorizontal", __iconNode$
|
|
21083
|
+
const SendHorizontal = createLucideIcon("SendHorizontal", __iconNode$9);
|
|
21084
21084
|
/**
|
|
21085
21085
|
* @license lucide-react v0.474.0 - ISC
|
|
21086
21086
|
*
|
|
21087
21087
|
* This source code is licensed under the ISC license.
|
|
21088
21088
|
* See the LICENSE file in the root directory of this source tree.
|
|
21089
21089
|
*/
|
|
21090
|
-
const __iconNode$
|
|
21090
|
+
const __iconNode$8 = [
|
|
21091
21091
|
["rect", { width: "20", height: "8", x: "2", y: "2", rx: "2", ry: "2", key: "ngkwjq" }],
|
|
21092
21092
|
["rect", { width: "20", height: "8", x: "2", y: "14", rx: "2", ry: "2", key: "iecqi9" }],
|
|
21093
21093
|
["line", { x1: "6", x2: "6.01", y1: "6", y2: "6", key: "16zg32" }],
|
|
21094
21094
|
["line", { x1: "6", x2: "6.01", y1: "18", y2: "18", key: "nzw8ys" }]
|
|
21095
21095
|
];
|
|
21096
|
-
const Server = createLucideIcon("Server", __iconNode$
|
|
21096
|
+
const Server = createLucideIcon("Server", __iconNode$8);
|
|
21097
21097
|
/**
|
|
21098
21098
|
* @license lucide-react v0.474.0 - ISC
|
|
21099
21099
|
*
|
|
21100
21100
|
* This source code is licensed under the ISC license.
|
|
21101
21101
|
* See the LICENSE file in the root directory of this source tree.
|
|
21102
21102
|
*/
|
|
21103
|
-
const __iconNode$
|
|
21103
|
+
const __iconNode$7 = [
|
|
21104
21104
|
[
|
|
21105
21105
|
"path",
|
|
21106
21106
|
{
|
|
@@ -21110,7 +21110,21 @@ const __iconNode$6 = [
|
|
|
21110
21110
|
],
|
|
21111
21111
|
["circle", { cx: "12", cy: "12", r: "3", key: "1v7zrd" }]
|
|
21112
21112
|
];
|
|
21113
|
-
const Settings = createLucideIcon("Settings", __iconNode$
|
|
21113
|
+
const Settings = createLucideIcon("Settings", __iconNode$7);
|
|
21114
|
+
/**
|
|
21115
|
+
* @license lucide-react v0.474.0 - ISC
|
|
21116
|
+
*
|
|
21117
|
+
* This source code is licensed under the ISC license.
|
|
21118
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
21119
|
+
*/
|
|
21120
|
+
const __iconNode$6 = [
|
|
21121
|
+
["circle", { cx: "18", cy: "5", r: "3", key: "gq8acd" }],
|
|
21122
|
+
["circle", { cx: "6", cy: "12", r: "3", key: "w7nqdw" }],
|
|
21123
|
+
["circle", { cx: "18", cy: "19", r: "3", key: "1xt0gg" }],
|
|
21124
|
+
["line", { x1: "8.59", x2: "15.42", y1: "13.51", y2: "17.49", key: "47mynk" }],
|
|
21125
|
+
["line", { x1: "15.41", x2: "8.59", y1: "6.51", y2: "10.49", key: "1n3mei" }]
|
|
21126
|
+
];
|
|
21127
|
+
const Share2 = createLucideIcon("Share2", __iconNode$6);
|
|
21114
21128
|
/**
|
|
21115
21129
|
* @license lucide-react v0.474.0 - ISC
|
|
21116
21130
|
*
|
|
@@ -24216,8 +24230,8 @@ const {
|
|
|
24216
24230
|
const createClient = (apiUrl, token) => {
|
|
24217
24231
|
const client2 = axios.create({
|
|
24218
24232
|
baseURL: apiUrl,
|
|
24219
|
-
timeout:
|
|
24220
|
-
//
|
|
24233
|
+
timeout: 3e5,
|
|
24234
|
+
// 60 secondes (important pour les traitements RAG longs)
|
|
24221
24235
|
headers: {
|
|
24222
24236
|
"Authorization": token ? `Bearer ${token}` : "",
|
|
24223
24237
|
"Content-Type": "application/json"
|
|
@@ -24227,7 +24241,7 @@ const createClient = (apiUrl, token) => {
|
|
|
24227
24241
|
(response) => response,
|
|
24228
24242
|
(error) => {
|
|
24229
24243
|
var _a2, _b;
|
|
24230
|
-
console.error("API Error:", ((_b = (_a2 = error.response) == null ? void 0 : _a2.data) == null ? void 0 : _b.detail) || error.message);
|
|
24244
|
+
console.error("DHI Copilot API Error:", ((_b = (_a2 = error.response) == null ? void 0 : _a2.data) == null ? void 0 : _b.detail) || error.message);
|
|
24231
24245
|
return Promise.reject(error);
|
|
24232
24246
|
}
|
|
24233
24247
|
);
|
|
@@ -24235,15 +24249,25 @@ const createClient = (apiUrl, token) => {
|
|
|
24235
24249
|
};
|
|
24236
24250
|
const apiService = {
|
|
24237
24251
|
// --- CHAT & HISTORIQUE ---
|
|
24238
|
-
/**
|
|
24252
|
+
/**
|
|
24253
|
+
* Envoie un message de manière synchrone (Remplace le streaming)
|
|
24254
|
+
* Payload attendu : { message: string, thread_id: string }
|
|
24255
|
+
* Réponse attendue : { response: string, thread_id: string, sources: string[] }
|
|
24256
|
+
*/
|
|
24257
|
+
sendMessage: async (apiUrl, token, payload) => {
|
|
24258
|
+
const client2 = createClient(apiUrl, token);
|
|
24259
|
+
const res = await client2.post("/chat", payload);
|
|
24260
|
+
return res.data;
|
|
24261
|
+
},
|
|
24262
|
+
/** Récupère la liste des conversations (threads) existantes */
|
|
24239
24263
|
getThreads: async (apiUrl, token) => {
|
|
24240
24264
|
const client2 = createClient(apiUrl, token);
|
|
24241
24265
|
const res = await client2.get("/chat/threads");
|
|
24242
24266
|
return res.data;
|
|
24243
24267
|
},
|
|
24244
24268
|
/**
|
|
24245
|
-
* Récupère l'historique et transforme les messages pour l'UI
|
|
24246
|
-
*
|
|
24269
|
+
* Récupère l'historique d'un thread et transforme les messages pour l'UI.
|
|
24270
|
+
* Fusionne les sources citées par les outils avec la réponse de l'assistant.
|
|
24247
24271
|
*/
|
|
24248
24272
|
getHistory: async (apiUrl, token, threadId) => {
|
|
24249
24273
|
const client2 = createClient(apiUrl, token);
|
|
@@ -24282,34 +24306,37 @@ const apiService = {
|
|
|
24282
24306
|
});
|
|
24283
24307
|
return cleanedMessages;
|
|
24284
24308
|
},
|
|
24285
|
-
// --- CONNECTEURS (RAG) ---
|
|
24309
|
+
// --- CONNECTEURS (RESOURCES RAG) ---
|
|
24310
|
+
/** Liste tous les connecteurs configurés */
|
|
24286
24311
|
getConnectors: async (apiUrl, token) => {
|
|
24287
24312
|
const client2 = createClient(apiUrl, token);
|
|
24288
24313
|
const res = await client2.get("/settings/connectors");
|
|
24289
24314
|
return res.data;
|
|
24290
24315
|
},
|
|
24316
|
+
/** Enregistre une nouvelle source (Web, S3, Azure, G-Drive, SFTP, Local) */
|
|
24291
24317
|
saveConnector: async (apiUrl, token, data) => {
|
|
24292
24318
|
const client2 = createClient(apiUrl, token);
|
|
24293
24319
|
const res = await client2.post("/connectors", data);
|
|
24294
24320
|
return res.data;
|
|
24295
24321
|
},
|
|
24322
|
+
/** Déclenche une ré-indexation manuelle d'une source */
|
|
24296
24323
|
triggerSync: async (apiUrl, token, sourceId) => {
|
|
24297
24324
|
const client2 = createClient(apiUrl, token);
|
|
24298
24325
|
const res = await client2.post(`/documents/sync/${sourceId}`);
|
|
24299
24326
|
return res.data;
|
|
24300
24327
|
},
|
|
24328
|
+
/** Supprime un connecteur et ses données vectorielles */
|
|
24301
24329
|
deleteConnector: async (apiUrl, token, sourceId) => {
|
|
24302
24330
|
const client2 = createClient(apiUrl, token);
|
|
24303
24331
|
await client2.delete(`/connectors/${sourceId}`);
|
|
24304
24332
|
},
|
|
24305
|
-
// --- UPLOAD DIRECT ---
|
|
24333
|
+
// --- UPLOAD DIRECT (Analyse Multimodale) ---
|
|
24334
|
+
/** Envoie des fichiers pour analyse immédiate dans la session de chat */
|
|
24306
24335
|
uploadFiles: async (apiUrl, token, files) => {
|
|
24307
24336
|
const client2 = createClient(apiUrl, token);
|
|
24308
24337
|
const formData = new FormData();
|
|
24309
24338
|
files.forEach((file) => formData.append("files", file));
|
|
24310
|
-
const res = await client2.post("/upload", formData
|
|
24311
|
-
headers: { "Content-Type": "multipart/form-data" }
|
|
24312
|
-
});
|
|
24339
|
+
const res = await client2.post("/upload", formData);
|
|
24313
24340
|
return res.data;
|
|
24314
24341
|
}
|
|
24315
24342
|
};
|
|
@@ -24329,23 +24356,13 @@ const useStore = create$2((set, get) => ({
|
|
|
24329
24356
|
setView: (view) => set({ activeView: view }),
|
|
24330
24357
|
setLoading: (loading) => set({ isLoading: loading }),
|
|
24331
24358
|
setShowAddForm: (show) => set({ showAddForm: show }),
|
|
24359
|
+
setThreadId: (id2) => set({ activeThreadId: id2 }),
|
|
24332
24360
|
clearChat: () => set({ messages: [], activeThreadId: null }),
|
|
24333
24361
|
addMessage: (message) => set((state) => ({
|
|
24334
24362
|
messages: [...state.messages, message]
|
|
24335
24363
|
})),
|
|
24336
|
-
|
|
24337
|
-
|
|
24338
|
-
const lastIndex = newMessages.length - 1;
|
|
24339
|
-
if (lastIndex >= 0) {
|
|
24340
|
-
newMessages[lastIndex] = {
|
|
24341
|
-
...newMessages[lastIndex],
|
|
24342
|
-
content: newMessages[lastIndex].content + content2,
|
|
24343
|
-
sources: sources || newMessages[lastIndex].sources
|
|
24344
|
-
};
|
|
24345
|
-
}
|
|
24346
|
-
return { messages: newMessages };
|
|
24347
|
-
}),
|
|
24348
|
-
// --- ACTIONS ASYNCHRONES (LIAISON API) ---
|
|
24364
|
+
// --- ACTIONS ASYNCHRONES ---
|
|
24365
|
+
/** Récupère la liste des conversations */
|
|
24349
24366
|
fetchThreads: async () => {
|
|
24350
24367
|
const { config } = get();
|
|
24351
24368
|
if (!config.apiUrl) return;
|
|
@@ -24353,9 +24370,10 @@ const useStore = create$2((set, get) => ({
|
|
|
24353
24370
|
const data = await apiService.getThreads(config.apiUrl, config.userToken);
|
|
24354
24371
|
set({ threads: data });
|
|
24355
24372
|
} catch (e) {
|
|
24356
|
-
console.error("Erreur
|
|
24373
|
+
console.error("Erreur threads:", e);
|
|
24357
24374
|
}
|
|
24358
24375
|
},
|
|
24376
|
+
/** Charge l'historique d'une conversation précise */
|
|
24359
24377
|
loadThread: async (threadId) => {
|
|
24360
24378
|
const { config } = get();
|
|
24361
24379
|
if (!threadId) {
|
|
@@ -24367,10 +24385,11 @@ const useStore = create$2((set, get) => ({
|
|
|
24367
24385
|
const history = await apiService.getHistory(config.apiUrl, config.userToken, threadId);
|
|
24368
24386
|
set({ messages: history, isLoading: false });
|
|
24369
24387
|
} catch (e) {
|
|
24370
|
-
console.error("Erreur
|
|
24388
|
+
console.error("Erreur historique:", e);
|
|
24371
24389
|
set({ isLoading: false });
|
|
24372
24390
|
}
|
|
24373
24391
|
},
|
|
24392
|
+
/** Liste les sources RAG */
|
|
24374
24393
|
fetchConnectors: async () => {
|
|
24375
24394
|
const { config } = get();
|
|
24376
24395
|
if (!config.apiUrl) return;
|
|
@@ -24378,9 +24397,10 @@ const useStore = create$2((set, get) => ({
|
|
|
24378
24397
|
const res = await apiService.getConnectors(config.apiUrl, config.userToken);
|
|
24379
24398
|
set({ connectors: res });
|
|
24380
24399
|
} catch (e) {
|
|
24381
|
-
console.error("Erreur
|
|
24400
|
+
console.error("Erreur connecteurs:", e);
|
|
24382
24401
|
}
|
|
24383
24402
|
},
|
|
24403
|
+
/** Lance l'indexation d'une source */
|
|
24384
24404
|
syncSource: async (sourceId) => {
|
|
24385
24405
|
const { config } = get();
|
|
24386
24406
|
set({ isSyncing: true });
|
|
@@ -24388,11 +24408,12 @@ const useStore = create$2((set, get) => ({
|
|
|
24388
24408
|
await apiService.triggerSync(config.apiUrl, config.userToken, sourceId);
|
|
24389
24409
|
await get().fetchConnectors();
|
|
24390
24410
|
} catch (e) {
|
|
24391
|
-
console.error("Erreur
|
|
24411
|
+
console.error("Erreur sync:", e);
|
|
24392
24412
|
} finally {
|
|
24393
24413
|
set({ isSyncing: false });
|
|
24394
24414
|
}
|
|
24395
24415
|
},
|
|
24416
|
+
/** Supprime une source */
|
|
24396
24417
|
removeSource: async (sourceId) => {
|
|
24397
24418
|
const { config } = get();
|
|
24398
24419
|
try {
|
|
@@ -24401,7 +24422,7 @@ const useStore = create$2((set, get) => ({
|
|
|
24401
24422
|
connectors: state.connectors.filter((c) => c.source_id !== sourceId)
|
|
24402
24423
|
}));
|
|
24403
24424
|
} catch (e) {
|
|
24404
|
-
console.error("Erreur
|
|
24425
|
+
console.error("Erreur suppression source:", e);
|
|
24405
24426
|
}
|
|
24406
24427
|
}
|
|
24407
24428
|
}));
|
|
@@ -37001,28 +37022,47 @@ const MarkdownContent = ({ content: content2 }) => {
|
|
|
37001
37022
|
const MessageBubble = ({ message }) => {
|
|
37002
37023
|
const isAi = message.role === "assistant";
|
|
37003
37024
|
const { config } = useStore();
|
|
37004
|
-
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `flex w-full ${isAi ? "justify-start" : "justify-end"} mb-
|
|
37025
|
+
return /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: `flex w-full ${isAi ? "justify-start" : "justify-end"} mb-6 animate-in fade-in slide-in-from-bottom-2 duration-300`, children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `flex max-w-[88%] ${isAi ? "flex-row" : "flex-row-reverse"} gap-3`, children: [
|
|
37005
37026
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37006
37027
|
"div",
|
|
37007
37028
|
{
|
|
37008
|
-
className: `
|
|
37009
|
-
|
|
37010
|
-
|
|
37029
|
+
className: `
|
|
37030
|
+
h-8 w-8 rounded-full flex items-center justify-center shrink-0 shadow-sm border
|
|
37031
|
+
${isAi ? "bg-white border-slate-100" : "border-transparent text-white"}
|
|
37032
|
+
`,
|
|
37033
|
+
style: !isAi ? { backgroundColor: config.primaryColor } : {},
|
|
37034
|
+
children: isAi ? /* @__PURE__ */ jsxRuntimeExports.jsx(Bot, { size: 16, style: { color: config.primaryColor }, strokeWidth: 2.5 }) : /* @__PURE__ */ jsxRuntimeExports.jsx(User, { size: 16, strokeWidth: 2.5 })
|
|
37011
37035
|
}
|
|
37012
37036
|
),
|
|
37013
|
-
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className:
|
|
37037
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: `flex flex-col gap-2 ${isAi ? "items-start" : "items-end"}`, children: [
|
|
37014
37038
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37015
37039
|
"div",
|
|
37016
37040
|
{
|
|
37017
|
-
className: `
|
|
37041
|
+
className: `
|
|
37042
|
+
px-4 py-3 rounded-2xl shadow-[0_2px_10px_rgba(0,0,0,0.02)] transition-all
|
|
37043
|
+
${isAi ? "bg-white/90 backdrop-blur-md border border-white/50 text-slate-800 rounded-tl-none" : "text-white rounded-tr-none shadow-md"}`,
|
|
37018
37044
|
style: !isAi ? { backgroundColor: config.primaryColor } : {},
|
|
37019
37045
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(MarkdownContent, { content: message.content })
|
|
37020
37046
|
}
|
|
37021
37047
|
),
|
|
37022
|
-
isAi && message.sources && message.sources.length > 0 && /* @__PURE__ */ jsxRuntimeExports.
|
|
37023
|
-
/* @__PURE__ */ jsxRuntimeExports.
|
|
37024
|
-
|
|
37025
|
-
|
|
37048
|
+
isAi && message.sources && message.sources.length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "mt-2 w-full animate-in fade-in slide-in-from-top-1 duration-500", children: [
|
|
37049
|
+
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex items-center gap-1.5 mb-2 ml-1", children: [
|
|
37050
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(Share2, { size: 10, className: "text-slate-400" }),
|
|
37051
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[9px] font-black text-slate-400 uppercase tracking-widest", children: "Sources consultées" })
|
|
37052
|
+
] }),
|
|
37053
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "flex flex-wrap gap-1.5", children: message.sources.map((source, idx) => /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
37054
|
+
"div",
|
|
37055
|
+
{
|
|
37056
|
+
title: source,
|
|
37057
|
+
className: "\r\n flex items-center gap-1.5 px-2.5 py-1 \r\n bg-slate-100/50 border border-slate-200/60 rounded-full \r\n text-[10px] font-bold text-slate-500 \r\n hover:bg-white hover:border-blue-300 hover:text-blue-600 \r\n transition-all cursor-help max-w-[160px]\r\n ",
|
|
37058
|
+
children: [
|
|
37059
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "h-1.5 w-1.5 rounded-full bg-blue-400 shrink-0 shadow-sm" }),
|
|
37060
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "truncate", children: source.split("/").pop() })
|
|
37061
|
+
]
|
|
37062
|
+
},
|
|
37063
|
+
idx
|
|
37064
|
+
)) })
|
|
37065
|
+
] })
|
|
37026
37066
|
] })
|
|
37027
37067
|
] }) });
|
|
37028
37068
|
};
|
|
@@ -37113,8 +37153,8 @@ const ChatInput = ({ onSend, disabled }) => {
|
|
|
37113
37153
|
const WelcomeScreen = ({ onSuggestion }) => {
|
|
37114
37154
|
const { botName, logoUrl, primaryColor } = useConfig();
|
|
37115
37155
|
const suggestions = [
|
|
37116
|
-
{ label: "
|
|
37117
|
-
{ label: "
|
|
37156
|
+
{ label: "Je veux une liste des employés ?", icon: Sparkles },
|
|
37157
|
+
{ label: "Quelles sont les ressources de l'entreprise disponibles ?", icon: MessageCircle },
|
|
37118
37158
|
{ label: "Résume-moi le dernier document RH", icon: FileText }
|
|
37119
37159
|
];
|
|
37120
37160
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col items-center justify-center p-8 text-center animate-in fade-in zoom-in duration-500", children: [
|
|
@@ -37165,44 +37205,16 @@ const ThinkingIndicator = () => {
|
|
|
37165
37205
|
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "bg-white/50 backdrop-blur-md border border-white/50 px-4 py-3 rounded-2xl rounded-tl-none shadow-sm", children: /* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-xs text-slate-400 font-medium italic", children: "Recherche dans vos documents..." }) })
|
|
37166
37206
|
] });
|
|
37167
37207
|
};
|
|
37168
|
-
const chatStream = async (apiUrl, token, payload, onChunk, onSources) => {
|
|
37169
|
-
const response = await fetch(`${apiUrl}/chat/stream`, {
|
|
37170
|
-
method: "POST",
|
|
37171
|
-
headers: {
|
|
37172
|
-
"Authorization": `Bearer ${token}`,
|
|
37173
|
-
"Content-Type": "application/json"
|
|
37174
|
-
},
|
|
37175
|
-
body: JSON.stringify(payload)
|
|
37176
|
-
});
|
|
37177
|
-
if (!response.body) throw new Error("Flux illisible");
|
|
37178
|
-
const reader = response.body.getReader();
|
|
37179
|
-
const decoder = new TextDecoder();
|
|
37180
|
-
while (true) {
|
|
37181
|
-
const { value, done } = await reader.read();
|
|
37182
|
-
if (done) break;
|
|
37183
|
-
const chunk = decoder.decode(value, { stream: true });
|
|
37184
|
-
try {
|
|
37185
|
-
if (chunk.startsWith("SOURCES:")) {
|
|
37186
|
-
const sources = JSON.parse(chunk.replace("SOURCES:", ""));
|
|
37187
|
-
onSources(sources);
|
|
37188
|
-
} else {
|
|
37189
|
-
onChunk(chunk);
|
|
37190
|
-
}
|
|
37191
|
-
} catch (e) {
|
|
37192
|
-
onChunk(chunk);
|
|
37193
|
-
}
|
|
37194
|
-
}
|
|
37195
|
-
};
|
|
37196
37208
|
const ChatView = () => {
|
|
37197
37209
|
const {
|
|
37198
37210
|
messages,
|
|
37199
|
-
config,
|
|
37200
37211
|
addMessage,
|
|
37201
|
-
updateLastMessage,
|
|
37202
37212
|
setLoading,
|
|
37203
|
-
isLoading
|
|
37213
|
+
isLoading,
|
|
37214
|
+
activeThreadId,
|
|
37215
|
+
setThreadId
|
|
37204
37216
|
} = useStore();
|
|
37205
|
-
const { initialMessage, botName, userName } = useConfig();
|
|
37217
|
+
const { initialMessage, botName, userName, apiUrl, userToken } = useConfig();
|
|
37206
37218
|
const scrollRef = reactExports.useRef(null);
|
|
37207
37219
|
reactExports.useEffect(() => {
|
|
37208
37220
|
if (scrollRef.current) {
|
|
@@ -37212,17 +37224,6 @@ const ChatView = () => {
|
|
|
37212
37224
|
});
|
|
37213
37225
|
}
|
|
37214
37226
|
}, [messages, isLoading]);
|
|
37215
|
-
reactExports.useEffect(() => {
|
|
37216
|
-
if (messages.length === 0) {
|
|
37217
|
-
addMessage({
|
|
37218
|
-
id: "welcome",
|
|
37219
|
-
role: "assistant",
|
|
37220
|
-
content: initialMessage.replace("{name}", userName),
|
|
37221
|
-
// Support de variable simple
|
|
37222
|
-
timestamp: /* @__PURE__ */ new Date()
|
|
37223
|
-
});
|
|
37224
|
-
}
|
|
37225
|
-
}, []);
|
|
37226
37227
|
const handleSendMessage = async (text2, files = []) => {
|
|
37227
37228
|
if (!text2.trim() && files.length === 0 || isLoading) return;
|
|
37228
37229
|
let displayContent = text2.trim();
|
|
@@ -37239,18 +37240,10 @@ ${fileList}`;
|
|
|
37239
37240
|
content: displayContent,
|
|
37240
37241
|
timestamp: /* @__PURE__ */ new Date()
|
|
37241
37242
|
});
|
|
37242
|
-
const aiMessageId = (Date.now() + 1).toString();
|
|
37243
|
-
addMessage({
|
|
37244
|
-
id: aiMessageId,
|
|
37245
|
-
role: "assistant",
|
|
37246
|
-
content: "",
|
|
37247
|
-
timestamp: /* @__PURE__ */ new Date(),
|
|
37248
|
-
sources: []
|
|
37249
|
-
});
|
|
37250
37243
|
setLoading(true);
|
|
37251
37244
|
try {
|
|
37252
37245
|
if (files.length > 0) {
|
|
37253
|
-
await apiService.uploadFiles(
|
|
37246
|
+
await apiService.uploadFiles(apiUrl, userToken, files);
|
|
37254
37247
|
}
|
|
37255
37248
|
const fileNames = files.map((f2) => f2.name).join(", ");
|
|
37256
37249
|
let finalPrompt = text2.trim();
|
|
@@ -37263,31 +37256,34 @@ ${fileList}`;
|
|
|
37263
37256
|
finalPrompt = `Analyse les documents suivants que je viens de t'envoyer : ${fileNames}.`;
|
|
37264
37257
|
}
|
|
37265
37258
|
}
|
|
37266
|
-
await
|
|
37267
|
-
|
|
37268
|
-
|
|
37269
|
-
|
|
37270
|
-
|
|
37271
|
-
|
|
37272
|
-
|
|
37273
|
-
|
|
37274
|
-
|
|
37275
|
-
(
|
|
37276
|
-
|
|
37277
|
-
|
|
37278
|
-
|
|
37279
|
-
|
|
37280
|
-
|
|
37281
|
-
updateLastMessage("", sources);
|
|
37282
|
-
}
|
|
37283
|
-
);
|
|
37259
|
+
const data = await apiService.sendMessage(apiUrl, userToken, {
|
|
37260
|
+
message: finalPrompt,
|
|
37261
|
+
thread_id: activeThreadId || ""
|
|
37262
|
+
// Si null, le backend créera un thread
|
|
37263
|
+
});
|
|
37264
|
+
if (!activeThreadId && data.thread_id) {
|
|
37265
|
+
setThreadId(data.thread_id);
|
|
37266
|
+
}
|
|
37267
|
+
addMessage({
|
|
37268
|
+
id: (Date.now() + 1).toString(),
|
|
37269
|
+
role: "assistant",
|
|
37270
|
+
content: data.response,
|
|
37271
|
+
sources: data.sources || [],
|
|
37272
|
+
timestamp: /* @__PURE__ */ new Date()
|
|
37273
|
+
});
|
|
37284
37274
|
} catch (error) {
|
|
37285
37275
|
console.error("Chat Error:", error);
|
|
37286
|
-
|
|
37276
|
+
addMessage({
|
|
37277
|
+
id: "err-" + Date.now(),
|
|
37278
|
+
role: "assistant",
|
|
37279
|
+
content: "⚠️ Désolé, je n'ai pas pu obtenir de réponse. Veuillez vérifier la connexion au serveur DHI.",
|
|
37280
|
+
timestamp: /* @__PURE__ */ new Date()
|
|
37281
|
+
});
|
|
37287
37282
|
} finally {
|
|
37288
37283
|
setLoading(false);
|
|
37289
37284
|
}
|
|
37290
37285
|
};
|
|
37286
|
+
const formattedIntro = initialMessage.replace("{botName}", botName).replace("{name}", userName);
|
|
37291
37287
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col h-full bg-transparent overflow-hidden", children: [
|
|
37292
37288
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37293
37289
|
"div",
|
|
@@ -37301,14 +37297,14 @@ ${fileList}`;
|
|
|
37301
37297
|
message: {
|
|
37302
37298
|
id: "virtual-intro",
|
|
37303
37299
|
role: "assistant",
|
|
37304
|
-
content:
|
|
37300
|
+
content: formattedIntro,
|
|
37305
37301
|
timestamp: /* @__PURE__ */ new Date()
|
|
37306
37302
|
}
|
|
37307
37303
|
}
|
|
37308
37304
|
),
|
|
37309
37305
|
/* @__PURE__ */ jsxRuntimeExports.jsx(WelcomeScreen, { onSuggestion: (suggestion) => handleSendMessage(suggestion) })
|
|
37310
37306
|
] }) : (
|
|
37311
|
-
/* CAS 2 : La conversation est
|
|
37307
|
+
/* CAS 2 : La conversation est active */
|
|
37312
37308
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex flex-col min-h-full", children: [
|
|
37313
37309
|
messages.map((msg) => /* @__PURE__ */ jsxRuntimeExports.jsx(MessageBubble, { message: msg }, msg.id)),
|
|
37314
37310
|
isLoading && /* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "mt-2", children: /* @__PURE__ */ jsxRuntimeExports.jsx(ThinkingIndicator, {}) })
|
|
@@ -37316,7 +37312,8 @@ ${fileList}`;
|
|
|
37316
37312
|
)
|
|
37317
37313
|
}
|
|
37318
37314
|
),
|
|
37319
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "p-4 bg-white/40 backdrop-blur-xl border-t border-black/[0.03] shadow-[0_-10px_30px_rgba(0,0,0,0.02)]", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-
|
|
37315
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "p-4 bg-white/40 backdrop-blur-xl border-t border-black/[0.03] shadow-[0_-10px_30px_rgba(0,0,0,0.02)]", children: /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "max-w-[480px] mx-auto", children: [
|
|
37316
|
+
" ",
|
|
37320
37317
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37321
37318
|
ChatInput,
|
|
37322
37319
|
{
|
|
@@ -37327,7 +37324,7 @@ ${fileList}`;
|
|
|
37327
37324
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("div", { className: "flex justify-center items-center gap-4 mt-3", children: [
|
|
37328
37325
|
/* @__PURE__ */ jsxRuntimeExports.jsxs("span", { className: "text-[9px] text-slate-400 font-bold uppercase tracking-widest flex items-center gap-1", children: [
|
|
37329
37326
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "w-1 h-1 rounded-full bg-emerald-500" }),
|
|
37330
|
-
"RAG
|
|
37327
|
+
"RAG Active"
|
|
37331
37328
|
] }),
|
|
37332
37329
|
/* @__PURE__ */ jsxRuntimeExports.jsx("span", { className: "text-[9px] text-slate-300 font-medium italic", children: "Vérifiez les sources citées." })
|
|
37333
37330
|
] })
|
|
@@ -37952,38 +37949,46 @@ const MainContainer = ({ close }) => {
|
|
|
37952
37949
|
const Shell = ({ isOpen, setIsOpen }) => {
|
|
37953
37950
|
const { primaryColor, position: position2, logoUrl, botName } = useConfig();
|
|
37954
37951
|
const isRight = position2 === "right";
|
|
37952
|
+
const glassButtonColor = primaryColor.startsWith("#") ? `${primaryColor}80` : primaryColor;
|
|
37955
37953
|
return /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
37956
37954
|
"div",
|
|
37957
37955
|
{
|
|
37958
|
-
className: `dhi-copilot-wrapper fixed bottom-0 ${isRight ? "right-0" : "left-0"} z-[999999] p-6`,
|
|
37956
|
+
className: `dhi-copilot-wrapper fixed bottom-0 ${isRight ? "right-0" : "left-0"} z-[999999] p-6 font-sans`,
|
|
37959
37957
|
dir: "ltr",
|
|
37960
37958
|
children: [
|
|
37961
37959
|
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37962
37960
|
motion.button,
|
|
37963
37961
|
{
|
|
37964
|
-
whileHover: {
|
|
37962
|
+
whileHover: {
|
|
37963
|
+
scale: 1.05,
|
|
37964
|
+
boxShadow: "0 10px 40px rgba(0,0,0,0.2)"
|
|
37965
|
+
// Correction ici : 'boxShadow' au lieu de 'shadow'
|
|
37966
|
+
},
|
|
37965
37967
|
whileTap: { scale: 0.95 },
|
|
37966
37968
|
onClick: () => setIsOpen(!isOpen),
|
|
37967
|
-
style: {
|
|
37968
|
-
|
|
37969
|
-
|
|
37969
|
+
style: {
|
|
37970
|
+
backgroundColor: glassButtonColor,
|
|
37971
|
+
border: "1px solid rgba(255, 255, 255, 0.2)"
|
|
37972
|
+
},
|
|
37973
|
+
className: "relative h-16 w-16 rounded-2xl shadow-[0_8px_32px_rgba(0,0,0,0.15)] flex items-center justify-center text-white cursor-pointer outline-none z-50 backdrop-blur-md transition-shadow",
|
|
37970
37974
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { mode: "wait", children: isOpen ? /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37971
37975
|
motion.div,
|
|
37972
37976
|
{
|
|
37973
37977
|
initial: { rotate: -90, opacity: 0 },
|
|
37974
37978
|
animate: { rotate: 0, opacity: 1 },
|
|
37975
37979
|
exit: { rotate: 90, opacity: 0 },
|
|
37976
|
-
|
|
37980
|
+
className: "flex items-center justify-center",
|
|
37981
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(X, { size: 32, strokeWidth: 2.5 })
|
|
37977
37982
|
},
|
|
37978
37983
|
"close"
|
|
37979
37984
|
) : /* @__PURE__ */ jsxRuntimeExports.jsxs(
|
|
37980
37985
|
motion.div,
|
|
37981
37986
|
{
|
|
37982
|
-
initial: { scale: 0 },
|
|
37983
|
-
animate: { scale: 1 },
|
|
37987
|
+
initial: { scale: 0, opacity: 0 },
|
|
37988
|
+
animate: { scale: 1, opacity: 1 },
|
|
37984
37989
|
className: "relative flex items-center justify-center",
|
|
37985
37990
|
children: [
|
|
37986
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "h-10 w-10 bg-white rounded-
|
|
37991
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx("div", { className: "h-10 w-10 bg-white/90 rounded-xl p-1.5 shadow-inner flex items-center justify-center overflow-hidden", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37987
37992
|
"img",
|
|
37988
37993
|
{
|
|
37989
37994
|
src: logoUrl,
|
|
@@ -37991,7 +37996,14 @@ const Shell = ({ isOpen, setIsOpen }) => {
|
|
|
37991
37996
|
className: "h-full w-full object-contain"
|
|
37992
37997
|
}
|
|
37993
37998
|
) }),
|
|
37994
|
-
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
37999
|
+
/* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
38000
|
+
"div",
|
|
38001
|
+
{
|
|
38002
|
+
style: { backgroundColor: primaryColor },
|
|
38003
|
+
className: "absolute -top-3 -right-3 h-7 w-7 rounded-lg shadow-lg flex items-center justify-center text-white border-2 border-white",
|
|
38004
|
+
children: /* @__PURE__ */ jsxRuntimeExports.jsx(Bot, { size: 14, strokeWidth: 2.5 })
|
|
38005
|
+
}
|
|
38006
|
+
)
|
|
37995
38007
|
]
|
|
37996
38008
|
},
|
|
37997
38009
|
"open"
|
|
@@ -38001,16 +38013,16 @@ const Shell = ({ isOpen, setIsOpen }) => {
|
|
|
38001
38013
|
/* @__PURE__ */ jsxRuntimeExports.jsx(AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxRuntimeExports.jsx(
|
|
38002
38014
|
motion.div,
|
|
38003
38015
|
{
|
|
38004
|
-
initial: { opacity: 0, x: isRight ?
|
|
38005
|
-
animate: { opacity: 1, x: 0
|
|
38006
|
-
exit: { opacity: 0, x: isRight ?
|
|
38007
|
-
transition: { type: "spring", damping:
|
|
38016
|
+
initial: { opacity: 0, x: isRight ? 120 : -120 },
|
|
38017
|
+
animate: { opacity: 1, x: 0 },
|
|
38018
|
+
exit: { opacity: 0, x: isRight ? 120 : -120 },
|
|
38019
|
+
transition: { type: "spring", damping: 28, stiffness: 200 },
|
|
38008
38020
|
className: `
|
|
38009
38021
|
fixed top-0 ${isRight ? "right-0" : "left-0"}
|
|
38010
|
-
h-full w-full md:w-[
|
|
38011
|
-
bg-white/
|
|
38012
|
-
shadow-[-
|
|
38013
|
-
border-l border-white/
|
|
38022
|
+
h-full w-full md:w-[520px]
|
|
38023
|
+
bg-white/85 backdrop-blur-3xl
|
|
38024
|
+
shadow-[-30px_0_80px_rgba(0,0,0,0.15)]
|
|
38025
|
+
border-l border-white/40
|
|
38014
38026
|
overflow-hidden z-40
|
|
38015
38027
|
`,
|
|
38016
38028
|
children: /* @__PURE__ */ jsxRuntimeExports.jsx(MainContainer, { close: () => setIsOpen(false) })
|
|
@@ -38020,7 +38032,7 @@ const Shell = ({ isOpen, setIsOpen }) => {
|
|
|
38020
38032
|
}
|
|
38021
38033
|
);
|
|
38022
38034
|
};
|
|
38023
|
-
const tailwindStyles = '/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-800:oklch(47.3% .137 46.201);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-500:oklch(58.5% .233 277.117);--color-violet-500:oklch(60.6% .25 292.717);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--blur-2xl:40px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.-top-3{top:calc(var(--spacing) * -3)}.top-0{top:calc(var(--spacing) * 0)}.top-4{top:calc(var(--spacing) * 4)}.-right-2{right:calc(var(--spacing) * -2)}.-right-3{right:calc(var(--spacing) * -3)}.right-0{right:calc(var(--spacing) * 0)}.-bottom-2{bottom:calc(var(--spacing) * -2)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.z-40{z-index:40}.z-50{z-index:50}.z-\\[999999\\]{z-index:999999}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-1{height:calc(var(--spacing) * 1)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3\\.5{height:calc(var(--spacing) * 3.5)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-40{height:calc(var(--spacing) * 40)}.h-auto{height:auto}.h-full{height:100%}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-48{max-height:calc(var(--spacing) * 48)}.min-h-full{min-height:100%}.w-1{width:calc(var(--spacing) * 1)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-3\\.5{width:calc(var(--spacing) * 3.5)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.max-w-\\[85\\%\\]{max-width:85%}.max-w-\\[100px\\]{max-width:100px}.max-w-\\[240px\\]{max-width:240px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\\[-4px\\]{--tw-translate-x:-4px;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[24px\\]{border-radius:24px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-tl-none{border-top-left-radius:0}.rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.rounded-tr-none{border-top-right-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-100{border-color:var(--color-amber-100)}.border-black\\/\\[0\\.03\\]{border-color:#00000008}@supports (color:color-mix(in lab,red,red)){.border-black\\/\\[0\\.03\\]{border-color:color-mix(in oklab,var(--color-black) 3%,transparent)}}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-emerald-100{border-color:var(--color-emerald-100)}.border-red-400{border-color:var(--color-red-400)}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-800{border-color:var(--color-slate-800)}.border-white{border-color:var(--color-white)}.border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab,red,red)){.border-white\\/20{border-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.border-white\\/50{border-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.border-white\\/50{border-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.border-white\\/60{border-color:#fff9}@supports (color:color-mix(in lab,red,red)){.border-white\\/60{border-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-emerald-50\\/50{background-color:#ecfdf580}@supports (color:color-mix(in lab,red,red)){.bg-emerald-50\\/50{background-color:color-mix(in oklab,var(--color-emerald-50) 50%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\\/50{background-color:#f8fafc80}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\\/50{background-color:color-mix(in oklab,var(--color-slate-50) 50%,transparent)}}.bg-slate-200\\/50{background-color:#e2e8f080}@supports (color:color-mix(in lab,red,red)){.bg-slate-200\\/50{background-color:color-mix(in oklab,var(--color-slate-200) 50%,transparent)}}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-950{background-color:var(--color-slate-950)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\\/20{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-white\\/40{background-color:#fff6}@supports (color:color-mix(in lab,red,red)){.bg-white\\/40{background-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.bg-white\\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\\/50{background-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.bg-white\\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\\/70{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.bg-white\\/80{background-color:#fffc}@supports (color:color-mix(in lab,red,red)){.bg-white\\/80{background-color:color-mix(in oklab,var(--color-white) 80%,transparent)}}.object-contain{object-fit:contain}.p-1{padding:calc(var(--spacing) * 1)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[14px\\]{font-size:14px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\\[0\\.2em\\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-800{color:var(--color-amber-800)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-800{color:var(--color-emerald-800)}.text-indigo-500{color:var(--color-indigo-500)}.text-red-500{color:var(--color-red-500)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-violet-500{color:var(--color-violet-500)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[-20px_0_60px_rgba\\(0\\,0\\,0\\,0\\.1\\)\\]{--tw-shadow:-20px 0 60px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_-10px_30px_rgba\\(0\\,0\\,0\\,0\\.02\\)\\]{--tw-shadow:0 -10px 30px var(--tw-shadow-color,#00000005);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_8px_30px_rgba\\(0\\,0\\,0\\,0\\.2\\)\\]{--tw-shadow:0 8px 30px var(--tw-shadow-color,#0003);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-blue-50{--tw-ring-color:var(--color-blue-50)}.backdrop-blur-2xl{--tw-backdrop-blur:blur(var(--blur-2xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\\:translate-x-0:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\\:bg-blue-50\\/50:is(:where(.group):hover *){background-color:#eff6ff80}@supports (color:color-mix(in lab,red,red)){.group-hover\\:bg-blue-50\\/50:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-blue-50) 50%,transparent)}}.group-hover\\:text-blue-400:is(:where(.group):hover *){color:var(--color-blue-400)}.group-hover\\:text-blue-500:is(:where(.group):hover *){color:var(--color-blue-500)}.group-hover\\:text-slate-900:is(:where(.group):hover *){color:var(--color-slate-900)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-slate-300::placeholder{color:var(--color-slate-300)}.focus-within\\:border-blue-400:focus-within{border-color:var(--color-blue-400)}@media(hover:hover){.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:scale-\\[1\\.01\\]:hover{scale:1.01}.hover\\:scale-\\[1\\.02\\]:hover{scale:1.02}.hover\\:border-blue-100:hover{border-color:var(--color-blue-100)}.hover\\:border-blue-200:hover{border-color:var(--color-blue-200)}.hover\\:border-slate-200:hover{border-color:var(--color-slate-200)}.hover\\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\\:bg-white\\/60:hover{background-color:#fff9}@supports (color:color-mix(in lab,red,red)){.hover\\:bg-white\\/60:hover{background-color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.hover\\:text-blue-600:hover{color:var(--color-blue-600)}.hover\\:text-red-500:hover{color:var(--color-red-500)}.hover\\:text-slate-600:hover{color:var(--color-slate-600)}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-blue-500\\/20:focus{--tw-ring-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-blue-500\\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.focus\\:ring-emerald-500\\/50:focus{--tw-ring-color:#00bb7f80}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-emerald-500\\/50:focus{--tw-ring-color:color-mix(in oklab, var(--color-emerald-500) 50%, transparent)}}.active\\:scale-\\[0\\.98\\]:active{scale:.98}.disabled\\:opacity-30:disabled{opacity:.3}@media(min-width:48rem){.md\\:col-span-2{grid-column:span 2/span 2}.md\\:w-\\[420px\\]{width:420px}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}';
|
|
38035
|
+
const tailwindStyles = '/*! tailwindcss v4.2.4 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-50:oklch(97.1% .013 17.38);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-amber-500:oklch(76.9% .188 70.08);--color-amber-600:oklch(66.6% .179 58.318);--color-amber-800:oklch(47.3% .137 46.201);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-800:oklch(43.2% .095 166.913);--color-blue-50:oklch(97% .014 254.604);--color-blue-100:oklch(93.2% .032 255.585);--color-blue-200:oklch(88.2% .059 254.128);--color-blue-300:oklch(80.9% .105 251.813);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-indigo-500:oklch(58.5% .233 277.117);--color-violet-500:oklch(60.6% .25 292.717);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--font-weight-medium:500;--font-weight-bold:700;--font-weight-black:900;--tracking-tighter:-.05em;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--animate-spin:spin 1s linear infinite;--animate-ping:ping 1s cubic-bezier(0, 0, .2, 1) infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.-top-3{top:calc(var(--spacing) * -3)}.top-0{top:calc(var(--spacing) * 0)}.top-4{top:calc(var(--spacing) * 4)}.-right-2{right:calc(var(--spacing) * -2)}.-right-3{right:calc(var(--spacing) * -3)}.right-0{right:calc(var(--spacing) * 0)}.-bottom-2{bottom:calc(var(--spacing) * -2)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-0{left:calc(var(--spacing) * 0)}.z-40{z-index:40}.z-50{z-index:50}.z-\\[999999\\]{z-index:999999}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0\\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mb-1\\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.ml-1{margin-left:calc(var(--spacing) * 1)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-1{height:calc(var(--spacing) * 1)}.h-1\\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3\\.5{height:calc(var(--spacing) * 3.5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-10{height:calc(var(--spacing) * 10)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-40{height:calc(var(--spacing) * 40)}.h-auto{height:auto}.h-full{height:100%}.max-h-32{max-height:calc(var(--spacing) * 32)}.max-h-48{max-height:calc(var(--spacing) * 48)}.min-h-full{min-height:100%}.w-1{width:calc(var(--spacing) * 1)}.w-1\\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-3\\.5{width:calc(var(--spacing) * 3.5)}.w-7{width:calc(var(--spacing) * 7)}.w-8{width:calc(var(--spacing) * 8)}.w-10{width:calc(var(--spacing) * 10)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-full{width:100%}.max-w-\\[88\\%\\]{max-width:88%}.max-w-\\[100px\\]{max-width:100px}.max-w-\\[160px\\]{max-width:160px}.max-w-\\[240px\\]{max-width:240px}.max-w-\\[480px\\]{max-width:480px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.translate-x-0{--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-x-\\[-4px\\]{--tw-translate-x:-4px;translate:var(--tw-translate-x) var(--tw-translate-y)}.rotate-180{rotate:180deg}.animate-ping{animation:var(--animate-ping)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-help{cursor:help}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1\\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.scroll-smooth{scroll-behavior:smooth}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[24px\\]{border-radius:24px}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-tl-none{border-top-left-radius:0}.rounded-r-full{border-top-right-radius:3.40282e38px;border-bottom-right-radius:3.40282e38px}.rounded-tr-none{border-top-right-radius:0}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-4{border-style:var(--tw-border-style);border-width:4px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-amber-100{border-color:var(--color-amber-100)}.border-black\\/\\[0\\.03\\]{border-color:#00000008}@supports (color:color-mix(in lab,red,red)){.border-black\\/\\[0\\.03\\]{border-color:color-mix(in oklab,var(--color-black) 3%,transparent)}}.border-blue-100{border-color:var(--color-blue-100)}.border-blue-200{border-color:var(--color-blue-200)}.border-blue-500{border-color:var(--color-blue-500)}.border-emerald-100{border-color:var(--color-emerald-100)}.border-red-400{border-color:var(--color-red-400)}.border-slate-50{border-color:var(--color-slate-50)}.border-slate-100{border-color:var(--color-slate-100)}.border-slate-200{border-color:var(--color-slate-200)}.border-slate-200\\/60{border-color:#e2e8f099}@supports (color:color-mix(in lab,red,red)){.border-slate-200\\/60{border-color:color-mix(in oklab,var(--color-slate-200) 60%,transparent)}}.border-slate-800{border-color:var(--color-slate-800)}.border-transparent{border-color:#0000}.border-white{border-color:var(--color-white)}.border-white\\/40{border-color:#fff6}@supports (color:color-mix(in lab,red,red)){.border-white\\/40{border-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.border-white\\/50{border-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.border-white\\/50{border-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-500{background-color:var(--color-amber-500)}.bg-blue-50{background-color:var(--color-blue-50)}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-emerald-50\\/50{background-color:#ecfdf580}@supports (color:color-mix(in lab,red,red)){.bg-emerald-50\\/50{background-color:color-mix(in oklab,var(--color-emerald-50) 50%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-emerald-500{background-color:var(--color-emerald-500)}.bg-red-50{background-color:var(--color-red-50)}.bg-red-500{background-color:var(--color-red-500)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-50\\/50{background-color:#f8fafc80}@supports (color:color-mix(in lab,red,red)){.bg-slate-50\\/50{background-color:color-mix(in oklab,var(--color-slate-50) 50%,transparent)}}.bg-slate-100\\/50{background-color:#f1f5f980}@supports (color:color-mix(in lab,red,red)){.bg-slate-100\\/50{background-color:color-mix(in oklab,var(--color-slate-100) 50%,transparent)}}.bg-slate-200\\/50{background-color:#e2e8f080}@supports (color:color-mix(in lab,red,red)){.bg-slate-200\\/50{background-color:color-mix(in oklab,var(--color-slate-200) 50%,transparent)}}.bg-slate-900{background-color:var(--color-slate-900)}.bg-slate-950{background-color:var(--color-slate-950)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\\/20{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.bg-white\\/40{background-color:#fff6}@supports (color:color-mix(in lab,red,red)){.bg-white\\/40{background-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.bg-white\\/50{background-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.bg-white\\/50{background-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.bg-white\\/70{background-color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.bg-white\\/70{background-color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.bg-white\\/85{background-color:#ffffffd9}@supports (color:color-mix(in lab,red,red)){.bg-white\\/85{background-color:color-mix(in oklab,var(--color-white) 85%,transparent)}}.bg-white\\/90{background-color:#ffffffe6}@supports (color:color-mix(in lab,red,red)){.bg-white\\/90{background-color:color-mix(in oklab,var(--color-white) 90%,transparent)}}.object-contain{object-fit:contain}.p-1{padding:calc(var(--spacing) * 1)}.p-1\\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.p-2\\.5{padding:calc(var(--spacing) * 2.5)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-2\\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[9px\\]{font-size:9px}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[14px\\]{font-size:14px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.tracking-\\[0\\.2em\\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-tighter{--tw-tracking:var(--tracking-tighter);letter-spacing:var(--tracking-tighter)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-amber-500{color:var(--color-amber-500)}.text-amber-600{color:var(--color-amber-600)}.text-amber-800{color:var(--color-amber-800)}.text-blue-400{color:var(--color-blue-400)}.text-blue-500{color:var(--color-blue-500)}.text-blue-600{color:var(--color-blue-600)}.text-emerald-400{color:var(--color-emerald-400)}.text-emerald-500{color:var(--color-emerald-500)}.text-emerald-600{color:var(--color-emerald-600)}.text-emerald-800{color:var(--color-emerald-800)}.text-indigo-500{color:var(--color-indigo-500)}.text-red-500{color:var(--color-red-500)}.text-slate-200{color:var(--color-slate-200)}.text-slate-300{color:var(--color-slate-300)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-slate-900{color:var(--color-slate-900)}.text-violet-500{color:var(--color-violet-500)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.opacity-0{opacity:0}.opacity-70{opacity:.7}.opacity-75{opacity:.75}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[-30px_0_80px_rgba\\(0\\,0\\,0\\,0\\.15\\)\\]{--tw-shadow:-30px 0 80px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_-10px_30px_rgba\\(0\\,0\\,0\\,0\\.02\\)\\]{--tw-shadow:0 -10px 30px var(--tw-shadow-color,#00000005);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_2px_10px_rgba\\(0\\,0\\,0\\,0\\.02\\)\\]{--tw-shadow:0 2px 10px var(--tw-shadow-color,#00000005);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_8px_32px_rgba\\(0\\,0\\,0\\,0\\.15\\)\\]{--tw-shadow:0 8px 32px var(--tw-shadow-color,#00000026);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring-blue-50{--tw-ring-color:var(--color-blue-50)}.backdrop-blur-3xl{--tw-backdrop-blur:blur(var(--blur-3xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\\:translate-x-0:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\\:bg-blue-50\\/50:is(:where(.group):hover *){background-color:#eff6ff80}@supports (color:color-mix(in lab,red,red)){.group-hover\\:bg-blue-50\\/50:is(:where(.group):hover *){background-color:color-mix(in oklab,var(--color-blue-50) 50%,transparent)}}.group-hover\\:text-blue-400:is(:where(.group):hover *){color:var(--color-blue-400)}.group-hover\\:text-blue-500:is(:where(.group):hover *){color:var(--color-blue-500)}.group-hover\\:text-slate-900:is(:where(.group):hover *){color:var(--color-slate-900)}.group-hover\\:opacity-100:is(:where(.group):hover *){opacity:1}}.placeholder\\:text-slate-300::placeholder{color:var(--color-slate-300)}.focus-within\\:border-blue-400:focus-within{border-color:var(--color-blue-400)}@media(hover:hover){.hover\\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\\:scale-\\[1\\.01\\]:hover{scale:1.01}.hover\\:scale-\\[1\\.02\\]:hover{scale:1.02}.hover\\:border-blue-100:hover{border-color:var(--color-blue-100)}.hover\\:border-blue-200:hover{border-color:var(--color-blue-200)}.hover\\:border-blue-300:hover{border-color:var(--color-blue-300)}.hover\\:border-slate-200:hover{border-color:var(--color-slate-200)}.hover\\:bg-blue-50:hover{background-color:var(--color-blue-50)}.hover\\:bg-red-50:hover{background-color:var(--color-red-50)}.hover\\:bg-white:hover{background-color:var(--color-white)}.hover\\:text-blue-600:hover{color:var(--color-blue-600)}.hover\\:text-red-500:hover{color:var(--color-red-500)}.hover\\:text-slate-600:hover{color:var(--color-slate-600)}.hover\\:shadow-md:hover{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-sm:hover{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}.focus\\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-blue-500\\/20:focus{--tw-ring-color:#3080ff33}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-blue-500\\/20:focus{--tw-ring-color:color-mix(in oklab, var(--color-blue-500) 20%, transparent)}}.focus\\:ring-emerald-500\\/50:focus{--tw-ring-color:#00bb7f80}@supports (color:color-mix(in lab,red,red)){.focus\\:ring-emerald-500\\/50:focus{--tw-ring-color:color-mix(in oklab, var(--color-emerald-500) 50%, transparent)}}.active\\:scale-\\[0\\.98\\]:active{scale:.98}.disabled\\:opacity-30:disabled{opacity:.3}@media(min-width:48rem){.md\\:col-span-2{grid-column:span 2/span 2}.md\\:w-\\[520px\\]{width:520px}.md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes ping{75%,to{opacity:0;transform:scale(2)}}@keyframes pulse{50%{opacity:.5}}';
|
|
38024
38036
|
const GlobalStyles = () => {
|
|
38025
38037
|
const { primaryColor } = useConfig();
|
|
38026
38038
|
return /* @__PURE__ */ jsxRuntimeExports.jsx("style", { children: `
|