@alquimia-ai/ui 1.2.3 → 1.3.0
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/components/atoms/index.d.mts +4 -1
- package/dist/components/atoms/index.d.ts +4 -1
- package/dist/components/atoms/index.js +39 -17
- package/dist/components/atoms/index.js.map +1 -1
- package/dist/components/atoms/index.mjs +35 -13
- package/dist/components/atoms/index.mjs.map +1 -1
- package/dist/components/hooks/index.js +41 -32
- package/dist/components/hooks/index.js.map +1 -1
- package/dist/components/hooks/index.mjs +42 -33
- package/dist/components/hooks/index.mjs.map +1 -1
- package/dist/components/index.d.mts +2 -1
- package/dist/components/index.d.ts +2 -1
- package/dist/components/index.js +39 -17
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +35 -13
- package/dist/components/index.mjs.map +1 -1
- package/dist/components/molecules/documents/index.js +82 -52
- package/dist/components/molecules/documents/index.js.map +1 -1
- package/dist/components/molecules/documents/index.mjs +67 -37
- package/dist/components/molecules/documents/index.mjs.map +1 -1
- package/dist/components/molecules/index.js +186 -156
- package/dist/components/molecules/index.js.map +1 -1
- package/dist/components/molecules/index.mjs +179 -149
- package/dist/components/molecules/index.mjs.map +1 -1
- package/dist/components/molecules/viewers/index.js +31 -10
- package/dist/components/molecules/viewers/index.js.map +1 -1
- package/dist/components/molecules/viewers/index.mjs +30 -9
- package/dist/components/molecules/viewers/index.mjs.map +1 -1
- package/dist/components/organisms/index.d.mts +3 -1
- package/dist/components/organisms/index.d.ts +3 -1
- package/dist/components/organisms/index.js +228 -196
- package/dist/components/organisms/index.js.map +1 -1
- package/dist/components/organisms/index.mjs +217 -185
- package/dist/components/organisms/index.mjs.map +1 -1
- package/dist/components/templates/cards/index.js +57 -36
- package/dist/components/templates/cards/index.js.map +1 -1
- package/dist/components/templates/cards/index.mjs +45 -24
- package/dist/components/templates/cards/index.mjs.map +1 -1
- package/dist/components/templates/index.js +57 -36
- package/dist/components/templates/index.js.map +1 -1
- package/dist/components/templates/index.mjs +45 -24
- package/dist/components/templates/index.mjs.map +1 -1
- package/dist/index.d.mts +3 -2
- package/dist/index.d.ts +3 -2
- package/dist/index.js +283 -250
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +262 -229
- package/dist/index.mjs.map +1 -1
- package/dist/package.json +137 -0
- package/dist/types/index.d.mts +12 -1
- package/dist/types/index.d.ts +12 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/index.mjs.map +1 -1
- package/package.json +21 -3
package/dist/index.js
CHANGED
|
@@ -147,6 +147,7 @@ __export(index_exports, {
|
|
|
147
147
|
SelectSeparator: () => SelectSeparator,
|
|
148
148
|
SelectTrigger: () => SelectTrigger,
|
|
149
149
|
SelectValue: () => SelectValue,
|
|
150
|
+
Separator: () => Separator2,
|
|
150
151
|
Sidebar: () => Sidebar,
|
|
151
152
|
SidebarFooter: () => SidebarFooter,
|
|
152
153
|
Skeleton: () => Skeleton,
|
|
@@ -1560,8 +1561,29 @@ var Loader = React22.forwardRef(
|
|
|
1560
1561
|
);
|
|
1561
1562
|
Loader.displayName = "Loader";
|
|
1562
1563
|
|
|
1563
|
-
// src/components/
|
|
1564
|
+
// src/components/atoms/ui/separator.tsx
|
|
1564
1565
|
var React23 = __toESM(require("react"));
|
|
1566
|
+
var SeparatorPrimitive = __toESM(require("@radix-ui/react-separator"));
|
|
1567
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
1568
|
+
var Separator2 = React23.forwardRef(({ className, orientation = "horizontal", decorative = true, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
1569
|
+
SeparatorPrimitive.Root,
|
|
1570
|
+
{
|
|
1571
|
+
ref,
|
|
1572
|
+
decorative,
|
|
1573
|
+
orientation,
|
|
1574
|
+
className: cn(
|
|
1575
|
+
"shrink-0 bg-border",
|
|
1576
|
+
orientation === "horizontal" ? "h-[1px] w-full" : "h-full w-[1px]",
|
|
1577
|
+
className,
|
|
1578
|
+
"alq--separator"
|
|
1579
|
+
),
|
|
1580
|
+
...props
|
|
1581
|
+
}
|
|
1582
|
+
));
|
|
1583
|
+
Separator2.displayName = SeparatorPrimitive.Root.displayName;
|
|
1584
|
+
|
|
1585
|
+
// src/components/hooks/use-toast.ts
|
|
1586
|
+
var React24 = __toESM(require("react"));
|
|
1565
1587
|
var TOAST_LIMIT = 1;
|
|
1566
1588
|
var TOAST_REMOVE_DELAY = 1e6;
|
|
1567
1589
|
var count = 0;
|
|
@@ -1662,8 +1684,8 @@ function toast({ ...props }) {
|
|
|
1662
1684
|
};
|
|
1663
1685
|
}
|
|
1664
1686
|
function useToast() {
|
|
1665
|
-
const [state, setState] =
|
|
1666
|
-
|
|
1687
|
+
const [state, setState] = React24.useState(memoryState);
|
|
1688
|
+
React24.useEffect(() => {
|
|
1667
1689
|
listeners.push(setState);
|
|
1668
1690
|
return () => {
|
|
1669
1691
|
const index = listeners.indexOf(setState);
|
|
@@ -1680,29 +1702,29 @@ function useToast() {
|
|
|
1680
1702
|
}
|
|
1681
1703
|
|
|
1682
1704
|
// src/components/atoms/ui/toaster.tsx
|
|
1683
|
-
var
|
|
1705
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
1684
1706
|
function Toaster() {
|
|
1685
1707
|
const { toasts } = useToast();
|
|
1686
|
-
return /* @__PURE__ */ (0,
|
|
1708
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(ToastProvider, { children: [
|
|
1687
1709
|
toasts.map(function({ id, title, description, action, ...props }) {
|
|
1688
|
-
return /* @__PURE__ */ (0,
|
|
1689
|
-
/* @__PURE__ */ (0,
|
|
1690
|
-
title && /* @__PURE__ */ (0,
|
|
1691
|
-
description && /* @__PURE__ */ (0,
|
|
1710
|
+
return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(Toast, { ...props, children: [
|
|
1711
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsxs)("div", { className: "grid gap-1", children: [
|
|
1712
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ToastTitle, { children: title }),
|
|
1713
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ToastDescription, { children: description })
|
|
1692
1714
|
] }),
|
|
1693
1715
|
action,
|
|
1694
|
-
/* @__PURE__ */ (0,
|
|
1716
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ToastClose, {})
|
|
1695
1717
|
] }, id);
|
|
1696
1718
|
}),
|
|
1697
|
-
/* @__PURE__ */ (0,
|
|
1719
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)(ToastViewport, {})
|
|
1698
1720
|
] });
|
|
1699
1721
|
}
|
|
1700
1722
|
|
|
1701
1723
|
// src/components/atoms/ui/think-indicator.tsx
|
|
1702
|
-
var
|
|
1724
|
+
var React25 = __toESM(require("react"));
|
|
1703
1725
|
var import_react3 = require("react");
|
|
1704
1726
|
var import_class_variance_authority8 = require("class-variance-authority");
|
|
1705
|
-
var
|
|
1727
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1706
1728
|
var thinkIndicatorVariants = (0, import_class_variance_authority8.cva)(
|
|
1707
1729
|
"flex items-center gap-3",
|
|
1708
1730
|
{
|
|
@@ -1724,7 +1746,7 @@ var thinkIndicatorVariants = (0, import_class_variance_authority8.cva)(
|
|
|
1724
1746
|
}
|
|
1725
1747
|
}
|
|
1726
1748
|
);
|
|
1727
|
-
var ThinkIndicator =
|
|
1749
|
+
var ThinkIndicator = React25.forwardRef(
|
|
1728
1750
|
({
|
|
1729
1751
|
className,
|
|
1730
1752
|
variant,
|
|
@@ -1755,14 +1777,14 @@ var ThinkIndicator = React24.forwardRef(
|
|
|
1755
1777
|
}
|
|
1756
1778
|
return () => clearInterval(timer);
|
|
1757
1779
|
}, [thoughts, interval, currentThoughtIndex]);
|
|
1758
|
-
return /* @__PURE__ */ (0,
|
|
1780
|
+
return /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
1759
1781
|
"div",
|
|
1760
1782
|
{
|
|
1761
1783
|
ref,
|
|
1762
1784
|
className: cn(thinkIndicatorVariants({ variant, size }), className, "alq--think-indicator"),
|
|
1763
1785
|
...props,
|
|
1764
1786
|
children: [
|
|
1765
|
-
loader || /* @__PURE__ */ (0,
|
|
1787
|
+
loader || /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
1766
1788
|
Loader,
|
|
1767
1789
|
{
|
|
1768
1790
|
className: cn(
|
|
@@ -1770,7 +1792,7 @@ var ThinkIndicator = React24.forwardRef(
|
|
|
1770
1792
|
)
|
|
1771
1793
|
}
|
|
1772
1794
|
),
|
|
1773
|
-
/* @__PURE__ */ (0,
|
|
1795
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
1774
1796
|
"div",
|
|
1775
1797
|
{
|
|
1776
1798
|
className: cn(
|
|
@@ -1790,30 +1812,30 @@ ThinkIndicator.displayName = "ThinkIndicator";
|
|
|
1790
1812
|
|
|
1791
1813
|
// src/components/templates/messages-window.tsx
|
|
1792
1814
|
var import_react4 = require("react");
|
|
1793
|
-
var
|
|
1815
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1794
1816
|
var MessagesWindow = (0, import_react4.forwardRef)(
|
|
1795
1817
|
({ className, ...props }, ref) => {
|
|
1796
|
-
return /* @__PURE__ */ (0,
|
|
1818
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)("div", { className: cn(className, "alq--messages--window"), ...props });
|
|
1797
1819
|
}
|
|
1798
1820
|
);
|
|
1799
1821
|
MessagesWindow.displayName = "MessagesWindow";
|
|
1800
1822
|
|
|
1801
1823
|
// src/components/templates/query-box.tsx
|
|
1802
1824
|
var import_react5 = require("react");
|
|
1803
|
-
var
|
|
1825
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1804
1826
|
var QueryBox = (0, import_react5.forwardRef)(
|
|
1805
1827
|
({ className, ...props }, ref) => {
|
|
1806
|
-
return /* @__PURE__ */ (0,
|
|
1828
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)("div", { className: cn(className, "alq--querybox"), ...props });
|
|
1807
1829
|
}
|
|
1808
1830
|
);
|
|
1809
1831
|
QueryBox.displayName = "QueryBox";
|
|
1810
1832
|
|
|
1811
1833
|
// src/components/templates/hero/index.tsx
|
|
1812
1834
|
var import_react6 = require("react");
|
|
1813
|
-
var
|
|
1835
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1814
1836
|
var Hero = (0, import_react6.forwardRef)(
|
|
1815
1837
|
({ className, children, ...props }, ref) => {
|
|
1816
|
-
return /* @__PURE__ */ (0,
|
|
1838
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
1817
1839
|
"div",
|
|
1818
1840
|
{
|
|
1819
1841
|
ref,
|
|
@@ -1826,7 +1848,7 @@ var Hero = (0, import_react6.forwardRef)(
|
|
|
1826
1848
|
);
|
|
1827
1849
|
var HeroContent = (0, import_react6.forwardRef)(
|
|
1828
1850
|
({ className, children, ...props }, ref) => {
|
|
1829
|
-
return /* @__PURE__ */ (0,
|
|
1851
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
|
|
1830
1852
|
"div",
|
|
1831
1853
|
{
|
|
1832
1854
|
ref,
|
|
@@ -1841,21 +1863,21 @@ Hero.displayName = "Hero";
|
|
|
1841
1863
|
HeroContent.displayName = "HeroContent";
|
|
1842
1864
|
|
|
1843
1865
|
// src/components/templates/cards/with-image-heading-description.tsx
|
|
1844
|
-
var
|
|
1866
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1845
1867
|
var CardWithImageHeadingDescriptionVertical = (props) => {
|
|
1846
1868
|
const { showBorder, image, heading, description } = props;
|
|
1847
|
-
return /* @__PURE__ */ (0,
|
|
1869
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(Card, { className: cn("w-[360px]", !showBorder && "border-none shadow-none"), children: [
|
|
1848
1870
|
image,
|
|
1849
|
-
/* @__PURE__ */ (0,
|
|
1850
|
-
/* @__PURE__ */ (0,
|
|
1851
|
-
/* @__PURE__ */ (0,
|
|
1871
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(CardHeader, { children: [
|
|
1872
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CardTitle, { children: heading }),
|
|
1873
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Typography, { typeStyle: "small", className: "text-font-weak-color", children: description })
|
|
1852
1874
|
] }),
|
|
1853
|
-
/* @__PURE__ */ (0,
|
|
1875
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CardContent, {})
|
|
1854
1876
|
] });
|
|
1855
1877
|
};
|
|
1856
1878
|
var CardImageWithHeadingAndDescriptionHorizontal = (props) => {
|
|
1857
1879
|
const { showBorder, image, heading, description } = props;
|
|
1858
|
-
return /* @__PURE__ */ (0,
|
|
1880
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(
|
|
1859
1881
|
Card,
|
|
1860
1882
|
{
|
|
1861
1883
|
className: cn(
|
|
@@ -1864,42 +1886,42 @@ var CardImageWithHeadingAndDescriptionHorizontal = (props) => {
|
|
|
1864
1886
|
),
|
|
1865
1887
|
children: [
|
|
1866
1888
|
image,
|
|
1867
|
-
/* @__PURE__ */ (0,
|
|
1868
|
-
/* @__PURE__ */ (0,
|
|
1869
|
-
/* @__PURE__ */ (0,
|
|
1889
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsxs)(CardHeader, { children: [
|
|
1890
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CardTitle, { children: heading }),
|
|
1891
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(Typography, { typeStyle: "small", className: "text-font-weak-color", children: description })
|
|
1870
1892
|
] }),
|
|
1871
|
-
/* @__PURE__ */ (0,
|
|
1893
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(CardContent, {})
|
|
1872
1894
|
]
|
|
1873
1895
|
}
|
|
1874
1896
|
);
|
|
1875
1897
|
};
|
|
1876
1898
|
|
|
1877
1899
|
// src/components/templates/cards/with-image-heading-description-avatar.tsx
|
|
1878
|
-
var
|
|
1900
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
1879
1901
|
var AvatarInfo = (props) => {
|
|
1880
1902
|
const { userName, email, avatarImage } = props;
|
|
1881
|
-
return /* @__PURE__ */ (0,
|
|
1882
|
-
/* @__PURE__ */ (0,
|
|
1883
|
-
/* @__PURE__ */ (0,
|
|
1884
|
-
/* @__PURE__ */ (0,
|
|
1885
|
-
/* @__PURE__ */ (0,
|
|
1903
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex space-x-2 items-center", children: [
|
|
1904
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Avatar, { className: "w-16 h-16", children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(AvatarImage, { src: avatarImage }) }),
|
|
1905
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { children: [
|
|
1906
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Typography, { typeStyle: "small", className: "font-semibold", children: userName }),
|
|
1907
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Typography, { typeStyle: "tiny", className: "text-font-weak-color", children: email })
|
|
1886
1908
|
] })
|
|
1887
1909
|
] });
|
|
1888
1910
|
};
|
|
1889
1911
|
var CardWithImageHeadingDescriptionAvatarVertical = (props) => {
|
|
1890
1912
|
const { showBorder, image, heading, description } = props;
|
|
1891
|
-
return /* @__PURE__ */ (0,
|
|
1913
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(Card, { className: cn("w-[360px]", !showBorder && "border-none shadow-none"), children: [
|
|
1892
1914
|
image,
|
|
1893
|
-
/* @__PURE__ */ (0,
|
|
1894
|
-
/* @__PURE__ */ (0,
|
|
1895
|
-
/* @__PURE__ */ (0,
|
|
1915
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(CardHeader, { children: [
|
|
1916
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CardTitle, { children: heading }),
|
|
1917
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Typography, { typeStyle: "small", className: "text-font-weak-color", children: description })
|
|
1896
1918
|
] }),
|
|
1897
|
-
/* @__PURE__ */ (0,
|
|
1919
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CardContent, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(AvatarInfo, { ...props }) })
|
|
1898
1920
|
] });
|
|
1899
1921
|
};
|
|
1900
1922
|
var CardImageWithHeadingAndDescriptionAvatarHorizontal = (props) => {
|
|
1901
1923
|
const { showBorder, image, heading, description } = props;
|
|
1902
|
-
return /* @__PURE__ */ (0,
|
|
1924
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
1903
1925
|
Card,
|
|
1904
1926
|
{
|
|
1905
1927
|
className: cn(
|
|
@@ -1908,12 +1930,12 @@ var CardImageWithHeadingAndDescriptionAvatarHorizontal = (props) => {
|
|
|
1908
1930
|
),
|
|
1909
1931
|
children: [
|
|
1910
1932
|
image,
|
|
1911
|
-
/* @__PURE__ */ (0,
|
|
1912
|
-
/* @__PURE__ */ (0,
|
|
1913
|
-
/* @__PURE__ */ (0,
|
|
1914
|
-
/* @__PURE__ */ (0,
|
|
1933
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { children: [
|
|
1934
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(CardHeader, { children: [
|
|
1935
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CardTitle, { children: heading }),
|
|
1936
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(Typography, { typeStyle: "small", className: "text-font-weak-color", children: description })
|
|
1915
1937
|
] }),
|
|
1916
|
-
/* @__PURE__ */ (0,
|
|
1938
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(CardContent, { children: /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(AvatarInfo, { ...props }) })
|
|
1917
1939
|
] })
|
|
1918
1940
|
]
|
|
1919
1941
|
}
|
|
@@ -1923,7 +1945,7 @@ var CardImageWithHeadingAndDescriptionAvatarHorizontal = (props) => {
|
|
|
1923
1945
|
// src/components/organisms/whisper.tsx
|
|
1924
1946
|
var import_react7 = require("react");
|
|
1925
1947
|
var import_lucide_react8 = require("lucide-react");
|
|
1926
|
-
var
|
|
1948
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1927
1949
|
function Whisper({
|
|
1928
1950
|
className,
|
|
1929
1951
|
message,
|
|
@@ -1971,20 +1993,20 @@ function Whisper({
|
|
|
1971
1993
|
handleAudioPlay();
|
|
1972
1994
|
}
|
|
1973
1995
|
};
|
|
1974
|
-
return /* @__PURE__ */ (0,
|
|
1975
|
-
isMessageStreaming && /* @__PURE__ */ (0,
|
|
1976
|
-
!isMessageStreaming && /* @__PURE__ */ (0,
|
|
1977
|
-
isPlaying && /* @__PURE__ */ (0,
|
|
1978
|
-
isLoading && /* @__PURE__ */ (0,
|
|
1996
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { className: cn(className), children: [
|
|
1997
|
+
isMessageStreaming && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { className: "p-2 w-[24px] h-[24px]" }),
|
|
1998
|
+
!isMessageStreaming && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("div", { onClick: () => handleTextToSpeech(content), children: [
|
|
1999
|
+
isPlaying && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("button", { className: "p-2 items-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react8.AudioLinesIcon, { size: 20 }) }),
|
|
2000
|
+
isLoading && /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)("button", { className: "p-2 items-center justify-center", children: [
|
|
1979
2001
|
" ",
|
|
1980
|
-
/* @__PURE__ */ (0,
|
|
2002
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react8.LoaderPinwheelIcon, { size: 20, className: "circular-animation" })
|
|
1981
2003
|
] }),
|
|
1982
|
-
!isLoading && !isPlaying && /* @__PURE__ */ (0,
|
|
2004
|
+
!isLoading && !isPlaying && /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
|
|
1983
2005
|
"button",
|
|
1984
2006
|
{
|
|
1985
2007
|
disabled: isLoading,
|
|
1986
2008
|
className: "p-2 items-center justify-center",
|
|
1987
|
-
children: /* @__PURE__ */ (0,
|
|
2009
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_lucide_react8.PlayCircleIcon, { size: 20 })
|
|
1988
2010
|
}
|
|
1989
2011
|
)
|
|
1990
2012
|
] })
|
|
@@ -1993,7 +2015,7 @@ function Whisper({
|
|
|
1993
2015
|
|
|
1994
2016
|
// src/components/organisms/speechToText.tsx
|
|
1995
2017
|
var import_react8 = require("react");
|
|
1996
|
-
var
|
|
2018
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
1997
2019
|
function SpeechToText({
|
|
1998
2020
|
className,
|
|
1999
2021
|
speechToText,
|
|
@@ -2055,19 +2077,19 @@ function SpeechToText({
|
|
|
2055
2077
|
}
|
|
2056
2078
|
};
|
|
2057
2079
|
const recordIcons = isRecording ? RecordAudioIcon : IdleAudioIcon;
|
|
2058
|
-
return /* @__PURE__ */ (0,
|
|
2080
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { className: cn(className), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("button", { disabled: isLoading, type: "button", onClick: handleRecordButtonClick, children: recordIcons }) });
|
|
2059
2081
|
}
|
|
2060
2082
|
|
|
2061
2083
|
// src/components/organisms/assistant.tsx
|
|
2062
|
-
var
|
|
2084
|
+
var React34 = __toESM(require("react"));
|
|
2063
2085
|
var import_react12 = require("react");
|
|
2064
2086
|
|
|
2065
2087
|
// src/components/molecules/page-container.tsx
|
|
2066
2088
|
var import_react9 = require("react");
|
|
2067
|
-
var
|
|
2089
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
2068
2090
|
var PageContainer = (0, import_react9.forwardRef)(
|
|
2069
2091
|
({ className, ...props }, ref) => {
|
|
2070
|
-
return /* @__PURE__ */ (0,
|
|
2092
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
2071
2093
|
"div",
|
|
2072
2094
|
{
|
|
2073
2095
|
ref,
|
|
@@ -2080,11 +2102,11 @@ var PageContainer = (0, import_react9.forwardRef)(
|
|
|
2080
2102
|
PageContainer.displayName = "PageContainer";
|
|
2081
2103
|
|
|
2082
2104
|
// src/components/molecules/assistant-button.tsx
|
|
2083
|
-
var
|
|
2105
|
+
var React26 = __toESM(require("react"));
|
|
2084
2106
|
var import_react10 = require("react");
|
|
2085
|
-
var
|
|
2086
|
-
var AssistantSuggestions =
|
|
2087
|
-
return /* @__PURE__ */ (0,
|
|
2107
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
2108
|
+
var AssistantSuggestions = React26.forwardRef(({ suggestions, showSuggestions, className }, ref) => {
|
|
2109
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2088
2110
|
"div",
|
|
2089
2111
|
{
|
|
2090
2112
|
ref,
|
|
@@ -2094,7 +2116,7 @@ var AssistantSuggestions = React25.forwardRef(({ suggestions, showSuggestions, c
|
|
|
2094
2116
|
showSuggestions ? "opacity-100 translate-y-0" : "opacity-0 translate-y-4",
|
|
2095
2117
|
className
|
|
2096
2118
|
),
|
|
2097
|
-
children: /* @__PURE__ */ (0,
|
|
2119
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { className: "rounded-lg p-2 pr-0 w-64", children: suggestions.map((suggestion, index) => /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)(
|
|
2098
2120
|
"button",
|
|
2099
2121
|
{
|
|
2100
2122
|
onClick: () => suggestion.action?.(),
|
|
@@ -2110,8 +2132,8 @@ var AssistantSuggestions = React25.forwardRef(({ suggestions, showSuggestions, c
|
|
|
2110
2132
|
showSuggestions ? "opacity-100 translate-y-0" : "opacity-0 translate-y-4"
|
|
2111
2133
|
),
|
|
2112
2134
|
children: [
|
|
2113
|
-
/* @__PURE__ */ (0,
|
|
2114
|
-
/* @__PURE__ */ (0,
|
|
2135
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(suggestion.icon, { className: "w-5 h-5 text-primary" }),
|
|
2136
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)("span", { className: "text-xs whitespace-nowrap font-normal", children: suggestion.label })
|
|
2115
2137
|
]
|
|
2116
2138
|
},
|
|
2117
2139
|
index
|
|
@@ -2120,7 +2142,7 @@ var AssistantSuggestions = React25.forwardRef(({ suggestions, showSuggestions, c
|
|
|
2120
2142
|
);
|
|
2121
2143
|
});
|
|
2122
2144
|
AssistantSuggestions.displayName = "Suggestions";
|
|
2123
|
-
var AssistantButton =
|
|
2145
|
+
var AssistantButton = React26.forwardRef(
|
|
2124
2146
|
({
|
|
2125
2147
|
icon: Icon2,
|
|
2126
2148
|
clickAction,
|
|
@@ -2141,7 +2163,7 @@ var AssistantButton = React25.forwardRef(
|
|
|
2141
2163
|
setShowSuggestions(false);
|
|
2142
2164
|
setTimeout(() => setIsVisible(false), 300);
|
|
2143
2165
|
};
|
|
2144
|
-
return /* @__PURE__ */ (0,
|
|
2166
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2145
2167
|
"div",
|
|
2146
2168
|
{
|
|
2147
2169
|
ref,
|
|
@@ -2152,15 +2174,15 @@ var AssistantButton = React25.forwardRef(
|
|
|
2152
2174
|
),
|
|
2153
2175
|
onMouseEnter: handleMouseEnter,
|
|
2154
2176
|
onMouseLeave: handleMouseLeave,
|
|
2155
|
-
children: /* @__PURE__ */ (0,
|
|
2156
|
-
isVisible && suggestions.length > 0 && /* @__PURE__ */ (0,
|
|
2177
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsxs)("div", { className: "relative group", children: [
|
|
2178
|
+
isVisible && suggestions.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2157
2179
|
AssistantSuggestions,
|
|
2158
2180
|
{
|
|
2159
2181
|
suggestions,
|
|
2160
2182
|
showSuggestions
|
|
2161
2183
|
}
|
|
2162
2184
|
),
|
|
2163
|
-
/* @__PURE__ */ (0,
|
|
2185
|
+
/* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2164
2186
|
Button,
|
|
2165
2187
|
{
|
|
2166
2188
|
variant: "outline",
|
|
@@ -2174,7 +2196,7 @@ var AssistantButton = React25.forwardRef(
|
|
|
2174
2196
|
"alq--assistant-button"
|
|
2175
2197
|
),
|
|
2176
2198
|
onClick: clickAction,
|
|
2177
|
-
children: /* @__PURE__ */ (0,
|
|
2199
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
2178
2200
|
Icon2,
|
|
2179
2201
|
{
|
|
2180
2202
|
style: { width: "22px", height: "22px" },
|
|
@@ -2191,19 +2213,19 @@ var AssistantButton = React25.forwardRef(
|
|
|
2191
2213
|
AssistantButton.displayName = "AssistantButton";
|
|
2192
2214
|
|
|
2193
2215
|
// src/components/molecules/carousel.tsx
|
|
2194
|
-
var
|
|
2216
|
+
var React27 = __toESM(require("react"));
|
|
2195
2217
|
var import_embla_carousel_react = __toESM(require("embla-carousel-react"));
|
|
2196
2218
|
var import_lucide_react9 = require("lucide-react");
|
|
2197
|
-
var
|
|
2198
|
-
var CarouselContext =
|
|
2219
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
2220
|
+
var CarouselContext = React27.createContext(null);
|
|
2199
2221
|
function useCarousel() {
|
|
2200
|
-
const context =
|
|
2222
|
+
const context = React27.useContext(CarouselContext);
|
|
2201
2223
|
if (!context) {
|
|
2202
2224
|
throw new Error("useCarousel must be used within a <Carousel />");
|
|
2203
2225
|
}
|
|
2204
2226
|
return context;
|
|
2205
2227
|
}
|
|
2206
|
-
var Carousel =
|
|
2228
|
+
var Carousel = React27.forwardRef(
|
|
2207
2229
|
({
|
|
2208
2230
|
orientation = "horizontal",
|
|
2209
2231
|
opts,
|
|
@@ -2220,22 +2242,22 @@ var Carousel = React26.forwardRef(
|
|
|
2220
2242
|
},
|
|
2221
2243
|
plugins
|
|
2222
2244
|
);
|
|
2223
|
-
const [canScrollPrev, setCanScrollPrev] =
|
|
2224
|
-
const [canScrollNext, setCanScrollNext] =
|
|
2225
|
-
const onSelect =
|
|
2245
|
+
const [canScrollPrev, setCanScrollPrev] = React27.useState(false);
|
|
2246
|
+
const [canScrollNext, setCanScrollNext] = React27.useState(false);
|
|
2247
|
+
const onSelect = React27.useCallback((api2) => {
|
|
2226
2248
|
if (!api2) {
|
|
2227
2249
|
return;
|
|
2228
2250
|
}
|
|
2229
2251
|
setCanScrollPrev(api2.canScrollPrev());
|
|
2230
2252
|
setCanScrollNext(api2.canScrollNext());
|
|
2231
2253
|
}, []);
|
|
2232
|
-
const scrollPrev =
|
|
2254
|
+
const scrollPrev = React27.useCallback(() => {
|
|
2233
2255
|
api?.scrollPrev();
|
|
2234
2256
|
}, [api]);
|
|
2235
|
-
const scrollNext =
|
|
2257
|
+
const scrollNext = React27.useCallback(() => {
|
|
2236
2258
|
api?.scrollNext();
|
|
2237
2259
|
}, [api]);
|
|
2238
|
-
const handleKeyDown =
|
|
2260
|
+
const handleKeyDown = React27.useCallback(
|
|
2239
2261
|
(event) => {
|
|
2240
2262
|
if (event.key === "ArrowLeft") {
|
|
2241
2263
|
event.preventDefault();
|
|
@@ -2247,13 +2269,13 @@ var Carousel = React26.forwardRef(
|
|
|
2247
2269
|
},
|
|
2248
2270
|
[scrollPrev, scrollNext]
|
|
2249
2271
|
);
|
|
2250
|
-
|
|
2272
|
+
React27.useEffect(() => {
|
|
2251
2273
|
if (!api || !setApi) {
|
|
2252
2274
|
return;
|
|
2253
2275
|
}
|
|
2254
2276
|
setApi(api);
|
|
2255
2277
|
}, [api, setApi]);
|
|
2256
|
-
|
|
2278
|
+
React27.useEffect(() => {
|
|
2257
2279
|
if (!api) {
|
|
2258
2280
|
return;
|
|
2259
2281
|
}
|
|
@@ -2264,7 +2286,7 @@ var Carousel = React26.forwardRef(
|
|
|
2264
2286
|
api?.off("select", onSelect);
|
|
2265
2287
|
};
|
|
2266
2288
|
}, [api, onSelect]);
|
|
2267
|
-
return /* @__PURE__ */ (0,
|
|
2289
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2268
2290
|
CarouselContext.Provider,
|
|
2269
2291
|
{
|
|
2270
2292
|
value: {
|
|
@@ -2277,7 +2299,7 @@ var Carousel = React26.forwardRef(
|
|
|
2277
2299
|
canScrollPrev,
|
|
2278
2300
|
canScrollNext
|
|
2279
2301
|
},
|
|
2280
|
-
children: /* @__PURE__ */ (0,
|
|
2302
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2281
2303
|
"div",
|
|
2282
2304
|
{
|
|
2283
2305
|
ref,
|
|
@@ -2294,9 +2316,9 @@ var Carousel = React26.forwardRef(
|
|
|
2294
2316
|
}
|
|
2295
2317
|
);
|
|
2296
2318
|
Carousel.displayName = "Carousel";
|
|
2297
|
-
var CarouselContent =
|
|
2319
|
+
var CarouselContent = React27.forwardRef(({ className, ...props }, ref) => {
|
|
2298
2320
|
const { carouselRef, orientation } = useCarousel();
|
|
2299
|
-
return /* @__PURE__ */ (0,
|
|
2321
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { ref: carouselRef, className: "overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2300
2322
|
"div",
|
|
2301
2323
|
{
|
|
2302
2324
|
ref,
|
|
@@ -2310,9 +2332,9 @@ var CarouselContent = React26.forwardRef(({ className, ...props }, ref) => {
|
|
|
2310
2332
|
) });
|
|
2311
2333
|
});
|
|
2312
2334
|
CarouselContent.displayName = "CarouselContent";
|
|
2313
|
-
var CarouselItem =
|
|
2335
|
+
var CarouselItem = React27.forwardRef(({ className, ...props }, ref) => {
|
|
2314
2336
|
const { orientation } = useCarousel();
|
|
2315
|
-
return /* @__PURE__ */ (0,
|
|
2337
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
2316
2338
|
"div",
|
|
2317
2339
|
{
|
|
2318
2340
|
ref,
|
|
@@ -2328,9 +2350,9 @@ var CarouselItem = React26.forwardRef(({ className, ...props }, ref) => {
|
|
|
2328
2350
|
);
|
|
2329
2351
|
});
|
|
2330
2352
|
CarouselItem.displayName = "CarouselItem";
|
|
2331
|
-
var CarouselPrevious =
|
|
2353
|
+
var CarouselPrevious = React27.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
|
|
2332
2354
|
const { orientation, scrollPrev, canScrollPrev } = useCarousel();
|
|
2333
|
-
return /* @__PURE__ */ (0,
|
|
2355
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
2334
2356
|
Button,
|
|
2335
2357
|
{
|
|
2336
2358
|
ref,
|
|
@@ -2345,16 +2367,16 @@ var CarouselPrevious = React26.forwardRef(({ className, variant = "outline", siz
|
|
|
2345
2367
|
onClick: scrollPrev,
|
|
2346
2368
|
...props,
|
|
2347
2369
|
children: [
|
|
2348
|
-
/* @__PURE__ */ (0,
|
|
2349
|
-
/* @__PURE__ */ (0,
|
|
2370
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react9.ArrowLeft, { className: "h-4 w-4" }),
|
|
2371
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "sr-only", children: "Previous slide" })
|
|
2350
2372
|
]
|
|
2351
2373
|
}
|
|
2352
2374
|
);
|
|
2353
2375
|
});
|
|
2354
2376
|
CarouselPrevious.displayName = "CarouselPrevious";
|
|
2355
|
-
var CarouselNext =
|
|
2377
|
+
var CarouselNext = React27.forwardRef(({ className, variant = "outline", size = "icon", ...props }, ref) => {
|
|
2356
2378
|
const { orientation, scrollNext, canScrollNext } = useCarousel();
|
|
2357
|
-
return /* @__PURE__ */ (0,
|
|
2379
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(
|
|
2358
2380
|
Button,
|
|
2359
2381
|
{
|
|
2360
2382
|
ref,
|
|
@@ -2369,8 +2391,8 @@ var CarouselNext = React26.forwardRef(({ className, variant = "outline", size =
|
|
|
2369
2391
|
onClick: scrollNext,
|
|
2370
2392
|
...props,
|
|
2371
2393
|
children: [
|
|
2372
|
-
/* @__PURE__ */ (0,
|
|
2373
|
-
/* @__PURE__ */ (0,
|
|
2394
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react9.ArrowRight, { className: "h-4 w-4" }),
|
|
2395
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)("span", { className: "sr-only", children: "Next slide" })
|
|
2374
2396
|
]
|
|
2375
2397
|
}
|
|
2376
2398
|
);
|
|
@@ -2378,12 +2400,12 @@ var CarouselNext = React26.forwardRef(({ className, variant = "outline", size =
|
|
|
2378
2400
|
CarouselNext.displayName = "CarouselNext";
|
|
2379
2401
|
|
|
2380
2402
|
// src/components/molecules/navigation-menu.tsx
|
|
2381
|
-
var
|
|
2403
|
+
var React28 = __toESM(require("react"));
|
|
2382
2404
|
var NavigationMenuPrimitive = __toESM(require("@radix-ui/react-navigation-menu"));
|
|
2383
2405
|
var import_class_variance_authority9 = require("class-variance-authority");
|
|
2384
2406
|
var import_lucide_react10 = require("lucide-react");
|
|
2385
|
-
var
|
|
2386
|
-
var NavigationMenu =
|
|
2407
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
2408
|
+
var NavigationMenu = React28.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
2387
2409
|
NavigationMenuPrimitive.Root,
|
|
2388
2410
|
{
|
|
2389
2411
|
ref,
|
|
@@ -2394,12 +2416,12 @@ var NavigationMenu = React27.forwardRef(({ className, children, ...props }, ref)
|
|
|
2394
2416
|
...props,
|
|
2395
2417
|
children: [
|
|
2396
2418
|
children,
|
|
2397
|
-
/* @__PURE__ */ (0,
|
|
2419
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(NavigationMenuViewport, {})
|
|
2398
2420
|
]
|
|
2399
2421
|
}
|
|
2400
2422
|
));
|
|
2401
2423
|
NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
|
|
2402
|
-
var NavigationMenuList =
|
|
2424
|
+
var NavigationMenuList = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2403
2425
|
NavigationMenuPrimitive.List,
|
|
2404
2426
|
{
|
|
2405
2427
|
ref,
|
|
@@ -2415,7 +2437,7 @@ var NavigationMenuItem = NavigationMenuPrimitive.Item;
|
|
|
2415
2437
|
var navigationMenuTriggerStyle = (0, import_class_variance_authority9.cva)(
|
|
2416
2438
|
"group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"
|
|
2417
2439
|
);
|
|
2418
|
-
var NavigationMenuTrigger =
|
|
2440
|
+
var NavigationMenuTrigger = React28.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsxs)(
|
|
2419
2441
|
NavigationMenuPrimitive.Trigger,
|
|
2420
2442
|
{
|
|
2421
2443
|
ref,
|
|
@@ -2424,7 +2446,7 @@ var NavigationMenuTrigger = React27.forwardRef(({ className, children, ...props
|
|
|
2424
2446
|
children: [
|
|
2425
2447
|
children,
|
|
2426
2448
|
" ",
|
|
2427
|
-
/* @__PURE__ */ (0,
|
|
2449
|
+
/* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2428
2450
|
import_lucide_react10.ChevronDown,
|
|
2429
2451
|
{
|
|
2430
2452
|
className: "relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180",
|
|
@@ -2435,7 +2457,7 @@ var NavigationMenuTrigger = React27.forwardRef(({ className, children, ...props
|
|
|
2435
2457
|
}
|
|
2436
2458
|
));
|
|
2437
2459
|
NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
|
|
2438
|
-
var NavigationMenuContent =
|
|
2460
|
+
var NavigationMenuContent = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2439
2461
|
NavigationMenuPrimitive.Content,
|
|
2440
2462
|
{
|
|
2441
2463
|
ref,
|
|
@@ -2448,7 +2470,7 @@ var NavigationMenuContent = React27.forwardRef(({ className, ...props }, ref) =>
|
|
|
2448
2470
|
));
|
|
2449
2471
|
NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
|
|
2450
2472
|
var NavigationMenuLink = NavigationMenuPrimitive.Link;
|
|
2451
|
-
var NavigationMenuViewport =
|
|
2473
|
+
var NavigationMenuViewport = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2452
2474
|
NavigationMenuPrimitive.Viewport,
|
|
2453
2475
|
{
|
|
2454
2476
|
className: cn(
|
|
@@ -2460,7 +2482,7 @@ var NavigationMenuViewport = React27.forwardRef(({ className, ...props }, ref) =
|
|
|
2460
2482
|
}
|
|
2461
2483
|
) }));
|
|
2462
2484
|
NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
|
|
2463
|
-
var NavigationMenuIndicator =
|
|
2485
|
+
var NavigationMenuIndicator = React28.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
2464
2486
|
NavigationMenuPrimitive.Indicator,
|
|
2465
2487
|
{
|
|
2466
2488
|
ref,
|
|
@@ -2469,15 +2491,15 @@ var NavigationMenuIndicator = React27.forwardRef(({ className, ...props }, ref)
|
|
|
2469
2491
|
className
|
|
2470
2492
|
),
|
|
2471
2493
|
...props,
|
|
2472
|
-
children: /* @__PURE__ */ (0,
|
|
2494
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
|
|
2473
2495
|
}
|
|
2474
2496
|
));
|
|
2475
2497
|
NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
|
|
2476
2498
|
|
|
2477
2499
|
// src/components/molecules/sidebar.tsx
|
|
2478
|
-
var
|
|
2500
|
+
var React29 = __toESM(require("react"));
|
|
2479
2501
|
var import_class_variance_authority10 = require("class-variance-authority");
|
|
2480
|
-
var
|
|
2502
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
2481
2503
|
var sidebarVariants = (0, import_class_variance_authority10.cva)(
|
|
2482
2504
|
"flex flex-col border-r",
|
|
2483
2505
|
{
|
|
@@ -2493,7 +2515,7 @@ var sidebarVariants = (0, import_class_variance_authority10.cva)(
|
|
|
2493
2515
|
}
|
|
2494
2516
|
}
|
|
2495
2517
|
);
|
|
2496
|
-
var SidebarFooter =
|
|
2518
|
+
var SidebarFooter = React29.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
|
|
2497
2519
|
"div",
|
|
2498
2520
|
{
|
|
2499
2521
|
ref,
|
|
@@ -2503,7 +2525,7 @@ var SidebarFooter = React28.forwardRef(({ className, children, ...props }, ref)
|
|
|
2503
2525
|
}
|
|
2504
2526
|
));
|
|
2505
2527
|
SidebarFooter.displayName = "SidebarFooter";
|
|
2506
|
-
var Sidebar =
|
|
2528
|
+
var Sidebar = React29.forwardRef(
|
|
2507
2529
|
({
|
|
2508
2530
|
className,
|
|
2509
2531
|
items,
|
|
@@ -2516,8 +2538,8 @@ var Sidebar = React28.forwardRef(
|
|
|
2516
2538
|
buttonClassName,
|
|
2517
2539
|
...props
|
|
2518
2540
|
}, ref) => {
|
|
2519
|
-
return /* @__PURE__ */ (0,
|
|
2520
|
-
/* @__PURE__ */ (0,
|
|
2541
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: cn(className, "alq--navigation-sidebar h-full"), ref, ...props, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("aside", { className: cn(sidebarVariants({ size }), "h-full"), children: [
|
|
2542
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(ScrollArea, { className: "flex-grow justify-between", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "flex flex-col gap-2 p-4", children: items.map((item) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
2521
2543
|
Button,
|
|
2522
2544
|
{
|
|
2523
2545
|
variant: selectedSection?.name === item.name ? selectedVariant : defaultVariant,
|
|
@@ -2529,13 +2551,13 @@ var Sidebar = React28.forwardRef(
|
|
|
2529
2551
|
}
|
|
2530
2552
|
},
|
|
2531
2553
|
children: [
|
|
2532
|
-
item.icon && /* @__PURE__ */ (0,
|
|
2554
|
+
item.icon && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(item.icon, { className: "mr-2 h-4 w-4" }),
|
|
2533
2555
|
item.name
|
|
2534
2556
|
]
|
|
2535
2557
|
},
|
|
2536
2558
|
item.name
|
|
2537
2559
|
)) }) }),
|
|
2538
|
-
footerContent && /* @__PURE__ */ (0,
|
|
2560
|
+
footerContent && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(SidebarFooter, { children: footerContent })
|
|
2539
2561
|
] }) });
|
|
2540
2562
|
}
|
|
2541
2563
|
);
|
|
@@ -2543,10 +2565,10 @@ var Sidebar = React28.forwardRef(
|
|
|
2543
2565
|
// src/components/molecules/sonner.tsx
|
|
2544
2566
|
var import_next_themes = require("next-themes");
|
|
2545
2567
|
var import_sonner = require("sonner");
|
|
2546
|
-
var
|
|
2568
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
2547
2569
|
var Toaster2 = ({ ...props }) => {
|
|
2548
2570
|
const { theme = "system" } = (0, import_next_themes.useTheme)();
|
|
2549
|
-
return /* @__PURE__ */ (0,
|
|
2571
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
|
|
2550
2572
|
import_sonner.Toaster,
|
|
2551
2573
|
{
|
|
2552
2574
|
theme,
|
|
@@ -2565,14 +2587,14 @@ var Toaster2 = ({ ...props }) => {
|
|
|
2565
2587
|
};
|
|
2566
2588
|
|
|
2567
2589
|
// src/components/molecules/rating-stars.tsx
|
|
2568
|
-
var
|
|
2590
|
+
var React30 = __toESM(require("react"));
|
|
2569
2591
|
var TooltipPrimitive = __toESM(require("@radix-ui/react-tooltip"));
|
|
2570
2592
|
var import_lucide_react11 = require("lucide-react");
|
|
2571
|
-
var
|
|
2593
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
2572
2594
|
var TooltipProvider = TooltipPrimitive.Provider;
|
|
2573
2595
|
var Tooltip = TooltipPrimitive.Root;
|
|
2574
2596
|
var TooltipTrigger = TooltipPrimitive.Trigger;
|
|
2575
|
-
var TooltipContent =
|
|
2597
|
+
var TooltipContent = React30.forwardRef(({ className, sideOffset = 4, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2576
2598
|
TooltipPrimitive.Content,
|
|
2577
2599
|
{
|
|
2578
2600
|
ref,
|
|
@@ -2585,14 +2607,14 @@ var TooltipContent = React29.forwardRef(({ className, sideOffset = 4, ...props }
|
|
|
2585
2607
|
}
|
|
2586
2608
|
));
|
|
2587
2609
|
TooltipContent.displayName = TooltipPrimitive.Content.displayName;
|
|
2588
|
-
var StarRating =
|
|
2610
|
+
var StarRating = React30.forwardRef(({ rating, onRate }, ref) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { ref, className: "flex", children: [1, 2, 3, 4, 5].map((star) => /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2589
2611
|
Button,
|
|
2590
2612
|
{
|
|
2591
2613
|
onClick: () => onRate(star),
|
|
2592
2614
|
variant: "link",
|
|
2593
2615
|
className: "p-1 transition-colors [&_svg]:size-5 h-5",
|
|
2594
2616
|
"aria-label": `Rate ${star} star${star !== 1 ? "s" : ""}`,
|
|
2595
|
-
children: /* @__PURE__ */ (0,
|
|
2617
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2596
2618
|
import_lucide_react11.Star,
|
|
2597
2619
|
{
|
|
2598
2620
|
className: cn(
|
|
@@ -2605,19 +2627,19 @@ var StarRating = React29.forwardRef(({ rating, onRate }, ref) => /* @__PURE__ */
|
|
|
2605
2627
|
star
|
|
2606
2628
|
)) }));
|
|
2607
2629
|
StarRating.displayName = "StarRating";
|
|
2608
|
-
var RatingStars =
|
|
2630
|
+
var RatingStars = React30.forwardRef(({
|
|
2609
2631
|
currentRating = 0,
|
|
2610
2632
|
onRate,
|
|
2611
2633
|
className,
|
|
2612
2634
|
isLoading
|
|
2613
2635
|
}, ref) => {
|
|
2614
|
-
const [open, setOpen] =
|
|
2615
|
-
const [animate, setAnimate] =
|
|
2636
|
+
const [open, setOpen] = React30.useState(false);
|
|
2637
|
+
const [animate, setAnimate] = React30.useState(false);
|
|
2616
2638
|
const handleRate = (rating) => {
|
|
2617
2639
|
onRate(rating);
|
|
2618
2640
|
setOpen(false);
|
|
2619
2641
|
};
|
|
2620
|
-
|
|
2642
|
+
React30.useEffect(() => {
|
|
2621
2643
|
if (currentRating > 0) {
|
|
2622
2644
|
setAnimate(true);
|
|
2623
2645
|
const timer = setTimeout(() => setAnimate(false), 150);
|
|
@@ -2625,8 +2647,8 @@ var RatingStars = React29.forwardRef(({
|
|
|
2625
2647
|
}
|
|
2626
2648
|
}, [currentRating]);
|
|
2627
2649
|
const hasRated = currentRating > 0;
|
|
2628
|
-
return /* @__PURE__ */ (0,
|
|
2629
|
-
/* @__PURE__ */ (0,
|
|
2650
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(TooltipProvider, { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsxs)(Tooltip, { open, onOpenChange: setOpen, children: [
|
|
2651
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2630
2652
|
Button,
|
|
2631
2653
|
{
|
|
2632
2654
|
ref,
|
|
@@ -2637,7 +2659,7 @@ var RatingStars = React29.forwardRef(({
|
|
|
2637
2659
|
),
|
|
2638
2660
|
disabled: isLoading,
|
|
2639
2661
|
onClick: () => setOpen(!open),
|
|
2640
|
-
children: /* @__PURE__ */ (0,
|
|
2662
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2641
2663
|
import_lucide_react11.Star,
|
|
2642
2664
|
{
|
|
2643
2665
|
className: cn(
|
|
@@ -2650,7 +2672,7 @@ var RatingStars = React29.forwardRef(({
|
|
|
2650
2672
|
)
|
|
2651
2673
|
}
|
|
2652
2674
|
) }),
|
|
2653
|
-
/* @__PURE__ */ (0,
|
|
2675
|
+
/* @__PURE__ */ (0, import_jsx_runtime44.jsx)(TooltipContent, { side: "top", align: "center", className: "p-0", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { className: "p-2 bg-background", children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
2654
2676
|
StarRating,
|
|
2655
2677
|
{
|
|
2656
2678
|
rating: currentRating,
|
|
@@ -2662,10 +2684,10 @@ var RatingStars = React29.forwardRef(({
|
|
|
2662
2684
|
RatingStars.displayName = "RatingStars";
|
|
2663
2685
|
|
|
2664
2686
|
// src/components/molecules/rating-thumbs.tsx
|
|
2665
|
-
var
|
|
2687
|
+
var React31 = __toESM(require("react"));
|
|
2666
2688
|
var import_lucide_react12 = require("lucide-react");
|
|
2667
|
-
var
|
|
2668
|
-
var RatingThumbs =
|
|
2689
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
2690
|
+
var RatingThumbs = React31.forwardRef(
|
|
2669
2691
|
({
|
|
2670
2692
|
currentRating,
|
|
2671
2693
|
onRate,
|
|
@@ -2673,15 +2695,15 @@ var RatingThumbs = React30.forwardRef(
|
|
|
2673
2695
|
className,
|
|
2674
2696
|
isLoading
|
|
2675
2697
|
}, ref) => {
|
|
2676
|
-
const [animate, setAnimate] =
|
|
2677
|
-
|
|
2698
|
+
const [animate, setAnimate] = React31.useState(false);
|
|
2699
|
+
React31.useEffect(() => {
|
|
2678
2700
|
if (currentRating) {
|
|
2679
2701
|
setAnimate(true);
|
|
2680
2702
|
const timer = setTimeout(() => setAnimate(false), 150);
|
|
2681
2703
|
return () => clearTimeout(timer);
|
|
2682
2704
|
}
|
|
2683
2705
|
}, [currentRating]);
|
|
2684
|
-
return /* @__PURE__ */ (0,
|
|
2706
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)(
|
|
2685
2707
|
"div",
|
|
2686
2708
|
{
|
|
2687
2709
|
ref,
|
|
@@ -2692,7 +2714,7 @@ var RatingThumbs = React30.forwardRef(
|
|
|
2692
2714
|
className
|
|
2693
2715
|
),
|
|
2694
2716
|
children: [
|
|
2695
|
-
/* @__PURE__ */ (0,
|
|
2717
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
2696
2718
|
Button,
|
|
2697
2719
|
{
|
|
2698
2720
|
variant: "link",
|
|
@@ -2703,7 +2725,7 @@ var RatingThumbs = React30.forwardRef(
|
|
|
2703
2725
|
),
|
|
2704
2726
|
"aria-label": "Thumbs up",
|
|
2705
2727
|
disabled: isLoading,
|
|
2706
|
-
children: /* @__PURE__ */ (0,
|
|
2728
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
2707
2729
|
import_lucide_react12.ThumbsUp,
|
|
2708
2730
|
{
|
|
2709
2731
|
className: cn(
|
|
@@ -2716,7 +2738,7 @@ var RatingThumbs = React30.forwardRef(
|
|
|
2716
2738
|
)
|
|
2717
2739
|
}
|
|
2718
2740
|
),
|
|
2719
|
-
/* @__PURE__ */ (0,
|
|
2741
|
+
/* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
2720
2742
|
Button,
|
|
2721
2743
|
{
|
|
2722
2744
|
variant: "link",
|
|
@@ -2727,7 +2749,7 @@ var RatingThumbs = React30.forwardRef(
|
|
|
2727
2749
|
),
|
|
2728
2750
|
"aria-label": "Thumbs down",
|
|
2729
2751
|
disabled: isLoading,
|
|
2730
|
-
children: /* @__PURE__ */ (0,
|
|
2752
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
2731
2753
|
import_lucide_react12.ThumbsDown,
|
|
2732
2754
|
{
|
|
2733
2755
|
className: cn(
|
|
@@ -2748,30 +2770,30 @@ var RatingThumbs = React30.forwardRef(
|
|
|
2748
2770
|
RatingThumbs.displayName = "RatingThumbs";
|
|
2749
2771
|
|
|
2750
2772
|
// src/components/molecules/rating-comment.tsx
|
|
2751
|
-
var
|
|
2773
|
+
var React32 = __toESM(require("react"));
|
|
2752
2774
|
var import_lucide_react13 = require("lucide-react");
|
|
2753
|
-
var
|
|
2754
|
-
var RatingComment =
|
|
2775
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
2776
|
+
var RatingComment = React32.forwardRef(
|
|
2755
2777
|
({ currentRating, onRate, className, isLoading }, ref) => {
|
|
2756
|
-
const [open, setOpen] =
|
|
2757
|
-
const [comment, setComment] =
|
|
2758
|
-
const [animate, setAnimate] =
|
|
2778
|
+
const [open, setOpen] = React32.useState(false);
|
|
2779
|
+
const [comment, setComment] = React32.useState("");
|
|
2780
|
+
const [animate, setAnimate] = React32.useState(false);
|
|
2759
2781
|
const handleRate = () => {
|
|
2760
2782
|
onRate(comment);
|
|
2761
2783
|
setOpen(false);
|
|
2762
2784
|
};
|
|
2763
|
-
|
|
2785
|
+
React32.useEffect(() => {
|
|
2764
2786
|
if (currentRating) {
|
|
2765
2787
|
setAnimate(true);
|
|
2766
2788
|
const timer = setTimeout(() => setAnimate(false), 150);
|
|
2767
2789
|
return () => clearTimeout(timer);
|
|
2768
2790
|
}
|
|
2769
2791
|
}, [currentRating]);
|
|
2770
|
-
|
|
2792
|
+
React32.useEffect(() => {
|
|
2771
2793
|
setComment("");
|
|
2772
2794
|
}, [open]);
|
|
2773
|
-
return /* @__PURE__ */ (0,
|
|
2774
|
-
/* @__PURE__ */ (0,
|
|
2795
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(Dialog, { open, onOpenChange: setOpen, children: [
|
|
2796
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(DialogTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2775
2797
|
Button,
|
|
2776
2798
|
{
|
|
2777
2799
|
ref,
|
|
@@ -2782,7 +2804,7 @@ var RatingComment = React31.forwardRef(
|
|
|
2782
2804
|
className
|
|
2783
2805
|
),
|
|
2784
2806
|
disabled: isLoading,
|
|
2785
|
-
children: /* @__PURE__ */ (0,
|
|
2807
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2786
2808
|
import_lucide_react13.Book,
|
|
2787
2809
|
{
|
|
2788
2810
|
className: cn(
|
|
@@ -2795,10 +2817,10 @@ var RatingComment = React31.forwardRef(
|
|
|
2795
2817
|
)
|
|
2796
2818
|
}
|
|
2797
2819
|
) }),
|
|
2798
|
-
/* @__PURE__ */ (0,
|
|
2799
|
-
/* @__PURE__ */ (0,
|
|
2800
|
-
/* @__PURE__ */ (0,
|
|
2801
|
-
/* @__PURE__ */ (0,
|
|
2820
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(DialogOverlay, { className: "fixed inset-0 bg-black bg-opacity-50" }),
|
|
2821
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(DialogContent, { "aria-describedby": void 0, children: [
|
|
2822
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(DialogTitle, { className: "text-lg font-medium", children: "Deja un comentario" }),
|
|
2823
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2802
2824
|
"textarea",
|
|
2803
2825
|
{
|
|
2804
2826
|
className: "mt-4 w-full p-2 border rounded-md focus:outline-none focus:ring-2 focus:ring-primary",
|
|
@@ -2807,7 +2829,7 @@ var RatingComment = React31.forwardRef(
|
|
|
2807
2829
|
onChange: (e) => setComment(e.target.value)
|
|
2808
2830
|
}
|
|
2809
2831
|
),
|
|
2810
|
-
/* @__PURE__ */ (0,
|
|
2832
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { className: "mt-4 flex justify-end", children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
2811
2833
|
Button,
|
|
2812
2834
|
{
|
|
2813
2835
|
onClick: handleRate,
|
|
@@ -2822,59 +2844,68 @@ var RatingComment = React31.forwardRef(
|
|
|
2822
2844
|
RatingComment.displayName = "RatingComment";
|
|
2823
2845
|
|
|
2824
2846
|
// src/components/molecules/call-out.tsx
|
|
2825
|
-
var
|
|
2847
|
+
var React33 = __toESM(require("react"));
|
|
2826
2848
|
|
|
2827
2849
|
// src/components/hooks/use-text-streaming.ts
|
|
2828
2850
|
var import_react11 = require("react");
|
|
2829
2851
|
var CHAR_DELAY = 25;
|
|
2830
|
-
var PUNCTUATION_DELAY =
|
|
2831
|
-
var PUNCTUATION_MARKS = [".", "!", "?", ";", ":"];
|
|
2852
|
+
var PUNCTUATION_DELAY = 400;
|
|
2832
2853
|
function useTextStreaming(content, shouldStream, handleIsTextStreaming) {
|
|
2833
|
-
const [
|
|
2834
|
-
const
|
|
2854
|
+
const [displayedText, setDisplayedText] = (0, import_react11.useState)("");
|
|
2855
|
+
const contentRef = (0, import_react11.useRef)(content);
|
|
2856
|
+
const indexRef = (0, import_react11.useRef)(0);
|
|
2857
|
+
const timerRef = (0, import_react11.useRef)(null);
|
|
2835
2858
|
const hasStartedStreaming = (0, import_react11.useRef)(false);
|
|
2836
|
-
const getDelayForChar = (text, position) => {
|
|
2837
|
-
if (position === 0) return CHAR_DELAY;
|
|
2838
|
-
const previousChar = text[position - 1] || "";
|
|
2839
|
-
const isEllipsis = text.slice(position - 1, position + 2) === "...";
|
|
2840
|
-
if (isEllipsis) {
|
|
2841
|
-
return CHAR_DELAY;
|
|
2842
|
-
}
|
|
2843
|
-
return PUNCTUATION_MARKS.includes(previousChar) ? PUNCTUATION_DELAY : CHAR_DELAY;
|
|
2844
|
-
};
|
|
2845
2859
|
(0, import_react11.useEffect)(() => {
|
|
2846
|
-
|
|
2847
|
-
|
|
2848
|
-
|
|
2849
|
-
return;
|
|
2860
|
+
contentRef.current = content;
|
|
2861
|
+
if (hasStartedStreaming.current && !timerRef.current && indexRef.current < contentRef.current.length) {
|
|
2862
|
+
typeNext();
|
|
2850
2863
|
}
|
|
2851
|
-
|
|
2852
|
-
|
|
2853
|
-
if (
|
|
2854
|
-
const
|
|
2855
|
-
|
|
2856
|
-
|
|
2864
|
+
}, [content]);
|
|
2865
|
+
const typeNext = (0, import_react11.useCallback)(() => {
|
|
2866
|
+
if (indexRef.current < contentRef.current.length) {
|
|
2867
|
+
const nextChar = contentRef.current.charAt(indexRef.current);
|
|
2868
|
+
setDisplayedText((prev) => prev + nextChar);
|
|
2869
|
+
indexRef.current++;
|
|
2870
|
+
const delay = /[.!?;:]/.test(nextChar) ? PUNCTUATION_DELAY : CHAR_DELAY;
|
|
2871
|
+
timerRef.current = setTimeout(() => {
|
|
2872
|
+
timerRef.current = null;
|
|
2873
|
+
typeNext();
|
|
2857
2874
|
}, delay);
|
|
2858
2875
|
} else {
|
|
2859
2876
|
handleIsTextStreaming?.(false);
|
|
2860
2877
|
}
|
|
2878
|
+
}, []);
|
|
2879
|
+
(0, import_react11.useEffect)(() => {
|
|
2880
|
+
if (!shouldStream && !hasStartedStreaming.current) {
|
|
2881
|
+
setDisplayedText(contentRef.current);
|
|
2882
|
+
indexRef.current = contentRef.current.length;
|
|
2883
|
+
if (timerRef.current) {
|
|
2884
|
+
clearTimeout(timerRef.current);
|
|
2885
|
+
timerRef.current = null;
|
|
2886
|
+
}
|
|
2887
|
+
handleIsTextStreaming?.(false);
|
|
2888
|
+
} else {
|
|
2889
|
+
if (indexRef.current < contentRef.current.length && !timerRef.current) {
|
|
2890
|
+
handleIsTextStreaming?.(true);
|
|
2891
|
+
hasStartedStreaming.current = true;
|
|
2892
|
+
typeNext();
|
|
2893
|
+
}
|
|
2894
|
+
}
|
|
2861
2895
|
return () => {
|
|
2862
|
-
if (
|
|
2896
|
+
if (timerRef.current) {
|
|
2897
|
+
clearTimeout(timerRef.current);
|
|
2898
|
+
timerRef.current = null;
|
|
2899
|
+
}
|
|
2863
2900
|
};
|
|
2864
|
-
}, [
|
|
2865
|
-
|
|
2866
|
-
displayedContent,
|
|
2867
|
-
shouldStream,
|
|
2868
|
-
getDelayForChar,
|
|
2869
|
-
handleIsTextStreaming
|
|
2870
|
-
]);
|
|
2871
|
-
return displayedContent;
|
|
2901
|
+
}, [shouldStream, typeNext]);
|
|
2902
|
+
return displayedText;
|
|
2872
2903
|
}
|
|
2873
2904
|
|
|
2874
2905
|
// src/components/molecules/call-out.tsx
|
|
2875
|
-
var
|
|
2876
|
-
var CallOut =
|
|
2877
|
-
return /* @__PURE__ */ (0,
|
|
2906
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
2907
|
+
var CallOut = React33.forwardRef(({ className, children, role, ...props }, ref) => {
|
|
2908
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2878
2909
|
"div",
|
|
2879
2910
|
{
|
|
2880
2911
|
ref,
|
|
@@ -2885,8 +2916,8 @@ var CallOut = React32.forwardRef(({ className, children, role, ...props }, ref)
|
|
|
2885
2916
|
}
|
|
2886
2917
|
);
|
|
2887
2918
|
});
|
|
2888
|
-
var CallOutDate =
|
|
2889
|
-
return /* @__PURE__ */ (0,
|
|
2919
|
+
var CallOutDate = React33.forwardRef(({ className, children, ...props }, ref) => {
|
|
2920
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2890
2921
|
"div",
|
|
2891
2922
|
{
|
|
2892
2923
|
ref,
|
|
@@ -2900,13 +2931,13 @@ var CallOutDate = React32.forwardRef(({ className, children, ...props }, ref) =>
|
|
|
2900
2931
|
}
|
|
2901
2932
|
);
|
|
2902
2933
|
});
|
|
2903
|
-
var CallOutActions =
|
|
2904
|
-
const [isLoading, setIsLoading] =
|
|
2905
|
-
const [isClicked, setIsClicked] =
|
|
2934
|
+
var CallOutActions = React33.forwardRef(({ className, actions, role, message, ...props }, ref) => {
|
|
2935
|
+
const [isLoading, setIsLoading] = React33.useState(false);
|
|
2936
|
+
const [isClicked, setIsClicked] = React33.useState(false);
|
|
2906
2937
|
if (role === "user") {
|
|
2907
2938
|
return null;
|
|
2908
2939
|
}
|
|
2909
|
-
return /* @__PURE__ */ (0,
|
|
2940
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { ref, className: cn("alq--callout-actions", className), ...props, children: actions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
2910
2941
|
"button",
|
|
2911
2942
|
{
|
|
2912
2943
|
className: cn(
|
|
@@ -2928,7 +2959,7 @@ var CallOutActions = React32.forwardRef(({ className, actions, role, message, ..
|
|
|
2928
2959
|
});
|
|
2929
2960
|
},
|
|
2930
2961
|
children: [
|
|
2931
|
-
/* @__PURE__ */ (0,
|
|
2962
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2932
2963
|
"span",
|
|
2933
2964
|
{
|
|
2934
2965
|
className: cn("alq-action-icon-wrapper", {
|
|
@@ -2937,18 +2968,18 @@ var CallOutActions = React32.forwardRef(({ className, actions, role, message, ..
|
|
|
2937
2968
|
children: action.icon
|
|
2938
2969
|
}
|
|
2939
2970
|
),
|
|
2940
|
-
/* @__PURE__ */ (0,
|
|
2971
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)("label", { children: action.label })
|
|
2941
2972
|
]
|
|
2942
2973
|
},
|
|
2943
2974
|
action.label
|
|
2944
2975
|
)) });
|
|
2945
2976
|
});
|
|
2946
|
-
var CallOutResponse =
|
|
2977
|
+
var CallOutResponse = React33.forwardRef(
|
|
2947
2978
|
({ className, children, role, additionalInfo, isStreaming, handleIsTextStreaming, ...props }, ref) => {
|
|
2948
2979
|
const content = String(children || "");
|
|
2949
2980
|
const shouldStream = role === "assistant" && isStreaming;
|
|
2950
2981
|
const displayedContent = useTextStreaming(content, shouldStream ?? false, handleIsTextStreaming);
|
|
2951
|
-
return /* @__PURE__ */ (0,
|
|
2982
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsxs)(
|
|
2952
2983
|
"div",
|
|
2953
2984
|
{
|
|
2954
2985
|
ref,
|
|
@@ -2961,8 +2992,8 @@ var CallOutResponse = React32.forwardRef(
|
|
|
2961
2992
|
),
|
|
2962
2993
|
...props,
|
|
2963
2994
|
children: [
|
|
2964
|
-
/* @__PURE__ */ (0,
|
|
2965
|
-
additionalInfo && /* @__PURE__ */ (0,
|
|
2995
|
+
/* @__PURE__ */ (0, import_jsx_runtime47.jsx)(RichText, { content: displayedContent }),
|
|
2996
|
+
additionalInfo && /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
2966
2997
|
"div",
|
|
2967
2998
|
{
|
|
2968
2999
|
className: cn(
|
|
@@ -2985,19 +3016,19 @@ CallOutResponse.displayName = "CallOutResponse";
|
|
|
2985
3016
|
|
|
2986
3017
|
// src/components/organisms/assistant.tsx
|
|
2987
3018
|
var import_lucide_react14 = require("lucide-react");
|
|
2988
|
-
var
|
|
2989
|
-
var Assistant =
|
|
3019
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
3020
|
+
var Assistant = React34.forwardRef(
|
|
2990
3021
|
({ className, sdk, title, description, children, ...props }, ref) => {
|
|
2991
|
-
return /* @__PURE__ */ (0,
|
|
3022
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
2992
3023
|
"div",
|
|
2993
3024
|
{
|
|
2994
3025
|
ref,
|
|
2995
3026
|
className: cn("flex flex-col h-full bg-background text-foreground", className),
|
|
2996
3027
|
...props,
|
|
2997
3028
|
children: [
|
|
2998
|
-
(title || description) && /* @__PURE__ */ (0,
|
|
2999
|
-
title && /* @__PURE__ */ (0,
|
|
3000
|
-
description && /* @__PURE__ */ (0,
|
|
3029
|
+
(title || description) && /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(AssistantHeader, { children: [
|
|
3030
|
+
title && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AssistantTitle, { title }),
|
|
3031
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(AssistantDescription, { description })
|
|
3001
3032
|
] }),
|
|
3002
3033
|
children
|
|
3003
3034
|
]
|
|
@@ -3006,14 +3037,14 @@ var Assistant = React33.forwardRef(
|
|
|
3006
3037
|
}
|
|
3007
3038
|
);
|
|
3008
3039
|
Assistant.displayName = "Assistant";
|
|
3009
|
-
var AssistantTitle =
|
|
3010
|
-
({ className, title, ...props }, ref) => /* @__PURE__ */ (0,
|
|
3040
|
+
var AssistantTitle = React34.forwardRef(
|
|
3041
|
+
({ className, title, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { ref, className: cn("text-foreground", className), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Typography, { typeStyle: "heading1", as: "h1", children: title }) })
|
|
3011
3042
|
);
|
|
3012
3043
|
AssistantTitle.displayName = "AssistantTitle";
|
|
3013
|
-
var AssistantDescription =
|
|
3044
|
+
var AssistantDescription = React34.forwardRef(({ className, description, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { ref, className: cn("text-foreground", className), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(Typography, { typeStyle: "display", as: "p", children: description }) }));
|
|
3014
3045
|
AssistantDescription.displayName = "AssistantDescription";
|
|
3015
|
-
var AssistantHeader =
|
|
3016
|
-
({ className, children, ...props }, ref) => /* @__PURE__ */ (0,
|
|
3046
|
+
var AssistantHeader = React34.forwardRef(
|
|
3047
|
+
({ className, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3017
3048
|
"div",
|
|
3018
3049
|
{
|
|
3019
3050
|
ref,
|
|
@@ -3024,7 +3055,7 @@ var AssistantHeader = React33.forwardRef(
|
|
|
3024
3055
|
)
|
|
3025
3056
|
);
|
|
3026
3057
|
AssistantHeader.displayName = "AssistantHeader";
|
|
3027
|
-
var AssistantMessageArea =
|
|
3058
|
+
var AssistantMessageArea = React34.forwardRef(
|
|
3028
3059
|
({
|
|
3029
3060
|
className,
|
|
3030
3061
|
messages,
|
|
@@ -3033,25 +3064,26 @@ var AssistantMessageArea = React33.forwardRef(
|
|
|
3033
3064
|
streamingMessageId,
|
|
3034
3065
|
thinkIndicator,
|
|
3035
3066
|
handleIsTextStreaming,
|
|
3067
|
+
toolFactory,
|
|
3036
3068
|
...props
|
|
3037
3069
|
}, ref) => {
|
|
3038
3070
|
(0, import_react12.useEffect)(() => {
|
|
3039
3071
|
messagesEndRef.current?.scrollIntoView({ behavior: "instant" });
|
|
3040
3072
|
}, []);
|
|
3041
|
-
return /* @__PURE__ */ (0,
|
|
3073
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
3042
3074
|
"div",
|
|
3043
3075
|
{
|
|
3044
3076
|
ref,
|
|
3045
3077
|
className: cn("p-6 overflow-y-auto flex-grow bg-background", className),
|
|
3046
3078
|
...props,
|
|
3047
3079
|
children: [
|
|
3048
|
-
messages.map((message) => /* @__PURE__ */ (0,
|
|
3080
|
+
messages.map((message) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
3049
3081
|
CallOut,
|
|
3050
3082
|
{
|
|
3051
3083
|
role: message.role,
|
|
3052
3084
|
message,
|
|
3053
3085
|
children: [
|
|
3054
|
-
message.created_at && /* @__PURE__ */ (0,
|
|
3086
|
+
message.created_at && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "text-xs text-muted-foreground/80 pb-1", children: new Date(Number(message.created_at)).toLocaleString("es-ES", {
|
|
3055
3087
|
day: "2-digit",
|
|
3056
3088
|
month: "2-digit",
|
|
3057
3089
|
year: "numeric",
|
|
@@ -3060,8 +3092,8 @@ var AssistantMessageArea = React33.forwardRef(
|
|
|
3060
3092
|
second: "2-digit",
|
|
3061
3093
|
hour12: false
|
|
3062
3094
|
}) }),
|
|
3063
|
-
message.loading && /* @__PURE__ */ (0,
|
|
3064
|
-
message.error_code && /* @__PURE__ */ (0,
|
|
3095
|
+
message.loading && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { children: thinkIndicator ?? /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(ThinkIndicator, {}) }),
|
|
3096
|
+
message.error_code && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3065
3097
|
CallOutResponse,
|
|
3066
3098
|
{
|
|
3067
3099
|
role: "assistant",
|
|
@@ -3069,7 +3101,8 @@ var AssistantMessageArea = React33.forwardRef(
|
|
|
3069
3101
|
children: "We have an internal error, please try again later."
|
|
3070
3102
|
}
|
|
3071
3103
|
),
|
|
3072
|
-
message.
|
|
3104
|
+
message.tooler && message.tooler?.tool_output && !message.error_code && toolFactory?.createTool(message.tooler?.tool_summary?.name, message.tooler?.tool_output?.result),
|
|
3105
|
+
message.content && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3073
3106
|
CallOutResponse,
|
|
3074
3107
|
{
|
|
3075
3108
|
role: message.role,
|
|
@@ -3079,7 +3112,7 @@ var AssistantMessageArea = React33.forwardRef(
|
|
|
3079
3112
|
children: message.content
|
|
3080
3113
|
}
|
|
3081
3114
|
),
|
|
3082
|
-
actions && streamingMessageId !== message.id && /* @__PURE__ */ (0,
|
|
3115
|
+
actions && streamingMessageId !== message.id && /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3083
3116
|
CallOutActions,
|
|
3084
3117
|
{
|
|
3085
3118
|
actions,
|
|
@@ -3092,14 +3125,14 @@ var AssistantMessageArea = React33.forwardRef(
|
|
|
3092
3125
|
},
|
|
3093
3126
|
message.id
|
|
3094
3127
|
) }, message.id)),
|
|
3095
|
-
/* @__PURE__ */ (0,
|
|
3128
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { ref: messagesEndRef })
|
|
3096
3129
|
]
|
|
3097
3130
|
}
|
|
3098
3131
|
);
|
|
3099
3132
|
}
|
|
3100
3133
|
);
|
|
3101
3134
|
AssistantMessageArea.displayName = "AssistantMessageArea";
|
|
3102
|
-
var AssistantInput =
|
|
3135
|
+
var AssistantInput = React34.forwardRef(
|
|
3103
3136
|
({
|
|
3104
3137
|
className,
|
|
3105
3138
|
sendMessageFunc,
|
|
@@ -3109,7 +3142,7 @@ var AssistantInput = React33.forwardRef(
|
|
|
3109
3142
|
isMessageStreaming,
|
|
3110
3143
|
...props
|
|
3111
3144
|
}, ref) => {
|
|
3112
|
-
return /* @__PURE__ */ (0,
|
|
3145
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
3113
3146
|
"form",
|
|
3114
3147
|
{
|
|
3115
3148
|
onSubmit: sendMessageFunc,
|
|
@@ -3117,7 +3150,7 @@ var AssistantInput = React33.forwardRef(
|
|
|
3117
3150
|
ref,
|
|
3118
3151
|
...props,
|
|
3119
3152
|
children: [
|
|
3120
|
-
/* @__PURE__ */ (0,
|
|
3153
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3121
3154
|
"input",
|
|
3122
3155
|
{
|
|
3123
3156
|
type: "text",
|
|
@@ -3134,7 +3167,7 @@ var AssistantInput = React33.forwardRef(
|
|
|
3134
3167
|
)
|
|
3135
3168
|
}
|
|
3136
3169
|
),
|
|
3137
|
-
/* @__PURE__ */ (0,
|
|
3170
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
3138
3171
|
"button",
|
|
3139
3172
|
{
|
|
3140
3173
|
type: "submit",
|
|
@@ -3143,7 +3176,7 @@ var AssistantInput = React33.forwardRef(
|
|
|
3143
3176
|
"w-10 h-10 rounded-full flex items-center justify-center alq--assistant-button-send",
|
|
3144
3177
|
isButtonDisabled ? "bg-muted text-muted-foreground" : "bg-primary text-primary-foreground hover:bg-primary/90"
|
|
3145
3178
|
),
|
|
3146
|
-
children: /* @__PURE__ */ (0,
|
|
3179
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_lucide_react14.Send, { className: "w-5 h-5" })
|
|
3147
3180
|
}
|
|
3148
3181
|
)
|
|
3149
3182
|
]
|
|
@@ -3194,7 +3227,7 @@ var useDocumentReader = (url, getDocument) => {
|
|
|
3194
3227
|
var import_react14 = require("react");
|
|
3195
3228
|
|
|
3196
3229
|
// src/components/organisms/rating-dialog.tsx
|
|
3197
|
-
var
|
|
3230
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
3198
3231
|
function RatingDialog({
|
|
3199
3232
|
sendRating,
|
|
3200
3233
|
topicId,
|
|
@@ -3210,20 +3243,20 @@ function RatingDialog({
|
|
|
3210
3243
|
success ? setHasRatedTopic(true) : toast2({
|
|
3211
3244
|
title: "Error",
|
|
3212
3245
|
description: `Hubo un error al enviar la calificaci\xF3n`,
|
|
3213
|
-
action: /* @__PURE__ */ (0,
|
|
3246
|
+
action: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(ToastAction, { altText: "Goto schedule to undo", children: "Cerrar" })
|
|
3214
3247
|
});
|
|
3215
3248
|
};
|
|
3216
3249
|
const handleCancelRate = () => {
|
|
3217
3250
|
setHasRatedTopic(true);
|
|
3218
3251
|
onOpenChange(false);
|
|
3219
3252
|
};
|
|
3220
|
-
return /* @__PURE__ */ (0,
|
|
3221
|
-
/* @__PURE__ */ (0,
|
|
3222
|
-
/* @__PURE__ */ (0,
|
|
3223
|
-
/* @__PURE__ */ (0,
|
|
3253
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Dialog, { open: isOpen, onOpenChange, children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DialogContent, { className: "sm:max-w-md", children: [
|
|
3254
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)(DialogHeader, { children: [
|
|
3255
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DialogTitle, { children: "Calific\xE1 esta conversaci\xF3n" }),
|
|
3256
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(DialogDescription, { children: "Por favor, compart\xED tu opini\xF3n sobre el asistente." })
|
|
3224
3257
|
] }),
|
|
3225
|
-
/* @__PURE__ */ (0,
|
|
3226
|
-
/* @__PURE__ */ (0,
|
|
3258
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex flex-row justify-center gap-4 py-4", children: [
|
|
3259
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3227
3260
|
RatingStars,
|
|
3228
3261
|
{
|
|
3229
3262
|
currentRating: ratingStars,
|
|
@@ -3232,7 +3265,7 @@ function RatingDialog({
|
|
|
3232
3265
|
className: "p-2 rounded"
|
|
3233
3266
|
}
|
|
3234
3267
|
),
|
|
3235
|
-
/* @__PURE__ */ (0,
|
|
3268
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3236
3269
|
RatingThumbs,
|
|
3237
3270
|
{
|
|
3238
3271
|
currentRating: ratingComment,
|
|
@@ -3241,7 +3274,7 @@ function RatingDialog({
|
|
|
3241
3274
|
isLoading
|
|
3242
3275
|
}
|
|
3243
3276
|
),
|
|
3244
|
-
/* @__PURE__ */ (0,
|
|
3277
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
3245
3278
|
RatingComment,
|
|
3246
3279
|
{
|
|
3247
3280
|
currentRating: ratingComment,
|
|
@@ -3250,7 +3283,7 @@ function RatingDialog({
|
|
|
3250
3283
|
}
|
|
3251
3284
|
)
|
|
3252
3285
|
] }),
|
|
3253
|
-
/* @__PURE__ */ (0,
|
|
3286
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "flex flex-row justify-center gap-4", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Button, { onClick: handleCancelRate, variant: "secondary", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(Typography, { as: "p", typeStyle: "tiny", children: "No, gracias." }) }) })
|
|
3254
3287
|
] }) });
|
|
3255
3288
|
}
|
|
3256
3289
|
|