@super_studio/ecforce-ai-agent-react 0.6.0-canary.5 → 1.0.0-canary.7
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/_virtual/_@oxc-project_runtime@0.103.0/helpers/defineProperty.mjs +14 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/extends.mjs +13 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/objectDestructuringEmpty.mjs +7 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/objectSpread2.mjs +27 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/objectWithoutProperties.mjs +15 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/objectWithoutPropertiesLoose.mjs +13 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/toPrimitive.mjs +16 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/toPropertyKey.mjs +11 -0
- package/dist/_virtual/_@oxc-project_runtime@0.103.0/helpers/typeof.mjs +12 -0
- package/dist/components/chatbot-frame.d.mts +53 -0
- package/dist/components/chatbot-frame.d.mts.map +1 -0
- package/dist/components/chatbot-frame.mjs +99 -0
- package/dist/components/chatbot-frame.mjs.map +1 -0
- package/dist/components/chatbot-sheet.d.mts +15 -0
- package/dist/components/chatbot-sheet.d.mts.map +1 -0
- package/dist/components/chatbot-sheet.mjs +40 -0
- package/dist/components/chatbot-sheet.mjs.map +1 -0
- package/dist/components/lottie-ai-icon.mjs +60 -0
- package/dist/components/lottie-ai-icon.mjs.map +1 -0
- package/dist/components/provider/chatbot-provider.d.mts +48 -0
- package/dist/components/provider/chatbot-provider.d.mts.map +1 -0
- package/dist/components/provider/chatbot-provider.mjs +46 -0
- package/dist/components/provider/chatbot-provider.mjs.map +1 -0
- package/dist/components/provider/use-chatbot-frame-handler.d.mts +17 -0
- package/dist/components/provider/use-chatbot-frame-handler.d.mts.map +1 -0
- package/dist/components/provider/use-chatbot-frame-handler.mjs +93 -0
- package/dist/components/provider/use-chatbot-frame-handler.mjs.map +1 -0
- package/dist/components/provider/use-chatbot-window-states.mjs +27 -0
- package/dist/components/provider/use-chatbot-window-states.mjs.map +1 -0
- package/dist/components/sheet.d.mts +18 -0
- package/dist/components/sheet.d.mts.map +1 -0
- package/dist/components/sheet.mjs +117 -0
- package/dist/components/sheet.mjs.map +1 -0
- package/dist/components/tooltip.d.mts +38 -0
- package/dist/components/tooltip.d.mts.map +1 -0
- package/dist/components/tooltip.mjs +36 -0
- package/dist/components/tooltip.mjs.map +1 -0
- package/dist/index.d.mts +6 -0
- package/dist/index.mjs +6 -618
- package/dist/lib/constants.mjs +6 -0
- package/dist/lib/constants.mjs.map +1 -0
- package/package.json +16 -25
- package/src/components/chatbot-frame.tsx +2 -0
- package/src/components/chatbot-sheet.tsx +2 -0
- package/src/components/lottie-ai-icon.tsx +2 -0
- package/src/components/provider/chatbot-provider.tsx +2 -0
- package/src/components/provider/use-chatbot-frame-handler.tsx +2 -0
- package/src/components/provider/use-chatbot-window-states.tsx +2 -0
- package/src/components/sheet.tsx +2 -0
- package/src/components/tooltip.tsx +2 -0
- package/src/styles/chatbot-sheet.css +1 -1
- package/dist/components/chatbot-frame.d.ts +0 -39
- package/dist/components/chatbot-frame.d.ts.map +0 -1
- package/dist/components/chatbot-sheet.d.ts +0 -8
- package/dist/components/chatbot-sheet.d.ts.map +0 -1
- package/dist/components/lottie-ai-icon.d.ts +0 -13
- package/dist/components/lottie-ai-icon.d.ts.map +0 -1
- package/dist/components/provider/chatbot-provider.d.ts +0 -42
- package/dist/components/provider/chatbot-provider.d.ts.map +0 -1
- package/dist/components/provider/use-chatbot-frame-handler.d.ts +0 -57
- package/dist/components/provider/use-chatbot-frame-handler.d.ts.map +0 -1
- package/dist/components/provider/use-chatbot-window-states.d.ts +0 -11
- package/dist/components/provider/use-chatbot-window-states.d.ts.map +0 -1
- package/dist/components/sheet.d.ts +0 -12
- package/dist/components/sheet.d.ts.map +0 -1
- package/dist/components/tooltip.d.ts +0 -20
- package/dist/components/tooltip.d.ts.map +0 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -619
- package/dist/lib/constants.d.ts +0 -2
- package/dist/lib/constants.d.ts.map +0 -1
- package/dist/styles/chatbot-sheet.css +0 -122
- package/dist/styles/preset.css +0 -18
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { _objectSpread2 } from "../../_virtual/_@oxc-project_runtime@0.103.0/helpers/objectSpread2.mjs";
|
|
4
|
+
import React from "react";
|
|
5
|
+
|
|
6
|
+
//#region src/components/provider/use-chatbot-frame-handler.tsx
|
|
7
|
+
function useChatbotFrameHandler({ setOpen, setIsExpanded, setIsFullScreen }) {
|
|
8
|
+
const [iframeEl, setIframeEl] = React.useState(null);
|
|
9
|
+
const [isReady, setIsReady] = React.useState(false);
|
|
10
|
+
const [isInitialized, setIsInitialized] = React.useState(false);
|
|
11
|
+
const postMessage = React.useCallback((message) => {
|
|
12
|
+
if (iframeEl === null || iframeEl === void 0 ? void 0 : iframeEl.contentWindow) {
|
|
13
|
+
if (process.env.NODE_ENV === "development") console.log("sending message to iframe", message);
|
|
14
|
+
iframeEl.contentWindow.postMessage(message, "*");
|
|
15
|
+
}
|
|
16
|
+
}, [iframeEl]);
|
|
17
|
+
const init = React.useCallback((props) => {
|
|
18
|
+
postMessage(_objectSpread2({ type: "init" }, props));
|
|
19
|
+
}, [postMessage]);
|
|
20
|
+
const setMcps = React.useCallback((mcps) => {
|
|
21
|
+
postMessage({
|
|
22
|
+
type: "mcps",
|
|
23
|
+
mcps
|
|
24
|
+
});
|
|
25
|
+
}, [postMessage]);
|
|
26
|
+
const setAppName = React.useCallback((appName) => {
|
|
27
|
+
postMessage({
|
|
28
|
+
type: "appName",
|
|
29
|
+
appName
|
|
30
|
+
});
|
|
31
|
+
}, [postMessage]);
|
|
32
|
+
const setSessionToken = React.useCallback((sessionToken) => {
|
|
33
|
+
postMessage({
|
|
34
|
+
type: "sessionToken",
|
|
35
|
+
sessionToken
|
|
36
|
+
});
|
|
37
|
+
}, [postMessage]);
|
|
38
|
+
React.useEffect(() => {
|
|
39
|
+
const iframe = iframeEl;
|
|
40
|
+
if (!iframe) return;
|
|
41
|
+
const handleMessage = (event) => {
|
|
42
|
+
var _event$data;
|
|
43
|
+
if (process.env.NODE_ENV === "development") console.log("iframe message", event.data);
|
|
44
|
+
switch ((_event$data = event.data) === null || _event$data === void 0 ? void 0 : _event$data.type) {
|
|
45
|
+
case "CHATBOT_READY":
|
|
46
|
+
setIsReady(true);
|
|
47
|
+
break;
|
|
48
|
+
case "CHATBOT_INITIALIZED":
|
|
49
|
+
setIsInitialized(true);
|
|
50
|
+
break;
|
|
51
|
+
case "CLOSE_CHATBOT":
|
|
52
|
+
setOpen(false);
|
|
53
|
+
break;
|
|
54
|
+
case "EXPAND_CHATBOT":
|
|
55
|
+
setIsExpanded(true);
|
|
56
|
+
break;
|
|
57
|
+
case "SHRINK_CHATBOT":
|
|
58
|
+
setIsExpanded(false);
|
|
59
|
+
break;
|
|
60
|
+
case "FULLSCREEN_CHATBOT":
|
|
61
|
+
setIsFullScreen(true);
|
|
62
|
+
break;
|
|
63
|
+
case "EXIT_FULLSCREEN_CHATBOT":
|
|
64
|
+
setIsFullScreen(false);
|
|
65
|
+
break;
|
|
66
|
+
case "RELOAD_CHATBOT":
|
|
67
|
+
iframe.src = iframe.src;
|
|
68
|
+
break;
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
const handleIframeLoad = () => {
|
|
72
|
+
window.addEventListener("message", handleMessage);
|
|
73
|
+
};
|
|
74
|
+
iframe.addEventListener("load", handleIframeLoad);
|
|
75
|
+
return () => {
|
|
76
|
+
window.removeEventListener("message", handleMessage);
|
|
77
|
+
iframe.removeEventListener("load", handleIframeLoad);
|
|
78
|
+
};
|
|
79
|
+
}, [iframeEl]);
|
|
80
|
+
return {
|
|
81
|
+
init,
|
|
82
|
+
setMcps,
|
|
83
|
+
setAppName,
|
|
84
|
+
setSessionToken,
|
|
85
|
+
setIframeEl,
|
|
86
|
+
isReady,
|
|
87
|
+
isInitialized
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
//#endregion
|
|
92
|
+
export { useChatbotFrameHandler };
|
|
93
|
+
//# sourceMappingURL=use-chatbot-frame-handler.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-chatbot-frame-handler.mjs","names":[],"sources":["../../../src/components/provider/use-chatbot-frame-handler.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\n\nexport type IframeMessage =\n | { type: \"CHATBOT_READY\" }\n | { type: \"CHATBOT_INITIALIZED\" }\n | { type: \"CLOSE_CHATBOT\" }\n | { type: \"EXPAND_CHATBOT\" }\n | { type: \"SHRINK_CHATBOT\" }\n | { type: \"FULLSCREEN_CHATBOT\" }\n | { type: \"EXIT_FULLSCREEN_CHATBOT\" }\n | { type: \"RELOAD_CHATBOT\" };\n\nexport type MCP = {\n name: string;\n url: string;\n headers?: Record<string, string>;\n};\n\nexport type InitProps = {\n mcps?: MCP[];\n appName?: string;\n sessionToken?: string;\n};\n\nexport type ParentMessage =\n | {\n type: \"mcps\";\n mcps: MCP[];\n }\n | {\n type: \"appName\";\n appName: string;\n }\n | {\n type: \"sessionToken\";\n sessionToken: string;\n }\n | {\n type: \"init\";\n mcps?: MCP[];\n appName?: string;\n sessionToken?: string;\n };\n\nexport function useChatbotFrameHandler({\n setOpen,\n setIsExpanded,\n setIsFullScreen,\n}: {\n setOpen: (open: boolean) => void;\n setIsExpanded: (expanded: boolean) => void;\n setIsFullScreen: (fullScreen: boolean) => void;\n}) {\n const [iframeEl, setIframeEl] = React.useState<HTMLIFrameElement | null>(\n null,\n );\n const [isReady, setIsReady] = React.useState(false);\n const [isInitialized, setIsInitialized] = React.useState(false);\n\n // helper to post message to the iframe\n const postMessage = React.useCallback(\n (message: ParentMessage) => {\n if (iframeEl?.contentWindow) {\n if (process.env.NODE_ENV === \"development\") {\n console.log(\"sending message to iframe\", message);\n }\n iframeEl.contentWindow.postMessage(message, \"*\");\n }\n },\n [iframeEl],\n );\n\n const init = React.useCallback(\n (props: InitProps) => {\n postMessage({\n type: \"init\",\n ...props,\n });\n },\n [postMessage],\n );\n\n const setMcps = React.useCallback(\n (mcps: MCP[]) => {\n postMessage({ type: \"mcps\", mcps });\n },\n [postMessage],\n );\n\n const setAppName = React.useCallback(\n (appName: string) => {\n postMessage({ type: \"appName\", appName });\n },\n [postMessage],\n );\n\n const setSessionToken = React.useCallback(\n (sessionToken: string) => {\n postMessage({ type: \"sessionToken\", sessionToken });\n },\n [postMessage],\n );\n\n // Initialize and setup listeners\n React.useEffect(() => {\n const iframe = iframeEl;\n if (!iframe) {\n return;\n }\n\n const handleMessage = (event: MessageEvent<IframeMessage>) => {\n if (process.env.NODE_ENV === \"development\") {\n console.log(\"iframe message\", event.data);\n }\n // Handle iframe messages\n switch (event.data?.type) {\n case \"CHATBOT_READY\":\n setIsReady(true);\n break;\n case \"CHATBOT_INITIALIZED\":\n setIsInitialized(true);\n break;\n case \"CLOSE_CHATBOT\":\n setOpen(false);\n break;\n case \"EXPAND_CHATBOT\":\n setIsExpanded(true);\n break;\n case \"SHRINK_CHATBOT\":\n setIsExpanded(false);\n break;\n case \"FULLSCREEN_CHATBOT\":\n setIsFullScreen(true);\n break;\n case \"EXIT_FULLSCREEN_CHATBOT\":\n setIsFullScreen(false);\n break;\n case \"RELOAD_CHATBOT\":\n // reload iframe\n iframe.src = iframe.src;\n break;\n }\n };\n\n const handleIframeLoad = () => {\n window.addEventListener(\"message\", handleMessage);\n };\n\n iframe.addEventListener(\"load\", handleIframeLoad);\n\n return () => {\n window.removeEventListener(\"message\", handleMessage);\n iframe.removeEventListener(\"load\", handleIframeLoad);\n };\n }, [iframeEl]); // Run when iframe gets mounted\n\n return {\n init,\n setMcps,\n setAppName,\n setSessionToken,\n setIframeEl,\n isReady,\n isInitialized,\n };\n}\n"],"mappings":";;;;;;AA8CA,SAAgB,uBAAuB,EACrC,SACA,eACA,mBAKC;CACD,MAAM,CAAC,UAAU,eAAe,MAAM,SACpC,KACD;CACD,MAAM,CAAC,SAAS,cAAc,MAAM,SAAS,MAAM;CACnD,MAAM,CAAC,eAAe,oBAAoB,MAAM,SAAS,MAAM;CAG/D,MAAM,cAAc,MAAM,aACvB,YAA2B;AAC1B,0DAAI,SAAU,eAAe;AAC3B,OAAI,QAAQ,IAAI,aAAa,cAC3B,SAAQ,IAAI,6BAA6B,QAAQ;AAEnD,YAAS,cAAc,YAAY,SAAS,IAAI;;IAGpD,CAAC,SAAS,CACX;CAED,MAAM,OAAO,MAAM,aAChB,UAAqB;AACpB,+BACE,MAAM,UACH,OACH;IAEJ,CAAC,YAAY,CACd;CAED,MAAM,UAAU,MAAM,aACnB,SAAgB;AACf,cAAY;GAAE,MAAM;GAAQ;GAAM,CAAC;IAErC,CAAC,YAAY,CACd;CAED,MAAM,aAAa,MAAM,aACtB,YAAoB;AACnB,cAAY;GAAE,MAAM;GAAW;GAAS,CAAC;IAE3C,CAAC,YAAY,CACd;CAED,MAAM,kBAAkB,MAAM,aAC3B,iBAAyB;AACxB,cAAY;GAAE,MAAM;GAAgB;GAAc,CAAC;IAErD,CAAC,YAAY,CACd;AAGD,OAAM,gBAAgB;EACpB,MAAM,SAAS;AACf,MAAI,CAAC,OACH;EAGF,MAAM,iBAAiB,UAAuC;;AAC5D,OAAI,QAAQ,IAAI,aAAa,cAC3B,SAAQ,IAAI,kBAAkB,MAAM,KAAK;AAG3C,0BAAQ,MAAM,gEAAM,MAApB;IACE,KAAK;AACH,gBAAW,KAAK;AAChB;IACF,KAAK;AACH,sBAAiB,KAAK;AACtB;IACF,KAAK;AACH,aAAQ,MAAM;AACd;IACF,KAAK;AACH,mBAAc,KAAK;AACnB;IACF,KAAK;AACH,mBAAc,MAAM;AACpB;IACF,KAAK;AACH,qBAAgB,KAAK;AACrB;IACF,KAAK;AACH,qBAAgB,MAAM;AACtB;IACF,KAAK;AAEH,YAAO,MAAM,OAAO;AACpB;;;EAIN,MAAM,yBAAyB;AAC7B,UAAO,iBAAiB,WAAW,cAAc;;AAGnD,SAAO,iBAAiB,QAAQ,iBAAiB;AAEjD,eAAa;AACX,UAAO,oBAAoB,WAAW,cAAc;AACpD,UAAO,oBAAoB,QAAQ,iBAAiB;;IAErD,CAAC,SAAS,CAAC;AAEd,QAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import React from "react";
|
|
4
|
+
|
|
5
|
+
//#region src/components/provider/use-chatbot-window-states.tsx
|
|
6
|
+
function useChatbotWindowStates() {
|
|
7
|
+
const [hasOpened, setHasOpened] = React.useState(false);
|
|
8
|
+
const [open, setOpen] = React.useState(false);
|
|
9
|
+
const [isExpanded, setIsExpanded] = React.useState(false);
|
|
10
|
+
const [isFullScreen, setIsFullScreen] = React.useState(false);
|
|
11
|
+
React.useEffect(() => {
|
|
12
|
+
if (open) setHasOpened(true);
|
|
13
|
+
}, [open]);
|
|
14
|
+
return {
|
|
15
|
+
hasOpened,
|
|
16
|
+
open,
|
|
17
|
+
isExpanded,
|
|
18
|
+
isFullScreen,
|
|
19
|
+
setOpen,
|
|
20
|
+
setIsExpanded,
|
|
21
|
+
setIsFullScreen
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
//#endregion
|
|
26
|
+
export { useChatbotWindowStates };
|
|
27
|
+
//# sourceMappingURL=use-chatbot-window-states.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-chatbot-window-states.mjs","names":[],"sources":["../../../src/components/provider/use-chatbot-window-states.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\n\nexport function useChatbotWindowStates() {\n const [hasOpened, setHasOpened] = React.useState(false);\n const [open, setOpen] = React.useState(false);\n const [isExpanded, setIsExpanded] = React.useState(false);\n const [isFullScreen, setIsFullScreen] = React.useState(false);\n\n React.useEffect(() => {\n if (open) {\n setHasOpened(true);\n }\n }, [open]);\n\n return {\n hasOpened,\n open,\n isExpanded,\n isFullScreen,\n setOpen,\n setIsExpanded,\n setIsFullScreen,\n };\n}\n"],"mappings":";;;;;AAIA,SAAgB,yBAAyB;CACvC,MAAM,CAAC,WAAW,gBAAgB,MAAM,SAAS,MAAM;CACvD,MAAM,CAAC,MAAM,WAAW,MAAM,SAAS,MAAM;CAC7C,MAAM,CAAC,YAAY,iBAAiB,MAAM,SAAS,MAAM;CACzD,MAAM,CAAC,cAAc,mBAAmB,MAAM,SAAS,MAAM;AAE7D,OAAM,gBAAgB;AACpB,MAAI,KACF,cAAa,KAAK;IAEnB,CAAC,KAAK,CAAC;AAEV,QAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACD"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as React$1 from "react";
|
|
2
|
+
import * as react_jsx_runtime1 from "react/jsx-runtime";
|
|
3
|
+
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
4
|
+
|
|
5
|
+
//#region src/components/sheet.d.ts
|
|
6
|
+
declare function Sheet({
|
|
7
|
+
...props
|
|
8
|
+
}: React$1.ComponentProps<typeof SheetPrimitive.Root>): react_jsx_runtime1.JSX.Element;
|
|
9
|
+
declare const SheetTrigger: React$1.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogTriggerProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
declare const SheetClose: React$1.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogCloseProps & React$1.RefAttributes<HTMLButtonElement>, "ref"> & React$1.RefAttributes<HTMLButtonElement>>;
|
|
11
|
+
declare const SheetContent: React$1.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogContentProps & React$1.RefAttributes<HTMLDivElement>, "ref"> & React$1.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
declare const SheetHeader: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
|
|
13
|
+
declare const SheetFooter: React$1.ForwardRefExoticComponent<React$1.HTMLAttributes<HTMLDivElement> & React$1.RefAttributes<HTMLDivElement>>;
|
|
14
|
+
declare const SheetTitle: React$1.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogTitleProps & React$1.RefAttributes<HTMLHeadingElement>, "ref"> & React$1.RefAttributes<HTMLHeadingElement>>;
|
|
15
|
+
declare const SheetDescription: React$1.ForwardRefExoticComponent<Omit<SheetPrimitive.DialogDescriptionProps & React$1.RefAttributes<HTMLParagraphElement>, "ref"> & React$1.RefAttributes<HTMLParagraphElement>>;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger };
|
|
18
|
+
//# sourceMappingURL=sheet.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheet.d.mts","names":[],"sources":["../../src/components/sheet.tsx"],"sourcesContent":[],"mappings":";;;;;iBAMS,KAAA;;GAAoB,OAAA,CAAM,sBAAsB,cAAA,CAAe,QAAK,kBAAA,CAAA,GAAA,CAAA;cAavE,cAAY,OAAA,CAAA,0BAAA,KAAA,cAAA,CAAA,qBAAA,OAAA,CAAA,cAAA,6BAAA,OAAA,CAAA,cAAA;cAaZ,YAAU,OAAA,CAAA,0BAAA,KAAA,cAAA,CAAA,mBAAA,OAAA,CAAA,cAAA,6BAAA,OAAA,CAAA,cAAA;AA7Be,cAgDzB,YA7CQ,EA6CI,OAAA,CAAA,yBA7CJ,CA6CI,IA7CJ,CA6CI,cAAA,CAAA,kBA7CJ,GA6CI,OAAA,CAAA,aA7CJ,CA6CI,cA7CJ,CAAA,EAAA,KAAA,CAAA,GA6CI,OAAA,CAAA,aA7CJ,CA6CI,cA7CJ,CAAA,CAAA;cAyFR,WAzFkE,EAyFvD,OAAA,CAAA,yBAzFuD,CAyFvD,OAAA,CAAA,cAzFuD,CAyFvD,cAzFuD,CAAA,GAyFvD,OAAA,CAAA,aAzFuD,CAyFvD,cAzFuD,CAAA,CAAA;cAsGlE,WAtG6B,EAsGlB,OAAA,CAAA,yBAtGkB,CAsGlB,OAAA,CAAA,cAtGkB,CAsGlB,cAtGkB,CAAA,GAsGlB,OAAA,CAAA,aAtGkB,CAsGlB,cAtGkB,CAAA,CAAA;cAmH7B,UAnHuE,EAmH7D,OAAA,CAAA,yBAnH6D,CAmH7D,IAnH6D,CAmH7D,cAAA,CAAA,gBAnH6D,GAmH7D,OAAA,CAAA,aAnH6D,CAmH7D,kBAnH6D,CAAA,EAAA,KAAA,CAAA,GAmH7D,OAAA,CAAA,aAnH6D,CAmH7D,kBAnH6D,CAAA,CAAA;cAgIvE,gBAhIuE,EAgIvD,OAAA,CAAA,yBAhIuD,CAgIvD,IAhIuD,CAgIvD,cAAA,CAAA,sBAhIuD,GAgIvD,OAAA,CAAA,aAhIuD,CAgIvD,oBAhIuD,CAAA,EAAA,KAAA,CAAA,GAgIvD,OAAA,CAAA,aAhIuD,CAgIvD,oBAhIuD,CAAA,CAAA"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { _objectSpread2 } from "../_virtual/_@oxc-project_runtime@0.103.0/helpers/objectSpread2.mjs";
|
|
4
|
+
import { useChatbot } from "./provider/chatbot-provider.mjs";
|
|
5
|
+
import { _objectDestructuringEmpty } from "../_virtual/_@oxc-project_runtime@0.103.0/helpers/objectDestructuringEmpty.mjs";
|
|
6
|
+
import { _extends } from "../_virtual/_@oxc-project_runtime@0.103.0/helpers/extends.mjs";
|
|
7
|
+
import { _objectWithoutProperties } from "../_virtual/_@oxc-project_runtime@0.103.0/helpers/objectWithoutProperties.mjs";
|
|
8
|
+
import * as React$1 from "react";
|
|
9
|
+
import { jsx } from "react/jsx-runtime";
|
|
10
|
+
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
11
|
+
|
|
12
|
+
//#region src/components/sheet.tsx
|
|
13
|
+
const _excluded = ["className"], _excluded2 = ["className"], _excluded3 = [
|
|
14
|
+
"className",
|
|
15
|
+
"children",
|
|
16
|
+
"style"
|
|
17
|
+
], _excluded4 = ["className"], _excluded5 = ["className"], _excluded6 = ["className"], _excluded7 = ["className"];
|
|
18
|
+
function Sheet(_ref) {
|
|
19
|
+
let props = _extends({}, (_objectDestructuringEmpty(_ref), _ref));
|
|
20
|
+
const { open, setOpen } = useChatbot();
|
|
21
|
+
return /* @__PURE__ */ jsx(SheetPrimitive.Root, _objectSpread2({
|
|
22
|
+
"data-slot": "sheet",
|
|
23
|
+
modal: false,
|
|
24
|
+
open,
|
|
25
|
+
onOpenChange: setOpen
|
|
26
|
+
}, props));
|
|
27
|
+
}
|
|
28
|
+
const SheetTrigger = React$1.forwardRef((_ref2, ref) => {
|
|
29
|
+
let { className } = _ref2, props = _objectWithoutProperties(_ref2, _excluded);
|
|
30
|
+
return /* @__PURE__ */ jsx(SheetPrimitive.Trigger, _objectSpread2({
|
|
31
|
+
ref,
|
|
32
|
+
"data-slot": "sheet-trigger",
|
|
33
|
+
className: `chatbot-trigger ${className || ""}`
|
|
34
|
+
}, props));
|
|
35
|
+
});
|
|
36
|
+
SheetTrigger.displayName = SheetPrimitive.Trigger.displayName;
|
|
37
|
+
const SheetClose = React$1.forwardRef((_ref3, ref) => {
|
|
38
|
+
let { className } = _ref3, props = _objectWithoutProperties(_ref3, _excluded2);
|
|
39
|
+
return /* @__PURE__ */ jsx(SheetPrimitive.Close, _objectSpread2({
|
|
40
|
+
ref,
|
|
41
|
+
"data-slot": "sheet-close",
|
|
42
|
+
className: `chatbot-sheet-close ${className || ""}`
|
|
43
|
+
}, props));
|
|
44
|
+
});
|
|
45
|
+
SheetClose.displayName = SheetPrimitive.Close.displayName;
|
|
46
|
+
function SheetPortal(_ref4) {
|
|
47
|
+
let props = _extends({}, (_objectDestructuringEmpty(_ref4), _ref4));
|
|
48
|
+
return /* @__PURE__ */ jsx(SheetPrimitive.Portal, _objectSpread2({ "data-slot": "sheet-portal" }, props));
|
|
49
|
+
}
|
|
50
|
+
const SheetContent = React$1.forwardRef((_ref5, ref) => {
|
|
51
|
+
let { className, children, style } = _ref5, props = _objectWithoutProperties(_ref5, _excluded3);
|
|
52
|
+
const { isExpanded, isFullScreen, open, hasOpened } = useChatbot();
|
|
53
|
+
const width = isFullScreen ? "100%" : isExpanded ? "848px" : "400px";
|
|
54
|
+
const translateX = open ? "0" : "100%";
|
|
55
|
+
const contentStyle = _objectSpread2({
|
|
56
|
+
"--sheet-width": width,
|
|
57
|
+
transform: `translateX(${translateX})`
|
|
58
|
+
}, style);
|
|
59
|
+
const classNames = [
|
|
60
|
+
"chatbot-sheet-content",
|
|
61
|
+
isExpanded && !isFullScreen ? "chatbot-sheet-expanded" : "",
|
|
62
|
+
isFullScreen ? "chatbot-sheet-fullscreen" : "",
|
|
63
|
+
className || ""
|
|
64
|
+
].filter(Boolean).join(" ");
|
|
65
|
+
return /* @__PURE__ */ jsx(SheetPortal, {
|
|
66
|
+
forceMount: hasOpened || void 0,
|
|
67
|
+
children: /* @__PURE__ */ jsx(SheetPrimitive.Content, _objectSpread2(_objectSpread2({
|
|
68
|
+
ref,
|
|
69
|
+
"data-slot": "sheet-content",
|
|
70
|
+
forceMount: hasOpened || void 0,
|
|
71
|
+
onInteractOutside: (e) => e.preventDefault(),
|
|
72
|
+
className: classNames,
|
|
73
|
+
style: contentStyle
|
|
74
|
+
}, props), {}, { children }))
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
SheetContent.displayName = SheetPrimitive.Content.displayName;
|
|
78
|
+
const SheetHeader = React$1.forwardRef((_ref6, ref) => {
|
|
79
|
+
let { className } = _ref6, props = _objectWithoutProperties(_ref6, _excluded4);
|
|
80
|
+
return /* @__PURE__ */ jsx("div", _objectSpread2({
|
|
81
|
+
ref,
|
|
82
|
+
"data-slot": "sheet-header",
|
|
83
|
+
className: `chatbot-sheet-header ${className || ""}`
|
|
84
|
+
}, props));
|
|
85
|
+
});
|
|
86
|
+
SheetHeader.displayName = "SheetHeader";
|
|
87
|
+
const SheetFooter = React$1.forwardRef((_ref7, ref) => {
|
|
88
|
+
let { className } = _ref7, props = _objectWithoutProperties(_ref7, _excluded5);
|
|
89
|
+
return /* @__PURE__ */ jsx("div", _objectSpread2({
|
|
90
|
+
ref,
|
|
91
|
+
"data-slot": "sheet-footer",
|
|
92
|
+
className: `chatbot-sheet-footer ${className || ""}`
|
|
93
|
+
}, props));
|
|
94
|
+
});
|
|
95
|
+
SheetFooter.displayName = "SheetFooter";
|
|
96
|
+
const SheetTitle = React$1.forwardRef((_ref8, ref) => {
|
|
97
|
+
let { className } = _ref8, props = _objectWithoutProperties(_ref8, _excluded6);
|
|
98
|
+
return /* @__PURE__ */ jsx(SheetPrimitive.Title, _objectSpread2({
|
|
99
|
+
ref,
|
|
100
|
+
"data-slot": "sheet-title",
|
|
101
|
+
className: `chatbot-sheet-title ${className || ""}`
|
|
102
|
+
}, props));
|
|
103
|
+
});
|
|
104
|
+
SheetTitle.displayName = SheetPrimitive.Title.displayName;
|
|
105
|
+
const SheetDescription = React$1.forwardRef((_ref9, ref) => {
|
|
106
|
+
let { className } = _ref9, props = _objectWithoutProperties(_ref9, _excluded7);
|
|
107
|
+
return /* @__PURE__ */ jsx(SheetPrimitive.Description, _objectSpread2({
|
|
108
|
+
ref,
|
|
109
|
+
"data-slot": "sheet-description",
|
|
110
|
+
className: `chatbot-sheet-description ${className || ""}`
|
|
111
|
+
}, props));
|
|
112
|
+
});
|
|
113
|
+
SheetDescription.displayName = SheetPrimitive.Description.displayName;
|
|
114
|
+
|
|
115
|
+
//#endregion
|
|
116
|
+
export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger };
|
|
117
|
+
//# sourceMappingURL=sheet.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sheet.mjs","names":["React"],"sources":["../../src/components/sheet.tsx"],"sourcesContent":["\"use client\";\n\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport * as React from \"react\";\nimport { useChatbot } from \"./provider/chatbot-provider\";\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n const { open, setOpen } = useChatbot();\n return (\n <SheetPrimitive.Root\n data-slot=\"sheet\"\n modal={false}\n open={open}\n onOpenChange={setOpen}\n {...props}\n />\n );\n}\n\nconst SheetTrigger = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Trigger\n ref={ref}\n data-slot=\"sheet-trigger\"\n className={`chatbot-trigger ${className || \"\"}`}\n {...props}\n />\n));\nSheetTrigger.displayName = SheetPrimitive.Trigger.displayName;\n\nconst SheetClose = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Close>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Close>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Close\n ref={ref}\n data-slot=\"sheet-close\"\n className={`chatbot-sheet-close ${className || \"\"}`}\n {...props}\n />\n));\nSheetClose.displayName = SheetPrimitive.Close.displayName;\n\nfunction SheetPortal({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>\n>(({ className, children, style, ...props }, ref) => {\n const { isExpanded, isFullScreen, open, hasOpened } = useChatbot();\n const width = isFullScreen ? \"100%\" : isExpanded ? \"848px\" : \"400px\";\n\n // Use transform for better performance instead of right property\n const translateX = open ? \"0\" : \"100%\";\n\n // Create style object with CSS custom property for smoother animation\n const contentStyle = {\n \"--sheet-width\": width,\n transform: `translateX(${translateX})`,\n ...style,\n } as React.CSSProperties & { \"--sheet-width\": string };\n\n const classNames = [\n \"chatbot-sheet-content\",\n isExpanded && !isFullScreen ? \"chatbot-sheet-expanded\" : \"\",\n isFullScreen ? \"chatbot-sheet-fullscreen\" : \"\",\n className || \"\",\n ]\n .filter(Boolean)\n .join(\" \");\n\n return (\n <SheetPortal forceMount={hasOpened || undefined}>\n <SheetPrimitive.Content\n ref={ref}\n data-slot=\"sheet-content\"\n forceMount={hasOpened || undefined}\n onInteractOutside={(e) => e.preventDefault()}\n className={classNames}\n style={contentStyle}\n {...props}\n >\n {children}\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n});\nSheetContent.displayName = SheetPrimitive.Content.displayName;\n\nconst SheetHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"sheet-header\"\n className={`chatbot-sheet-header ${className || \"\"}`}\n {...props}\n />\n));\nSheetHeader.displayName = \"SheetHeader\";\n\nconst SheetFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-slot=\"sheet-footer\"\n className={`chatbot-sheet-footer ${className || \"\"}`}\n {...props}\n />\n));\nSheetFooter.displayName = \"SheetFooter\";\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n data-slot=\"sheet-title\"\n className={`chatbot-sheet-title ${className || \"\"}`}\n {...props}\n />\n));\nSheetTitle.displayName = SheetPrimitive.Title.displayName;\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n data-slot=\"sheet-description\"\n className={`chatbot-sheet-description ${className || \"\"}`}\n {...props}\n />\n));\nSheetDescription.displayName = SheetPrimitive.Description.displayName;\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n"],"mappings":";;;;;;;;;;;;mBAsBK,4BAaA;CAmBA;CAAW;CAAU;iBA4CrB,4BAaA,4BAaA,4BAaA;AAnIL,SAAS,MAAM,MAAgE;KAA3D;CAClB,MAAM,EAAE,MAAM,YAAY,YAAY;AACtC,QACE,oBAAC,eAAe;EACd,aAAU;EACV,OAAO;EACD;EACN,cAAc;IACV,OACJ;;AAIN,MAAM,eAAeA,QAAM,YAGxB,OAAyB,QAAQ;KAAjC,EAAE,qBAAc;AAAiB,QAClC,oBAAC,eAAe;EACT;EACL,aAAU;EACV,WAAW,mBAAmB,aAAa;IACvC,OACJ;EACF;AACF,aAAa,cAAc,eAAe,QAAQ;AAElD,MAAM,aAAaA,QAAM,YAGtB,OAAyB,QAAQ;KAAjC,EAAE,qBAAc;AAAiB,QAClC,oBAAC,eAAe;EACT;EACL,aAAU;EACV,WAAW,uBAAuB,aAAa;IAC3C,OACJ;EACF;AACF,WAAW,cAAc,eAAe,MAAM;AAE9C,SAAS,YAAY,OAEkC;KADlD;AAEH,QAAO,oBAAC,eAAe,yBAAO,aAAU,kBAAmB,OAAS;;AAGtE,MAAM,eAAeA,QAAM,YAGxB,OAA0C,QAAQ;KAAlD,EAAE,WAAW,UAAU,iBAAU;CAClC,MAAM,EAAE,YAAY,cAAc,MAAM,cAAc,YAAY;CAClE,MAAM,QAAQ,eAAe,SAAS,aAAa,UAAU;CAG7D,MAAM,aAAa,OAAO,MAAM;CAGhC,MAAM;EACJ,iBAAiB;EACjB,WAAW,cAAc,WAAW;IACjC;CAGL,MAAM,aAAa;EACjB;EACA,cAAc,CAAC,eAAe,2BAA2B;EACzD,eAAe,6BAA6B;EAC5C,aAAa;EACd,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;AAEZ,QACE,oBAAC;EAAY,YAAY,aAAa;YACpC,oBAAC,eAAe;GACT;GACL,aAAU;GACV,YAAY,aAAa;GACzB,oBAAoB,MAAM,EAAE,gBAAgB;GAC5C,WAAW;GACX,OAAO;KACH,cAEH,YACsB;GACb;EAEhB;AACF,aAAa,cAAc,eAAe,QAAQ;AAElD,MAAM,cAAcA,QAAM,YAGvB,OAAyB,QAAQ;KAAjC,EAAE,qBAAc;AAAiB,QAClC,oBAAC;EACM;EACL,aAAU;EACV,WAAW,wBAAwB,aAAa;IAC5C,OACJ;EACF;AACF,YAAY,cAAc;AAE1B,MAAM,cAAcA,QAAM,YAGvB,OAAyB,QAAQ;KAAjC,EAAE,qBAAc;AAAiB,QAClC,oBAAC;EACM;EACL,aAAU;EACV,WAAW,wBAAwB,aAAa;IAC5C,OACJ;EACF;AACF,YAAY,cAAc;AAE1B,MAAM,aAAaA,QAAM,YAGtB,OAAyB,QAAQ;KAAjC,EAAE,qBAAc;AAAiB,QAClC,oBAAC,eAAe;EACT;EACL,aAAU;EACV,WAAW,uBAAuB,aAAa;IAC3C,OACJ;EACF;AACF,WAAW,cAAc,eAAe,MAAM;AAE9C,MAAM,mBAAmBA,QAAM,YAG5B,OAAyB,QAAQ;KAAjC,EAAE,qBAAc;AAAiB,QAClC,oBAAC,eAAe;EACT;EACL,aAAU;EACV,WAAW,6BAA6B,aAAa;IACjD,OACJ;EACF;AACF,iBAAiB,cAAc,eAAe,YAAY"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
//#region src/components/tooltip.d.ts
|
|
4
|
+
type Side = "top" | "right" | "bottom" | "left";
|
|
5
|
+
type Align = "start" | "center" | "end";
|
|
6
|
+
type TooltipProps = {
|
|
7
|
+
content: React.ReactNode;
|
|
8
|
+
side?: Side;
|
|
9
|
+
align?: Align;
|
|
10
|
+
trigger: React.ReactNode;
|
|
11
|
+
disabled?: boolean;
|
|
12
|
+
delayDuration?: number;
|
|
13
|
+
skipDelayDuration?: number;
|
|
14
|
+
className?: string;
|
|
15
|
+
open?: boolean;
|
|
16
|
+
alignOffset?: number;
|
|
17
|
+
sideOffset?: number;
|
|
18
|
+
arrowClassName?: string;
|
|
19
|
+
keepTooltipOpen?: boolean;
|
|
20
|
+
};
|
|
21
|
+
declare function Tooltip({
|
|
22
|
+
content,
|
|
23
|
+
trigger,
|
|
24
|
+
side,
|
|
25
|
+
align,
|
|
26
|
+
disabled,
|
|
27
|
+
delayDuration,
|
|
28
|
+
skipDelayDuration,
|
|
29
|
+
className,
|
|
30
|
+
open,
|
|
31
|
+
alignOffset,
|
|
32
|
+
sideOffset,
|
|
33
|
+
arrowClassName,
|
|
34
|
+
keepTooltipOpen
|
|
35
|
+
}: TooltipProps): react_jsx_runtime0.JSX.Element;
|
|
36
|
+
//#endregion
|
|
37
|
+
export { Tooltip };
|
|
38
|
+
//# sourceMappingURL=tooltip.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.d.mts","names":[],"sources":["../../src/components/tooltip.tsx"],"sourcesContent":[],"mappings":";;;KAWK,IAAA;KACA,KAAA;KAEA,YAAA;EAHA,OAAI,EAIE,KAAA,CAAM,SAJR;EACJ,IAAA,CAAA,EAII,IAJC;EAEL,KAAA,CAAA,EAGK,KAHL;EACM,OAAM,EAGN,KAAA,CAAM,SAHA;EACR,QAAA,CAAA,EAAA,OAAA;EACC,aAAA,CAAA,EAAA,MAAA;EACC,iBAAM,CAAA,EAAA,MAAA;EAAS,SAAA,CAAA,EAAA,MAAA;EAYV,IAAA,CAAA,EAAA,OAAO;EACrB,WAAA,CAAA,EAAA,MAAA;EACA,UAAA,CAAA,EAAA,MAAA;EACA,cAAA,CAAA,EAAA,MAAA;EACA,eAAA,CAAA,EAAA,OAAA;CACA;AACA,iBANc,OAAA,CAMd;EAAA,OAAA;EAAA,OAAA;EAAA,IAAA;EAAA,KAAA;EAAA,QAAA;EAAA,aAAA;EAAA,iBAAA;EAAA,SAAA;EAAA,IAAA;EAAA,WAAA;EAAA,UAAA;EAAA,cAAA;EAAA;AAAA,CAAA,EAQC,YARD,CAAA,EAQa,kBAAA,CAAA,GAAA,CAAA,OARb"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { Arrow, Content, Portal, Provider, Root, Trigger } from "@radix-ui/react-tooltip";
|
|
5
|
+
|
|
6
|
+
//#region src/components/tooltip.tsx
|
|
7
|
+
function Tooltip({ content, trigger, side, align, disabled, delayDuration, skipDelayDuration, className, open, alignOffset, sideOffset, arrowClassName, keepTooltipOpen }) {
|
|
8
|
+
return /* @__PURE__ */ jsx(Provider, {
|
|
9
|
+
delayDuration: delayDuration !== null && delayDuration !== void 0 ? delayDuration : 200,
|
|
10
|
+
skipDelayDuration: skipDelayDuration !== null && skipDelayDuration !== void 0 ? skipDelayDuration : 200,
|
|
11
|
+
children: /* @__PURE__ */ jsxs(Root, {
|
|
12
|
+
open: disabled ? false : open,
|
|
13
|
+
children: [/* @__PURE__ */ jsx(Trigger, {
|
|
14
|
+
onClick: keepTooltipOpen ? (event) => {
|
|
15
|
+
event.preventDefault();
|
|
16
|
+
} : void 0,
|
|
17
|
+
asChild: true,
|
|
18
|
+
children: trigger
|
|
19
|
+
}), /* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsxs(Content, {
|
|
20
|
+
className: `tooltip-content ${className || ""}`,
|
|
21
|
+
side,
|
|
22
|
+
align,
|
|
23
|
+
alignOffset,
|
|
24
|
+
sideOffset,
|
|
25
|
+
onPointerDownOutside: keepTooltipOpen ? (event) => {
|
|
26
|
+
event.preventDefault();
|
|
27
|
+
} : void 0,
|
|
28
|
+
children: [/* @__PURE__ */ jsx(Arrow, { className: arrowClassName }), content]
|
|
29
|
+
}) })]
|
|
30
|
+
})
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
//#endregion
|
|
35
|
+
export { Tooltip };
|
|
36
|
+
//# sourceMappingURL=tooltip.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tooltip.mjs","names":[],"sources":["../../src/components/tooltip.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n Arrow,\n Content,\n Portal,\n Provider,\n Root,\n Trigger,\n} from \"@radix-ui/react-tooltip\";\n\ntype Side = \"top\" | \"right\" | \"bottom\" | \"left\";\ntype Align = \"start\" | \"center\" | \"end\";\n\ntype TooltipProps = {\n content: React.ReactNode;\n side?: Side;\n align?: Align;\n trigger: React.ReactNode;\n disabled?: boolean;\n delayDuration?: number;\n skipDelayDuration?: number;\n className?: string;\n open?: boolean;\n alignOffset?: number;\n sideOffset?: number;\n arrowClassName?: string;\n keepTooltipOpen?: boolean;\n};\n\nexport function Tooltip({\n content,\n trigger,\n side,\n align,\n disabled,\n delayDuration,\n skipDelayDuration,\n className,\n open,\n alignOffset,\n sideOffset,\n arrowClassName,\n keepTooltipOpen,\n}: TooltipProps) {\n return (\n <Provider\n delayDuration={delayDuration ?? 200}\n skipDelayDuration={skipDelayDuration ?? 200}\n >\n <Root open={disabled ? false : open}>\n <Trigger\n onClick={\n keepTooltipOpen\n ? (event) => {\n event.preventDefault();\n }\n : undefined\n }\n asChild\n >\n {trigger}\n </Trigger>\n\n <Portal>\n <Content\n className={`tooltip-content ${className || \"\"}`}\n side={side}\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n onPointerDownOutside={\n keepTooltipOpen\n ? (event) => {\n event.preventDefault();\n }\n : undefined\n }\n >\n <Arrow className={arrowClassName} />\n {content}\n </Content>\n </Portal>\n </Root>\n </Provider>\n );\n}\n"],"mappings":";;;;;;AA8BA,SAAgB,QAAQ,EACtB,SACA,SACA,MACA,OACA,UACA,eACA,mBACA,WACA,MACA,aACA,YACA,gBACA,mBACe;AACf,QACE,oBAAC;EACC,eAAe,qEAAiB;EAChC,mBAAmB,iFAAqB;YAExC,qBAAC;GAAK,MAAM,WAAW,QAAQ;cAC7B,oBAAC;IACC,SACE,mBACK,UAAU;AACT,WAAM,gBAAgB;QAExB;IAEN;cAEC;KACO,EAEV,oBAAC,oBACC,qBAAC;IACC,WAAW,mBAAmB,aAAa;IACrC;IACC;IACM;IACD;IACZ,sBACE,mBACK,UAAU;AACT,WAAM,gBAAgB;QAExB;eAGN,oBAAC,SAAM,WAAW,iBAAkB,EACnC;KACO,GACH;IACJ;GACE"}
|
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ChatbotProvider, useChatbot } from "./components/provider/chatbot-provider.mjs";
|
|
2
|
+
import { ChatbotFrame, ChatbotFrameProps, SessionData, UseSessionProps, useSession } from "./components/chatbot-frame.mjs";
|
|
3
|
+
import { ChatbotSheet } from "./components/chatbot-sheet.mjs";
|
|
4
|
+
import { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger } from "./components/sheet.mjs";
|
|
5
|
+
import { Tooltip } from "./components/tooltip.mjs";
|
|
6
|
+
export { ChatbotFrame, ChatbotFrameProps, ChatbotProvider, ChatbotSheet, SessionData, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Tooltip, UseSessionProps, useChatbot, useSession };
|