@burdenoff/fe-libs 2026.527.3 → 2026.527.4

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 (94) hide show
  1. package/dist/chrome/ContextSwitcher.js +90 -339
  2. package/dist/chrome/GlobalSearch.js +72 -456
  3. package/dist/chrome/NotificationCenter.js +69 -703
  4. package/dist/chrome/SideNavigation.js +73 -241
  5. package/dist/chrome/contextSwitcher/EmptyState.js +32 -0
  6. package/dist/chrome/contextSwitcher/OrganizationList.js +34 -0
  7. package/dist/chrome/contextSwitcher/ProjectList.js +34 -0
  8. package/dist/chrome/contextSwitcher/SearchInput.js +50 -0
  9. package/dist/chrome/contextSwitcher/TabButton.js +9 -0
  10. package/dist/chrome/contextSwitcher/TriggerButton.js +38 -0
  11. package/dist/chrome/contextSwitcher/WorkspaceList.js +34 -0
  12. package/dist/chrome/contextSwitcher/icons.js +58 -0
  13. package/dist/chrome/contextSwitcher/useIsMobile.js +11 -0
  14. package/dist/chrome/globalSearch/AdvancedFiltersPanel.js +253 -0
  15. package/dist/chrome/globalSearch/CategoryTabs.js +28 -0
  16. package/dist/chrome/globalSearch/ResultsList.js +58 -0
  17. package/dist/chrome/globalSearch/SearchInput.js +28 -0
  18. package/dist/chrome/globalSearch/SearchModeBar.js +36 -0
  19. package/dist/chrome/globalSearch/useAdvancedFilters.js +78 -0
  20. package/dist/chrome/globalSearch/utils.js +22 -0
  21. package/dist/chrome/notificationCenter/BellButton.js +27 -0
  22. package/dist/chrome/notificationCenter/NotificationCardItem.js +129 -0
  23. package/dist/chrome/notificationCenter/NotificationFilters.js +67 -0
  24. package/dist/chrome/notificationCenter/NotificationFooter.js +23 -0
  25. package/dist/chrome/notificationCenter/NotificationHeader.js +75 -0
  26. package/dist/chrome/notificationCenter/NotificationList.js +75 -0
  27. package/dist/chrome/notificationCenter/NotificationPanel.js +19 -0
  28. package/dist/chrome/notificationCenter/SkeletonCard.js +18 -0
  29. package/dist/chrome/notificationCenter/constants.js +93 -0
  30. package/dist/chrome/notificationCenter/gql.js +58 -0
  31. package/dist/chrome/notificationCenter/useNotificationCenter.js +149 -0
  32. package/dist/chrome/notificationCenter/usePanelChrome.js +36 -0
  33. package/dist/chrome/sideNavigation/CollapseToggle.js +29 -0
  34. package/dist/chrome/sideNavigation/MobileActionsBar.js +25 -0
  35. package/dist/chrome/sideNavigation/NavItemRenderer.js +79 -0
  36. package/dist/chrome/sideNavigation/SidebarHeader.js +29 -0
  37. package/dist/chrome/sideNavigation/helpers.js +19 -0
  38. package/dist/chrome/sideNavigation/useSideNavigationState.js +45 -0
  39. package/dist/shared/components/ContextConversationWidget.js +173 -767
  40. package/dist/shared/components/contextConversationWidget/Composer.js +66 -0
  41. package/dist/shared/components/contextConversationWidget/MessageItem.js +124 -0
  42. package/dist/shared/components/contextConversationWidget/MessageList.js +32 -0
  43. package/dist/shared/components/contextConversationWidget/NoWorkspaceCard.js +19 -0
  44. package/dist/shared/components/contextConversationWidget/PendingAttachmentsBar.js +28 -0
  45. package/dist/shared/components/contextConversationWidget/ReplyBanner.js +32 -0
  46. package/dist/shared/components/contextConversationWidget/WidgetHeader.js +70 -0
  47. package/dist/shared/components/contextConversationWidget/queries.js +197 -0
  48. package/dist/shared/components/contextConversationWidget/types.js +10 -0
  49. package/dist/shared/components/contextConversationWidget/useAttachmentUpload.js +57 -0
  50. package/dist/shared/components/contextConversationWidget/useConversationSubscriptions.js +26 -0
  51. package/dist/shared/components/contextConversationWidget/useMessageActions.js +34 -0
  52. package/dist/shared/components/contextConversationWidget/useSendMessage.js +45 -0
  53. package/dist/shared/components/contextConversationWidget/useWidgetMessages.js +44 -0
  54. package/dist/shared/components/contextConversationWidget/utils.js +56 -0
  55. package/dist/shared/pages/SearchPage.js +293 -1076
  56. package/dist/shared/pages/searchPage/ActiveFilterChips.js +176 -0
  57. package/dist/shared/pages/searchPage/FiltersPanel.js +329 -0
  58. package/dist/shared/pages/searchPage/ResultsList.js +119 -0
  59. package/dist/shared/pages/searchPage/ResultsStatus.js +32 -0
  60. package/dist/shared/pages/searchPage/SearchInput.js +31 -0
  61. package/dist/shared/pages/searchPage/SearchPagination.js +37 -0
  62. package/dist/shared/pages/searchPage/SearchToolbar.js +58 -0
  63. package/dist/shared/pages/searchPage/constants.js +155 -0
  64. package/dist/shared/pages/searchPage/utils.js +24 -0
  65. package/dist/shared/providers/shell/AuthProvider.js +130 -384
  66. package/dist/shared/providers/shell/authProvider/bridgeStateSync.js +34 -0
  67. package/dist/shared/providers/shell/authProvider/jwt.js +13 -0
  68. package/dist/shared/providers/shell/authProvider/ssoRelay.js +38 -0
  69. package/dist/shared/providers/shell/authProvider/useAuthActions.js +170 -0
  70. package/dist/shared/providers/shell/authProvider/useBridgeInitialization.js +86 -0
  71. package/dist/shared/providers/shell/authProvider/useRemoteSLO.js +32 -0
  72. package/dist/shared/providers/shell/authProvider/useStorageSync.js +35 -0
  73. package/dist/shared/providers/shell/authProvider/useTokenExpiryTimer.js +37 -0
  74. package/dist/shared/tours/TourTrigger.js +86 -262
  75. package/dist/shared/tours/ToursContext.js +108 -398
  76. package/dist/shared/tours/tourTrigger/DesktopTourDropdown.js +48 -0
  77. package/dist/shared/tours/tourTrigger/MobileTourSheet.js +68 -0
  78. package/dist/shared/tours/tourTrigger/TourListItemDesktop.js +36 -0
  79. package/dist/shared/tours/tourTrigger/TourListItemMobile.js +47 -0
  80. package/dist/shared/tours/tourTrigger/TourStatusChip.js +30 -0
  81. package/dist/shared/tours/tourTrigger/TourTriggerButton.js +22 -0
  82. package/dist/shared/tours/toursContext/errors.js +18 -0
  83. package/dist/shared/tours/toursContext/gql.js +152 -0
  84. package/dist/shared/tours/toursContext/route.js +20 -0
  85. package/dist/shared/tours/toursContext/session.js +19 -0
  86. package/dist/shared/tours/toursContext/useIdleReady.js +18 -0
  87. package/dist/shared/tours/toursContext/useTourMutations.js +118 -0
  88. package/dist/tag/TagsWidget.js +81 -226
  89. package/dist/tag/tagsWidget/AddTagTrigger.js +14 -0
  90. package/dist/tag/tagsWidget/TagBadgeList.js +17 -0
  91. package/dist/tag/tagsWidget/TagSearchPopover.js +80 -0
  92. package/dist/tag/tagsWidget/operations.js +64 -0
  93. package/dist/tag/tagsWidget/useVocabResolver.js +30 -0
  94. package/package.json +1 -1
@@ -2,59 +2,35 @@ import { useSafeShellUi as e } from "../providers/shell/ShellUiProvider.js";
2
2
  import { usePlayTour as t } from "./TourPlayer.js";
3
3
  import { getTourContextRank as n, isTourVisibleForContext as r, normalizeTourPath as i, resolveTourTargetPath as a } from "./routeCatalog.js";
4
4
  import { useSafeToursContext as o } from "./ToursContext.js";
5
- import { useEffect as s, useMemo as c, useRef as l, useState as u } from "react";
6
- import { ChevronRight as d, HelpCircle as f, Play as p, Sparkles as m, X as h } from "lucide-react";
7
- import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
8
- import { useInRouterContext as y, useLocation as b, useNavigate as x } from "react-router-dom";
5
+ import { TourTriggerButton as s } from "./tourTrigger/TourTriggerButton.js";
6
+ import { MobileTourSheet as c } from "./tourTrigger/MobileTourSheet.js";
7
+ import { DesktopTourDropdown as l } from "./tourTrigger/DesktopTourDropdown.js";
8
+ import { useEffect as u, useMemo as d, useRef as f, useState as p } from "react";
9
+ import { jsx as m, jsxs as h } from "react/jsx-runtime";
10
+ import { useInRouterContext as g, useLocation as _, useNavigate as v } from "react-router-dom";
9
11
  //#region src/shared/tours/TourTrigger.tsx
10
- var S = 5e3, C = 100, w = 150;
11
- function T(e, t) {
12
+ var y = 5e3, b = 100, x = 150;
13
+ function S(e, t) {
12
14
  let n = t?.trim();
13
15
  return !!(n && e.productId.trim() === n && e.isActive && e.steps?.length > 0);
14
16
  }
15
- function E(e, t) {
17
+ function C(e, t) {
16
18
  let n = a(e);
17
19
  if (n) return i(t) === i(n) ? void 0 : n;
18
20
  }
19
- function D(e, t, n, i) {
20
- let a = E(e, t);
21
+ function w(e, t, n, i) {
22
+ let a = C(e, t);
21
23
  return a ? i ? {
22
24
  type: "navigate",
23
25
  targetPath: a
24
26
  } : { type: "ignore" } : r(e, n) ? { type: "play" } : { type: "ignore" };
25
27
  }
26
- var O = "bg-bg-muted text-text-tertiary", k = {
27
- COMPLETED: {
28
- label: "Completed",
29
- className: "bg-status-success-bg-subtle text-status-success-text"
30
- },
31
- IN_PROGRESS: {
32
- label: "In progress",
33
- className: "bg-status-info-bg-subtle text-status-info-text"
34
- },
35
- SKIPPED: {
36
- label: "Skipped",
37
- className: O
38
- },
39
- DISMISSED: {
40
- label: "Dismissed",
41
- className: O
42
- }
43
- };
44
- function A({ status: e }) {
45
- if (!e) return null;
46
- let t = k[e];
47
- return t ? /* @__PURE__ */ _("span", {
48
- className: `shrink-0 inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${t.className}`,
49
- children: t.label
50
- }) : null;
28
+ function T() {
29
+ return g() ? /* @__PURE__ */ m(E, {}) : /* @__PURE__ */ m(D, { pathname: typeof window > "u" ? "/" : window.location.pathname });
51
30
  }
52
- function j() {
53
- return y() ? /* @__PURE__ */ _(M, {}) : /* @__PURE__ */ _(N, { pathname: typeof window > "u" ? "/" : window.location.pathname });
54
- }
55
- function M() {
56
- let e = b(), t = x();
57
- return /* @__PURE__ */ _(N, {
31
+ function E() {
32
+ let e = _(), t = v();
33
+ return /* @__PURE__ */ m(D, {
58
34
  pathname: e.pathname,
59
35
  navigateTo: (n) => t({
60
36
  pathname: n,
@@ -62,268 +38,116 @@ function M() {
62
38
  })
63
39
  });
64
40
  }
65
- function N({ pathname: r, navigateTo: i }) {
66
- let [a, y] = u(!1), [b, x] = u(!1), [E, O] = u(null), k = l(null), j = l(null), { pageTours: M, productId: N, moduleId: P, pageId: F, loading: I } = o(), L = t(), R = !!i, z = e()?.pageAccessDenied ?? !1;
67
- s(() => {
41
+ function D({ pathname: r, navigateTo: i }) {
42
+ let [a, g] = p(!1), [_, v] = p(!1), [C, T] = p(null), E = f(null), D = f(null), { pageTours: O, productId: k, moduleId: A, pageId: j, loading: M } = o(), N = t(), P = !!i, F = e()?.pageAccessDenied ?? !1;
43
+ u(() => {
68
44
  let e = () => {
69
- x(window.innerWidth < 768);
45
+ v(window.innerWidth < 768);
70
46
  };
71
47
  return e(), window.addEventListener("resize", e), () => window.removeEventListener("resize", e);
72
- }, []), s(() => {
48
+ }, []), u(() => {
73
49
  let e = (e) => {
74
- j.current && !j.current.contains(e.target) && k.current && !k.current.contains(e.target) && y(!1);
50
+ D.current && !D.current.contains(e.target) && E.current && !E.current.contains(e.target) && g(!1);
75
51
  };
76
- return a && (document.addEventListener("mousedown", e), b && (document.body.style.overflow = "hidden")), () => {
52
+ return a && (document.addEventListener("mousedown", e), _ && (document.body.style.overflow = "hidden")), () => {
77
53
  document.removeEventListener("mousedown", e), document.body.style.overflow = "";
78
54
  };
79
- }, [a, b]), s(() => {
55
+ }, [a, _]), u(() => {
80
56
  let e = (e) => {
81
- e.key === "Escape" && y(!1);
57
+ e.key === "Escape" && g(!1);
82
58
  };
83
59
  return a && document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
84
60
  }, [a]);
85
- let B = (e) => {
86
- y(!1);
87
- let t = D(e, r, {
88
- productId: N ?? "",
89
- moduleId: P,
90
- pageId: F
91
- }, R);
61
+ let I = (e) => {
62
+ g(!1);
63
+ let t = w(e, r, {
64
+ productId: k ?? "",
65
+ moduleId: A,
66
+ pageId: j
67
+ }, P);
92
68
  if (t.type === "navigate") {
93
- O(e.id), i?.(t.targetPath);
69
+ T(e.id), i?.(t.targetPath);
94
70
  return;
95
71
  }
96
72
  t.type !== "ignore" && window.setTimeout(() => {
97
- L(e);
98
- }, C);
99
- }, V = c(() => ({
100
- productId: N ?? "",
101
- moduleId: P,
102
- pageId: F
73
+ N(e);
74
+ }, b);
75
+ }, L = d(() => ({
76
+ productId: k ?? "",
77
+ moduleId: A,
78
+ pageId: j
103
79
  }), [
104
- P,
105
- F,
106
- N
107
- ]), H = c(() => M.filter((e) => T(e, N)).sort((e, t) => {
108
- let r = n(e, V) - n(t, V);
80
+ A,
81
+ j,
82
+ k
83
+ ]), R = d(() => O.filter((e) => S(e, k)).sort((e, t) => {
84
+ let r = n(e, L) - n(t, L);
109
85
  if (r !== 0) return r;
110
86
  let i = (t.priority ?? 0) - (e.priority ?? 0);
111
87
  return i === 0 ? (e.displayOrder ?? 0) - (t.displayOrder ?? 0) : i;
112
88
  }), [
113
- V,
114
- N,
115
- M
89
+ L,
90
+ k,
91
+ O
116
92
  ]);
117
- s(() => {
118
- if (!E) return;
119
- let e = H.find((e) => e.id === E);
93
+ u(() => {
94
+ if (!C) return;
95
+ let e = R.find((e) => e.id === C);
120
96
  if (!e) {
121
- O(null);
97
+ T(null);
122
98
  return;
123
99
  }
124
- let t = D(e, r, V, R);
100
+ let t = w(e, r, L, P);
125
101
  if (t.type === "navigate") return;
126
102
  if (t.type === "ignore") {
127
- O(null);
103
+ T(null);
128
104
  return;
129
105
  }
130
106
  let n = window.setTimeout(() => {
131
- L(e), O(null);
132
- }, w);
107
+ N(e), T(null);
108
+ }, x);
133
109
  return () => window.clearTimeout(n);
134
110
  }, [
135
- H,
136
111
  R,
137
- V,
112
+ P,
113
+ L,
138
114
  r,
139
- E,
140
- L
141
- ]), s(() => {
142
- if (!E) return;
115
+ C,
116
+ N
117
+ ]), u(() => {
118
+ if (!C) return;
143
119
  let e = window.setTimeout(() => {
144
- O(null);
145
- }, S);
120
+ T(null);
121
+ }, y);
146
122
  return () => window.clearTimeout(e);
147
- }, [E]);
148
- let U = H.length > 0, W = z;
149
- return s(() => {
150
- W && a && y(!1);
151
- }, [W, a]), W ? null : /* @__PURE__ */ v("div", {
123
+ }, [C]);
124
+ let z = R.length > 0, B = F;
125
+ return u(() => {
126
+ B && a && g(!1);
127
+ }, [B, a]), B ? null : /* @__PURE__ */ h("div", {
152
128
  className: "relative",
153
129
  children: [
154
- /* @__PURE__ */ v("button", {
155
- ref: k,
156
- onClick: () => y(!a),
157
- className: `
158
- relative p-2 rounded-button transition-colors
159
- ${a ? "bg-action-ghost-bg-hover" : "hover:bg-action-ghost-bg-hover"}
160
- ${U ? "text-text-primary" : "text-text-tertiary"}
161
- `,
162
- "aria-label": "Help & Tours",
163
- "aria-expanded": a,
164
- "aria-haspopup": "true",
165
- title: "Help & Tours",
166
- children: [/* @__PURE__ */ _(f, { className: "size-5" }), U && /* @__PURE__ */ _("span", { className: "absolute top-1 right-1 size-2 bg-action-primary-bg rounded-full" })]
130
+ /* @__PURE__ */ m(s, {
131
+ ref: E,
132
+ isOpen: a,
133
+ hasTours: z,
134
+ onClick: () => g(!a)
135
+ }),
136
+ a && _ && /* @__PURE__ */ m(c, {
137
+ ref: D,
138
+ loading: M,
139
+ tours: R,
140
+ onClose: () => g(!1),
141
+ onStartTour: I
167
142
  }),
168
- a && b && /* @__PURE__ */ v(g, { children: [/* @__PURE__ */ _("div", {
169
- className: "fixed inset-0 bg-black/50 z-[100] animate-in fade-in duration-200",
170
- onClick: () => y(!1)
171
- }), /* @__PURE__ */ v("div", {
172
- ref: j,
173
- className: "fixed inset-x-0 bottom-0 z-[101] bg-bg-surface rounded-t-2xl shadow-xl animate-in slide-in-from-bottom duration-300 max-h-[80vh] flex flex-col",
174
- children: [
175
- /* @__PURE__ */ _("div", {
176
- className: "flex justify-center pt-3 pb-2",
177
- children: /* @__PURE__ */ _("div", { className: "w-10 h-1 bg-border-default rounded-full" })
178
- }),
179
- /* @__PURE__ */ v("div", {
180
- className: "flex items-center justify-between px-4 pb-3 border-b border-border-subtle",
181
- children: [/* @__PURE__ */ v("div", {
182
- className: "flex items-center gap-2",
183
- children: [/* @__PURE__ */ _(m, { className: "size-5 text-action-primary-bg" }), /* @__PURE__ */ _("h2", {
184
- className: "text-lg font-semibold text-text-primary",
185
- children: "Product Tours"
186
- })]
187
- }), /* @__PURE__ */ _("button", {
188
- type: "button",
189
- onClick: () => y(!1),
190
- className: "p-2 hover:bg-action-ghost-bg-hover rounded-full",
191
- "aria-label": "Close",
192
- children: /* @__PURE__ */ _(h, { className: "size-5" })
193
- })]
194
- }),
195
- /* @__PURE__ */ _("div", {
196
- className: "flex-1 overflow-y-auto p-4",
197
- children: I ? /* @__PURE__ */ _("div", {
198
- className: "flex items-center justify-center py-8",
199
- children: /* @__PURE__ */ _("div", { className: "animate-spin rounded-full size-6 border-2 border-action-primary-bg border-t-transparent" })
200
- }) : H.length > 0 ? /* @__PURE__ */ v("div", {
201
- className: "space-y-3",
202
- children: [/* @__PURE__ */ _("p", {
203
- className: "text-sm text-text-secondary mb-4",
204
- children: "Take a guided tour. Current-page tours are shown first."
205
- }), H.map((e) => /* @__PURE__ */ _("button", {
206
- type: "button",
207
- onClick: () => B(e),
208
- className: "w-full p-4 bg-bg-muted hover:bg-action-ghost-bg-hover rounded-xl transition-colors text-left group",
209
- children: /* @__PURE__ */ v("div", {
210
- className: "flex items-center justify-between",
211
- children: [/* @__PURE__ */ v("div", {
212
- className: "flex-1 min-w-0",
213
- children: [
214
- /* @__PURE__ */ v("div", {
215
- className: "flex items-center gap-2 min-w-0",
216
- children: [/* @__PURE__ */ _("h3", {
217
- className: "min-w-0 flex-1 font-medium text-text-primary truncate",
218
- children: e.name
219
- }), /* @__PURE__ */ _(A, { status: e.myProgress?.status })]
220
- }),
221
- e.description && /* @__PURE__ */ _("p", {
222
- className: "text-sm text-text-secondary mt-1 line-clamp-2",
223
- children: e.description
224
- }),
225
- /* @__PURE__ */ v("div", {
226
- className: "flex items-center gap-3 mt-2 text-xs text-text-tertiary",
227
- children: [
228
- /* @__PURE__ */ v("span", { children: [e.steps?.length || 0, " steps"] }),
229
- /* @__PURE__ */ _("span", { children: "•" }),
230
- /* @__PURE__ */ v("span", { children: [
231
- "~",
232
- Math.ceil((e.steps?.length || 0) * .5),
233
- " min"
234
- ] })
235
- ]
236
- })
237
- ]
238
- }), /* @__PURE__ */ _("div", {
239
- className: "ml-3 p-2 bg-action-primary-bg rounded-full text-action-primary-text group-hover:scale-110 transition-transform",
240
- children: /* @__PURE__ */ _(p, { className: "size-4" })
241
- })]
242
- })
243
- }, e.id))]
244
- }) : /* @__PURE__ */ v("div", {
245
- className: "text-center py-8",
246
- children: [
247
- /* @__PURE__ */ _(f, { className: "size-12 mx-auto text-text-tertiary mb-3" }),
248
- /* @__PURE__ */ _("p", {
249
- className: "text-text-secondary",
250
- children: "No tours available for this page"
251
- }),
252
- /* @__PURE__ */ _("p", {
253
- className: "text-sm text-text-tertiary mt-1",
254
- children: "Check back later or explore other pages"
255
- })
256
- ]
257
- })
258
- }),
259
- /* @__PURE__ */ _("div", { className: "h-safe-area-inset-bottom" })
260
- ]
261
- })] }),
262
- a && !b && /* @__PURE__ */ v("div", {
263
- ref: j,
264
- className: "absolute right-0 top-full mt-2 w-80 bg-bg-surface rounded-lg shadow-xl border border-border-subtle z-50 animate-in fade-in slide-in-from-top-2 duration-200",
265
- children: [
266
- /* @__PURE__ */ v("div", {
267
- className: "flex items-center gap-2 px-4 py-3 border-b border-border-subtle",
268
- children: [/* @__PURE__ */ _(m, { className: "size-4 text-action-primary-bg" }), /* @__PURE__ */ _("h3", {
269
- className: "font-medium text-text-primary",
270
- children: "Product Tours"
271
- })]
272
- }),
273
- /* @__PURE__ */ _("div", {
274
- className: "max-h-80 overflow-y-auto",
275
- children: I ? /* @__PURE__ */ _("div", {
276
- className: "flex items-center justify-center py-6",
277
- children: /* @__PURE__ */ _("div", { className: "animate-spin rounded-full size-5 border-2 border-action-primary-bg border-t-transparent" })
278
- }) : H.length > 0 ? /* @__PURE__ */ _("div", {
279
- className: "p-2",
280
- children: H.map((e) => /* @__PURE__ */ _("button", {
281
- type: "button",
282
- onClick: () => B(e),
283
- className: "w-full p-3 hover:bg-action-ghost-bg-hover rounded-md transition-colors text-left group",
284
- children: /* @__PURE__ */ v("div", {
285
- className: "flex items-center justify-between",
286
- children: [/* @__PURE__ */ v("div", {
287
- className: "flex-1 min-w-0",
288
- children: [
289
- /* @__PURE__ */ v("div", {
290
- className: "flex items-center gap-2 min-w-0",
291
- children: [/* @__PURE__ */ _("h4", {
292
- className: "min-w-0 flex-1 font-medium text-text-primary text-sm truncate",
293
- children: e.name
294
- }), /* @__PURE__ */ _(A, { status: e.myProgress?.status })]
295
- }),
296
- e.description && /* @__PURE__ */ _("p", {
297
- className: "text-xs text-text-secondary mt-0.5 line-clamp-1",
298
- children: e.description
299
- }),
300
- /* @__PURE__ */ _("div", {
301
- className: "flex items-center gap-2 mt-1 text-xs text-text-tertiary",
302
- children: /* @__PURE__ */ v("span", { children: [e.steps?.length || 0, " steps"] })
303
- })
304
- ]
305
- }), /* @__PURE__ */ _(d, { className: "size-4 text-text-tertiary group-hover:text-action-primary-bg group-hover:translate-x-0.5 transition-all" })]
306
- })
307
- }, e.id))
308
- }) : /* @__PURE__ */ _("div", {
309
- className: "text-center py-6 px-4",
310
- children: /* @__PURE__ */ _("p", {
311
- className: "text-sm text-text-secondary",
312
- children: "No tours available for this page"
313
- })
314
- })
315
- }),
316
- H.length > 0 && /* @__PURE__ */ _("div", {
317
- className: "px-4 py-2 border-t border-border-subtle bg-bg-muted/50 rounded-b-lg",
318
- children: /* @__PURE__ */ _("p", {
319
- className: "text-xs text-text-tertiary text-center",
320
- children: "Click a tour to start the guided walkthrough"
321
- })
322
- })
323
- ]
143
+ a && !_ && /* @__PURE__ */ m(l, {
144
+ ref: D,
145
+ loading: M,
146
+ tours: R,
147
+ onStartTour: I
324
148
  })
325
149
  ]
326
150
  });
327
151
  }
328
152
  //#endregion
329
- export { j as TourTrigger };
153
+ export { T as TourTrigger };