@super_studio/ecforce-ai-agent-react 0.1.5 → 0.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.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-frame.d.ts","sourceRoot":"","sources":["../src/agent-frame.tsx"],"names":[],"mappings":"AAcA,KAAK,GAAG,GAAG;IACT,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;CACd,CAAC;AAiBF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC/B;;OAEG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,UAAU,0GAmHtB,CAAC"}
1
+ {"version":3,"file":"agent-frame.d.ts","sourceRoot":"","sources":["../src/agent-frame.tsx"],"names":[],"mappings":"AAiBA,KAAK,GAAG,GAAG;IACT,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;CACd,CAAC;AAiBF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB;;OAEG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC/B;;OAEG;IACH,UAAU,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC;;OAEG;IACH,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,eAAO,MAAM,UAAU,0GAgItB,CAAC"}
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ interface ChatbotContextType {
3
+ hasOpened: boolean;
4
+ open: boolean;
5
+ setOpen: (open: boolean) => void;
6
+ isExpanded: boolean;
7
+ setIsExpanded: (expanded: boolean) => void;
8
+ }
9
+ export declare function useChatbot(): ChatbotContextType;
10
+ interface ChatbotProviderProps {
11
+ children: React.ReactNode;
12
+ }
13
+ export declare function ChatbotProvider({ children }: ChatbotProviderProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
15
+ //# sourceMappingURL=chatbot-proivder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-proivder.d.ts","sourceRoot":"","sources":["../src/chatbot-proivder.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,kBAAkB;IAC1B,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;CAC5C;AAMD,wBAAgB,UAAU,uBAMzB;AAED,UAAU,oBAAoB;IAC5B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,EAAE,oBAAoB,2CAsBjE"}
@@ -0,0 +1,104 @@
1
+ @import "./tooltip.css";
2
+
3
+ /* Chatbot Trigger Button */
4
+ .chatbot-trigger {
5
+ position: fixed;
6
+ bottom: 1rem;
7
+ right: 1rem;
8
+ z-index: 50;
9
+ border-radius: 9999px;
10
+ border: 1px solid #f0f2f7;
11
+ background-color: #ffffff;
12
+ color: #0061ff;
13
+ box-shadow:
14
+ 0 1px 3px 0 rgba(0, 0, 0, 0.1),
15
+ 0 1px 2px 0 rgba(0, 0, 0, 0.06);
16
+ transition: colors 200ms ease-in-out;
17
+ cursor: pointer;
18
+ display: flex;
19
+ align-items: center;
20
+ justify-content: center;
21
+ height: 40px;
22
+ width: 40px;
23
+ }
24
+
25
+ .chatbot-trigger:hover {
26
+ background-color: #f0f2f7;
27
+ }
28
+
29
+ /* Sheet Content */
30
+ .chatbot-sheet-content {
31
+ position: fixed;
32
+ top: 0;
33
+ right: 0;
34
+ bottom: 0;
35
+ z-index: 50;
36
+ background-color: #ffffff;
37
+ box-shadow:
38
+ 0 10px 15px -3px rgba(0, 0, 0, 0.1),
39
+ 0 4px 6px -2px rgba(0, 0, 0, 0.05);
40
+ border-left: 1px solid #e5e7eb;
41
+ width: var(--sheet-width, 400px);
42
+ height: 100vh;
43
+ transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1);
44
+ }
45
+
46
+ .chatbot-sheet-content.chatbot-sheet-expanded {
47
+ --sheet-width: 848px;
48
+ }
49
+
50
+ /* Sheet Header */
51
+ .chatbot-sheet-header {
52
+ display: flex;
53
+ flex-direction: column;
54
+ gap: 0.375rem;
55
+ padding: 1rem;
56
+ }
57
+
58
+ /* Sheet Footer */
59
+ .chatbot-sheet-footer {
60
+ margin-top: auto;
61
+ display: flex;
62
+ flex-direction: column;
63
+ gap: 0.5rem;
64
+ padding: 1rem;
65
+ }
66
+
67
+ /* Invisible Title and Description (For radix accessibility) */
68
+ .chatbot-sheet-title,
69
+ .chatbot-sheet-description {
70
+ position: absolute;
71
+ width: 1px;
72
+ height: 1px;
73
+ padding: 0;
74
+ margin: -1px;
75
+ overflow: hidden;
76
+ clip: rect(0, 0, 0, 0);
77
+ white-space: nowrap;
78
+ border: 0;
79
+ }
80
+
81
+ /* Sheet Description */
82
+ .chatbot-sheet-description {
83
+ color: #6b7280;
84
+ font-size: 0.875rem;
85
+ }
86
+
87
+ /* Sheet Close */
88
+ .chatbot-sheet-close {
89
+ cursor: pointer;
90
+ }
91
+
92
+ /* Initial mount animation */
93
+ @keyframes chatbot-sheet-enter {
94
+ from {
95
+ transform: translateX(100%);
96
+ }
97
+ to {
98
+ transform: translateX(0);
99
+ }
100
+ }
101
+
102
+ .chatbot-sheet-content[data-state="open"] {
103
+ animation: chatbot-sheet-enter 300ms cubic-bezier(0.4, 0, 0.2, 1);
104
+ }
@@ -0,0 +1,6 @@
1
+ import { type CSSProperties } from "react";
2
+ import { type AgentElement, type AgentFrameProps } from "./agent-frame";
3
+ export declare const ChatbotSheet: import("react").ForwardRefExoticComponent<AgentFrameProps & {
4
+ sheetStyle?: CSSProperties;
5
+ } & import("react").RefAttributes<AgentElement>>;
6
+ //# sourceMappingURL=chatbot-sheet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatbot-sheet.d.ts","sourceRoot":"","sources":["../src/chatbot-sheet.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,aAAa,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,EAEL,KAAK,YAAY,EACjB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AAcvB,eAAO,MAAM,YAAY;iBAHV,aAAa;gDAyB3B,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,6 @@
1
+ export * from "./chatbot-proivder";
1
2
  export * from "./agent-frame";
2
- export * from "./chatbot-popover";
3
- export * from "./popover";
3
+ export * from "./chatbot-sheet";
4
+ export * from "./sheet";
5
+ export * from "./tooltip";
4
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC"}
package/dist/index.js CHANGED
@@ -31,6 +31,38 @@ var __objRest = (source, exclude) => {
31
31
  return target;
32
32
  };
33
33
 
34
+ // src/chatbot-proivder.tsx
35
+ var _react = require('react'); var React2 = _interopRequireWildcard(_react);
36
+ var _jsxruntime = require('react/jsx-runtime');
37
+ var ChatbotContext = React2.default.createContext(
38
+ void 0
39
+ );
40
+ function useChatbot() {
41
+ const context = React2.default.useContext(ChatbotContext);
42
+ if (!context) {
43
+ throw new Error("useChatbot must be used within a ChatbotProvider");
44
+ }
45
+ return context;
46
+ }
47
+ function ChatbotProvider({ children }) {
48
+ const [hasOpened, setHasOpened] = React2.default.useState(false);
49
+ const [open, setOpen] = React2.default.useState(false);
50
+ const [isExpanded, setIsExpanded] = React2.default.useState(false);
51
+ React2.default.useEffect(() => {
52
+ if (open) {
53
+ setHasOpened(true);
54
+ }
55
+ }, [open]);
56
+ const value = {
57
+ hasOpened,
58
+ open,
59
+ setOpen,
60
+ isExpanded,
61
+ setIsExpanded
62
+ };
63
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, ChatbotContext.Provider, { value, children });
64
+ }
65
+
34
66
  // src/agent-frame.tsx
35
67
 
36
68
 
@@ -39,13 +71,13 @@ var __objRest = (source, exclude) => {
39
71
 
40
72
 
41
73
 
42
- var _react = require('react'); var React = _interopRequireWildcard(_react);
74
+
43
75
 
44
76
  // src/constants.ts
45
77
  var PROD_CHATBOT_URL = "https://ecforce-ai-agent.vercel.app";
46
78
 
47
79
  // src/agent-frame.tsx
48
- var _jsxruntime = require('react/jsx-runtime');
80
+
49
81
  var AgentFrame = _react.forwardRef.call(void 0,
50
82
  ({ agentId, mcps = [], appName, className, url }, ref) => {
51
83
  var _a;
@@ -54,6 +86,7 @@ var AgentFrame = _react.forwardRef.call(void 0,
54
86
  const [isReady, setIsReady] = _react.useState.call(void 0, false);
55
87
  const [hasInitialized, setHasInitialized] = _react.useState.call(void 0, false);
56
88
  const [currentMcps, setCurrentMcps] = _react.useState.call(void 0, mcps);
89
+ const { setIsExpanded, setOpen } = useChatbot();
57
90
  const postMessage = _react.useCallback.call(void 0, (message) => {
58
91
  var _a2;
59
92
  if ((_a2 = iframeRef.current) == null ? void 0 : _a2.contentWindow) {
@@ -101,8 +134,19 @@ var AgentFrame = _react.forwardRef.call(void 0,
101
134
  if (process.env.NODE_ENV === "development") {
102
135
  console.log("iframe message", event.data);
103
136
  }
104
- if (((_a2 = event.data) == null ? void 0 : _a2.type) === "CHATBOT_READY") {
105
- setIsReady(true);
137
+ switch ((_a2 = event.data) == null ? void 0 : _a2.type) {
138
+ case "CHATBOT_READY":
139
+ setIsReady(true);
140
+ break;
141
+ case "CLOSE_CHATBOT":
142
+ setOpen(false);
143
+ break;
144
+ case "EXPAND_CHATBOT":
145
+ setIsExpanded(true);
146
+ break;
147
+ case "SHRINK_CHATBOT":
148
+ setIsExpanded(false);
149
+ break;
106
150
  }
107
151
  };
108
152
  const handleIframeLoad = () => {
@@ -146,80 +190,211 @@ var AgentFrame = _react.forwardRef.call(void 0,
146
190
  );
147
191
  AgentFrame.displayName = "AgentFrame";
148
192
 
149
- // src/chatbot-popover.tsx
193
+ // src/chatbot-sheet.tsx
150
194
 
151
195
 
152
- // src/popover.tsx
153
- var _reactpopover = require('@radix-ui/react-popover'); var PopoverPrimitive = _interopRequireWildcard(_reactpopover);
196
+ // src/sheet.tsx
197
+ var _reactdialog = require('@radix-ui/react-dialog'); var SheetPrimitive = _interopRequireWildcard(_reactdialog);
154
198
 
155
199
 
156
- var Popover = PopoverPrimitive.Root;
157
- var PopoverTrigger = React.forwardRef((_a, ref) => {
200
+ function Sheet(_a) {
201
+ var props = __objRest(_a, []);
202
+ const { open, setOpen } = useChatbot();
203
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
204
+ SheetPrimitive.Root,
205
+ __spreadValues({
206
+ "data-slot": "sheet",
207
+ modal: false,
208
+ open,
209
+ onOpenChange: setOpen
210
+ }, props)
211
+ );
212
+ }
213
+ var SheetTrigger = React2.forwardRef((_a, ref) => {
214
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
215
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
216
+ SheetPrimitive.Trigger,
217
+ __spreadValues({
218
+ ref,
219
+ "data-slot": "sheet-trigger",
220
+ className: `chatbot-trigger ${className || ""}`
221
+ }, props)
222
+ );
223
+ });
224
+ SheetTrigger.displayName = SheetPrimitive.Trigger.displayName;
225
+ var SheetClose = React2.forwardRef((_a, ref) => {
226
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
227
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
228
+ SheetPrimitive.Close,
229
+ __spreadValues({
230
+ ref,
231
+ "data-slot": "sheet-close",
232
+ className: `chatbot-sheet-close ${className || ""}`
233
+ }, props)
234
+ );
235
+ });
236
+ SheetClose.displayName = SheetPrimitive.Close.displayName;
237
+ function SheetPortal(_a) {
238
+ var props = __objRest(_a, []);
239
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetPrimitive.Portal, __spreadValues({ "data-slot": "sheet-portal" }, props));
240
+ }
241
+ var SheetContent = React2.forwardRef((_a, ref) => {
242
+ var _b = _a, { className, children, style } = _b, props = __objRest(_b, ["className", "children", "style"]);
243
+ const { isExpanded, open, hasOpened } = useChatbot();
244
+ const width = isExpanded ? "848px" : "400px";
245
+ const translateX = open ? "0" : "100%";
246
+ const contentStyle = __spreadValues({
247
+ "--sheet-width": width,
248
+ transform: `translateX(${translateX})`
249
+ }, style);
250
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetPortal, { forceMount: hasOpened || void 0, children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
251
+ SheetPrimitive.Content,
252
+ __spreadProps(__spreadValues({
253
+ ref,
254
+ "data-slot": "sheet-content",
255
+ forceMount: hasOpened || void 0,
256
+ onInteractOutside: (e) => e.preventDefault(),
257
+ className: `chatbot-sheet-content ${isExpanded ? "chatbot-sheet-expanded" : ""} ${className || ""}`,
258
+ style: contentStyle
259
+ }, props), {
260
+ children
261
+ })
262
+ ) });
263
+ });
264
+ SheetContent.displayName = SheetPrimitive.Content.displayName;
265
+ var SheetHeader = React2.forwardRef((_a, ref) => {
158
266
  var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
159
267
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
160
- PopoverPrimitive.Trigger,
268
+ "div",
161
269
  __spreadValues({
162
270
  ref,
163
- className: `chatbot-trigger ${className}`
271
+ "data-slot": "sheet-header",
272
+ className: `chatbot-sheet-header ${className || ""}`
164
273
  }, props)
165
274
  );
166
275
  });
167
- PopoverTrigger.displayName = PopoverPrimitive.Trigger.displayName;
168
- var PopoverContent = React.forwardRef(
276
+ SheetHeader.displayName = "SheetHeader";
277
+ var SheetFooter = React2.forwardRef((_a, ref) => {
278
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
279
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
280
+ "div",
281
+ __spreadValues({
282
+ ref,
283
+ "data-slot": "sheet-footer",
284
+ className: `chatbot-sheet-footer ${className || ""}`
285
+ }, props)
286
+ );
287
+ });
288
+ SheetFooter.displayName = "SheetFooter";
289
+ var SheetTitle = React2.forwardRef((_a, ref) => {
290
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
291
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
292
+ SheetPrimitive.Title,
293
+ __spreadValues({
294
+ ref,
295
+ "data-slot": "sheet-title",
296
+ className: `chatbot-sheet-title ${className || ""}`
297
+ }, props)
298
+ );
299
+ });
300
+ SheetTitle.displayName = SheetPrimitive.Title.displayName;
301
+ var SheetDescription = React2.forwardRef((_a, ref) => {
302
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
303
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
304
+ SheetPrimitive.Description,
305
+ __spreadValues({
306
+ ref,
307
+ "data-slot": "sheet-description",
308
+ className: `chatbot-sheet-description ${className || ""}`
309
+ }, props)
310
+ );
311
+ });
312
+ SheetDescription.displayName = SheetPrimitive.Description.displayName;
313
+
314
+ // src/tooltip.tsx
315
+
316
+
317
+
318
+
319
+
320
+
321
+
322
+ var _reacttooltip = require('@radix-ui/react-tooltip');
323
+ require('./tooltip.css');
324
+
325
+ function Tooltip({
326
+ content,
327
+ trigger,
328
+ side,
329
+ align,
330
+ disabled,
331
+ delayDuration,
332
+ skipDelayDuration,
333
+ className,
334
+ open,
335
+ alignOffset,
336
+ sideOffset,
337
+ arrowClassName,
338
+ keepTooltipOpen
339
+ }) {
340
+ return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
341
+ _reacttooltip.Provider,
342
+ {
343
+ delayDuration: delayDuration != null ? delayDuration : 200,
344
+ skipDelayDuration: skipDelayDuration != null ? skipDelayDuration : 200,
345
+ children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, _reacttooltip.Root, { open: disabled ? false : open, children: [
346
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
347
+ _reacttooltip.Trigger,
348
+ {
349
+ onClick: keepTooltipOpen ? (event) => {
350
+ event.preventDefault();
351
+ } : void 0,
352
+ asChild: true,
353
+ children: trigger
354
+ }
355
+ ),
356
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacttooltip.Portal, { children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0,
357
+ _reacttooltip.Content,
358
+ {
359
+ className: `tooltip-content ${className || ""}`,
360
+ side,
361
+ align,
362
+ alignOffset,
363
+ sideOffset,
364
+ onPointerDownOutside: keepTooltipOpen ? (event) => {
365
+ event.preventDefault();
366
+ } : void 0,
367
+ children: [
368
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, _reacttooltip.Arrow, { className: arrowClassName }),
369
+ content
370
+ ]
371
+ }
372
+ ) })
373
+ ] })
374
+ }
375
+ );
376
+ }
377
+
378
+ // src/chatbot-sheet.tsx
379
+
380
+ var ChatbotSheet = _react.forwardRef.call(void 0,
169
381
  (_a, ref) => {
170
- var _b = _a, {
171
- className,
172
- align = "center",
173
- backdrop,
174
- sideOffset = 4,
175
- forceMount
176
- } = _b, props = __objRest(_b, [
177
- "className",
178
- "align",
179
- "backdrop",
180
- "sideOffset",
181
- "forceMount"
182
- ]);
183
- return /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverPrimitive.Portal, { forceMount, children: /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, "div", { children: [
184
- backdrop && /* @__PURE__ */ _jsxruntime.jsx.call(void 0, "div", { className: "chatbot-popover-backdrop" }),
185
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
186
- PopoverPrimitive.Content,
187
- __spreadValues({
188
- ref,
189
- align,
190
- sideOffset,
191
- forceMount,
192
- className: `chatbot-popover-content ${className}`
193
- }, props)
194
- )
195
- ] }) });
196
- }
197
- );
198
- PopoverContent.displayName = PopoverPrimitive.Content.displayName;
199
-
200
- // src/chatbot-popover.tsx
201
-
202
- var ChatbotPopover = _react.forwardRef.call(void 0,
203
- (props, ref) => {
204
- const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
205
- const [hasOpened, setHasOpened] = _react.useState.call(void 0, false);
206
- const handleOpenChange = (open) => {
207
- setIsOpen(open);
208
- if (open && !hasOpened) {
209
- setHasOpened(true);
210
- }
211
- };
212
- return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Popover, { open: isOpen, onOpenChange: handleOpenChange, children: [
213
- /* @__PURE__ */ _jsxruntime.jsx.call(void 0, PopoverTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EcforceAiIcon, {}) }),
382
+ var _b = _a, { sheetStyle } = _b, props = __objRest(_b, ["sheetStyle"]);
383
+ return /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, Sheet, { children: [
214
384
  /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
215
- PopoverContent,
385
+ Tooltip,
216
386
  {
387
+ side: "top",
217
388
  align: "end",
218
- backdrop: isOpen,
219
- forceMount: hasOpened || void 0,
220
- children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AgentFrame, __spreadProps(__spreadValues({}, props), { ref }))
389
+ content: "AI\u306B\u8CEA\u554F\u3057\u3066\u307F\u307E\u3057\u3087\u3046",
390
+ trigger: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetTrigger, { children: /* @__PURE__ */ _jsxruntime.jsx.call(void 0, EcforceAiIcon, {}) })
221
391
  }
222
- )
392
+ ),
393
+ /* @__PURE__ */ _jsxruntime.jsxs.call(void 0, SheetContent, { style: sheetStyle, children: [
394
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetTitle, { children: "AI\u306B\u8CEA\u554F\u3057\u3066\u307F\u307E\u3057\u3087\u3046" }),
395
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, SheetDescription, { children: "AI\u306B\u8CEA\u554F\u3057\u3066\u307F\u307E\u3057\u3087\u3046" }),
396
+ /* @__PURE__ */ _jsxruntime.jsx.call(void 0, AgentFrame, __spreadProps(__spreadValues({}, props), { ref }))
397
+ ] })
223
398
  ] });
224
399
  }
225
400
  );
@@ -227,8 +402,8 @@ function EcforceAiIcon() {
227
402
  return /* @__PURE__ */ _jsxruntime.jsx.call(void 0,
228
403
  "svg",
229
404
  {
230
- width: "24",
231
- height: "24",
405
+ width: "18",
406
+ height: "18",
232
407
  viewBox: "0 0 24 24",
233
408
  xmlns: "http://www.w3.org/2000/svg",
234
409
  fill: "currentColor",
@@ -249,4 +424,12 @@ function EcforceAiIcon() {
249
424
 
250
425
 
251
426
 
252
- exports.AgentFrame = AgentFrame; exports.ChatbotPopover = ChatbotPopover; exports.Popover = Popover; exports.PopoverContent = PopoverContent; exports.PopoverTrigger = PopoverTrigger;
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+ exports.AgentFrame = AgentFrame; exports.ChatbotProvider = ChatbotProvider; exports.ChatbotSheet = ChatbotSheet; exports.Sheet = Sheet; exports.SheetClose = SheetClose; exports.SheetContent = SheetContent; exports.SheetDescription = SheetDescription; exports.SheetFooter = SheetFooter; exports.SheetHeader = SheetHeader; exports.SheetTitle = SheetTitle; exports.SheetTrigger = SheetTrigger; exports.Tooltip = Tooltip; exports.useChatbot = useChatbot;