@burdenoff/fe-libs 2026.1007.4 → 2026.1007.5
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/chrome/AutoBreadcrumbs.d.ts.map +1 -1
- package/dist/chrome/AutoBreadcrumbs.js +65 -76
- package/dist/chrome/Breadcrumb.d.ts.map +1 -1
- package/dist/chrome/Breadcrumbs.d.ts.map +1 -1
- package/dist/chrome/Breadcrumbs.js +47 -46
- package/dist/chrome/ContextSwitcher.js +86 -86
- package/dist/chrome/HeaderBar.d.ts.map +1 -1
- package/dist/chrome/HeaderBar.js +111 -107
- package/dist/chrome/HeaderThemeSwitcher.d.ts.map +1 -1
- package/dist/chrome/HeaderThemeSwitcher.js +46 -45
- package/dist/chrome/LanguageSwitcher.js +4 -4
- package/dist/chrome/MobileTabBar.js +4 -4
- package/dist/chrome/PageHeader.d.ts.map +1 -1
- package/dist/chrome/PageHeader.js +32 -30
- package/dist/chrome/PersonaSurfaceControls.js +8 -8
- package/dist/chrome/ProductSideNav.js +6 -6
- package/dist/chrome/ProfileSwitcher.d.ts.map +1 -1
- package/dist/chrome/ProfileSwitcher.js +89 -88
- package/dist/chrome/SideNavigation.js +4 -4
- package/dist/chrome/Tabs.d.ts.map +1 -1
- package/dist/chrome/Tabs.js +30 -29
- package/dist/chrome/breadcrumbLabel.d.ts +10 -0
- package/dist/chrome/breadcrumbLabel.d.ts.map +1 -0
- package/dist/chrome/breadcrumbLabel.js +31 -0
- package/dist/chrome/contextSwitcher/TriggerButton.d.ts.map +1 -1
- package/dist/chrome/contextSwitcher/TriggerButton.js +40 -36
- package/dist/chrome/notificationCenter/BellButton.d.ts.map +1 -1
- package/dist/chrome/notificationCenter/BellButton.js +29 -25
- package/dist/chrome/shellLabelManifest.d.ts +27 -0
- package/dist/chrome/shellLabelManifest.d.ts.map +1 -0
- package/dist/chrome/sideNavigation/SidebarHeader.d.ts.map +1 -1
- package/dist/chrome/sideNavigation/SidebarHeader.js +23 -22
- package/dist/shared/assistant/appControls/languageReply.d.ts +6 -1
- package/dist/shared/assistant/appControls/languageReply.d.ts.map +1 -1
- package/dist/shared/assistant/i18nManifest.d.ts +17 -5
- package/dist/shared/assistant/i18nManifest.d.ts.map +1 -1
- package/dist/shared/assistant/i18nManifest.js +27 -22
- package/dist/shared/assistant/index.d.ts +1 -0
- package/dist/shared/assistant/index.d.ts.map +1 -1
- package/dist/shared/assistant/productCopy.d.ts +78 -0
- package/dist/shared/assistant/productCopy.d.ts.map +1 -0
- package/dist/shared/assistant/productCopy.js +45 -0
- package/dist/shared/assistant/ui/AssistantChatArea.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantChatArea.js +2 -2
- package/dist/shared/assistant/ui/AssistantEmptyState.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantEmptyState.js +30 -22
- package/dist/shared/assistant/ui/AssistantHeader.d.ts.map +1 -1
- package/dist/shared/assistant/ui/AssistantHeader.js +46 -45
- package/dist/shared/components/ContextConversationWidget.js +1 -1
- package/dist/shared/events/sinks/RybbitSink.d.ts.map +1 -1
- package/dist/shared/events/sinks/RybbitSink.js +66 -69
- package/dist/shared/providers/AppShellProvider.d.ts +17 -0
- package/dist/shared/providers/AppShellProvider.d.ts.map +1 -1
- package/dist/shared/providers/AppShellProvider.js +188 -180
- package/dist/shared/providers/shell/I18nProvider.d.ts +92 -4
- package/dist/shared/providers/shell/I18nProvider.d.ts.map +1 -1
- package/dist/shared/providers/shell/I18nProvider.js +187 -79
- package/dist/shared/providers/shell/ProfileI18nBridge.d.ts +18 -2
- package/dist/shared/providers/shell/ProfileI18nBridge.d.ts.map +1 -1
- package/dist/shared/providers/shell/ProfileI18nBridge.js +55 -41
- package/dist/shared/providers/shell/directionMode.d.ts +25 -0
- package/dist/shared/providers/shell/directionMode.d.ts.map +1 -0
- package/dist/shared/providers/shell/directionMode.js +34 -0
- package/dist/shared/providers/shell/index.d.ts +4 -2
- package/dist/shared/providers/shell/index.d.ts.map +1 -1
- package/dist/shared/providers/shell/translationLayers.d.ts +30 -0
- package/dist/shared/providers/shell/translationLayers.d.ts.map +1 -0
- package/dist/shared/providers/shell/translationLayers.js +35 -0
- package/dist/shared/providers/shell/translationStore.d.ts +55 -0
- package/dist/shared/providers/shell/translationStore.d.ts.map +1 -0
- package/dist/shared/providers/shell/translationStore.js +100 -0
- package/dist/shared/providers/shell/useShellLabel.d.ts +13 -1
- package/dist/shared/providers/shell/useShellLabel.d.ts.map +1 -1
- package/dist/shared/providers/shell/useShellLabel.js +10 -9
- package/dist/shared-assistant.js +163 -162
- package/dist/shared-providers-shell.js +20 -19
- package/dist/ui/boff-ui2.d.ts.map +1 -1
- package/dist/ui/cta-overflow-menu.d.ts.map +1 -1
- package/dist/ui/cta-overflow-menu.js +20 -18
- package/dist/ui/guidance.d.ts +1 -1
- package/dist/ui/guidance.d.ts.map +1 -1
- package/dist/ui/guidance.js +53 -52
- package/package.json +3 -2
package/dist/chrome/HeaderBar.js
CHANGED
|
@@ -1,124 +1,128 @@
|
|
|
1
1
|
import { isInstalledApp as e } from "../shared/native/platform.js";
|
|
2
|
+
import { useShellLabel as t } from "../shared/providers/shell/useShellLabel.js";
|
|
2
3
|
import "../shared-native.js";
|
|
3
|
-
import { HeaderThemeSwitcher as
|
|
4
|
-
import { jsx as
|
|
4
|
+
import { HeaderThemeSwitcher as n } from "./HeaderThemeSwitcher.js";
|
|
5
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
5
6
|
//#region src/chrome/HeaderBar.tsx
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
className: "p-2 hover:bg-bg-sunken rounded-button text-text-primary transition-colors",
|
|
16
|
-
"aria-label": "Toggle sidebar",
|
|
17
|
-
children: /* @__PURE__ */ n("svg", {
|
|
18
|
-
className: "w-icon-md h-icon-md",
|
|
19
|
-
fill: "none",
|
|
20
|
-
stroke: "currentColor",
|
|
21
|
-
viewBox: "0 0 24 24",
|
|
22
|
-
children: /* @__PURE__ */ n("path", {
|
|
23
|
-
strokeLinecap: "round",
|
|
24
|
-
strokeLinejoin: "round",
|
|
25
|
-
strokeWidth: 2,
|
|
26
|
-
d: "M4 6h16M4 12h16M4 18h16"
|
|
27
|
-
})
|
|
28
|
-
})
|
|
29
|
-
}), i && /* @__PURE__ */ n("div", {
|
|
30
|
-
className: `w-8 h-8 bg-action-primary-bg rounded-md flex items-center justify-center ${o ? "cursor-pointer hover:opacity-80 transition-opacity" : ""}`,
|
|
31
|
-
onClick: o,
|
|
32
|
-
role: o ? "button" : void 0,
|
|
33
|
-
tabIndex: o ? 0 : void 0,
|
|
34
|
-
onKeyDown: o ? (e) => {
|
|
35
|
-
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), o());
|
|
36
|
-
} : void 0,
|
|
37
|
-
"aria-label": o ? "Go to home" : void 0,
|
|
38
|
-
children: typeof i == "string" ? /* @__PURE__ */ n("span", {
|
|
39
|
-
className: "text-action-primary-text font-bold text-sm",
|
|
40
|
-
children: i
|
|
41
|
-
}) : i
|
|
42
|
-
})]
|
|
43
|
-
}), /* @__PURE__ */ r("div", {
|
|
44
|
-
"data-no-drag": "",
|
|
45
|
-
className: "flex items-center gap-1 md:gap-control-gap",
|
|
46
|
-
children: [
|
|
47
|
-
y,
|
|
48
|
-
b && !e() && /* @__PURE__ */ n("div", {
|
|
49
|
-
className: T ? "hidden md:block empty:hidden" : "empty:hidden",
|
|
50
|
-
children: b
|
|
51
|
-
}),
|
|
52
|
-
x && /* @__PURE__ */ n("div", {
|
|
53
|
-
className: T ? "hidden md:block empty:hidden" : "empty:hidden",
|
|
54
|
-
children: x
|
|
55
|
-
}),
|
|
56
|
-
S && /* @__PURE__ */ n("div", {
|
|
57
|
-
className: T ? "hidden md:block empty:hidden" : "empty:hidden",
|
|
58
|
-
children: S
|
|
59
|
-
}),
|
|
60
|
-
(y || b || x || S) && /* @__PURE__ */ n("div", { className: "hidden md:block h-6 w-px bg-border-subtle" }),
|
|
61
|
-
w && /* @__PURE__ */ n("button", {
|
|
62
|
-
type: "button",
|
|
63
|
-
onClick: w,
|
|
64
|
-
className: `p-2 hover:bg-bg-sunken rounded-button text-text-primary transition-colors ${T ? "hidden md:block" : ""}`,
|
|
65
|
-
"aria-label": "Keyboard shortcuts",
|
|
66
|
-
title: "Keyboard shortcuts (Ctrl+/ or Cmd+/)",
|
|
67
|
-
children: /* @__PURE__ */ n("svg", {
|
|
68
|
-
className: "w-icon-md h-icon-md",
|
|
69
|
-
fill: "none",
|
|
70
|
-
stroke: "currentColor",
|
|
71
|
-
viewBox: "0 0 24 24",
|
|
72
|
-
children: /* @__PURE__ */ n("path", {
|
|
73
|
-
strokeLinecap: "round",
|
|
74
|
-
strokeLinejoin: "round",
|
|
75
|
-
strokeWidth: 2,
|
|
76
|
-
d: "M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"
|
|
77
|
-
})
|
|
78
|
-
})
|
|
79
|
-
}),
|
|
80
|
-
c && /* @__PURE__ */ n("button", {
|
|
7
|
+
var a = ({ logo: a, appName: o, onLogoClick: s, onMenuToggle: c, onSearchClick: l, searchPlaceholder: u = "Search...", searchShortcut: d = "⌘K", unreadNotifications: f = 0, onNotificationsClick: p, notificationCenter: m, colorMode: h = "light", onThemeToggle: g, user: _, onUserMenuClick: v, actions: y, contextSwitcher: b, productSwitcher: x, languageSwitcher: S, geographySwitcher: C, profileSwitcher: w, onKeyboardShortcutsClick: T, mobileOptimized: E = !0 }) => {
|
|
8
|
+
let D = t();
|
|
9
|
+
return /* @__PURE__ */ i("header", {
|
|
10
|
+
"data-desktop-drag-region": "",
|
|
11
|
+
className: "relative z-[100] h-14 bg-[var(--color-surface-glass)] backdrop-blur-[var(--blur-glass)] border-b border-[var(--color-border-glass)] flex items-center px-3 md:px-card-padding justify-between",
|
|
12
|
+
children: [/* @__PURE__ */ i("div", {
|
|
13
|
+
"data-no-drag": "",
|
|
14
|
+
className: "flex items-center gap-2 md:gap-control-gap",
|
|
15
|
+
children: [c && /* @__PURE__ */ r("button", {
|
|
81
16
|
type: "button",
|
|
82
17
|
onClick: c,
|
|
83
18
|
className: "p-2 hover:bg-bg-sunken rounded-button text-text-primary transition-colors",
|
|
84
|
-
"aria-label": "
|
|
85
|
-
|
|
86
|
-
children: /* @__PURE__ */ n("svg", {
|
|
19
|
+
"aria-label": D("appShell.toggleSidebar", "Toggle sidebar"),
|
|
20
|
+
children: /* @__PURE__ */ r("svg", {
|
|
87
21
|
className: "w-icon-md h-icon-md",
|
|
88
22
|
fill: "none",
|
|
89
23
|
stroke: "currentColor",
|
|
90
24
|
viewBox: "0 0 24 24",
|
|
91
|
-
children: /* @__PURE__ */
|
|
25
|
+
children: /* @__PURE__ */ r("path", {
|
|
92
26
|
strokeLinecap: "round",
|
|
93
27
|
strokeLinejoin: "round",
|
|
94
28
|
strokeWidth: 2,
|
|
95
|
-
d: "
|
|
29
|
+
d: "M4 6h16M4 12h16M4 18h16"
|
|
96
30
|
})
|
|
97
31
|
})
|
|
98
|
-
}),
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
32
|
+
}), a && /* @__PURE__ */ r("div", {
|
|
33
|
+
className: `w-8 h-8 bg-action-primary-bg rounded-md flex items-center justify-center ${s ? "cursor-pointer hover:opacity-80 transition-opacity" : ""}`,
|
|
34
|
+
onClick: s,
|
|
35
|
+
role: s ? "button" : void 0,
|
|
36
|
+
tabIndex: s ? 0 : void 0,
|
|
37
|
+
onKeyDown: s ? (e) => {
|
|
38
|
+
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), s());
|
|
39
|
+
} : void 0,
|
|
40
|
+
"aria-label": s ? "Go to home" : void 0,
|
|
41
|
+
children: typeof a == "string" ? /* @__PURE__ */ r("span", {
|
|
42
|
+
className: "text-action-primary-text font-bold text-sm",
|
|
43
|
+
children: a
|
|
44
|
+
}) : a
|
|
45
|
+
})]
|
|
46
|
+
}), /* @__PURE__ */ i("div", {
|
|
47
|
+
"data-no-drag": "",
|
|
48
|
+
className: "flex items-center gap-1 md:gap-control-gap",
|
|
49
|
+
children: [
|
|
50
|
+
b,
|
|
51
|
+
x && !e() && /* @__PURE__ */ r("div", {
|
|
52
|
+
className: E ? "hidden md:block empty:hidden" : "empty:hidden",
|
|
53
|
+
children: x
|
|
54
|
+
}),
|
|
55
|
+
S && /* @__PURE__ */ r("div", {
|
|
56
|
+
className: E ? "hidden md:block empty:hidden" : "empty:hidden",
|
|
57
|
+
children: S
|
|
58
|
+
}),
|
|
59
|
+
C && /* @__PURE__ */ r("div", {
|
|
60
|
+
className: E ? "hidden md:block empty:hidden" : "empty:hidden",
|
|
61
|
+
children: C
|
|
62
|
+
}),
|
|
63
|
+
(b || x || S || C) && /* @__PURE__ */ r("div", { className: "hidden md:block h-6 w-px bg-border-subtle" }),
|
|
64
|
+
T && /* @__PURE__ */ r("button", {
|
|
65
|
+
type: "button",
|
|
66
|
+
onClick: T,
|
|
67
|
+
className: `p-2 hover:bg-bg-sunken rounded-button text-text-primary transition-colors ${E ? "hidden md:block" : ""}`,
|
|
68
|
+
"aria-label": D("appShell.keyboardShortcuts", "Keyboard shortcuts"),
|
|
69
|
+
title: D("appShell.keyboardShortcutsHint", "Keyboard shortcuts (Ctrl+/ or Cmd+/)"),
|
|
70
|
+
children: /* @__PURE__ */ r("svg", {
|
|
71
|
+
className: "w-icon-md h-icon-md",
|
|
72
|
+
fill: "none",
|
|
73
|
+
stroke: "currentColor",
|
|
74
|
+
viewBox: "0 0 24 24",
|
|
75
|
+
children: /* @__PURE__ */ r("path", {
|
|
76
|
+
strokeLinecap: "round",
|
|
77
|
+
strokeLinejoin: "round",
|
|
78
|
+
strokeWidth: 2,
|
|
79
|
+
d: "M12 6V4m0 2a2 2 0 100 4m0-4a2 2 0 110 4m-6 8a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4m6 6v10m6-2a2 2 0 100-4m0 4a2 2 0 110-4m0 4v2m0-6V4"
|
|
80
|
+
})
|
|
115
81
|
})
|
|
116
|
-
}),
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
})
|
|
82
|
+
}),
|
|
83
|
+
l && /* @__PURE__ */ r("button", {
|
|
84
|
+
type: "button",
|
|
85
|
+
onClick: l,
|
|
86
|
+
className: "p-2 hover:bg-bg-sunken rounded-button text-text-primary transition-colors",
|
|
87
|
+
"aria-label": D("nav.search", "Search"),
|
|
88
|
+
title: D("appShell.searchHint", "Search ({{shortcut}})", { shortcut: d }),
|
|
89
|
+
children: /* @__PURE__ */ r("svg", {
|
|
90
|
+
className: "w-icon-md h-icon-md",
|
|
91
|
+
fill: "none",
|
|
92
|
+
stroke: "currentColor",
|
|
93
|
+
viewBox: "0 0 24 24",
|
|
94
|
+
children: /* @__PURE__ */ r("path", {
|
|
95
|
+
strokeLinecap: "round",
|
|
96
|
+
strokeLinejoin: "round",
|
|
97
|
+
strokeWidth: 2,
|
|
98
|
+
d: "M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"
|
|
99
|
+
})
|
|
100
|
+
})
|
|
101
|
+
}),
|
|
102
|
+
y,
|
|
103
|
+
m || (p ? /* @__PURE__ */ i("button", {
|
|
104
|
+
type: "button",
|
|
105
|
+
onClick: p,
|
|
106
|
+
className: "relative p-2 hover:bg-bg-sunken rounded-button text-text-primary transition-colors",
|
|
107
|
+
"aria-label": D("notifications.bellLabel", "Notifications"),
|
|
108
|
+
children: [/* @__PURE__ */ r("svg", {
|
|
109
|
+
className: "w-icon-md h-icon-md",
|
|
110
|
+
fill: "none",
|
|
111
|
+
stroke: "currentColor",
|
|
112
|
+
viewBox: "0 0 24 24",
|
|
113
|
+
children: /* @__PURE__ */ r("path", {
|
|
114
|
+
strokeLinecap: "round",
|
|
115
|
+
strokeLinejoin: "round",
|
|
116
|
+
strokeWidth: 2,
|
|
117
|
+
d: "M15 17h5l-1.405-1.405A2.032 2.032 0 0118 14.158V11a6.002 6.002 0 00-4-5.659V5a2 2 0 10-4 0v.341C7.67 6.165 6 8.388 6 11v3.159c0 .538-.214 1.055-.595 1.436L4 17h5m6 0v1a3 3 0 11-6 0v-1m6 0H9"
|
|
118
|
+
})
|
|
119
|
+
}), f > 0 && /* @__PURE__ */ r("span", { className: "absolute top-1 right-1 size-2 bg-status-error-bg rounded-full border border-bg-elevated" })]
|
|
120
|
+
}) : null),
|
|
121
|
+
g && /* @__PURE__ */ r(n, { mobileOptimized: E }),
|
|
122
|
+
w
|
|
123
|
+
]
|
|
124
|
+
})]
|
|
125
|
+
});
|
|
126
|
+
};
|
|
123
127
|
//#endregion
|
|
124
|
-
export {
|
|
128
|
+
export { a as HeaderBar };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HeaderThemeSwitcher.d.ts","sourceRoot":"","sources":["../../src/chrome/HeaderThemeSwitcher.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"HeaderThemeSwitcher.d.ts","sourceRoot":"","sources":["../../src/chrome/HeaderThemeSwitcher.tsx"],"names":[],"mappings":"AAiCA;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,eAAsB,EAAE,EAAE;IAAE,eAAe,CAAC,EAAE,OAAO,CAAA;CAAE,2CAmD5F"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import { DropdownMenu as e, DropdownMenuContent as t, DropdownMenuItem as n, DropdownMenuLabel as r, DropdownMenuSeparator as i, DropdownMenuTrigger as a } from "../ui/dropdown-menu.js";
|
|
2
2
|
import { useTheme as o } from "../shared/providers/shell/ThemeProvider.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { useShellLabel as s } from "../shared/providers/shell/useShellLabel.js";
|
|
4
|
+
import { useExclusiveMenu as c } from "../shared/hooks/useExclusiveMenu.js";
|
|
5
|
+
import { cn as l } from "../utils/cn.js";
|
|
5
6
|
import "../utils/index.js";
|
|
6
|
-
import { useCallback as
|
|
7
|
-
import { Check as
|
|
8
|
-
import { jsx as
|
|
7
|
+
import { useCallback as u, useState as d } from "react";
|
|
8
|
+
import { Check as f, Contrast as p, Monitor as m, Moon as h, Palette as g, Sun as _, Sunset as v, Trees as y, Waves as b } from "lucide-react";
|
|
9
|
+
import { jsx as x, jsxs as S } from "react/jsx-runtime";
|
|
9
10
|
//#region src/chrome/HeaderThemeSwitcher.tsx
|
|
10
|
-
var
|
|
11
|
-
light:
|
|
12
|
-
dark:
|
|
13
|
-
forest:
|
|
14
|
-
ocean:
|
|
15
|
-
sunset:
|
|
16
|
-
"high-contrast":
|
|
17
|
-
},
|
|
11
|
+
var C = {
|
|
12
|
+
light: _,
|
|
13
|
+
dark: h,
|
|
14
|
+
forest: y,
|
|
15
|
+
ocean: b,
|
|
16
|
+
sunset: v,
|
|
17
|
+
"high-contrast": p
|
|
18
|
+
}, w = [
|
|
18
19
|
{
|
|
19
20
|
value: "light",
|
|
20
21
|
label: "Light"
|
|
@@ -40,67 +41,67 @@ var S = {
|
|
|
40
41
|
label: "High contrast"
|
|
41
42
|
}
|
|
42
43
|
];
|
|
43
|
-
function
|
|
44
|
-
let [
|
|
45
|
-
|
|
46
|
-
let { mode:
|
|
47
|
-
return /* @__PURE__ */
|
|
48
|
-
open:
|
|
49
|
-
onOpenChange:
|
|
50
|
-
children: [/* @__PURE__ */
|
|
44
|
+
function T({ mobileOptimized: n = !0 }) {
|
|
45
|
+
let [f, p] = d(!1);
|
|
46
|
+
c("header-theme", f, u(() => p(!1), []));
|
|
47
|
+
let { mode: v, setMode: y, resolvedTheme: b } = o(), T = s()("themeSwitcher.label", "Theme"), D = b === "dark" ? h : _, O = u((e) => y(e), [y]);
|
|
48
|
+
return /* @__PURE__ */ S(e, {
|
|
49
|
+
open: f,
|
|
50
|
+
onOpenChange: p,
|
|
51
|
+
children: [/* @__PURE__ */ x(a, {
|
|
51
52
|
asChild: !0,
|
|
52
|
-
children: /* @__PURE__ */
|
|
53
|
+
children: /* @__PURE__ */ x("button", {
|
|
53
54
|
type: "button",
|
|
54
|
-
"aria-label":
|
|
55
|
-
title:
|
|
56
|
-
className:
|
|
57
|
-
children: /* @__PURE__ */
|
|
55
|
+
"aria-label": T,
|
|
56
|
+
title: T,
|
|
57
|
+
className: l("flex size-9 items-center justify-center rounded-button text-text-primary transition-colors", "hover:bg-bg-sunken focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-focus-ring)]", n ? "hidden md:flex" : ""),
|
|
58
|
+
children: /* @__PURE__ */ x(D, {
|
|
58
59
|
className: "size-5",
|
|
59
60
|
"aria-hidden": "true"
|
|
60
61
|
})
|
|
61
62
|
})
|
|
62
|
-
}), /* @__PURE__ */
|
|
63
|
+
}), /* @__PURE__ */ S(t, {
|
|
63
64
|
align: "end",
|
|
64
65
|
className: "w-56",
|
|
65
66
|
children: [
|
|
66
|
-
/* @__PURE__ */
|
|
67
|
+
/* @__PURE__ */ S(r, {
|
|
67
68
|
className: "flex items-center gap-2 text-text-secondary",
|
|
68
|
-
children: [/* @__PURE__ */
|
|
69
|
+
children: [/* @__PURE__ */ x(g, {
|
|
69
70
|
className: "size-4",
|
|
70
71
|
"aria-hidden": "true"
|
|
71
72
|
}), "Appearance"]
|
|
72
73
|
}),
|
|
73
|
-
/* @__PURE__ */
|
|
74
|
-
/* @__PURE__ */
|
|
75
|
-
active:
|
|
76
|
-
icon:
|
|
74
|
+
/* @__PURE__ */ x(i, {}),
|
|
75
|
+
/* @__PURE__ */ x(E, {
|
|
76
|
+
active: v === "system",
|
|
77
|
+
icon: m,
|
|
77
78
|
label: "System",
|
|
78
|
-
onSelect: () =>
|
|
79
|
+
onSelect: () => O("system")
|
|
79
80
|
}),
|
|
80
|
-
|
|
81
|
-
active:
|
|
82
|
-
icon:
|
|
81
|
+
w.map((e) => /* @__PURE__ */ x(E, {
|
|
82
|
+
active: v === e.value,
|
|
83
|
+
icon: C[e.value],
|
|
83
84
|
label: e.label,
|
|
84
|
-
onSelect: () =>
|
|
85
|
+
onSelect: () => O(e.value)
|
|
85
86
|
}, e.value))
|
|
86
87
|
]
|
|
87
88
|
})]
|
|
88
89
|
});
|
|
89
90
|
}
|
|
90
|
-
function
|
|
91
|
-
return /* @__PURE__ */
|
|
91
|
+
function E({ active: e, icon: t, label: r, onSelect: i }) {
|
|
92
|
+
return /* @__PURE__ */ S(n, {
|
|
92
93
|
onSelect: i,
|
|
93
|
-
className:
|
|
94
|
+
className: l("gap-2", e && "bg-[var(--color-accent-soft)] text-text-primary"),
|
|
94
95
|
children: [
|
|
95
|
-
/* @__PURE__ */
|
|
96
|
+
/* @__PURE__ */ x(t, {
|
|
96
97
|
className: "size-4 text-text-secondary",
|
|
97
98
|
"aria-hidden": "true"
|
|
98
99
|
}),
|
|
99
|
-
/* @__PURE__ */
|
|
100
|
+
/* @__PURE__ */ x("span", {
|
|
100
101
|
className: "flex-1",
|
|
101
102
|
children: r
|
|
102
103
|
}),
|
|
103
|
-
e && /* @__PURE__ */
|
|
104
|
+
e && /* @__PURE__ */ x(f, {
|
|
104
105
|
className: "size-4 text-action-primary-bg",
|
|
105
106
|
"aria-hidden": "true"
|
|
106
107
|
})
|
|
@@ -108,4 +109,4 @@ function T({ active: e, icon: t, label: r, onSelect: i }) {
|
|
|
108
109
|
});
|
|
109
110
|
}
|
|
110
111
|
//#endregion
|
|
111
|
-
export {
|
|
112
|
+
export { T as HeaderThemeSwitcher };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { useShellLabel as e } from "../shared/providers/shell/useShellLabel.js";
|
|
2
|
+
import { useAssistantControl as t } from "../shared/assistant/appControls/useAssistantControl.js";
|
|
3
3
|
import { useEffect as n, useMemo as r, useRef as i, useState as a } from "react";
|
|
4
4
|
import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
5
5
|
//#region src/chrome/LanguageSwitcher.tsx
|
|
6
6
|
var l = ({ languages: l, currentLanguage: u, onLanguageChange: d, compact: f = !1 }) => {
|
|
7
|
-
let p =
|
|
7
|
+
let p = e(), [m, h] = a(!1), g = i(null), _ = l.find((e) => e.code === u) || l[0], v = i({
|
|
8
8
|
languages: l,
|
|
9
9
|
currentLanguage: u,
|
|
10
10
|
onLanguageChange: d
|
|
@@ -15,7 +15,7 @@ var l = ({ languages: l, currentLanguage: u, onLanguageChange: d, compact: f = !
|
|
|
15
15
|
onLanguageChange: d
|
|
16
16
|
};
|
|
17
17
|
let y = d !== void 0;
|
|
18
|
-
|
|
18
|
+
t("language", r(() => y ? {
|
|
19
19
|
languages: () => v.current.languages.map((e) => ({
|
|
20
20
|
code: e.code,
|
|
21
21
|
label: e.nativeName || e.name
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { cn as e } from "../lib/utils.js";
|
|
2
2
|
import { BottomSheet as t, BottomSheetContent as n, BottomSheetHeader as r, BottomSheetTitle as i } from "../ui/bottom-sheet.js";
|
|
3
3
|
import { getNativeBridge as a } from "../shared/native/bridge.js";
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { useShellLabel as o } from "../shared/providers/shell/useShellLabel.js";
|
|
5
|
+
import { appendContextToPath as s, useCurrentContextSearchParams as c } from "../shared/hooks/useCurrentContextSearchParams.js";
|
|
6
6
|
import "./sideNavigation/navVisibility.js";
|
|
7
7
|
import { useVisibleNavItems as l } from "./mobileTabBar/useVisibleNavItems.js";
|
|
8
8
|
import { isItemOrChildActive as u } from "./sideNavigation/helpers.js";
|
|
@@ -40,7 +40,7 @@ function D(e, t, n) {
|
|
|
40
40
|
}));
|
|
41
41
|
}
|
|
42
42
|
function O({ appName: a, groupOrder: O = [], groupLabels: A = {}, maxTabs: j = 4, moreLabel: M, mobileActions: N, hideWhenKeyboardOpen: P = !0, className: F }) {
|
|
43
|
-
let I =
|
|
43
|
+
let I = o(), L = M ?? I("nav.more", "More"), R = w(), z = C(), B = c(), { items: V } = l(), [H, U] = v(!1), W = _(null), { tabs: G, more: K, hasMore: q } = g(() => f(V, j), [V, j]), J = g(() => D(K, O, A), [
|
|
44
44
|
K,
|
|
45
45
|
O,
|
|
46
46
|
A
|
|
@@ -58,7 +58,7 @@ function O({ appName: a, groupOrder: O = [], groupLabels: A = {}, maxTabs: j = 4
|
|
|
58
58
|
U(!1);
|
|
59
59
|
}, [z.pathname]);
|
|
60
60
|
let Z = p((e) => {
|
|
61
|
-
E(), R(
|
|
61
|
+
E(), R(s(e, B));
|
|
62
62
|
}, [R, B]), Q = g(() => !!q && K.some((e) => u(e, z.pathname)), [
|
|
63
63
|
q,
|
|
64
64
|
K,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../src/chrome/PageHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../src/chrome/PageHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC9B,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,UAAU,CAAC,EAAE,wBAAwB,EAAE,CAAC;IACxC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mEAAmE;AACnE,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,WAAW,EACX,OAAO,EACP,UAAU,EACV,IAAI,EACJ,OAAO,EACP,SAAS,GACV,EAAE,eAAe,2CA2DjB"}
|
|
@@ -1,67 +1,69 @@
|
|
|
1
1
|
import { cn as e } from "../lib/utils.js";
|
|
2
|
+
import { useShellLabel as t } from "../shared/providers/shell/useShellLabel.js";
|
|
2
3
|
import "react";
|
|
3
|
-
import { ChevronRightIcon as
|
|
4
|
-
import { jsx as
|
|
5
|
-
import { Link as
|
|
4
|
+
import { ChevronRightIcon as n } from "lucide-react";
|
|
5
|
+
import { jsx as r, jsxs as i } from "react/jsx-runtime";
|
|
6
|
+
import { Link as a } from "react-router";
|
|
6
7
|
//#region src/chrome/PageHeader.tsx
|
|
7
|
-
function
|
|
8
|
-
|
|
8
|
+
function o({ title: o, description: s, actions: c, breadcrumb: l, icon: u, toolbar: d, className: f }) {
|
|
9
|
+
let p = t();
|
|
10
|
+
return /* @__PURE__ */ i("header", {
|
|
9
11
|
"data-slot": "page-header",
|
|
10
|
-
className: e("mb-6",
|
|
12
|
+
className: e("mb-6", f),
|
|
11
13
|
children: [
|
|
12
|
-
|
|
14
|
+
l && l.length > 0 ? /* @__PURE__ */ r("nav", {
|
|
13
15
|
className: "mb-2 overflow-x-auto",
|
|
14
|
-
"aria-label": "Breadcrumb",
|
|
15
|
-
children: /* @__PURE__ */
|
|
16
|
+
"aria-label": p("nav.breadcrumb", "Breadcrumb"),
|
|
17
|
+
children: /* @__PURE__ */ r("ol", {
|
|
16
18
|
className: "flex items-center gap-1.5 text-sm text-text-secondary whitespace-nowrap",
|
|
17
|
-
children:
|
|
18
|
-
let o =
|
|
19
|
-
return /* @__PURE__ */
|
|
19
|
+
children: l.map((e, t) => {
|
|
20
|
+
let o = t === l.length - 1;
|
|
21
|
+
return /* @__PURE__ */ i("li", {
|
|
20
22
|
className: "flex items-center gap-1.5",
|
|
21
|
-
children: [
|
|
23
|
+
children: [t > 0 ? /* @__PURE__ */ r(n, {
|
|
22
24
|
className: "size-3 text-text-muted",
|
|
23
25
|
"aria-hidden": "true"
|
|
24
|
-
}) : null, e.to && !o ? /* @__PURE__ */
|
|
26
|
+
}) : null, e.to && !o ? /* @__PURE__ */ r(a, {
|
|
25
27
|
to: e.to,
|
|
26
28
|
className: "hover:text-text-primary transition-colors focus-visible:outline-none focus-visible:underline",
|
|
27
29
|
children: e.label
|
|
28
|
-
}) : /* @__PURE__ */
|
|
30
|
+
}) : /* @__PURE__ */ r("span", {
|
|
29
31
|
className: o ? "text-text-primary font-medium" : void 0,
|
|
30
32
|
children: e.label
|
|
31
33
|
})]
|
|
32
|
-
},
|
|
34
|
+
}, t);
|
|
33
35
|
})
|
|
34
36
|
})
|
|
35
37
|
}) : null,
|
|
36
|
-
/* @__PURE__ */
|
|
38
|
+
/* @__PURE__ */ i("div", {
|
|
37
39
|
className: "flex flex-col gap-4 lg:flex-row lg:items-start lg:justify-between",
|
|
38
|
-
children: [/* @__PURE__ */
|
|
40
|
+
children: [/* @__PURE__ */ i("div", {
|
|
39
41
|
className: "min-w-0 flex items-start gap-3 lg:flex-1",
|
|
40
|
-
children: [
|
|
42
|
+
children: [u ? /* @__PURE__ */ r("div", {
|
|
41
43
|
className: "shrink-0 mt-1",
|
|
42
|
-
children:
|
|
43
|
-
}) : null, /* @__PURE__ */
|
|
44
|
+
children: u
|
|
45
|
+
}) : null, /* @__PURE__ */ i("div", {
|
|
44
46
|
className: "min-w-0",
|
|
45
|
-
children: [/* @__PURE__ */
|
|
47
|
+
children: [/* @__PURE__ */ r("h1", {
|
|
46
48
|
className: "text-2xl font-semibold tracking-tight text-text-primary break-words md:text-3xl",
|
|
47
|
-
children: a
|
|
48
|
-
}), o ? /* @__PURE__ */ n("p", {
|
|
49
|
-
className: "mt-1.5 text-sm text-text-secondary",
|
|
50
49
|
children: o
|
|
50
|
+
}), s ? /* @__PURE__ */ r("p", {
|
|
51
|
+
className: "mt-1.5 text-sm text-text-secondary",
|
|
52
|
+
children: s
|
|
51
53
|
}) : null]
|
|
52
54
|
})]
|
|
53
|
-
}),
|
|
55
|
+
}), c ? /* @__PURE__ */ r("div", {
|
|
54
56
|
"data-slot": "page-header-actions",
|
|
55
57
|
className: "flex flex-shrink-0 flex-wrap items-center gap-2",
|
|
56
|
-
children:
|
|
58
|
+
children: c
|
|
57
59
|
}) : null]
|
|
58
60
|
}),
|
|
59
|
-
|
|
61
|
+
d ? /* @__PURE__ */ r("div", {
|
|
60
62
|
className: "mt-4",
|
|
61
|
-
children:
|
|
63
|
+
children: d
|
|
62
64
|
}) : null
|
|
63
65
|
]
|
|
64
66
|
});
|
|
65
67
|
}
|
|
66
68
|
//#endregion
|
|
67
|
-
export {
|
|
69
|
+
export { o as PageHeader };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { useShellLabel as e } from "../shared/providers/shell/useShellLabel.js";
|
|
2
|
+
import { useShellUi as t } from "../shared/providers/shell/ShellUiProvider.js";
|
|
3
|
+
import { useSafePersonaSurface as n } from "../shared/providers/shell/PersonaSurfaceProvider.js";
|
|
4
4
|
import { useCallback as r, useEffect as i, useRef as a, useState as o } from "react";
|
|
5
5
|
import { Check as s, ChevronsUpDown as c, Eye as l, Plus as u, Search as d, SlidersHorizontal as f, X as p } from "lucide-react";
|
|
6
6
|
import { Fragment as m, jsx as h, jsxs as g } from "react/jsx-runtime";
|
|
@@ -18,8 +18,8 @@ function ee(e, t) {
|
|
|
18
18
|
}));
|
|
19
19
|
}
|
|
20
20
|
var v = 300;
|
|
21
|
-
function y({ everythingLabel: e, onOpenCustomize:
|
|
22
|
-
let f =
|
|
21
|
+
function y({ everythingLabel: e, onOpenCustomize: t }) {
|
|
22
|
+
let f = n(), [y, b] = o(!1), [x, S] = o(""), [C, w] = o(null), T = a(null), E = a(null), D = a(null), O = a(null), k = r(() => {
|
|
23
23
|
b(!1), S("");
|
|
24
24
|
}, []), A = r(() => {
|
|
25
25
|
let e = E.current?.getBoundingClientRect();
|
|
@@ -140,7 +140,7 @@ function y({ everythingLabel: e, onOpenCustomize: n }) {
|
|
|
140
140
|
H && !W && /* @__PURE__ */ g("button", {
|
|
141
141
|
type: "button",
|
|
142
142
|
onClick: () => {
|
|
143
|
-
k(),
|
|
143
|
+
k(), t();
|
|
144
144
|
},
|
|
145
145
|
className: `${Q} text-text-secondary`,
|
|
146
146
|
"data-testid": "persona-view-create",
|
|
@@ -215,7 +215,7 @@ function y({ everythingLabel: e, onOpenCustomize: n }) {
|
|
|
215
215
|
});
|
|
216
216
|
}
|
|
217
217
|
function b({ everythingLabel: r, customizeLabel: i }) {
|
|
218
|
-
let a =
|
|
218
|
+
let a = n(), { sidebarCollapsed: o, toggleSidebar: s } = t(), c = e(), l = r ?? c("nav.everything", "Everything"), u = i ?? c("nav.customizeMenu", "Customize menu");
|
|
219
219
|
if (!a) return null;
|
|
220
220
|
let { setCustomizeOpen: d } = a, p = () => {
|
|
221
221
|
typeof window < "u" && window.innerWidth < 768 && !o && s(), d(!0);
|
|
@@ -242,7 +242,7 @@ function b({ everythingLabel: r, customizeLabel: i }) {
|
|
|
242
242
|
});
|
|
243
243
|
}
|
|
244
244
|
function x() {
|
|
245
|
-
let e =
|
|
245
|
+
let e = n();
|
|
246
246
|
return e?.simulation ? /* @__PURE__ */ g("div", {
|
|
247
247
|
className: "fixed bottom-4 left-1/2 z-[120] -translate-x-1/2 flex max-w-[calc(100vw-2rem)] items-center gap-2 rounded-full border border-border-subtle bg-bg-canvas px-4 py-2 shadow-lg",
|
|
248
248
|
style: { marginBottom: "env(safe-area-inset-bottom)" },
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { useShellLabel as e } from "../shared/providers/shell/useShellLabel.js";
|
|
2
|
+
import { useShellUi as t } from "../shared/providers/shell/ShellUiProvider.js";
|
|
3
|
+
import { appendContextToPath as n, useCurrentContextSearchParams as r } from "../shared/hooks/useCurrentContextSearchParams.js";
|
|
4
4
|
import { useVisibleNavItems as i } from "./mobileTabBar/useVisibleNavItems.js";
|
|
5
5
|
import { SideNavigation as a } from "./SideNavigation.js";
|
|
6
6
|
import { NavCustomizeDialog as o } from "./NavCustomizeDialog.js";
|
|
@@ -9,10 +9,10 @@ import { Fragment as l, jsx as u, jsxs as d } from "react/jsx-runtime";
|
|
|
9
9
|
import { useLocation as f, useNavigate as p } from "react-router";
|
|
10
10
|
//#region src/chrome/ProductSideNav.tsx
|
|
11
11
|
function m({ logo: m, appName: h, groupOrder: g, groupLabels: _, mobileActions: v, customHeader: y, homeAriaLabel: b, collapseLabel: x }) {
|
|
12
|
-
let S =
|
|
13
|
-
T(
|
|
12
|
+
let S = e(), C = b ?? S("nav.goToDashboard", "Go to dashboard"), w = x ?? S("nav.collapse", "Collapse"), T = p(), E = f(), { sidebarCollapsed: D, toggleSidebar: O } = t(), k = r(), { items: A, persona: j } = i(), M = j?.simulation ?? null, N = j?.activeSurface ?? null, P = (e) => {
|
|
13
|
+
T(n(e, k));
|
|
14
14
|
}, F = () => {
|
|
15
|
-
T(
|
|
15
|
+
T(n("/", k));
|
|
16
16
|
}, I = /* @__PURE__ */ d("div", {
|
|
17
17
|
className: "flex items-center gap-icon-gap cursor-pointer",
|
|
18
18
|
onClick: F,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProfileSwitcher.d.ts","sourceRoot":"","sources":["../../src/chrome/ProfileSwitcher.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ProfileSwitcher.d.ts","sourceRoot":"","sources":["../../src/chrome/ProfileSwitcher.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAKhC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,gDAAgD;IAChD,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,qCAAqC;IACrC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,oCAAoC;IACpC,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,wBAAwB;IACxB,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,wBAAwB;IACxB,eAAe,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CA8SpD,CAAC"}
|