@burdenoff/fe-libs 2026.527.2 → 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 (161) hide show
  1. package/dist/button/Button.js +18 -16
  2. package/dist/chrome/AccountSwitcher.js +10 -7
  3. package/dist/chrome/AutoBreadcrumbs.js +2 -0
  4. package/dist/chrome/Breadcrumbs.js +2 -0
  5. package/dist/chrome/CommandPalette.js +5 -3
  6. package/dist/chrome/ContextSwitcher.js +90 -338
  7. package/dist/chrome/DynamicFooter.js +7 -7
  8. package/dist/chrome/Footer.js +5 -5
  9. package/dist/chrome/GeographySwitcher.js +3 -3
  10. package/dist/chrome/GlobalSearch.js +73 -448
  11. package/dist/chrome/HeaderBar.js +6 -1
  12. package/dist/chrome/LanguagePickerSheet.js +1 -1
  13. package/dist/chrome/LanguageSwitcher.js +2 -2
  14. package/dist/chrome/NotificationCenter.js +69 -694
  15. package/dist/chrome/PanelTabs.js +7 -4
  16. package/dist/chrome/PluginContextMenuTarget.js +1 -1
  17. package/dist/chrome/ProductPickerSheet.js +4 -4
  18. package/dist/chrome/ProductSideNav.js +1 -1
  19. package/dist/chrome/ProductSwitcher.js +3 -3
  20. package/dist/chrome/ProfileSwitcher.js +13 -8
  21. package/dist/chrome/ShortcutHelpDialog.js +2 -1
  22. package/dist/chrome/SideNavigation.js +75 -239
  23. package/dist/chrome/Sidebar.js +1 -0
  24. package/dist/chrome/contextSwitcher/EmptyState.js +32 -0
  25. package/dist/chrome/contextSwitcher/OrganizationList.js +34 -0
  26. package/dist/chrome/contextSwitcher/ProjectList.js +34 -0
  27. package/dist/chrome/contextSwitcher/SearchInput.js +50 -0
  28. package/dist/chrome/contextSwitcher/TabButton.js +9 -0
  29. package/dist/chrome/contextSwitcher/TriggerButton.js +38 -0
  30. package/dist/chrome/contextSwitcher/WorkspaceList.js +34 -0
  31. package/dist/chrome/contextSwitcher/icons.js +58 -0
  32. package/dist/chrome/contextSwitcher/useIsMobile.js +11 -0
  33. package/dist/chrome/globalSearch/AdvancedFiltersPanel.js +253 -0
  34. package/dist/chrome/globalSearch/CategoryTabs.js +28 -0
  35. package/dist/chrome/globalSearch/ResultsList.js +58 -0
  36. package/dist/chrome/globalSearch/SearchInput.js +28 -0
  37. package/dist/chrome/globalSearch/SearchModeBar.js +36 -0
  38. package/dist/chrome/globalSearch/useAdvancedFilters.js +78 -0
  39. package/dist/chrome/globalSearch/utils.js +22 -0
  40. package/dist/chrome/notificationCenter/BellButton.js +27 -0
  41. package/dist/chrome/notificationCenter/NotificationCardItem.js +129 -0
  42. package/dist/chrome/notificationCenter/NotificationFilters.js +67 -0
  43. package/dist/chrome/notificationCenter/NotificationFooter.js +23 -0
  44. package/dist/chrome/notificationCenter/NotificationHeader.js +75 -0
  45. package/dist/chrome/notificationCenter/NotificationList.js +75 -0
  46. package/dist/chrome/notificationCenter/NotificationPanel.js +19 -0
  47. package/dist/chrome/notificationCenter/SkeletonCard.js +18 -0
  48. package/dist/chrome/notificationCenter/constants.js +93 -0
  49. package/dist/chrome/notificationCenter/gql.js +58 -0
  50. package/dist/chrome/notificationCenter/useNotificationCenter.js +149 -0
  51. package/dist/chrome/notificationCenter/usePanelChrome.js +36 -0
  52. package/dist/chrome/sideNavigation/CollapseToggle.js +29 -0
  53. package/dist/chrome/sideNavigation/MobileActionsBar.js +25 -0
  54. package/dist/chrome/sideNavigation/NavItemRenderer.js +79 -0
  55. package/dist/chrome/sideNavigation/SidebarHeader.js +29 -0
  56. package/dist/chrome/sideNavigation/helpers.js +19 -0
  57. package/dist/chrome/sideNavigation/useSideNavigationState.js +45 -0
  58. package/dist/form/Checkbox.js +17 -15
  59. package/dist/form/FormDescription.js +9 -10
  60. package/dist/form/FormField.js +11 -12
  61. package/dist/form/FormLabel.js +13 -13
  62. package/dist/form/FormMessage.js +10 -11
  63. package/dist/form/Input.js +11 -10
  64. package/dist/form/Radio.js +25 -21
  65. package/dist/form/Select.js +81 -66
  66. package/dist/form/Textarea.js +10 -9
  67. package/dist/shared/components/AccessDenied.js +8 -4
  68. package/dist/shared/components/AppErrorBoundary.js +2 -0
  69. package/dist/shared/components/ContextConversationWidget.js +173 -767
  70. package/dist/shared/components/ErrorFallback.js +3 -0
  71. package/dist/shared/components/PWAInstallBanner.js +8 -4
  72. package/dist/shared/components/RequireAuth.js +4 -4
  73. package/dist/shared/components/SSORedirectGuard.js +1 -1
  74. package/dist/shared/components/contextConversationWidget/Composer.js +66 -0
  75. package/dist/shared/components/contextConversationWidget/MessageItem.js +124 -0
  76. package/dist/shared/components/contextConversationWidget/MessageList.js +32 -0
  77. package/dist/shared/components/contextConversationWidget/NoWorkspaceCard.js +19 -0
  78. package/dist/shared/components/contextConversationWidget/PendingAttachmentsBar.js +28 -0
  79. package/dist/shared/components/contextConversationWidget/ReplyBanner.js +32 -0
  80. package/dist/shared/components/contextConversationWidget/WidgetHeader.js +70 -0
  81. package/dist/shared/components/contextConversationWidget/queries.js +197 -0
  82. package/dist/shared/components/contextConversationWidget/types.js +10 -0
  83. package/dist/shared/components/contextConversationWidget/useAttachmentUpload.js +57 -0
  84. package/dist/shared/components/contextConversationWidget/useConversationSubscriptions.js +26 -0
  85. package/dist/shared/components/contextConversationWidget/useMessageActions.js +34 -0
  86. package/dist/shared/components/contextConversationWidget/useSendMessage.js +45 -0
  87. package/dist/shared/components/contextConversationWidget/useWidgetMessages.js +44 -0
  88. package/dist/shared/components/contextConversationWidget/utils.js +56 -0
  89. package/dist/shared/feature-flags/FeatureFlagProvider.js +21 -21
  90. package/dist/shared/geography/GeographyProvider.js +20 -20
  91. package/dist/shared/graphql/GatewayContext.js +1 -1
  92. package/dist/shared/motion/MotionList.js +1 -1
  93. package/dist/shared/pages/AiPage.js +3 -3
  94. package/dist/shared/pages/SearchPage.js +293 -1071
  95. package/dist/shared/pages/searchPage/ActiveFilterChips.js +176 -0
  96. package/dist/shared/pages/searchPage/FiltersPanel.js +329 -0
  97. package/dist/shared/pages/searchPage/ResultsList.js +119 -0
  98. package/dist/shared/pages/searchPage/ResultsStatus.js +32 -0
  99. package/dist/shared/pages/searchPage/SearchInput.js +31 -0
  100. package/dist/shared/pages/searchPage/SearchPagination.js +37 -0
  101. package/dist/shared/pages/searchPage/SearchToolbar.js +58 -0
  102. package/dist/shared/pages/searchPage/constants.js +155 -0
  103. package/dist/shared/pages/searchPage/utils.js +24 -0
  104. package/dist/shared/plugins/PluginRuntimeProvider.js +1 -1
  105. package/dist/shared/providers/shell/ActiveContextProvider.js +12 -12
  106. package/dist/shared/providers/shell/AppShellContext.js +1 -1
  107. package/dist/shared/providers/shell/AuthProvider.js +130 -384
  108. package/dist/shared/providers/shell/AuthTokenProvider.js +6 -6
  109. package/dist/shared/providers/shell/ContextManagerProvider.js +1 -1
  110. package/dist/shared/providers/shell/FeatureFlagsProvider.js +5 -5
  111. package/dist/shared/providers/shell/GlobalUiProvider.js +17 -17
  112. package/dist/shared/providers/shell/I18nProvider.js +15 -15
  113. package/dist/shared/providers/shell/PageConversationContextProvider.js +14 -14
  114. package/dist/shared/providers/shell/PermissionProvider.js +16 -16
  115. package/dist/shared/providers/shell/ShellUiProvider.js +13 -13
  116. package/dist/shared/providers/shell/ThemeProvider.js +9 -9
  117. package/dist/shared/providers/shell/authProvider/bridgeStateSync.js +34 -0
  118. package/dist/shared/providers/shell/authProvider/jwt.js +13 -0
  119. package/dist/shared/providers/shell/authProvider/ssoRelay.js +38 -0
  120. package/dist/shared/providers/shell/authProvider/useAuthActions.js +170 -0
  121. package/dist/shared/providers/shell/authProvider/useBridgeInitialization.js +86 -0
  122. package/dist/shared/providers/shell/authProvider/useRemoteSLO.js +32 -0
  123. package/dist/shared/providers/shell/authProvider/useStorageSync.js +35 -0
  124. package/dist/shared/providers/shell/authProvider/useTokenExpiryTimer.js +37 -0
  125. package/dist/shared/tours/TourPlayer.js +1 -0
  126. package/dist/shared/tours/TourPlayerProvider.js +1 -1
  127. package/dist/shared/tours/TourTooltip.js +3 -0
  128. package/dist/shared/tours/TourTrigger.js +86 -259
  129. package/dist/shared/tours/ToursContext.js +108 -398
  130. package/dist/shared/tours/tourTrigger/DesktopTourDropdown.js +48 -0
  131. package/dist/shared/tours/tourTrigger/MobileTourSheet.js +68 -0
  132. package/dist/shared/tours/tourTrigger/TourListItemDesktop.js +36 -0
  133. package/dist/shared/tours/tourTrigger/TourListItemMobile.js +47 -0
  134. package/dist/shared/tours/tourTrigger/TourStatusChip.js +30 -0
  135. package/dist/shared/tours/tourTrigger/TourTriggerButton.js +22 -0
  136. package/dist/shared/tours/toursContext/errors.js +18 -0
  137. package/dist/shared/tours/toursContext/gql.js +152 -0
  138. package/dist/shared/tours/toursContext/route.js +20 -0
  139. package/dist/shared/tours/toursContext/session.js +19 -0
  140. package/dist/shared/tours/toursContext/useIdleReady.js +18 -0
  141. package/dist/shared/tours/toursContext/useTourMutations.js +118 -0
  142. package/dist/shared-events.js +3 -3
  143. package/dist/shared-hooks.js +1 -1
  144. package/dist/storage/SaveToFilesButton.js +3 -3
  145. package/dist/storage/SaveToFilesDialog.js +1 -1
  146. package/dist/tag/TagBadge.js +1 -1
  147. package/dist/tag/TagsWidget.js +81 -226
  148. package/dist/tag/tagsWidget/AddTagTrigger.js +14 -0
  149. package/dist/tag/tagsWidget/TagBadgeList.js +17 -0
  150. package/dist/tag/tagsWidget/TagSearchPopover.js +80 -0
  151. package/dist/tag/tagsWidget/operations.js +64 -0
  152. package/dist/tag/tagsWidget/useVocabResolver.js +30 -0
  153. package/dist/ui/card.js +44 -39
  154. package/dist/ui/dropdown-menu.js +82 -66
  155. package/dist/ui/input.js +10 -10
  156. package/dist/ui/label.js +13 -11
  157. package/dist/ui/select.js +80 -66
  158. package/dist/ui/table.js +61 -54
  159. package/dist/ui/textarea.js +9 -9
  160. package/dist/ui/tooltip.js +13 -11
  161. 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,265 +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: "w-5 h-5" }), U && /* @__PURE__ */ _("span", { className: "absolute top-1 right-1 w-2 h-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: "w-5 h-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
- onClick: () => y(!1),
189
- className: "p-2 hover:bg-action-ghost-bg-hover rounded-full",
190
- "aria-label": "Close",
191
- children: /* @__PURE__ */ _(h, { className: "w-5 h-5" })
192
- })]
193
- }),
194
- /* @__PURE__ */ _("div", {
195
- className: "flex-1 overflow-y-auto p-4",
196
- children: I ? /* @__PURE__ */ _("div", {
197
- className: "flex items-center justify-center py-8",
198
- children: /* @__PURE__ */ _("div", { className: "animate-spin rounded-full h-6 w-6 border-2 border-action-primary-bg border-t-transparent" })
199
- }) : H.length > 0 ? /* @__PURE__ */ v("div", {
200
- className: "space-y-3",
201
- children: [/* @__PURE__ */ _("p", {
202
- className: "text-sm text-text-secondary mb-4",
203
- children: "Take a guided tour. Current-page tours are shown first."
204
- }), H.map((e) => /* @__PURE__ */ _("button", {
205
- onClick: () => B(e),
206
- className: "w-full p-4 bg-bg-muted hover:bg-action-ghost-bg-hover rounded-xl transition-colors text-left group",
207
- children: /* @__PURE__ */ v("div", {
208
- className: "flex items-center justify-between",
209
- children: [/* @__PURE__ */ v("div", {
210
- className: "flex-1 min-w-0",
211
- children: [
212
- /* @__PURE__ */ v("div", {
213
- className: "flex items-center gap-2 min-w-0",
214
- children: [/* @__PURE__ */ _("h3", {
215
- className: "min-w-0 flex-1 font-medium text-text-primary truncate",
216
- children: e.name
217
- }), /* @__PURE__ */ _(A, { status: e.myProgress?.status })]
218
- }),
219
- e.description && /* @__PURE__ */ _("p", {
220
- className: "text-sm text-text-secondary mt-1 line-clamp-2",
221
- children: e.description
222
- }),
223
- /* @__PURE__ */ v("div", {
224
- className: "flex items-center gap-3 mt-2 text-xs text-text-tertiary",
225
- children: [
226
- /* @__PURE__ */ v("span", { children: [e.steps?.length || 0, " steps"] }),
227
- /* @__PURE__ */ _("span", { children: "•" }),
228
- /* @__PURE__ */ v("span", { children: [
229
- "~",
230
- Math.ceil((e.steps?.length || 0) * .5),
231
- " min"
232
- ] })
233
- ]
234
- })
235
- ]
236
- }), /* @__PURE__ */ _("div", {
237
- className: "ml-3 p-2 bg-action-primary-bg rounded-full text-action-primary-text group-hover:scale-110 transition-transform",
238
- children: /* @__PURE__ */ _(p, { className: "w-4 h-4" })
239
- })]
240
- })
241
- }, e.id))]
242
- }) : /* @__PURE__ */ v("div", {
243
- className: "text-center py-8",
244
- children: [
245
- /* @__PURE__ */ _(f, { className: "w-12 h-12 mx-auto text-text-tertiary mb-3" }),
246
- /* @__PURE__ */ _("p", {
247
- className: "text-text-secondary",
248
- children: "No tours available for this page"
249
- }),
250
- /* @__PURE__ */ _("p", {
251
- className: "text-sm text-text-tertiary mt-1",
252
- children: "Check back later or explore other pages"
253
- })
254
- ]
255
- })
256
- }),
257
- /* @__PURE__ */ _("div", { className: "h-safe-area-inset-bottom" })
258
- ]
259
- })] }),
260
- a && !b && /* @__PURE__ */ v("div", {
261
- ref: j,
262
- 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",
263
- children: [
264
- /* @__PURE__ */ v("div", {
265
- className: "flex items-center gap-2 px-4 py-3 border-b border-border-subtle",
266
- children: [/* @__PURE__ */ _(m, { className: "w-4 h-4 text-action-primary-bg" }), /* @__PURE__ */ _("h3", {
267
- className: "font-medium text-text-primary",
268
- children: "Product Tours"
269
- })]
270
- }),
271
- /* @__PURE__ */ _("div", {
272
- className: "max-h-80 overflow-y-auto",
273
- children: I ? /* @__PURE__ */ _("div", {
274
- className: "flex items-center justify-center py-6",
275
- children: /* @__PURE__ */ _("div", { className: "animate-spin rounded-full h-5 w-5 border-2 border-action-primary-bg border-t-transparent" })
276
- }) : H.length > 0 ? /* @__PURE__ */ _("div", {
277
- className: "p-2",
278
- children: H.map((e) => /* @__PURE__ */ _("button", {
279
- onClick: () => B(e),
280
- className: "w-full p-3 hover:bg-action-ghost-bg-hover rounded-md transition-colors text-left group",
281
- children: /* @__PURE__ */ v("div", {
282
- className: "flex items-center justify-between",
283
- children: [/* @__PURE__ */ v("div", {
284
- className: "flex-1 min-w-0",
285
- children: [
286
- /* @__PURE__ */ v("div", {
287
- className: "flex items-center gap-2 min-w-0",
288
- children: [/* @__PURE__ */ _("h4", {
289
- className: "min-w-0 flex-1 font-medium text-text-primary text-sm truncate",
290
- children: e.name
291
- }), /* @__PURE__ */ _(A, { status: e.myProgress?.status })]
292
- }),
293
- e.description && /* @__PURE__ */ _("p", {
294
- className: "text-xs text-text-secondary mt-0.5 line-clamp-1",
295
- children: e.description
296
- }),
297
- /* @__PURE__ */ _("div", {
298
- className: "flex items-center gap-2 mt-1 text-xs text-text-tertiary",
299
- children: /* @__PURE__ */ v("span", { children: [e.steps?.length || 0, " steps"] })
300
- })
301
- ]
302
- }), /* @__PURE__ */ _(d, { className: "w-4 h-4 text-text-tertiary group-hover:text-action-primary-bg group-hover:translate-x-0.5 transition-all" })]
303
- })
304
- }, e.id))
305
- }) : /* @__PURE__ */ _("div", {
306
- className: "text-center py-6 px-4",
307
- children: /* @__PURE__ */ _("p", {
308
- className: "text-sm text-text-secondary",
309
- children: "No tours available for this page"
310
- })
311
- })
312
- }),
313
- H.length > 0 && /* @__PURE__ */ _("div", {
314
- className: "px-4 py-2 border-t border-border-subtle bg-bg-muted/50 rounded-b-lg",
315
- children: /* @__PURE__ */ _("p", {
316
- className: "text-xs text-text-tertiary text-center",
317
- children: "Click a tour to start the guided walkthrough"
318
- })
319
- })
320
- ]
143
+ a && !_ && /* @__PURE__ */ m(l, {
144
+ ref: D,
145
+ loading: M,
146
+ tours: R,
147
+ onStartTour: I
321
148
  })
322
149
  ]
323
150
  });
324
151
  }
325
152
  //#endregion
326
- export { j as TourTrigger };
153
+ export { T as TourTrigger };