@burdenoff/fe-libs 2026.1018.1 → 2026.1019.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.
- package/dist/chrome/AccountSwitcher.js +90 -89
- package/dist/chrome/Breadcrumbs.js +1 -1
- package/dist/chrome/CommandPalette.js +91 -90
- package/dist/chrome/Footer.js +31 -8
- package/dist/chrome/GlobalSearch.js +78 -77
- package/dist/chrome/HeaderBar.js +1 -1
- package/dist/chrome/HeaderThemeSwitcher.js +48 -47
- package/dist/chrome/LanguagePickerSheet.js +23 -22
- package/dist/chrome/NavCustomizeDialog.d.ts +0 -14
- package/dist/chrome/NavCustomizeDialog.js +114 -122
- package/dist/chrome/PanelTabs.js +45 -41
- package/dist/chrome/PersonaSurfaceControls.d.ts +0 -17
- package/dist/chrome/PersonaSurfaceControls.js +115 -118
- package/dist/chrome/PluginSettingsPage.js +29 -28
- package/dist/chrome/PluginWidgetGrid.js +19 -18
- package/dist/chrome/ProductPickerSheet.js +44 -47
- package/dist/chrome/ProductSwitcher.js +2 -6
- package/dist/chrome/ProfileSwitcher.js +6 -10
- package/dist/chrome/ShortcutHelpDialog.js +60 -65
- package/dist/chrome/SideNavigation.js +2 -2
- package/dist/chrome/Sidebar.js +44 -43
- package/dist/chrome/ThemePreferences.js +289 -267
- package/dist/chrome/contextSwitcher/EmptyState.js +31 -27
- package/dist/chrome/contextSwitcher/OrganizationList.js +40 -30
- package/dist/chrome/contextSwitcher/ProjectList.js +48 -44
- package/dist/chrome/contextSwitcher/SearchInput.js +44 -40
- package/dist/chrome/contextSwitcher/TriggerButton.js +2 -2
- package/dist/chrome/contextSwitcher/WorkspaceList.js +36 -32
- package/dist/chrome/globalSearch/AdvancedFiltersPanel.js +128 -126
- package/dist/chrome/globalSearch/ResultsList.js +25 -27
- package/dist/chrome/globalSearch/SearchInput.js +16 -14
- package/dist/chrome/notificationCenter/NotificationCardItem.js +58 -47
- package/dist/chrome/notificationCenter/NotificationFilters.js +76 -62
- package/dist/chrome/notificationCenter/NotificationFooter.js +21 -21
- package/dist/chrome/notificationCenter/NotificationHeader.js +67 -63
- package/dist/chrome/notificationCenter/NotificationList.js +75 -71
- package/dist/chrome/notificationCenter/NotificationPanel.js +37 -33
- package/dist/chrome/notificationCenter/PushOptInToggle.js +33 -32
- package/dist/chrome/notificationCenter/constants.d.ts +6 -1
- package/dist/chrome/notificationCenter/constants.js +12 -11
- package/dist/chrome/useThemeOptionLabels.d.ts +33 -0
- package/dist/chrome/useThemeOptionLabels.js +39 -0
- package/dist/shared/assistant/ui/AssistantMarkdownRenderer.d.ts +6 -6
- package/dist/shared/assistant/ui/AssistantMarkdownRenderer.js +86 -85
- package/dist/shared/assistant/ui/AssistantMessageItem.js +101 -96
- package/dist/shared/assistant/ui/WorkflowAssistantPanel.js +152 -140
- package/dist/shared/events/sinks/RybbitSink.js +2 -2
- package/dist/shared/providers/shell/interpolateShellLabel.d.ts +3 -0
- package/dist/shared/providers/shell/interpolateShellLabel.js +11 -0
- package/dist/shared/providers/shell/useAssistantShellLabels.d.ts +45 -0
- package/dist/shared/providers/shell/useAssistantShellLabels.js +54 -0
- package/dist/shared/tours/TourPlayer.js +33 -32
- package/dist/shared/tours/TourTooltip.js +108 -109
- package/dist/shared/tours/tourTrigger/MobileTourSheet.js +98 -85
- package/dist/shared/tours/tourTrigger/TourListItemDesktop.js +20 -18
- package/dist/shared/tours/tourTrigger/TourListItemMobile.js +23 -25
- package/package.json +2 -2
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { useShellLabel as e } from "./useShellLabel.js";
|
|
2
|
+
//#region src/shared/providers/shell/useAssistantShellLabels.ts
|
|
3
|
+
function t() {
|
|
4
|
+
let t = e();
|
|
5
|
+
return {
|
|
6
|
+
title: t("workflowAssistant.title", "AI assistant"),
|
|
7
|
+
savedPending: t("workflowAssistant.savedPending", "A saved turn is pending. Recover it to check the answer."),
|
|
8
|
+
conversationUnavailable: t("workflowAssistant.conversationUnavailable", "Your conversation is unavailable. Reload it before sending another question."),
|
|
9
|
+
historyUnavailable: t("workflowAssistant.historyUnavailable", "Conversation history is unavailable. Try loading it again."),
|
|
10
|
+
olderUnavailable: t("workflowAssistant.olderUnavailable", "Older messages are unavailable. Try loading them again."),
|
|
11
|
+
audioUnavailable: t("workflowAssistant.audioUnavailable", "Audio playback is unavailable. You can read the answer above."),
|
|
12
|
+
unknownTurn: t("workflowAssistant.unknownTurn", "This turn could not be confirmed. It will not be generated again automatically."),
|
|
13
|
+
cancelledTurn: t("workflowAssistant.cancelledTurn", "This turn was cancelled."),
|
|
14
|
+
failedTurn: t("workflowAssistant.failedTurn", "The assistant could not complete this turn."),
|
|
15
|
+
answerPending: t("workflowAssistant.answerPending", "Your answer is still pending. Recover this turn to check it again."),
|
|
16
|
+
admissionRefused: t("workflowAssistant.admissionRefused", "The assistant could not accept this question. Check your access, available quota or assistant configuration."),
|
|
17
|
+
interrupted: t("workflowAssistant.interrupted", "The connection was interrupted. Recover this turn using the same request."),
|
|
18
|
+
cancelUnconfirmed: t("workflowAssistant.cancelUnconfirmed", "Cancellation could not be confirmed. Recover the saved turn to check its result."),
|
|
19
|
+
newChat: t("workflowAssistant.newChat", "New chat"),
|
|
20
|
+
savedConversations: t("workflowAssistant.savedConversations", "Saved conversations"),
|
|
21
|
+
savedAssistantConversations: t("workflowAssistant.savedAssistantConversations", "Saved assistant conversations"),
|
|
22
|
+
noSavedConversations: t("workflowAssistant.noSavedConversations", "No saved conversations."),
|
|
23
|
+
loadOlderConversations: t("workflowAssistant.loadOlderConversations", "Load older conversations"),
|
|
24
|
+
assistantConversation: t("workflowAssistant.assistantConversation", "Assistant conversation"),
|
|
25
|
+
loadingYourConversation: t("workflowAssistant.loadingYourConversation", "Loading your conversation…"),
|
|
26
|
+
emptyHint: t("workflowAssistant.emptyHint", "Ask a question about the available content."),
|
|
27
|
+
loadOlderMessages: t("workflowAssistant.loadOlderMessages", "Load older messages"),
|
|
28
|
+
you: t("workflowAssistant.you", "You"),
|
|
29
|
+
generatingAnswer: t("workflowAssistant.generatingAnswer", "Generating answer…"),
|
|
30
|
+
readAnswerAloud: t("workflowAssistant.readAnswerAloud", "Read answer aloud"),
|
|
31
|
+
answerSources: t("workflowAssistant.answerSources", "Answer sources"),
|
|
32
|
+
sourceReference: (e) => t("workflowAssistant.sourceReference", "[{{reference}}] Source {{documentId}}", e),
|
|
33
|
+
preparingYourAnswer: t("workflowAssistant.preparingYourAnswer", "Preparing your answer…"),
|
|
34
|
+
dictationUnavailable: t("workflowAssistant.dictationUnavailable", "Dictation is unavailable. You can type your question."),
|
|
35
|
+
question: t("workflowAssistant.question", "Question"),
|
|
36
|
+
askAQuestion: t("workflowAssistant.askAQuestion", "Ask a question…"),
|
|
37
|
+
stopDictation: t("workflowAssistant.stopDictation", "Stop dictation"),
|
|
38
|
+
dictateQuestion: t("workflowAssistant.dictateQuestion", "Dictate question"),
|
|
39
|
+
stopAudio: t("workflowAssistant.stopAudio", "Stop audio"),
|
|
40
|
+
reloadConversation: t("workflowAssistant.reloadConversation", "Reload conversation"),
|
|
41
|
+
recoverTurn: t("workflowAssistant.recoverTurn", "Recover turn"),
|
|
42
|
+
cancelTurn: t("workflowAssistant.cancelTurn", "Cancel turn"),
|
|
43
|
+
ask: t("workflowAssistant.ask", "Ask")
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function n() {
|
|
47
|
+
let t = e();
|
|
48
|
+
return {
|
|
49
|
+
tokens: t("assistantChrome.tokens", "tokens"),
|
|
50
|
+
code: t("markdownEditor.placeholder.code", "code")
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
//#endregion
|
|
54
|
+
export { n as useAssistantChromeLabels, t as useWorkflowAssistantLabels };
|
|
@@ -1,58 +1,59 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { useShellLabel as e } from "../providers/shell/useShellLabel.js";
|
|
2
|
+
import { useTourPlayerContext as t } from "./TourPlayerProvider.js";
|
|
3
|
+
import { useCallback as n, useEffect as r } from "react";
|
|
4
|
+
import { jsx as i } from "react/jsx-runtime";
|
|
4
5
|
//#region src/shared/tours/TourPlayer.tsx
|
|
5
|
-
function
|
|
6
|
-
let { startTour: s, isPlaying: c, isCompleted: l, isSkipped: u, currentTour: d } =
|
|
7
|
-
return
|
|
8
|
-
if (
|
|
9
|
-
let
|
|
10
|
-
s(
|
|
6
|
+
function a({ tour: e, autoStart: n = !1, autoStartDelay: i = 0, onComplete: a, onSkip: o }) {
|
|
7
|
+
let { startTour: s, isPlaying: c, isCompleted: l, isSkipped: u, currentTour: d } = t();
|
|
8
|
+
return r(() => {
|
|
9
|
+
if (e && n && !c) {
|
|
10
|
+
let t = setTimeout(() => {
|
|
11
|
+
s(e);
|
|
11
12
|
}, i);
|
|
12
|
-
return () => clearTimeout(
|
|
13
|
+
return () => clearTimeout(t);
|
|
13
14
|
}
|
|
14
15
|
}, [
|
|
15
|
-
|
|
16
|
-
|
|
16
|
+
e,
|
|
17
|
+
n,
|
|
17
18
|
i,
|
|
18
19
|
s,
|
|
19
20
|
c
|
|
20
|
-
]),
|
|
21
|
-
l && d?.id ===
|
|
21
|
+
]), r(() => {
|
|
22
|
+
l && d?.id === e?.id && a?.();
|
|
22
23
|
}, [
|
|
23
24
|
l,
|
|
24
25
|
d,
|
|
25
|
-
|
|
26
|
+
e,
|
|
26
27
|
a
|
|
27
|
-
]),
|
|
28
|
-
u && d?.id ===
|
|
28
|
+
]), r(() => {
|
|
29
|
+
u && d?.id === e?.id && o?.();
|
|
29
30
|
}, [
|
|
30
31
|
u,
|
|
31
32
|
d,
|
|
32
|
-
|
|
33
|
+
e,
|
|
33
34
|
o
|
|
34
35
|
]), null;
|
|
35
36
|
}
|
|
36
|
-
function
|
|
37
|
-
let { startTour:
|
|
38
|
-
return
|
|
39
|
-
r && i(),
|
|
37
|
+
function o() {
|
|
38
|
+
let { startTour: e, isPlaying: r, stopTour: i } = t();
|
|
39
|
+
return n((t) => {
|
|
40
|
+
r && i(), e(t);
|
|
40
41
|
}, [
|
|
41
|
-
|
|
42
|
+
e,
|
|
42
43
|
i,
|
|
43
44
|
r
|
|
44
45
|
]);
|
|
45
46
|
}
|
|
46
|
-
function
|
|
47
|
-
let
|
|
48
|
-
return /* @__PURE__ */
|
|
47
|
+
function s({ tour: t, children: n, className: r, style: a }) {
|
|
48
|
+
let s = e(), c = o();
|
|
49
|
+
return /* @__PURE__ */ i("button", {
|
|
49
50
|
type: "button",
|
|
50
|
-
onClick: () =>
|
|
51
|
-
className:
|
|
52
|
-
style:
|
|
53
|
-
"aria-label":
|
|
54
|
-
children:
|
|
51
|
+
onClick: () => c(t),
|
|
52
|
+
className: r,
|
|
53
|
+
style: a,
|
|
54
|
+
"aria-label": s("tours.startNamed", "Start tour: {{name}}", { name: t.name }),
|
|
55
|
+
children: n
|
|
55
56
|
});
|
|
56
57
|
}
|
|
57
58
|
//#endregion
|
|
58
|
-
export {
|
|
59
|
+
export { a as TourPlayer, s as TourTriggerButton, o as usePlayTour };
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { useShellLabel as e } from "../providers/shell/useShellLabel.js";
|
|
2
|
+
import { memo as t, useEffect as n, useLayoutEffect as r, useMemo as i, useRef as a, useState as o } from "react";
|
|
3
|
+
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
3
4
|
//#region src/shared/tours/TourTooltip.tsx
|
|
4
|
-
var
|
|
5
|
-
function
|
|
5
|
+
var l = 320, u = 16, d = 10, f = 18;
|
|
6
|
+
function p() {
|
|
6
7
|
return typeof window > "u" ? {
|
|
7
8
|
vw: 1024,
|
|
8
9
|
vh: 768
|
|
@@ -11,38 +12,38 @@ function f() {
|
|
|
11
12
|
vh: window.innerHeight
|
|
12
13
|
};
|
|
13
14
|
}
|
|
14
|
-
function
|
|
15
|
-
let { vw: r, vh: i } =
|
|
15
|
+
function m(e, t, n) {
|
|
16
|
+
let { vw: r, vh: i } = p(), { width: a, height: o } = n, s = Math.max(u, r - a - u), c = Math.max(u, i - o - u), l = (e) => Math.min(Math.max(e, u), s), m = (e) => Math.min(Math.max(e, u), c);
|
|
16
17
|
if (!e) return {
|
|
17
18
|
top: m((i - o) / 2),
|
|
18
|
-
left:
|
|
19
|
+
left: l((r - a) / 2),
|
|
19
20
|
arrowPosition: "none",
|
|
20
21
|
arrowOffset: 0
|
|
21
22
|
};
|
|
22
|
-
let h = e.top, g = i - e.bottom, _ = e.left, v = r - e.right, y = o +
|
|
23
|
+
let h = e.top, g = i - e.bottom, _ = e.left, v = r - e.right, y = o + d + u, b = a + d + u, x = g >= y, S = h >= y, C = v >= b, w = _ >= b, T = x ? "BOTTOM" : S ? "TOP" : C ? "RIGHT" : w ? "LEFT" : "BOTTOM", E = t;
|
|
23
24
|
t === "AUTO" || t === "CENTER" ? E = T : t === "BOTTOM" && x || t === "TOP" && S || t === "RIGHT" && C || t === "LEFT" && w || (E = T);
|
|
24
25
|
let D = e.left + e.width / 2, O = e.top + e.height / 2, k, A, j;
|
|
25
26
|
switch (E) {
|
|
26
27
|
case "TOP":
|
|
27
|
-
k = e.top - o -
|
|
28
|
+
k = e.top - o - d - u, A = D - a / 2, j = "bottom";
|
|
28
29
|
break;
|
|
29
30
|
case "LEFT":
|
|
30
|
-
k = O - o / 2, A = e.left - a -
|
|
31
|
+
k = O - o / 2, A = e.left - a - d - u, j = "right";
|
|
31
32
|
break;
|
|
32
33
|
case "RIGHT":
|
|
33
|
-
k = O - o / 2, A = e.right +
|
|
34
|
+
k = O - o / 2, A = e.right + d + u, j = "left";
|
|
34
35
|
break;
|
|
35
36
|
default:
|
|
36
|
-
k = e.bottom +
|
|
37
|
+
k = e.bottom + d + u, A = D - a / 2, j = "top";
|
|
37
38
|
break;
|
|
38
39
|
}
|
|
39
|
-
let M =
|
|
40
|
+
let M = l(A), N = m(k), P = 0;
|
|
40
41
|
if (j === "top" || j === "bottom") {
|
|
41
42
|
let e = D - M;
|
|
42
|
-
e < 0 || e > a ? j = "none" : P = Math.min(Math.max(e,
|
|
43
|
+
e < 0 || e > a ? j = "none" : P = Math.min(Math.max(e, f), a - f);
|
|
43
44
|
} else {
|
|
44
45
|
let e = O - N;
|
|
45
|
-
e < 0 || e > o ? j = "none" : P = Math.min(Math.max(e,
|
|
46
|
+
e < 0 || e > o ? j = "none" : P = Math.min(Math.max(e, f), o - f);
|
|
46
47
|
}
|
|
47
48
|
return {
|
|
48
49
|
top: N,
|
|
@@ -51,79 +52,79 @@ function p(e, t, n) {
|
|
|
51
52
|
arrowOffset: P
|
|
52
53
|
};
|
|
53
54
|
}
|
|
54
|
-
var
|
|
55
|
-
let [
|
|
56
|
-
width:
|
|
55
|
+
var h = t(function({ step: t, stepIndex: f, totalSteps: h, onNext: g, onPrevious: _, onSkip: v, onComplete: y, canGoNext: b, canGoPrevious: x, isLastStep: S, placement: C, targetRect: w }) {
|
|
56
|
+
let T = e(), [E, D] = o(!1), O = a(null), [k, A] = o(p), [j, M] = o({
|
|
57
|
+
width: l,
|
|
57
58
|
height: 220
|
|
58
|
-
}),
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
let e = setTimeout(() =>
|
|
59
|
+
}), N = Math.min(l, k.vw - 2 * u), P = k.vh - 2 * u, F = Math.min(j.height, P);
|
|
60
|
+
n(() => {
|
|
61
|
+
D(!1);
|
|
62
|
+
let e = setTimeout(() => D(!0), 50);
|
|
62
63
|
return () => clearTimeout(e);
|
|
63
|
-
}, [
|
|
64
|
+
}, [t.id]), r(() => {
|
|
64
65
|
let e = () => {
|
|
65
|
-
|
|
66
|
-
let e =
|
|
66
|
+
A(p());
|
|
67
|
+
let e = O.current;
|
|
67
68
|
if (!e) return;
|
|
68
69
|
let t = e.getBoundingClientRect();
|
|
69
|
-
|
|
70
|
+
M((e) => Math.abs(e.width - t.width) > 1 || Math.abs(e.height - t.height) > 1 ? {
|
|
70
71
|
width: t.width,
|
|
71
72
|
height: t.height
|
|
72
73
|
} : e);
|
|
73
74
|
};
|
|
74
75
|
return e(), window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
|
|
75
76
|
}, [
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
t.id,
|
|
78
|
+
t.title,
|
|
79
|
+
t.content,
|
|
80
|
+
N
|
|
80
81
|
]);
|
|
81
|
-
let
|
|
82
|
-
width:
|
|
83
|
-
height:
|
|
82
|
+
let I = i(() => m(w, C, {
|
|
83
|
+
width: N,
|
|
84
|
+
height: F
|
|
84
85
|
}), [
|
|
86
|
+
w,
|
|
85
87
|
C,
|
|
86
|
-
S,
|
|
87
|
-
j,
|
|
88
88
|
N,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
F,
|
|
90
|
+
k.vw,
|
|
91
|
+
k.vh
|
|
92
|
+
]), L = t.media?.filter((e) => e.position === "HEADER") ?? [], R = t.media?.filter((e) => e.position === "INLINE" || e.position === "BODY") ?? [];
|
|
93
|
+
return /* @__PURE__ */ c("div", {
|
|
93
94
|
className: "tour-tooltip",
|
|
94
95
|
style: {
|
|
95
96
|
position: "fixed",
|
|
96
|
-
top:
|
|
97
|
-
left:
|
|
98
|
-
width:
|
|
97
|
+
top: I.top,
|
|
98
|
+
left: I.left,
|
|
99
|
+
width: N,
|
|
99
100
|
zIndex: 1e4,
|
|
100
|
-
opacity: +!!
|
|
101
|
-
transform:
|
|
101
|
+
opacity: +!!E,
|
|
102
|
+
transform: E ? "translateY(0)" : "translateY(10px)",
|
|
102
103
|
transition: "opacity 0.2s ease-out, transform 0.2s ease-out"
|
|
103
104
|
},
|
|
104
105
|
role: "dialog",
|
|
105
|
-
"aria-labelledby": `tour-step-title-${
|
|
106
|
-
"aria-describedby": `tour-step-content-${
|
|
107
|
-
children: [/* @__PURE__ */
|
|
108
|
-
ref:
|
|
106
|
+
"aria-labelledby": `tour-step-title-${t.id}`,
|
|
107
|
+
"aria-describedby": `tour-step-content-${t.id}`,
|
|
108
|
+
children: [/* @__PURE__ */ c("div", {
|
|
109
|
+
ref: O,
|
|
109
110
|
style: {
|
|
110
111
|
display: "flex",
|
|
111
112
|
flexDirection: "column",
|
|
112
|
-
maxHeight:
|
|
113
|
+
maxHeight: P,
|
|
113
114
|
backgroundColor: "var(--color-bg-surface)",
|
|
114
115
|
borderRadius: 12,
|
|
115
116
|
boxShadow: "0 10px 40px rgba(0, 0, 0, 0.2)",
|
|
116
117
|
overflow: "hidden"
|
|
117
118
|
},
|
|
118
119
|
children: [
|
|
119
|
-
|
|
120
|
+
L.length > 0 && /* @__PURE__ */ s("div", {
|
|
120
121
|
style: {
|
|
121
122
|
width: "100%",
|
|
122
123
|
maxHeight: 160,
|
|
123
124
|
overflow: "hidden",
|
|
124
125
|
flexShrink: 0
|
|
125
126
|
},
|
|
126
|
-
children:
|
|
127
|
+
children: L.map((e) => e.media.type === "IMAGE" ? /* @__PURE__ */ s("img", {
|
|
127
128
|
src: e.media.cdnUrl,
|
|
128
129
|
alt: e.media.altText || e.media.name,
|
|
129
130
|
style: {
|
|
@@ -131,7 +132,7 @@ var m = e(function({ step: e, stepIndex: d, totalSteps: m, onNext: h, onPrevious
|
|
|
131
132
|
height: "auto",
|
|
132
133
|
display: "block"
|
|
133
134
|
}
|
|
134
|
-
}, e.id) : e.media.type === "VIDEO" ? /* @__PURE__ */
|
|
135
|
+
}, e.id) : e.media.type === "VIDEO" ? /* @__PURE__ */ s("video", {
|
|
135
136
|
src: e.media.cdnUrl,
|
|
136
137
|
controls: !0,
|
|
137
138
|
style: {
|
|
@@ -140,7 +141,7 @@ var m = e(function({ step: e, stepIndex: d, totalSteps: m, onNext: h, onPrevious
|
|
|
140
141
|
}
|
|
141
142
|
}, e.id) : null)
|
|
142
143
|
}),
|
|
143
|
-
/* @__PURE__ */
|
|
144
|
+
/* @__PURE__ */ c("div", {
|
|
144
145
|
style: {
|
|
145
146
|
flex: "1 1 auto",
|
|
146
147
|
minHeight: 0,
|
|
@@ -148,7 +149,7 @@ var m = e(function({ step: e, stepIndex: d, totalSteps: m, onNext: h, onPrevious
|
|
|
148
149
|
padding: 20
|
|
149
150
|
},
|
|
150
151
|
children: [
|
|
151
|
-
/* @__PURE__ */
|
|
152
|
+
/* @__PURE__ */ c("div", {
|
|
152
153
|
style: {
|
|
153
154
|
display: "flex",
|
|
154
155
|
alignItems: "center",
|
|
@@ -163,30 +164,28 @@ var m = e(function({ step: e, stepIndex: d, totalSteps: m, onNext: h, onPrevious
|
|
|
163
164
|
fontWeight: 500,
|
|
164
165
|
whiteSpace: "nowrap"
|
|
165
166
|
},
|
|
166
|
-
children:
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
]
|
|
172
|
-
}), /* @__PURE__ */ o("div", {
|
|
167
|
+
children: T("tours.stepProgress", "Step {{step}} of {{total}}", {
|
|
168
|
+
step: f + 1,
|
|
169
|
+
total: h
|
|
170
|
+
})
|
|
171
|
+
}), /* @__PURE__ */ s("div", {
|
|
173
172
|
style: {
|
|
174
173
|
display: "flex",
|
|
175
174
|
gap: 4,
|
|
176
175
|
flexWrap: "wrap",
|
|
177
176
|
justifyContent: "flex-end"
|
|
178
177
|
},
|
|
179
|
-
children: Array.from({ length:
|
|
178
|
+
children: Array.from({ length: h }).map((e, t) => /* @__PURE__ */ s("div", { style: {
|
|
180
179
|
width: 8,
|
|
181
180
|
height: 8,
|
|
182
181
|
borderRadius: "50%",
|
|
183
|
-
backgroundColor: t <=
|
|
182
|
+
backgroundColor: t <= f ? "var(--color-action-primary-bg)" : "var(--color-border-default)",
|
|
184
183
|
transition: "background-color 0.2s"
|
|
185
184
|
} }, t))
|
|
186
185
|
})]
|
|
187
186
|
}),
|
|
188
|
-
/* @__PURE__ */
|
|
189
|
-
id: `tour-step-title-${
|
|
187
|
+
/* @__PURE__ */ s("h3", {
|
|
188
|
+
id: `tour-step-title-${t.id}`,
|
|
190
189
|
style: {
|
|
191
190
|
fontSize: 18,
|
|
192
191
|
fontWeight: 600,
|
|
@@ -194,21 +193,21 @@ var m = e(function({ step: e, stepIndex: d, totalSteps: m, onNext: h, onPrevious
|
|
|
194
193
|
margin: "0 0 8px 0",
|
|
195
194
|
lineHeight: 1.3
|
|
196
195
|
},
|
|
197
|
-
children:
|
|
196
|
+
children: t.title
|
|
198
197
|
}),
|
|
199
|
-
/* @__PURE__ */
|
|
200
|
-
id: `tour-step-content-${
|
|
198
|
+
/* @__PURE__ */ s("p", {
|
|
199
|
+
id: `tour-step-content-${t.id}`,
|
|
201
200
|
style: {
|
|
202
201
|
fontSize: 14,
|
|
203
202
|
color: "var(--color-text-secondary)",
|
|
204
203
|
margin: 0,
|
|
205
204
|
lineHeight: 1.6
|
|
206
205
|
},
|
|
207
|
-
children:
|
|
206
|
+
children: t.content
|
|
208
207
|
}),
|
|
209
|
-
|
|
208
|
+
R.length > 0 && /* @__PURE__ */ s("div", {
|
|
210
209
|
style: { marginTop: 12 },
|
|
211
|
-
children:
|
|
210
|
+
children: R.map((e) => e.media.type === "IMAGE" ? /* @__PURE__ */ s("img", {
|
|
212
211
|
src: e.media.cdnUrl,
|
|
213
212
|
alt: e.media.altText || e.media.name,
|
|
214
213
|
style: {
|
|
@@ -220,7 +219,7 @@ var m = e(function({ step: e, stepIndex: d, totalSteps: m, onNext: h, onPrevious
|
|
|
220
219
|
})
|
|
221
220
|
]
|
|
222
221
|
}),
|
|
223
|
-
/* @__PURE__ */
|
|
222
|
+
/* @__PURE__ */ c("div", {
|
|
224
223
|
style: {
|
|
225
224
|
display: "flex",
|
|
226
225
|
alignItems: "center",
|
|
@@ -231,9 +230,9 @@ var m = e(function({ step: e, stepIndex: d, totalSteps: m, onNext: h, onPrevious
|
|
|
231
230
|
flexShrink: 0,
|
|
232
231
|
gap: 8
|
|
233
232
|
},
|
|
234
|
-
children: [/* @__PURE__ */
|
|
233
|
+
children: [/* @__PURE__ */ s("button", {
|
|
235
234
|
type: "button",
|
|
236
|
-
onClick:
|
|
235
|
+
onClick: v,
|
|
237
236
|
style: {
|
|
238
237
|
padding: "8px 12px",
|
|
239
238
|
fontSize: 14,
|
|
@@ -247,15 +246,15 @@ var m = e(function({ step: e, stepIndex: d, totalSteps: m, onNext: h, onPrevious
|
|
|
247
246
|
},
|
|
248
247
|
onMouseEnter: (e) => e.currentTarget.style.color = "var(--color-text-primary)",
|
|
249
248
|
onMouseLeave: (e) => e.currentTarget.style.color = "var(--color-text-tertiary)",
|
|
250
|
-
children: "Skip tour"
|
|
251
|
-
}), /* @__PURE__ */
|
|
249
|
+
children: T("tours.skipTour", "Skip tour")
|
|
250
|
+
}), /* @__PURE__ */ c("div", {
|
|
252
251
|
style: {
|
|
253
252
|
display: "flex",
|
|
254
253
|
gap: 8
|
|
255
254
|
},
|
|
256
|
-
children: [
|
|
255
|
+
children: [x && /* @__PURE__ */ s("button", {
|
|
257
256
|
type: "button",
|
|
258
|
-
onClick:
|
|
257
|
+
onClick: _,
|
|
259
258
|
style: {
|
|
260
259
|
padding: "8px 16px",
|
|
261
260
|
fontSize: 14,
|
|
@@ -273,72 +272,72 @@ var m = e(function({ step: e, stepIndex: d, totalSteps: m, onNext: h, onPrevious
|
|
|
273
272
|
onMouseLeave: (e) => {
|
|
274
273
|
e.currentTarget.style.backgroundColor = "var(--color-bg-surface)";
|
|
275
274
|
},
|
|
276
|
-
children: "Previous"
|
|
277
|
-
}), /* @__PURE__ */
|
|
275
|
+
children: T("common.previous", "Previous")
|
|
276
|
+
}), /* @__PURE__ */ s("button", {
|
|
278
277
|
type: "button",
|
|
279
|
-
onClick:
|
|
280
|
-
disabled: !
|
|
278
|
+
onClick: S ? y : g,
|
|
279
|
+
disabled: !b,
|
|
281
280
|
style: {
|
|
282
281
|
padding: "8px 16px",
|
|
283
282
|
fontSize: 14,
|
|
284
283
|
fontWeight: 500,
|
|
285
284
|
color: "var(--color-action-primary-text)",
|
|
286
|
-
backgroundColor:
|
|
285
|
+
backgroundColor: b ? "var(--color-action-primary-bg)" : "var(--color-action-primary-bgDisabled)",
|
|
287
286
|
border: "none",
|
|
288
287
|
borderRadius: 6,
|
|
289
|
-
cursor:
|
|
288
|
+
cursor: b ? "pointer" : "not-allowed",
|
|
290
289
|
transition: "background-color 0.2s",
|
|
291
290
|
whiteSpace: "nowrap"
|
|
292
291
|
},
|
|
293
292
|
onMouseEnter: (e) => {
|
|
294
|
-
|
|
293
|
+
b && (e.currentTarget.style.backgroundColor = "var(--color-action-primary-bgHover)");
|
|
295
294
|
},
|
|
296
295
|
onMouseLeave: (e) => {
|
|
297
|
-
e.currentTarget.style.backgroundColor =
|
|
296
|
+
e.currentTarget.style.backgroundColor = b ? "var(--color-action-primary-bg)" : "var(--color-action-primary-bgDisabled)";
|
|
298
297
|
},
|
|
299
|
-
children:
|
|
298
|
+
children: S ? T("tourPreview.finish", "Finish") : T("common.next", "Next")
|
|
300
299
|
})]
|
|
301
300
|
})]
|
|
302
301
|
})
|
|
303
302
|
]
|
|
304
|
-
}),
|
|
303
|
+
}), I.arrowPosition !== "none" && /* @__PURE__ */ s("div", { style: {
|
|
305
304
|
position: "absolute",
|
|
306
305
|
width: 0,
|
|
307
306
|
height: 0,
|
|
308
|
-
...
|
|
307
|
+
...I.arrowPosition === "top" && {
|
|
309
308
|
top: -10,
|
|
310
|
-
left:
|
|
309
|
+
left: I.arrowOffset,
|
|
311
310
|
marginLeft: -10,
|
|
312
|
-
borderLeft: `${
|
|
313
|
-
borderRight: `${
|
|
314
|
-
borderBottom: `${
|
|
311
|
+
borderLeft: `${d}px solid transparent`,
|
|
312
|
+
borderRight: `${d}px solid transparent`,
|
|
313
|
+
borderBottom: `${d}px solid var(--color-bg-surface)`
|
|
315
314
|
},
|
|
316
|
-
...
|
|
315
|
+
...I.arrowPosition === "bottom" && {
|
|
317
316
|
bottom: -10,
|
|
318
|
-
left:
|
|
317
|
+
left: I.arrowOffset,
|
|
319
318
|
marginLeft: -10,
|
|
320
|
-
borderLeft: `${
|
|
321
|
-
borderRight: `${
|
|
322
|
-
borderTop: `${
|
|
319
|
+
borderLeft: `${d}px solid transparent`,
|
|
320
|
+
borderRight: `${d}px solid transparent`,
|
|
321
|
+
borderTop: `${d}px solid var(--color-bg-surface)`
|
|
323
322
|
},
|
|
324
|
-
...
|
|
323
|
+
...I.arrowPosition === "left" && {
|
|
325
324
|
left: -10,
|
|
326
|
-
top:
|
|
325
|
+
top: I.arrowOffset,
|
|
327
326
|
marginTop: -10,
|
|
328
|
-
borderTop: `${
|
|
329
|
-
borderBottom: `${
|
|
330
|
-
borderRight: `${
|
|
327
|
+
borderTop: `${d}px solid transparent`,
|
|
328
|
+
borderBottom: `${d}px solid transparent`,
|
|
329
|
+
borderRight: `${d}px solid var(--color-bg-surface)`
|
|
331
330
|
},
|
|
332
|
-
...
|
|
331
|
+
...I.arrowPosition === "right" && {
|
|
333
332
|
right: -10,
|
|
334
|
-
top:
|
|
333
|
+
top: I.arrowOffset,
|
|
335
334
|
marginTop: -10,
|
|
336
|
-
borderTop: `${
|
|
337
|
-
borderBottom: `${
|
|
338
|
-
borderLeft: `${
|
|
335
|
+
borderTop: `${d}px solid transparent`,
|
|
336
|
+
borderBottom: `${d}px solid transparent`,
|
|
337
|
+
borderLeft: `${d}px solid var(--color-bg-surface)`
|
|
339
338
|
}
|
|
340
339
|
} })]
|
|
341
340
|
});
|
|
342
341
|
});
|
|
343
342
|
//#endregion
|
|
344
|
-
export {
|
|
343
|
+
export { h as TourTooltip };
|