@usecrow/ui 0.1.45 → 0.1.47

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/index.js CHANGED
@@ -123,7 +123,7 @@ function useChat({
123
123
  identity_token: identityToken,
124
124
  model: selectedModel,
125
125
  user_timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
126
- user_local_time: (/* @__PURE__ */ new Date()).toLocaleString(),
126
+ user_local_time: (/* @__PURE__ */ new Date()).toLocaleString("en-US", { year: "numeric", month: "long", day: "numeric", hour: "numeric", minute: "numeric", hour12: true }),
127
127
  page_path: typeof window !== "undefined" ? window.location.pathname : void 0,
128
128
  context: typeof window !== "undefined" ? window.__crow_page_context : void 0
129
129
  }),
@@ -482,7 +482,7 @@ function useChat({
482
482
  identity_token: identityToken,
483
483
  model: selectedModel,
484
484
  user_timezone: Intl.DateTimeFormat().resolvedOptions().timeZone,
485
- user_local_time: (/* @__PURE__ */ new Date()).toLocaleString()
485
+ user_local_time: (/* @__PURE__ */ new Date()).toLocaleString("en-US", { year: "numeric", month: "long", day: "numeric", hour: "numeric", minute: "numeric", hour12: true })
486
486
  })
487
487
  });
488
488
  if (!response.ok) {
@@ -895,6 +895,12 @@ function useCrowAPI({ onIdentified, onReset } = {}) {
895
895
  window.__crow_on_tool_result = opts;
896
896
  console.log("[Crow] onToolResult callback registered");
897
897
  break;
898
+ case "open":
899
+ window.dispatchEvent(new CustomEvent("crow:open"));
900
+ break;
901
+ case "close":
902
+ window.dispatchEvent(new CustomEvent("crow:close"));
903
+ break;
898
904
  case "registerToolRenderers":
899
905
  if (!opts || typeof opts !== "object") {
900
906
  console.error("[Crow] registerToolRenderers() requires an object");
@@ -3316,6 +3322,16 @@ function CrowWidget({
3316
3322
  const handleExitWorkflow = async () => {
3317
3323
  await workflowActions.exitWorkflow();
3318
3324
  };
3325
+ useEffect(() => {
3326
+ const handleOpen = () => setIsCollapsed(false);
3327
+ const handleClose = () => setIsCollapsed(true);
3328
+ window.addEventListener("crow:open", handleOpen);
3329
+ window.addEventListener("crow:close", handleClose);
3330
+ return () => {
3331
+ window.removeEventListener("crow:open", handleOpen);
3332
+ window.removeEventListener("crow:close", handleClose);
3333
+ };
3334
+ }, []);
3319
3335
  const handleBubbleClick = () => {
3320
3336
  setIsCollapsed(!isCollapsed);
3321
3337
  };
@@ -3560,6 +3576,16 @@ function CopilotContainer({
3560
3576
  delete window.crowCopilot;
3561
3577
  };
3562
3578
  }, []);
3579
+ useEffect(() => {
3580
+ const handleOpen = () => setIsOpen(true);
3581
+ const handleClose = () => setIsOpen(false);
3582
+ window.addEventListener("crow:open", handleOpen);
3583
+ window.addEventListener("crow:close", handleClose);
3584
+ return () => {
3585
+ window.removeEventListener("crow:open", handleOpen);
3586
+ window.removeEventListener("crow:close", handleClose);
3587
+ };
3588
+ }, []);
3563
3589
  const handleMouseMove = useCallback(
3564
3590
  (e) => {
3565
3591
  const deltaX = e.clientX - dragStartXRef.current;
@@ -3820,6 +3846,16 @@ function CrowCopilot({
3820
3846
  setIsCollapsed(false);
3821
3847
  }
3822
3848
  }, [isCollapsed]);
3849
+ useEffect(() => {
3850
+ const handleOpen = () => setIsCollapsed(false);
3851
+ const handleClose = () => setIsCollapsed(true);
3852
+ window.addEventListener("crow:open", handleOpen);
3853
+ window.addEventListener("crow:close", handleClose);
3854
+ return () => {
3855
+ window.removeEventListener("crow:open", handleOpen);
3856
+ window.removeEventListener("crow:close", handleClose);
3857
+ };
3858
+ }, []);
3823
3859
  const messagesContainerRef = useRef(null);
3824
3860
  const tabsScrollRef = useRef(null);
3825
3861
  const executeClientToolRef = useRef(null);