@burdenoff/fe-libs 2026.1006.2 → 2026.1007.1

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.
Files changed (52) hide show
  1. package/dist/chrome/ContextSwitcher.d.ts.map +1 -1
  2. package/dist/chrome/ContextSwitcher.js +93 -89
  3. package/dist/chrome/GlobalSearch.d.ts.map +1 -1
  4. package/dist/chrome/GlobalSearch.js +94 -96
  5. package/dist/chrome/NotificationCenter.d.ts.map +1 -1
  6. package/dist/chrome/NotificationCenter.js +62 -62
  7. package/dist/chrome/ShortcutHelpDialog.d.ts.map +1 -1
  8. package/dist/chrome/ShortcutHelpDialog.js +103 -97
  9. package/dist/chrome/notificationCenter/NotificationPanel.d.ts.map +1 -1
  10. package/dist/chrome/notificationCenter/NotificationPanel.js +28 -17
  11. package/dist/chrome/notificationCenter/usePanelChrome.d.ts +0 -1
  12. package/dist/chrome/notificationCenter/usePanelChrome.d.ts.map +1 -1
  13. package/dist/chrome/notificationCenter/usePanelChrome.js +1 -10
  14. package/dist/chrome/shellOverlayLayer.d.ts +42 -0
  15. package/dist/chrome/shellOverlayLayer.d.ts.map +1 -0
  16. package/dist/chrome/shellOverlayLayer.js +4 -0
  17. package/dist/shared/assistant/appControls/languageReply.d.ts +28 -0
  18. package/dist/shared/assistant/appControls/languageReply.d.ts.map +1 -0
  19. package/dist/shared/assistant/appControls/languageReply.js +17 -0
  20. package/dist/shared/assistant/appControls/text.d.ts +7 -1
  21. package/dist/shared/assistant/appControls/text.d.ts.map +1 -1
  22. package/dist/shared/assistant/appControls/text.js +4 -3
  23. package/dist/shared/assistant/conversation.d.ts +2 -0
  24. package/dist/shared/assistant/conversation.d.ts.map +1 -1
  25. package/dist/shared/assistant/displayContent.d.ts.map +1 -1
  26. package/dist/shared/assistant/displayContent.js +14 -11
  27. package/dist/shared/assistant/history/historyMapping.d.ts.map +1 -1
  28. package/dist/shared/assistant/history/historyMapping.js +10 -5
  29. package/dist/shared/assistant/index.d.ts +1 -0
  30. package/dist/shared/assistant/index.d.ts.map +1 -1
  31. package/dist/shared/assistant/ui/AIAssistantPanel.js +8 -8
  32. package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
  33. package/dist/shared/assistant/ui/AssistantChatArea.js +1012 -939
  34. package/dist/shared/assistant/ui/AssistantMessageItem.d.ts.map +1 -1
  35. package/dist/shared/assistant/ui/AssistantMessageItem.js +105 -97
  36. package/dist/shared/assistant/ui/AssistantMoreMenu.d.ts.map +1 -1
  37. package/dist/shared/assistant/ui/AssistantMoreMenu.js +112 -108
  38. package/dist/shared/assistant/ui/composer/AssistantAttachmentButton.d.ts.map +1 -1
  39. package/dist/shared/assistant/ui/composer/AssistantAttachmentButton.js +66 -62
  40. package/dist/shared/assistant/ui/controlConfirmDialog.js +4 -4
  41. package/dist/shared/assistant/ui/useDropdownEscape.d.ts +8 -30
  42. package/dist/shared/assistant/ui/useDropdownEscape.d.ts.map +1 -1
  43. package/dist/shared/assistant/ui/useDropdownEscape.js +6 -20
  44. package/dist/shared/assistant/ui/voice/AssistantVoiceSession.js +7 -7
  45. package/dist/shared/assistant/uiActions/recordNames.d.ts +18 -6
  46. package/dist/shared/assistant/uiActions/recordNames.d.ts.map +1 -1
  47. package/dist/shared/assistant/uiActions/recordNames.js +42 -37
  48. package/dist/shared/components/EscapeLayer.d.ts +15 -0
  49. package/dist/shared/components/EscapeLayer.d.ts.map +1 -0
  50. package/dist/shared/components/EscapeLayer.js +31 -0
  51. package/dist/shared-assistant.js +151 -150
  52. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ContextSwitcher.d.ts","sourceRoot":"","sources":["../../src/chrome/ContextSwitcher.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAa,MAAM,OAAO,CAAC;AAQ3C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAW,MAAM,yBAAyB,CAAC;AAKzF,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEhF,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACnD,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,mFAAmF;IACnF,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CA8QpD,CAAC"}
1
+ {"version":3,"file":"ContextSwitcher.d.ts","sourceRoot":"","sources":["../../src/chrome/ContextSwitcher.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAa,MAAM,OAAO,CAAC;AAQ3C,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAW,MAAM,yBAAyB,CAAC;AAMzF,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEhF,MAAM,WAAW,oBAAoB;IACnC,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;IACnD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,SAAS,KAAK,IAAI,CAAC;IACnD,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,mFAAmF;IACnF,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IACnC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAgRpD,CAAC"}
@@ -1,154 +1,155 @@
1
1
  import { Sheet as e, SheetContent as t, SheetHeader as n, SheetTitle as r } from "../ui/sheet.js";
2
2
  import { useAssistantControl as i } from "../shared/assistant/appControls/useAssistantControl.js";
3
- import { useShellLabel as ee } from "../shared/providers/shell/useShellLabel.js";
4
- import { useIsMobile as a } from "./contextSwitcher/useIsMobile.js";
5
- import { TabButton as o } from "./contextSwitcher/TabButton.js";
6
- import { OrganizationList as s } from "./contextSwitcher/OrganizationList.js";
7
- import { WorkspaceList as c } from "./contextSwitcher/WorkspaceList.js";
8
- import { ProjectList as l } from "./contextSwitcher/ProjectList.js";
9
- import { TriggerButton as u } from "./contextSwitcher/TriggerButton.js";
10
- import { useCallback as d, useEffect as f, useMemo as p, useRef as m, useState as h } from "react";
11
- import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
3
+ import { EscapeLayer as a } from "../shared/components/EscapeLayer.js";
4
+ import { useShellLabel as o } from "../shared/providers/shell/useShellLabel.js";
5
+ import { useIsMobile as s } from "./contextSwitcher/useIsMobile.js";
6
+ import { TabButton as c } from "./contextSwitcher/TabButton.js";
7
+ import { OrganizationList as l } from "./contextSwitcher/OrganizationList.js";
8
+ import { WorkspaceList as u } from "./contextSwitcher/WorkspaceList.js";
9
+ import { ProjectList as ee } from "./contextSwitcher/ProjectList.js";
10
+ import { TriggerButton as d } from "./contextSwitcher/TriggerButton.js";
11
+ import { useCallback as f, useEffect as p, useMemo as m, useRef as h, useState as g } from "react";
12
+ import { Fragment as te, jsx as _, jsxs as v } from "react/jsx-runtime";
12
13
  //#region src/chrome/ContextSwitcher.tsx
13
- var y = ({ organizations: y, workspaces: b, projects: x, currentOrganizationId: S, currentWorkspaceId: C, currentProjectId: w, onOrganizationChange: T, onWorkspaceChange: E, onProjectChange: D, onWorkspaceWideChange: O, compact: te = !1 }) => {
14
- let k = ee(), [A, j] = h(!1), [M, N] = h(() => S ? "workspace" : "org"), [P, F] = h({
14
+ var y = ({ organizations: y, workspaces: b, projects: x, currentOrganizationId: S, currentWorkspaceId: C, currentProjectId: w, onOrganizationChange: T, onWorkspaceChange: E, onProjectChange: D, onWorkspaceWideChange: O, compact: k = !1 }) => {
15
+ let A = o(), [j, M] = g(!1), [N, P] = g(() => S ? "workspace" : "org"), [F, I] = g({
15
16
  org: "",
16
17
  workspace: "",
17
18
  project: ""
18
- }), I = a(), L = m(null), R = m(null), z = m(S);
19
- z.current = S;
20
- let B = y.find((e) => e.id === S), V = b.find((e) => e.id === C), H = x.find((e) => e.id === w), U = b.filter((e) => e.organizationId === S), W = x.filter((e) => e.workspaceId === C), G = d((e, t) => {
19
+ }), L = s(), R = h(null), z = h(null), B = h(S);
20
+ B.current = S;
21
+ let ne = y.find((e) => e.id === S), re = b.find((e) => e.id === C), V = x.find((e) => e.id === w), H = b.filter((e) => e.organizationId === S), U = x.filter((e) => e.workspaceId === C), W = f((e, t) => {
21
22
  if (!t.trim()) return e;
22
23
  let n = t.toLowerCase().trim();
23
24
  return e.filter((e) => e.name.toLowerCase().includes(n));
24
- }, []), K = m({
25
- filteredWorkspaces: U,
25
+ }, []), G = h({
26
+ filteredWorkspaces: H,
26
27
  currentWorkspaceId: C,
27
28
  onWorkspaceChange: E
28
29
  });
29
- K.current = {
30
- filteredWorkspaces: U,
30
+ G.current = {
31
+ filteredWorkspaces: H,
31
32
  currentWorkspaceId: C,
32
33
  onWorkspaceChange: E
33
- }, i("header.context", p(() => ({ run: () => A ? { status: "already" } : (j(!0), { status: "done" }) }), [A]));
34
- let q = E !== void 0;
35
- i("header.workspace", p(() => q ? {
36
- targets: () => K.current.filteredWorkspaces.map((e) => ({
34
+ }, i("header.context", m(() => ({ run: () => j ? { status: "already" } : (M(!0), { status: "done" }) }), [j]));
35
+ let K = E !== void 0;
36
+ i("header.workspace", m(() => K ? {
37
+ targets: () => G.current.filteredWorkspaces.map((e) => ({
37
38
  id: e.id,
38
39
  label: e.name,
39
- current: e.id === K.current.currentWorkspaceId
40
+ current: e.id === G.current.currentWorkspaceId
40
41
  })),
41
42
  switchTo: (e) => {
42
- let { filteredWorkspaces: t, currentWorkspaceId: n, onWorkspaceChange: r } = K.current, i = t.find((t) => t.id === e);
43
+ let { filteredWorkspaces: t, currentWorkspaceId: n, onWorkspaceChange: r } = G.current, i = t.find((t) => t.id === e);
43
44
  return !i || !r ? { status: "failed" } : i.id === n ? { status: "already" } : (r(i), { status: "done" });
44
45
  }
45
- } : null, [q]));
46
- let J = () => {
47
- !C || !O || (O(), j(!1));
48
- }, Y = G(y, P.org), ne = G(U, P.workspace), re = G(W, P.project), X = d((e, t) => {
49
- F((n) => ({
46
+ } : null, [K]));
47
+ let q = () => {
48
+ !C || !O || (O(), M(!1));
49
+ }, J = W(y, F.org), Y = W(H, F.workspace), ie = W(U, F.project), X = f((e, t) => {
50
+ I((n) => ({
50
51
  ...n,
51
52
  [e]: t
52
53
  }));
53
- }, []), Z = d((e) => {
54
- N(e), F({
54
+ }, []), Z = f((e) => {
55
+ P(e), I({
55
56
  org: "",
56
57
  workspace: "",
57
58
  project: ""
58
59
  }), setTimeout(() => {
59
- R.current?.focus();
60
+ z.current?.focus();
60
61
  }, 50);
61
62
  }, []);
62
- f(() => {
63
- if (I) return;
63
+ p(() => {
64
+ if (L) return;
64
65
  let e = (e) => {
65
- L.current && !L.current.contains(e.target) && j(!1);
66
+ R.current && !R.current.contains(e.target) && M(!1);
66
67
  };
67
- if (A) return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
68
- }, [A, I]), f(() => {
69
- if (A) {
70
- N(z.current ? "workspace" : "org");
68
+ if (j) return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
69
+ }, [j, L]), p(() => {
70
+ if (j) {
71
+ P(B.current ? "workspace" : "org");
71
72
  let e = setTimeout(() => {
72
- R.current?.focus();
73
+ z.current?.focus();
73
74
  }, 100);
74
75
  return () => clearTimeout(e);
75
76
  }
76
- F({
77
+ I({
77
78
  org: "",
78
79
  workspace: "",
79
80
  project: ""
80
81
  });
81
- }, [A]);
82
- let ie = (e) => {
82
+ }, [j]);
83
+ let ae = (e) => {
83
84
  T && T(e);
84
- }, ae = (e) => {
85
- E && E(e);
86
85
  }, oe = (e) => {
87
- D && D(e), j(!1);
88
- }, Q = () => /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ v("div", {
86
+ E && E(e);
87
+ }, se = (e) => {
88
+ D && D(e), M(!1);
89
+ }, Q = () => /* @__PURE__ */ v(te, { children: [/* @__PURE__ */ v("div", {
89
90
  className: "flex items-stretch border-b border-[var(--color-border-subtle)] bg-[var(--color-bg-surface)]",
90
91
  children: [
91
- /* @__PURE__ */ _(o, {
92
- label: k("contextSwitcher.organization", "Organization"),
93
- isActive: M === "org",
92
+ /* @__PURE__ */ _(c, {
93
+ label: A("contextSwitcher.organization", "Organization"),
94
+ isActive: N === "org",
94
95
  onClick: () => Z("org")
95
96
  }),
96
- /* @__PURE__ */ _(o, {
97
- label: k("contextSwitcher.workspace", "Workspace"),
98
- isActive: M === "workspace",
97
+ /* @__PURE__ */ _(c, {
98
+ label: A("contextSwitcher.workspace", "Workspace"),
99
+ isActive: N === "workspace",
99
100
  onClick: () => Z("workspace")
100
101
  }),
101
- /* @__PURE__ */ _(o, {
102
- label: k("contextSwitcher.project", "Project"),
103
- isActive: M === "project",
102
+ /* @__PURE__ */ _(c, {
103
+ label: A("contextSwitcher.project", "Project"),
104
+ isActive: N === "project",
104
105
  onClick: () => Z("project")
105
106
  })
106
107
  ]
107
108
  }), /* @__PURE__ */ v("div", {
108
109
  className: "flex-1 overflow-hidden",
109
110
  children: [
110
- M === "org" && /* @__PURE__ */ _(s, {
111
+ N === "org" && /* @__PURE__ */ _(l, {
111
112
  organizations: y,
112
- searchedOrganizations: Y,
113
+ searchedOrganizations: J,
113
114
  currentOrganizationId: S,
114
- searchQuery: P.org,
115
+ searchQuery: F.org,
115
116
  onSearchChange: (e) => X("org", e),
116
- onSelect: ie,
117
- searchInputRef: R
117
+ onSelect: ae,
118
+ searchInputRef: z
118
119
  }),
119
- M === "workspace" && /* @__PURE__ */ _(c, {
120
- filteredWorkspaces: U,
121
- searchedWorkspaces: ne,
120
+ N === "workspace" && /* @__PURE__ */ _(u, {
121
+ filteredWorkspaces: H,
122
+ searchedWorkspaces: Y,
122
123
  currentWorkspaceId: C,
123
- searchQuery: P.workspace,
124
+ searchQuery: F.workspace,
124
125
  onSearchChange: (e) => X("workspace", e),
125
- onSelect: ae,
126
- searchInputRef: R
126
+ onSelect: oe,
127
+ searchInputRef: z
127
128
  }),
128
- M === "project" && /* @__PURE__ */ _(l, {
129
- onWorkspaceWideSelect: C && O ? J : void 0,
130
- filteredProjects: W,
131
- searchedProjects: re,
129
+ N === "project" && /* @__PURE__ */ _(ee, {
130
+ onWorkspaceWideSelect: C && O ? q : void 0,
131
+ filteredProjects: U,
132
+ searchedProjects: ie,
132
133
  currentProjectId: w,
133
- searchQuery: P.project,
134
+ searchQuery: F.project,
134
135
  onSearchChange: (e) => X("project", e),
135
- onSelect: oe,
136
- searchInputRef: R
136
+ onSelect: se,
137
+ searchInputRef: z
137
138
  })
138
139
  ]
139
- })] }), $ = /* @__PURE__ */ _(u, {
140
- isOpen: A,
141
- compact: te,
142
- currentOrg: B,
143
- currentWorkspace: V,
144
- currentProject: H,
145
- onToggle: () => j(!A)
140
+ })] }), $ = /* @__PURE__ */ _(d, {
141
+ isOpen: j,
142
+ compact: k,
143
+ currentOrg: ne,
144
+ currentWorkspace: re,
145
+ currentProject: V,
146
+ onToggle: () => M(!j)
146
147
  });
147
- return I ? /* @__PURE__ */ v("div", {
148
+ return L ? /* @__PURE__ */ v("div", {
148
149
  className: "relative",
149
150
  children: [$, /* @__PURE__ */ _(e, {
150
- open: A,
151
- onOpenChange: j,
151
+ open: j,
152
+ onOpenChange: M,
152
153
  children: /* @__PURE__ */ v(t, {
153
154
  side: "bottom",
154
155
  className: "h-[70vh] flex flex-col p-0",
@@ -156,7 +157,7 @@ var y = ({ organizations: y, workspaces: b, projects: x, currentOrganizationId:
156
157
  className: "px-4 pt-4 pb-2 border-b border-[var(--color-border-subtle)]",
157
158
  children: /* @__PURE__ */ _(r, {
158
159
  className: "text-[var(--color-text-primary)]",
159
- children: k("contextSwitcher.title", "Switch Context")
160
+ children: A("contextSwitcher.title", "Switch Context")
160
161
  })
161
162
  }), /* @__PURE__ */ _("div", {
162
163
  className: "flex-1 flex flex-col overflow-hidden",
@@ -166,10 +167,13 @@ var y = ({ organizations: y, workspaces: b, projects: x, currentOrganizationId:
166
167
  })]
167
168
  }) : /* @__PURE__ */ v("div", {
168
169
  className: "relative",
169
- ref: L,
170
- children: [$, A && /* @__PURE__ */ _("div", {
171
- className: "absolute right-0 mt-2 w-[calc(100vw-2rem)] sm:w-[26rem] bg-[var(--color-bg-elevated)] border border-[var(--color-border-subtle)] rounded-card shadow-[var(--shadow-elevation-4)] z-50 flex flex-col max-h-[400px] overflow-hidden animate-in fade-in-0 zoom-in-95 slide-in-from-top-2 duration-200",
172
- children: Q()
170
+ ref: R,
171
+ children: [$, j && /* @__PURE__ */ _(a, {
172
+ onDismiss: () => M(!1),
173
+ children: /* @__PURE__ */ _("div", {
174
+ className: "absolute right-0 mt-2 w-[calc(100vw-2rem)] sm:w-[26rem] bg-[var(--color-bg-elevated)] border border-[var(--color-border-subtle)] rounded-card shadow-[var(--shadow-elevation-4)] z-50 flex flex-col max-h-[400px] overflow-hidden animate-in fade-in-0 zoom-in-95 slide-in-from-top-2 duration-200",
175
+ children: Q()
176
+ })
173
177
  })]
174
178
  });
175
179
  };
@@ -1 +1 @@
1
- {"version":3,"file":"GlobalSearch.d.ts","sourceRoot":"","sources":["../../src/chrome/GlobalSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMlF,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAU3E,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,wCAAwC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,kCAAkC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAChD,wCAAwC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,4BAA4B;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;IACtC,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,4EAA4E;IAC5E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChG,wBAAwB;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,OAAO,EACP,UAAe,EACf,WAAoC,EACpC,cAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,SAAS,GACV,EAAE,iBAAiB,GAAG,SAAS,CA2L/B"}
1
+ {"version":3,"file":"GlobalSearch.d.ts","sourceRoot":"","sources":["../../src/chrome/GlobalSearch.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA6C,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAMlF,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACpE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAY3E,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,wCAAwC;IACxC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,wCAAwC;IACxC,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,kCAAkC;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAChD,wCAAwC;IACxC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,4BAA4B;IAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,2CAA2C;IAC3C,QAAQ,CAAC,QAAQ,EAAE,CACjB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,aAAa,KACpB,OAAO,CAAC,SAAS,YAAY,EAAE,CAAC,CAAC;IACtC,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,4EAA4E;IAC5E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAChG,wBAAwB;IACxB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,OAAO,EACP,UAAe,EACf,WAAoC,EACpC,cAAmB,EACnB,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,SAAS,GACV,EAAE,iBAAiB,GAAG,SAAS,CA8K/B"}
@@ -1,118 +1,116 @@
1
1
  import { useGlobalUiOrNull as e } from "../shared/providers/shell/GlobalUiProvider.js";
2
2
  import { useAssistantControl as t } from "../shared/assistant/appControls/useAssistantControl.js";
3
- import { cn as n } from "../utils/cn.js";
3
+ import { EscapeLayer as n } from "../shared/components/EscapeLayer.js";
4
+ import { SHELL_OVERLAY_LAYER_CLASS as r } from "./shellOverlayLayer.js";
5
+ import { cn as i } from "../utils/cn.js";
4
6
  import "../utils/index.js";
5
- import { debounce as r, isSearchResults as i } from "./globalSearch/utils.js";
6
- import { SearchInput as a } from "./globalSearch/SearchInput.js";
7
- import { CategoryTabs as o } from "./globalSearch/CategoryTabs.js";
8
- import { SearchModeBar as s } from "./globalSearch/SearchModeBar.js";
9
- import { AdvancedFiltersPanel as c } from "./globalSearch/AdvancedFiltersPanel.js";
10
- import { ResultsList as l } from "./globalSearch/ResultsList.js";
11
- import { useAdvancedFilters as u } from "./globalSearch/useAdvancedFilters.js";
12
- import { useCallback as d, useEffect as f, useMemo as p, useState as m } from "react";
13
- import { ExternalLink as h } from "lucide-react";
14
- import { jsx as g, jsxs as _ } from "react/jsx-runtime";
7
+ import { debounce as a, isSearchResults as o } from "./globalSearch/utils.js";
8
+ import { SearchInput as s } from "./globalSearch/SearchInput.js";
9
+ import { CategoryTabs as c } from "./globalSearch/CategoryTabs.js";
10
+ import { SearchModeBar as l } from "./globalSearch/SearchModeBar.js";
11
+ import { AdvancedFiltersPanel as u } from "./globalSearch/AdvancedFiltersPanel.js";
12
+ import { ResultsList as d } from "./globalSearch/ResultsList.js";
13
+ import { useAdvancedFilters as f } from "./globalSearch/useAdvancedFilters.js";
14
+ import { useCallback as p, useEffect as m, useMemo as h, useState as g } from "react";
15
+ import { ExternalLink as _ } from "lucide-react";
16
+ import { jsx as v, jsxs as y } from "react/jsx-runtime";
15
17
  //#region src/chrome/GlobalSearch.tsx
16
- function v({ open: v, onClose: y, categories: b = [], placeholder: x = "Search everything...", recentSearches: S = [], onSearch: C, onSelect: w, onViewAllResults: T, className: E }) {
17
- let [D, O] = m(""), [k, A] = m(void 0), [j, M] = m([]), [N, P] = m(!1), [F, I] = m(null), [L, R] = m(!1), z = u(), { buildFilters: B, reset: V, searchMode: H, setSearchMode: U } = z, W = e()?.openGlobalSearch, [G, K] = m(null);
18
- t("header.search", p(() => W ? { run: ({ query: e }) => (K(e === null ? null : { query: e }), W(), { status: "done" }) } : null, [W])), f(() => {
19
- !v || !G || (O(G.query), K(null));
20
- }, [v, G]), f(() => {
21
- v || (O(""), A(void 0), M([]), I(null), R(!1), V());
22
- }, [v, V]), f(() => {
23
- if (!v) return;
24
- let e = (e) => {
25
- e.key === "Escape" && (e.preventDefault(), y());
26
- };
27
- return document.addEventListener("keydown", e), () => {
28
- document.removeEventListener("keydown", e);
29
- };
30
- }, [v, y]);
31
- let q = p(() => r(async (e, t, n) => {
18
+ function b({ open: b, onClose: x, categories: S = [], placeholder: C = "Search everything...", recentSearches: w = [], onSearch: T, onSelect: E, onViewAllResults: D, className: O }) {
19
+ let [k, A] = g(""), [j, M] = g(void 0), [N, P] = g([]), [F, I] = g(!1), [L, R] = g(null), [z, B] = g(!1), V = f(), { buildFilters: H, reset: U, searchMode: W, setSearchMode: G } = V, K = e()?.openGlobalSearch, [q, J] = g(null);
20
+ t("header.search", h(() => K ? { run: ({ query: e }) => (J(e === null ? null : { query: e }), K(), { status: "done" }) } : null, [K])), m(() => {
21
+ !b || !q || (A(q.query), J(null));
22
+ }, [b, q]), m(() => {
23
+ b || (A(""), M(void 0), P([]), R(null), B(!1), U());
24
+ }, [b, U]);
25
+ let Y = h(() => a(async (e, t, n) => {
32
26
  if (!e.trim()) {
33
- M([]), I(null);
27
+ P([]), R(null);
34
28
  return;
35
29
  }
36
- P(!0), I(null);
30
+ I(!0), R(null);
37
31
  try {
38
- let r = await C(e, t, n);
39
- if (!i(r)) throw TypeError("Invalid search results format");
40
- M(r);
32
+ let r = await T(e, t, n);
33
+ if (!o(r)) throw TypeError("Invalid search results format");
34
+ P(r);
41
35
  } catch (e) {
42
- I(e instanceof Error ? e.message : "Search failed"), M([]), console.error("Search error:", e);
36
+ R(e instanceof Error ? e.message : "Search failed"), P([]), console.error("Search error:", e);
43
37
  } finally {
44
- P(!1);
38
+ I(!1);
45
39
  }
46
- }, 300), [C]);
47
- f(() => {
48
- q(D, k, B());
40
+ }, 300), [T]);
41
+ m(() => {
42
+ Y(k, j, H());
49
43
  }, [
50
- D,
51
44
  k,
52
- q,
53
- B
45
+ j,
46
+ Y,
47
+ H
54
48
  ]);
55
- let J = p(() => j.reduce((e, t) => {
49
+ let X = h(() => N.reduce((e, t) => {
56
50
  let n = t.category;
57
51
  return e[n] || (e[n] = []), e[n].push(t), e;
58
- }, {}), [j]), Y = d((e) => {
59
- w(e), y();
60
- }, [w, y]);
61
- return v ? /* @__PURE__ */ g("div", {
62
- className: n("fixed inset-0 z-[9999] flex items-center justify-center bg-bg-overlay backdrop-blur-md", "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", E),
63
- onClick: y,
64
- "data-state": v ? "open" : "closed",
65
- role: "dialog",
66
- "aria-modal": "true",
67
- children: /* @__PURE__ */ g("div", {
68
- className: "w-full max-w-lg mx-4 max-h-[85dvh] overflow-hidden",
69
- onClick: (e) => e.stopPropagation(),
70
- children: /* @__PURE__ */ _("div", {
71
- className: "overflow-hidden rounded-2xl border border-border-subtle bg-bg-elevated shadow-[var(--shadow-elevation-5)]",
72
- children: [
73
- /* @__PURE__ */ g(a, {
74
- value: D,
75
- placeholder: x,
76
- onChange: O,
77
- onClear: () => O("")
78
- }),
79
- /* @__PURE__ */ g(o, {
80
- categories: b,
81
- selectedCategory: k,
82
- onSelect: A
83
- }),
84
- /* @__PURE__ */ g(s, {
85
- searchMode: H,
86
- onSearchModeChange: U,
87
- showAdvanced: L,
88
- onToggleAdvanced: () => R((e) => !e)
89
- }),
90
- L && /* @__PURE__ */ g(c, { filters: z }),
91
- /* @__PURE__ */ g(l, {
92
- loading: N,
93
- error: F,
94
- query: D,
95
- results: j,
96
- groupedResults: J,
97
- recentSearches: S,
98
- onRecentSelect: O,
99
- onResultSelect: Y
100
- }),
101
- D && j.length > 0 && T && /* @__PURE__ */ g("div", {
102
- className: "border-t border-border-subtle p-2",
103
- children: /* @__PURE__ */ _("button", {
104
- type: "button",
105
- onClick: () => {
106
- T(D, B(), k), y();
107
- },
108
- className: "w-full flex items-center justify-center gap-2 py-2 text-sm font-medium text-text-link hover:bg-bg-sunken rounded-button transition-colors",
109
- children: [/* @__PURE__ */ g(h, { className: "size-4" }), "View all results"]
52
+ }, {}), [N]), Z = p((e) => {
53
+ E(e), x();
54
+ }, [E, x]);
55
+ return b ? /* @__PURE__ */ v(n, {
56
+ modal: !0,
57
+ onDismiss: x,
58
+ children: /* @__PURE__ */ v("div", {
59
+ className: i("fixed inset-0 flex items-center justify-center bg-bg-overlay backdrop-blur-md", r, "data-[state=open]:animate-in data-[state=closed]:animate-out", "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0", O),
60
+ onClick: x,
61
+ "data-state": b ? "open" : "closed",
62
+ role: "dialog",
63
+ "aria-modal": "true",
64
+ children: /* @__PURE__ */ v("div", {
65
+ className: "w-full max-w-lg mx-4 max-h-[85dvh] overflow-hidden",
66
+ onClick: (e) => e.stopPropagation(),
67
+ children: /* @__PURE__ */ y("div", {
68
+ className: "overflow-hidden rounded-2xl border border-border-subtle bg-bg-elevated shadow-[var(--shadow-elevation-5)]",
69
+ children: [
70
+ /* @__PURE__ */ v(s, {
71
+ value: k,
72
+ placeholder: C,
73
+ onChange: A,
74
+ onClear: () => A("")
75
+ }),
76
+ /* @__PURE__ */ v(c, {
77
+ categories: S,
78
+ selectedCategory: j,
79
+ onSelect: M
80
+ }),
81
+ /* @__PURE__ */ v(l, {
82
+ searchMode: W,
83
+ onSearchModeChange: G,
84
+ showAdvanced: z,
85
+ onToggleAdvanced: () => B((e) => !e)
86
+ }),
87
+ z && /* @__PURE__ */ v(u, { filters: V }),
88
+ /* @__PURE__ */ v(d, {
89
+ loading: F,
90
+ error: L,
91
+ query: k,
92
+ results: N,
93
+ groupedResults: X,
94
+ recentSearches: w,
95
+ onRecentSelect: A,
96
+ onResultSelect: Z
97
+ }),
98
+ k && N.length > 0 && D && /* @__PURE__ */ v("div", {
99
+ className: "border-t border-border-subtle p-2",
100
+ children: /* @__PURE__ */ y("button", {
101
+ type: "button",
102
+ onClick: () => {
103
+ D(k, H(), j), x();
104
+ },
105
+ className: "w-full flex items-center justify-center gap-2 py-2 text-sm font-medium text-text-link hover:bg-bg-sunken rounded-button transition-colors",
106
+ children: [/* @__PURE__ */ v(_, { className: "size-4" }), "View all results"]
107
+ })
110
108
  })
111
- })
112
- ]
109
+ ]
110
+ })
113
111
  })
114
112
  })
115
113
  }) : null;
116
114
  }
117
115
  //#endregion
118
- export { v as GlobalSearch };
116
+ export { b as GlobalSearch };
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationCenter.d.ts","sourceRoot":"","sources":["../../src/chrome/NotificationCenter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqD,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAmBnD,MAAM,WAAW,uBAAuB;IACtC,2CAA2C;IAC3C,MAAM,EAAE,YAAY,CAAC;IACrB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAmH1D,CAAC"}
1
+ {"version":3,"file":"NotificationCenter.d.ts","sourceRoot":"","sources":["../../src/chrome/NotificationCenter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqD,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAenD,MAAM,WAAW,uBAAuB;IACtC,2CAA2C;IAC3C,MAAM,EAAE,YAAY,CAAC;IACrB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,qCAAqC;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wEAAwE;IACxE,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAkH1D,CAAC"}