@burdenoff/fe-libs 2026.1023.8 → 2026.1023.9

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.
@@ -51,6 +51,27 @@ export declare function shouldDropAnalyticsKey(key: string, eventName: Burdenoff
51
51
  * event bus emissions as Rybbit custom events.
52
52
  */
53
53
  export declare function RybbitSink({ siteId, scriptUrl, rename, allowlist, identifyOn, skipRoutes, pathname, }: RybbitSinkProps): null;
54
+ /**
55
+ * BOFF-8246: while the consent banner is shown it publishes the space it takes from the bottom of
56
+ * the viewport (its height plus its 16px bottom offset and an 8px gap) as this CSS custom property
57
+ * on `<html>`; it is removed when the banner goes away. Bottom-anchored UI that must stay usable
58
+ * (an assistant launcher, a bottom sheet with a composer) should MOVE its bottom anchor up by it,
59
+ * e.g. `bottom: max(<usual anchor>, var(--bf-consent-banner-offset, 0px))`, and cap any fixed
60
+ * height to the space left, rather than pad inside: padding a fixed-height sheet can clip its
61
+ * composer on short viewports. Scope it to the widths where the banner can overlap the element
62
+ * (the banner is bottom-left, at most 24rem wide). At 390px the banner spans the viewport.
63
+ */
64
+ export declare const CONSENT_BANNER_OFFSET_VAR = "--bf-consent-banner-offset";
65
+ type ResizeObserverConstructor = new (callback: () => void) => {
66
+ observe: (target: Element) => void;
67
+ disconnect: () => void;
68
+ };
69
+ /**
70
+ * Publishes `banner`'s bottom space on `root` and keeps it current. Returns the cleanup. With more
71
+ * than one banner shown the largest space is published, and the property is removed only when
72
+ * the last one goes.
73
+ */
74
+ export declare function publishConsentBannerOffset(banner: Element, root: HTMLElement, ResizeObserverImpl?: ResizeObserverConstructor | undefined): () => void;
54
75
  /**
55
76
  * The optional-analytics prompt.
56
77
  *
@@ -152,34 +152,59 @@ function k({ siteId: e, scriptUrl: o = "https://app.rybbit.io/api/script.js", re
152
152
  d
153
153
  ]), null;
154
154
  }
155
- function A({ productName: t }) {
156
- let [n, r] = a(() => b() === null), i = e();
157
- return !n || y() ? null : /* @__PURE__ */ s("aside", {
155
+ var A = "--bf-consent-banner-offset", j = 24, M = /* @__PURE__ */ new WeakMap();
156
+ function N(e, t) {
157
+ if (t.size === 0) {
158
+ e.style.removeProperty(A);
159
+ return;
160
+ }
161
+ e.style.setProperty(A, `${Math.max(...t.values())}px`);
162
+ }
163
+ function P(e, t, n = typeof ResizeObserver > "u" ? void 0 : ResizeObserver) {
164
+ let r = M.get(t);
165
+ r || (r = /* @__PURE__ */ new Map(), M.set(t, r));
166
+ let i = r, a = () => {
167
+ let n = Math.ceil(e.getBoundingClientRect().height);
168
+ i.set(e, n + j), N(t, i);
169
+ };
170
+ a();
171
+ let o = n ? new n(a) : null;
172
+ return o?.observe(e), () => {
173
+ o?.disconnect(), i.delete(e), N(t, i);
174
+ };
175
+ }
176
+ function F({ productName: t }) {
177
+ let [n, c] = a(() => b() === null), l = e(), u = n && !y(), d = i(null);
178
+ return r(() => {
179
+ let e = d.current;
180
+ if (!(!u || !e)) return P(e, document.documentElement);
181
+ }, [u]), u ? /* @__PURE__ */ s("aside", {
182
+ ref: d,
158
183
  className: "fixed bottom-4 left-4 z-[100] w-[calc(100%-2rem)] max-w-sm rounded-xl border border-border-seam bg-bg-surface p-4 text-text-primary shadow-pop",
159
- "aria-label": i("privacyConsent.ariaLabel", "Privacy choices"),
184
+ "aria-label": l("privacyConsent.ariaLabel", "Privacy choices"),
160
185
  "data-testid": "analytics-consent-banner",
161
186
  children: [/* @__PURE__ */ o("p", {
162
187
  className: "text-sm",
163
- children: i("privacyConsent.message", "Allow optional analytics to help improve {{productName}}? Essential product operation works either way.", { productName: t ?? i("privacyConsent.productFallback", "this product") })
188
+ children: l("privacyConsent.message", "Allow optional analytics to help improve {{productName}}? Essential product operation works either way.", { productName: t ?? l("privacyConsent.productFallback", "this product") })
164
189
  }), /* @__PURE__ */ s("div", {
165
190
  className: "mt-3 flex gap-2",
166
191
  children: [/* @__PURE__ */ o("button", {
167
192
  type: "button",
168
193
  className: "rounded-md border border-border-seam px-3 py-2 text-sm",
169
194
  onClick: () => {
170
- S(!1), r(!1);
195
+ S(!1), c(!1);
171
196
  },
172
- children: i("privacyConsent.reject", "Reject optional")
197
+ children: l("privacyConsent.reject", "Reject optional")
173
198
  }), /* @__PURE__ */ o("button", {
174
199
  type: "button",
175
200
  className: "rounded-md bg-action-primary-bg px-3 py-2 text-sm text-action-primary-text",
176
201
  onClick: () => {
177
- S(!0), r(!1);
202
+ S(!0), c(!1);
178
203
  },
179
- children: i("privacyConsent.allow", "Allow analytics")
204
+ children: l("privacyConsent.allow", "Allow analytics")
180
205
  })]
181
206
  })]
182
- });
207
+ }) : null;
183
208
  }
184
209
  //#endregion
185
- export { A as AnalyticsConsentBanner, c as DEFAULT_RYBBIT_ALLOWLIST, k as RybbitSink, x as readAnalyticsConsent, b as readAnalyticsConsentChoice, S as setAnalyticsConsent };
210
+ export { F as AnalyticsConsentBanner, A as CONSENT_BANNER_OFFSET_VAR, c as DEFAULT_RYBBIT_ALLOWLIST, k as RybbitSink, P as publishConsentBannerOffset, x as readAnalyticsConsent, b as readAnalyticsConsentChoice, S as setAnalyticsConsent };
@@ -1,7 +1,7 @@
1
1
  export { DevtoolsSink } from './DevtoolsSink';
2
2
  export { BroadcastChannelSink } from './BroadcastChannelSink';
3
3
  export { BackendAuditSink } from './BackendAuditSink';
4
- export { RybbitSink, AnalyticsConsentBanner, readAnalyticsConsent, readAnalyticsConsentChoice, setAnalyticsConsent, } from './RybbitSink';
4
+ export { RybbitSink, AnalyticsConsentBanner, CONSENT_BANNER_OFFSET_VAR, publishConsentBannerOffset, readAnalyticsConsent, readAnalyticsConsentChoice, setAnalyticsConsent, } from './RybbitSink';
5
5
  export type { AnalyticsConsentChoice } from './RybbitSink';
6
6
  export { compileRybbitRoutePattern, isRybbitSkippedRoute } from './rybbitRoutes';
7
7
  export { OtelBrowserSink } from './OtelBrowserSink';
@@ -4,13 +4,13 @@ import { DevtoolsSink as n } from "./shared/events/sinks/DevtoolsSink.js";
4
4
  import { BroadcastChannelSink as r } from "./shared/events/sinks/BroadcastChannelSink.js";
5
5
  import { BackendAuditSink as i } from "./shared/events/sinks/BackendAuditSink.js";
6
6
  import { compileRybbitRoutePattern as a, isRybbitSkippedRoute as o } from "./shared/events/sinks/rybbitRoutes.js";
7
- import { AnalyticsConsentBanner as s, RybbitSink as c, readAnalyticsConsent as l, readAnalyticsConsentChoice as u, setAnalyticsConsent as d } from "./shared/events/sinks/RybbitSink.js";
8
- import { OtelBrowserSink as f } from "./shared/events/sinks/OtelBrowserSink.js";
7
+ import { AnalyticsConsentBanner as s, CONSENT_BANNER_OFFSET_VAR as c, RybbitSink as l, publishConsentBannerOffset as u, readAnalyticsConsent as d, readAnalyticsConsentChoice as f, setAnalyticsConsent as p } from "./shared/events/sinks/RybbitSink.js";
8
+ import { OtelBrowserSink as m } from "./shared/events/sinks/OtelBrowserSink.js";
9
9
  import "./shared/events/sinks/index.js";
10
- import { createContext as p, use as m, useCallback as h, useEffect as g, useMemo as _ } from "react";
11
- import { jsx as v } from "react/jsx-runtime";
10
+ import { createContext as h, use as g, useCallback as _, useEffect as v, useMemo as y } from "react";
11
+ import { jsx as b } from "react/jsx-runtime";
12
12
  //#region src/shared/events/index.tsx
13
- var y = p({
13
+ var x = h({
14
14
  emit: () => {},
15
15
  emitCustom: () => {},
16
16
  on: () => () => {},
@@ -18,22 +18,22 @@ var y = p({
18
18
  getBuffer: () => [],
19
19
  onAny: () => () => {}
20
20
  });
21
- function b(e, t) {
22
- if (!e) return x();
21
+ function S(e, t) {
22
+ if (!e) return C();
23
23
  let n = e.getItem(t);
24
24
  if (n) return n;
25
- let r = x();
25
+ let r = C();
26
26
  return e.setItem(t, r), r;
27
27
  }
28
- function x() {
28
+ function C() {
29
29
  return typeof crypto < "u" && "randomUUID" in crypto ? crypto.randomUUID() : `${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`;
30
30
  }
31
- function S() {
31
+ function w() {
32
32
  if (typeof document > "u") return "light";
33
33
  let e = document.documentElement;
34
34
  return e.classList.contains("hc") || e.dataset.theme === "hc" ? "hc" : e.classList.contains("dark") || e.dataset.theme === "dark" ? "dark" : "light";
35
35
  }
36
- function C(t, n, r) {
36
+ function T(t, n, r) {
37
37
  let i = typeof window < "u" ? window.location : void 0, a = e(), o = typeof navigator < "u" ? navigator : {
38
38
  userAgent: "",
39
39
  language: "en"
@@ -43,11 +43,11 @@ function C(t, n, r) {
43
43
  pathname: i?.pathname ?? "",
44
44
  search: i?.search ?? ""
45
45
  },
46
- sessionId: b(typeof sessionStorage < "u" ? sessionStorage : void 0, "bf-event-session-id"),
47
- deviceId: b(typeof localStorage < "u" ? localStorage : void 0, "bf-event-device-id"),
46
+ sessionId: S(typeof sessionStorage < "u" ? sessionStorage : void 0, "bf-event-session-id"),
47
+ deviceId: S(typeof localStorage < "u" ? localStorage : void 0, "bf-event-device-id"),
48
48
  userAgent: o.userAgent,
49
49
  locale: o.language || "en",
50
- theme: S(),
50
+ theme: w(),
51
51
  app: {
52
52
  name: t,
53
53
  version: n,
@@ -57,8 +57,8 @@ function C(t, n, r) {
57
57
  spanId: a.spanId
58
58
  };
59
59
  }
60
- function w({ appName: e, appVersion: t = "0.0.0", appEnv: n = "dev", sourceMfe: r = e, children: i }) {
61
- let a = _(() => T({
60
+ function E({ appName: e, appVersion: t = "0.0.0", appEnv: n = "dev", sourceMfe: r = e, children: i }) {
61
+ let a = y(() => D({
62
62
  appName: e,
63
63
  appVersion: t,
64
64
  appEnv: n,
@@ -69,16 +69,16 @@ function w({ appName: e, appVersion: t = "0.0.0", appEnv: n = "dev", sourceMfe:
69
69
  t,
70
70
  r
71
71
  ]);
72
- return /* @__PURE__ */ v(y.Provider, {
72
+ return /* @__PURE__ */ b(x.Provider, {
73
73
  value: a,
74
74
  children: i
75
75
  });
76
76
  }
77
- function T({ appName: e, appVersion: t = "0.0.0", appEnv: n = "dev", sourceMfe: r = e }) {
77
+ function D({ appName: e, appVersion: t = "0.0.0", appEnv: n = "dev", sourceMfe: r = e }) {
78
78
  let i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set(), o = [];
79
79
  function s(i, a, o) {
80
80
  return {
81
- id: x(),
81
+ id: C(),
82
82
  name: i,
83
83
  version: 1,
84
84
  source: {
@@ -88,7 +88,7 @@ function T({ appName: e, appVersion: t = "0.0.0", appEnv: n = "dev", sourceMfe:
88
88
  timestamp: (/* @__PURE__ */ new Date()).toISOString(),
89
89
  monotonic: performance.now(),
90
90
  payload: a,
91
- metadata: C(e, t, n)
91
+ metadata: T(e, t, n)
92
92
  };
93
93
  }
94
94
  function c(e) {
@@ -123,24 +123,24 @@ function T({ appName: e, appVersion: t = "0.0.0", appEnv: n = "dev", sourceMfe:
123
123
  }
124
124
  };
125
125
  }
126
- function E() {
127
- return m(y);
126
+ function O() {
127
+ return g(x);
128
128
  }
129
- function D(e, t) {
130
- let n = E();
131
- g(() => n.on(e, t), [
129
+ function k(e, t) {
130
+ let n = O();
131
+ v(() => n.on(e, t), [
132
132
  n,
133
133
  t,
134
134
  e
135
135
  ]);
136
136
  }
137
- function O(e, t) {
138
- let n = E();
139
- return h((r) => n.emit(e, r, t), [
137
+ function A(e, t) {
138
+ let n = O();
139
+ return _((r) => n.emit(e, r, t), [
140
140
  n,
141
141
  e,
142
142
  t
143
143
  ]);
144
144
  }
145
145
  //#endregion
146
- export { s as AnalyticsConsentBanner, i as BackendAuditSink, r as BroadcastChannelSink, n as DevtoolsSink, w as EventBusProvider, t as FLUIDGRIDS_RYBBIT_EVENTS, f as OtelBrowserSink, c as RybbitSink, a as compileRybbitRoutePattern, T as createEventBus, o as isRybbitSkippedRoute, l as readAnalyticsConsent, u as readAnalyticsConsentChoice, d as setAnalyticsConsent, D as useEvent, E as useEventBus, O as useEventEmitter };
146
+ export { s as AnalyticsConsentBanner, i as BackendAuditSink, r as BroadcastChannelSink, c as CONSENT_BANNER_OFFSET_VAR, n as DevtoolsSink, E as EventBusProvider, t as FLUIDGRIDS_RYBBIT_EVENTS, m as OtelBrowserSink, l as RybbitSink, a as compileRybbitRoutePattern, D as createEventBus, o as isRybbitSkippedRoute, u as publishConsentBannerOffset, d as readAnalyticsConsent, f as readAnalyticsConsentChoice, p as setAnalyticsConsent, k as useEvent, O as useEventBus, A as useEventEmitter };
package/dist/shared.js CHANGED
@@ -99,56 +99,56 @@ import { DevtoolsSink as Ra } from "./shared/events/sinks/DevtoolsSink.js";
99
99
  import { BroadcastChannelSink as za } from "./shared/events/sinks/BroadcastChannelSink.js";
100
100
  import { BackendAuditSink as Ba } from "./shared/events/sinks/BackendAuditSink.js";
101
101
  import { compileRybbitRoutePattern as Va, isRybbitSkippedRoute as Ha } from "./shared/events/sinks/rybbitRoutes.js";
102
- import { AnalyticsConsentBanner as Ua, RybbitSink as Wa, readAnalyticsConsent as Ga, readAnalyticsConsentChoice as Ka, setAnalyticsConsent as qa } from "./shared/events/sinks/RybbitSink.js";
103
- import { OtelBrowserSink as Ja } from "./shared/events/sinks/OtelBrowserSink.js";
104
- import { EventBusProvider as Ya, createEventBus as Xa, useEvent as Za, useEventBus as Qa, useEventEmitter as $a } from "./shared-events.js";
105
- import { useDebounce as eo } from "./shared/hooks/useDebounce.js";
106
- import { useThrottle as to } from "./shared/hooks/useThrottle.js";
107
- import { BREAKPOINTS as no, useBreakpoint as ro, useMobileBreakpoint as io } from "./shared/hooks/useBreakpoint.js";
108
- import { useOnClickOutside as ao, useOnClickOutsideWithRef as oo } from "./shared/hooks/useOnClickOutside.js";
109
- import { useKeyPress as so, useKeyboardShortcut as co } from "./shared/hooks/useKeyPress.js";
110
- import { useExclusiveMenu as lo } from "./shared/hooks/useExclusiveMenu.js";
111
- import { useLocalStorage as uo } from "./shared/hooks/useLocalStorage.js";
112
- import { useSessionStorage as fo } from "./shared/hooks/useSessionStorage.js";
113
- import { usePrevious as po, usePreviousDistinct as mo, usePreviousHistory as ho } from "./shared/hooks/usePrevious.js";
114
- import { useConditionalToggle as go, useToggle as _o, useToggleObject as vo } from "./shared/hooks/useToggle.js";
115
- import { usePagination as yo } from "./shared/hooks/usePagination.js";
116
- import { useAsync as bo, useAsyncImmediate as xo } from "./shared/hooks/useAsync.js";
117
- import { MODIFIER_KEYS as So, PLATFORM_TYPES as Co } from "./shared/keyboard/types.js";
118
- import { useKeyboardShortcuts as wo } from "./shared/keyboard/useKeyboardShortcuts.js";
119
- import { useHotkeys as To } from "./shared/keyboard/useHotkeys.js";
120
- import { useShortcutHelp as Eo } from "./shared/keyboard/useShortcutHelp.js";
121
- import { GLOBAL_SHORTCUT_CATEGORIES as Do, createGlobalShortcuts as Oo, getGlobalShortcutsByCategory as ko, mergeShortcuts as Ao } from "./shared/keyboard/globalShortcuts.js";
122
- import { useLogger as jo } from "./shared/logger/useLogger.js";
123
- import { useHasAnimated as Mo } from "./shared/hooks/useHasAnimated.js";
124
- import { useReferralAttribution as No } from "./shared/hooks/useReferralAttribution.js";
125
- import { useRecordProductVisit as Po } from "./shared/hooks/useRecordProductVisit.js";
126
- import { usePushDeviceRegistration as Fo } from "./shared/hooks/usePushDeviceRegistration.js";
127
- import { QUOTA_EXHAUSTED_EVENT as Io, dispatchQuotaExhausted as Lo, useQuotaErrorToast as Ro } from "./shared/hooks/useQuotaErrorToast.js";
128
- import { PLAN_USAGE_SNAPSHOT_EVENT as zo, publishPlanUsageSnapshot as Bo, useUpgradePrompt as Vo } from "./shared/hooks/useUpgradePrompt.js";
129
- import { appendContextToPath as Ho, useCurrentContextSearchParams as Uo } from "./shared/hooks/useCurrentContextSearchParams.js";
130
- import { UNSAVED_CHANGE_LABEL_MAX as Wo, listUnsavedChanges as Go, registerUnsavedChange as Ko, unsavedChangesBlocking as qo, useUnsavedChanges as Jo } from "./shared/navigation/unsavedChanges.js";
131
- import { MicrofrontendContext as Yo, useMicrofrontendContext as Xo } from "./shared-hooks.js";
132
- import { withTourProgressStatus as Zo } from "./shared/tours/progress.js";
133
- import { detectDeviceType as Qo, getResponsiveSelector as $o } from "./shared/tours/types.js";
134
- import { useTourPlayer as es } from "./shared/tours/useTourPlayer.js";
135
- import { TourSpotlight as ts } from "./shared/tours/TourSpotlight.js";
136
- import { TourTooltip as ns } from "./shared/tours/TourTooltip.js";
137
- import { TourPlayerProvider as rs, useIsTourPlaying as is, useStartTour as as, useStopTour as os, useTourPlayerContext as ss } from "./shared/tours/TourPlayerProvider.js";
138
- import { TourPlayer as cs, TourTriggerButton as ls, usePlayTour as us } from "./shared/tours/TourPlayer.js";
139
- import { BIGCONSOLE_TOUR_ROUTE_CATALOG as ds, BUILDMYIQ_TOUR_ROUTE_CATALOG as fs, BUILT_IN_TOUR_ROUTE_CATALOGS as ps, COLLABKIN_TOUR_ROUTE_CATALOG as ms, FLUIDGRIDS_TOUR_ROUTE_CATALOG as hs, INTELWATCHTOWER_TOUR_ROUTE_CATALOG as gs, MANUFACTUREDOPS_TOUR_ROUTE_CATALOG as _s, VIBECONTROLS_TOUR_ROUTE_CATALOG as vs, getBuiltInTourRouteCatalog as ys, listBuiltInTourRouteCatalogProductIds as bs } from "./shared/tours/catalogs.js";
140
- import { createTourPageIdResolver as xs, getTourContextRank as Ss, getTourRouteCatalog as Cs, getTourRouteCatalogVersion as ws, getTourRouteModules as Ts, getTourRoutePages as Es, hasRegisteredTourRouteCatalog as Ds, isTourVisibleForContext as Os, normalizeTourPath as ks, registerTourRouteCatalog as As, resolveTourTargetPath as js, subscribeTourRouteCatalogs as Ms } from "./shared/tours/routeCatalog.js";
141
- import { ToursProvider as Ns, useAutoStartTour as Ps, useSafeToursContext as Fs, useTours as Is, useToursContext as Ls } from "./shared/tours/ToursContext.js";
142
- import { TourInitializer as Rs } from "./shared/tours/TourInitializer.js";
143
- import { useRegisterTourRouteCatalog as zs, useTourRouteCatalog as Bs } from "./shared/tours/useTourRouteCatalog.js";
144
- import { AppShellProvider as Vs, resolveAppShellObservabilityConfig as Hs } from "./shared/providers/AppShellProvider.js";
145
- import { MicrofrontendProvider as Us } from "./shared-providers.js";
146
- import { TourTrigger as Ws } from "./shared/tours/TourTrigger.js";
102
+ import { AnalyticsConsentBanner as Ua, CONSENT_BANNER_OFFSET_VAR as Wa, RybbitSink as Ga, publishConsentBannerOffset as Ka, readAnalyticsConsent as qa, readAnalyticsConsentChoice as Ja, setAnalyticsConsent as Ya } from "./shared/events/sinks/RybbitSink.js";
103
+ import { OtelBrowserSink as Xa } from "./shared/events/sinks/OtelBrowserSink.js";
104
+ import { EventBusProvider as Za, createEventBus as Qa, useEvent as $a, useEventBus as eo, useEventEmitter as to } from "./shared-events.js";
105
+ import { useDebounce as no } from "./shared/hooks/useDebounce.js";
106
+ import { useThrottle as ro } from "./shared/hooks/useThrottle.js";
107
+ import { BREAKPOINTS as io, useBreakpoint as ao, useMobileBreakpoint as oo } from "./shared/hooks/useBreakpoint.js";
108
+ import { useOnClickOutside as so, useOnClickOutsideWithRef as co } from "./shared/hooks/useOnClickOutside.js";
109
+ import { useKeyPress as lo, useKeyboardShortcut as uo } from "./shared/hooks/useKeyPress.js";
110
+ import { useExclusiveMenu as fo } from "./shared/hooks/useExclusiveMenu.js";
111
+ import { useLocalStorage as po } from "./shared/hooks/useLocalStorage.js";
112
+ import { useSessionStorage as mo } from "./shared/hooks/useSessionStorage.js";
113
+ import { usePrevious as ho, usePreviousDistinct as go, usePreviousHistory as _o } from "./shared/hooks/usePrevious.js";
114
+ import { useConditionalToggle as vo, useToggle as yo, useToggleObject as bo } from "./shared/hooks/useToggle.js";
115
+ import { usePagination as xo } from "./shared/hooks/usePagination.js";
116
+ import { useAsync as So, useAsyncImmediate as Co } from "./shared/hooks/useAsync.js";
117
+ import { MODIFIER_KEYS as wo, PLATFORM_TYPES as To } from "./shared/keyboard/types.js";
118
+ import { useKeyboardShortcuts as Eo } from "./shared/keyboard/useKeyboardShortcuts.js";
119
+ import { useHotkeys as Do } from "./shared/keyboard/useHotkeys.js";
120
+ import { useShortcutHelp as Oo } from "./shared/keyboard/useShortcutHelp.js";
121
+ import { GLOBAL_SHORTCUT_CATEGORIES as ko, createGlobalShortcuts as Ao, getGlobalShortcutsByCategory as jo, mergeShortcuts as Mo } from "./shared/keyboard/globalShortcuts.js";
122
+ import { useLogger as No } from "./shared/logger/useLogger.js";
123
+ import { useHasAnimated as Po } from "./shared/hooks/useHasAnimated.js";
124
+ import { useReferralAttribution as Fo } from "./shared/hooks/useReferralAttribution.js";
125
+ import { useRecordProductVisit as Io } from "./shared/hooks/useRecordProductVisit.js";
126
+ import { usePushDeviceRegistration as Lo } from "./shared/hooks/usePushDeviceRegistration.js";
127
+ import { QUOTA_EXHAUSTED_EVENT as Ro, dispatchQuotaExhausted as zo, useQuotaErrorToast as Bo } from "./shared/hooks/useQuotaErrorToast.js";
128
+ import { PLAN_USAGE_SNAPSHOT_EVENT as Vo, publishPlanUsageSnapshot as Ho, useUpgradePrompt as Uo } from "./shared/hooks/useUpgradePrompt.js";
129
+ import { appendContextToPath as Wo, useCurrentContextSearchParams as Go } from "./shared/hooks/useCurrentContextSearchParams.js";
130
+ import { UNSAVED_CHANGE_LABEL_MAX as Ko, listUnsavedChanges as qo, registerUnsavedChange as Jo, unsavedChangesBlocking as Yo, useUnsavedChanges as Xo } from "./shared/navigation/unsavedChanges.js";
131
+ import { MicrofrontendContext as Zo, useMicrofrontendContext as Qo } from "./shared-hooks.js";
132
+ import { withTourProgressStatus as $o } from "./shared/tours/progress.js";
133
+ import { detectDeviceType as es, getResponsiveSelector as ts } from "./shared/tours/types.js";
134
+ import { useTourPlayer as ns } from "./shared/tours/useTourPlayer.js";
135
+ import { TourSpotlight as rs } from "./shared/tours/TourSpotlight.js";
136
+ import { TourTooltip as is } from "./shared/tours/TourTooltip.js";
137
+ import { TourPlayerProvider as as, useIsTourPlaying as os, useStartTour as ss, useStopTour as cs, useTourPlayerContext as ls } from "./shared/tours/TourPlayerProvider.js";
138
+ import { TourPlayer as us, TourTriggerButton as ds, usePlayTour as fs } from "./shared/tours/TourPlayer.js";
139
+ import { BIGCONSOLE_TOUR_ROUTE_CATALOG as ps, BUILDMYIQ_TOUR_ROUTE_CATALOG as ms, BUILT_IN_TOUR_ROUTE_CATALOGS as hs, COLLABKIN_TOUR_ROUTE_CATALOG as gs, FLUIDGRIDS_TOUR_ROUTE_CATALOG as _s, INTELWATCHTOWER_TOUR_ROUTE_CATALOG as vs, MANUFACTUREDOPS_TOUR_ROUTE_CATALOG as ys, VIBECONTROLS_TOUR_ROUTE_CATALOG as bs, getBuiltInTourRouteCatalog as xs, listBuiltInTourRouteCatalogProductIds as Ss } from "./shared/tours/catalogs.js";
140
+ import { createTourPageIdResolver as Cs, getTourContextRank as ws, getTourRouteCatalog as Ts, getTourRouteCatalogVersion as Es, getTourRouteModules as Ds, getTourRoutePages as Os, hasRegisteredTourRouteCatalog as ks, isTourVisibleForContext as As, normalizeTourPath as js, registerTourRouteCatalog as Ms, resolveTourTargetPath as Ns, subscribeTourRouteCatalogs as Ps } from "./shared/tours/routeCatalog.js";
141
+ import { ToursProvider as Fs, useAutoStartTour as Is, useSafeToursContext as Ls, useTours as Rs, useToursContext as zs } from "./shared/tours/ToursContext.js";
142
+ import { TourInitializer as Bs } from "./shared/tours/TourInitializer.js";
143
+ import { useRegisterTourRouteCatalog as Vs, useTourRouteCatalog as Hs } from "./shared/tours/useTourRouteCatalog.js";
144
+ import { AppShellProvider as Us, resolveAppShellObservabilityConfig as Ws } from "./shared/providers/AppShellProvider.js";
145
+ import { MicrofrontendProvider as Gs } from "./shared-providers.js";
146
+ import { TourTrigger as Ks } from "./shared/tours/TourTrigger.js";
147
147
  import "./shared-tours.js";
148
- import { acknowledgeNativePurchase as Gs, getNativeProducts as Ks, getNativePurchases as qs, installNativeIAP as Js, isNativeIAPAvailable as Ys, purchaseNativeProduct as Xs, restoreNativePurchases as Zs } from "./shared/native/purchases.js";
148
+ import { acknowledgeNativePurchase as qs, getNativeProducts as Js, getNativePurchases as Ys, installNativeIAP as Xs, isNativeIAPAvailable as Zs, purchaseNativeProduct as Qs, restoreNativePurchases as $s } from "./shared/native/purchases.js";
149
149
  import "./shared-native.js";
150
150
  import "./shared/actors/index.js";
151
151
  //#region src/shared/index.ts
152
- var Qs = "1.0.0";
152
+ var ec = "1.0.0";
153
153
  //#endregion
154
- export { xa as ASSISTANT_WIDGET_TOGGLE_EVENT, pi as AccessDenied, Xr as ActorIdentity, Ua as AnalyticsConsentBanner, Qt as ApolloClient, $t as ApolloProvider, Ci as AppErrorBoundary, er as AppInitializer, Vs as AppShellProvider, Sa as AssistantWidget, bt as BACKEND_ERROR_EVENT, ds as BIGCONSOLE_TOUR_ROUTE_CATALOG, ze as BOTMANOR_PRODUCT_SLUG, no as BREAKPOINTS, fs as BUILDMYIQ_TOUR_ROUTE_CATALOG, ps as BUILT_IN_TOUR_ROUTE_CATALOGS, Ba as BackendAuditSink, za as BroadcastChannelSink, Ge as CANONICAL_DOCS_HOSTS, m as CHART_SERIES_COUNT, ms as COLLABKIN_TOUR_ROUTE_CATALOG, et as COMMON_SHELL_LESS_ROUTES, xt as CONNECTION_STATUS_EVENT, bi as ConditionalShell, sr as ConsoleTransport, Mi as ContextConversationWidget, h as DATA_TYPES, ot as DEFAULT_PAGE_SIZE, Qi as DEFAULT_QUOTA_UPGRADE_COPY, tt as DEFAULT_SHELL_CONFIG, te as DESKTOP_UPDATE_UNSUPPORTED, ne as DESKTOP_WINDOW_STATE_DEFAULT, Ia as DesktopUpdateToast, Ra as DevtoolsSink, ca as DocsLink, g as EDGE_KINDS, si as ErrorBoundary, hi as ErrorFallback, Ya as EventBusProvider, Qs as FE_SHARED_VERSION, La as FLUIDGRIDS_RYBBIT_EVENTS, hs as FLUIDGRIDS_TOUR_ROUTE_CATALOG, wi as FeatureFlagProvider, ji as FeatureGate, st as GATEWAYS, Do as GLOBAL_SHORTCUT_CATEGORIES, Wt as GatewayProvider, Sr as INLINE_ENCODE, gs as INTELWATCHTOWER_TOUR_ROUTE_CATALOG, en as InMemoryCache, Ki as KeyboardHelpDialogWrapper, ga as LandingGateView, _a as LandingOrDashboardRedirect, gi as LoadingFallback, rr as LogLevel, ar as LogManager, ir as Logger, Fr as MAIN_CONTENT_ID, _s as MANUFACTUREDOPS_TOUR_ROUTE_CATALOG, So as MODIFIER_KEYS, Ir as MainLandmark, Ca as Markdown, Yo as MicrofrontendContext, yi as MicrofrontendErrorBoundary, Us as MicrofrontendProvider, _ as NODE_CATEGORIES, v as NODE_STATES, Ja as OtelBrowserSink, zo as PLAN_USAGE_SNAPSHOT_EVENT, Co as PLATFORM_TYPES, Be as PRODUCTS, Ne as PRODUCT_SLUG_EMIT, Pe as PRODUCT_SLUG_RENAMES, Ve as PRODUCT_URLS, la as PUBLIC_PRODUCT_DOCS_URL_QUERY, Gr as PULL_TO_REFRESH_THRESHOLD, ri as PUSH_DEVICE_ID_STORAGE_KEY, Si as PWAInstallBanner, _i as PageLoadingFallback, ui as PermissionButton, mi as PermissionDenied, di as PermissionGate, fi as PermissionLink, Lr as PublicLayout, pr as QUOTA_EXHAUSTED_CODE, Io as QUOTA_EXHAUSTED_EVENT, qi as QuotaMeter, $i as QuotaUpgradeBridge, mr as RESOURCE_CAP_EXCEEDED_CODE, ci as RequireAuth, li as RequireGuest, Wa as RybbitSink, Rt as SSELink, In as SSORedirectSpinner, Hn as SSO_DEPOSITED_PARAM, hr as STORAGE_QUOTA_EXCEEDED_CODE, Vr as SafeAreaView, vi as SectionLoadingFallback, Rr as SkipToContentLink, Rs as TourInitializer, cs as TourPlayer, rs as TourPlayerProvider, ts as TourSpotlight, ns as TourTooltip, Ws as TourTrigger, ls as TourTriggerButton, Ns as ToursProvider, Wo as UNSAVED_CHANGE_LABEL_MAX, gr as UPGRADE_ERROR_CODES, Ji as UPGRADE_PROMPT_EVENT, Zi as UpgradeInlineBanner, Yi as UpgradePromptModal, vs as VIBECONTROLS_TOUR_ROUTE_CATALOG, pt as WORKSPACE_CONTEXT_CHANGED, mt as WORKSPACE_CONTEXT_MISMATCH_EVENT, ht as WORKSPACE_WRITE_REFUSED_EVENT, gt as WORKSPACE_WRITE_REFUSED_MESSAGE, _t as WorkspaceContextChangedError, Xt as WsLink, Gs as acknowledgeNativePurchase, r as alertTokens, Ho as appendContextToPath, Mn as assignLocationWithAllowlist, cn as attemptTokenRefresh, Un as beginSsoNavigation, re as bootDesktopShell, Zr as buildActorFallback, Ke as buildProductDocsUrl, _r as buildQuotaExhaustedMessage, Wn as buildSsoDepositUrl, qe as canonicalizeDocsOrigin, j as capitalizeFirst, M as capitalizeWords, ea as captureQuotaDialogOwners, i as categoryTokens, y as chartSeriesColor, b as chartSeriesIndex, Ln as checkRemoteSLO, Rn as checkSLO, ta as claimQuotaDialog, ln as clearAuthSessionStorage, kt as clearGraphqlFetchResponseCache, zn as clearLocalAuthState, mn as clearSSoCookie, hn as clearShellSsoCookies, Gn as clearSsoDepositState, Kn as clearSsoNavigation, cr as clearUserContext, Tr as cn, Va as compileRybbitRoutePattern, Kr as computePullOffset, qr as computePullProgress, qn as consumeSsoDepositMarker, n as createApolloClient, Xa as createEventBus, Oo as createGlobalShortcuts, zt as createGraphQLClient, dr as createProfileScopedStorage, xs as createTourPageIdResolver, x as dataTypeColor, S as dataTypeTextClasses, ie as desktopCheckForUpdates, ae as desktopDeepLinkToPath, oe as desktopInstallUpdate, se as desktopNotify, ce as desktopOpenExternal, le as desktopSetBadgeCount, ue as desktopSetLocale, de as desktopSetTheme, fe as desktopSetTrayQuickActions, Qo as detectDeviceType, Ni as detectPlatform, St as dispatchBackendErrorEvent, na as dispatchProductQuotaExhausted, Lo as dispatchQuotaExhausted, Xi as dispatchUpgradePrompt, Cr as downscaleImage, C as edgeColor, Fe as emitProductSlug, Ct as extractBackendError, vr as extractQuotaExhaustedExtensions, yr as extractUpgradeErrorExtensions, ua as fetchRegistryDocsUrl, He as findProductConfig, zr as focusSkipTarget, N as formatBytes, P as formatCompactNumber, F as formatCurrency, I as formatCurrencyCompact, L as formatDate, R as formatDateTime, z as formatDuration, Pi as formatKeyCombo, B as formatList, V as formatNumber, H as formatOrdinal, U as formatPercentage, W as formatRelativeTime, G as formatTime, a as getAlertTokens, ys as getBuiltInTourRouteCatalog, $ as getCapacitorPlatform, Je as getCatalogDocsOrigin, o as getCategoryTokens, pe as getDesktopAuthBridgeConfig, me as getDesktopBridge, he as getDesktopGatewayBases, ge as getDesktopGatewayUrls, _e as getDesktopRuntimeConfig, ve as getDesktopUpdateState, ye as getDesktopWindowState, Fi as getDisplayKeysForPlatform, ct as getGatewayConfig, lt as getGatewayUrl, Bt as getGlobalClient, ko as getGlobalShortcutsByCategory, ut as getGraphQLEndpoint, be as getLegacyDesktopRuntime, Sn as getNativeBridge, ma as getNativeEntryRoutes, Ks as getNativeProducts, qs as getNativePurchases, ii as getOrCreatePushDeviceId, Cn as getPlatform, Ue as getProductUrl, We as getProductsWithUrls, fr as getProfileScopedKey, s as getProgressTokens, $r as getPushOptInController, $o as getResponsiveSelector, Bn as getSSORedirectUrl, gn as getSSoCookie, nt as getShellConfig, Ii as getShortcutLabel, c as getStatusBadgeTokens, l as getStatusTokens, At as getStoredAuthToken, jt as getStoredLocale, Mt as getStoredOrganizationId, Nt as getStoredProjectId, Pt as getStoredWorkspaceId, Ft as getStoredWorkspaceToken, Ss as getTourContextRank, Cs as getTourRouteCatalog, ws as getTourRouteCatalogVersion, Ts as getTourRouteModules, Es as getTourRoutePages, u as getTrendTokens, Vt as getWorkspaceClient, dt as getWorkspaceTokenPayload, tn as gql, It as graphqlFetch, un as hasAuthGraphQLErrors, Ds as hasRegisteredTourRouteCatalog, va as hasStoredValidSession, Ht as initializeAppClients, lr as initializeLogger, xe as installDesktopDeepLinkHandler, Se as installDesktopNavigateHandler, Oe as installGatewayFetchRewrite, Js as installNativeIAP, wt as isAbortError, Nn as isAllowedRedirectUrl, wn as isAndroid, dn as isAuthGraphQLError, fn as isAuthNetworkError, Tt as isBackendErrorDisplay, ee as isCapacitorNative, Z as isChunkLoadError, Ce as isDesktop, Tn as isElectron, En as isIOS, Dn as isInstalledApp, Li as isMac, Ri as isMobileDevice, On as isNative, Ys as isNativeIAPAvailable, br as isQuotaExhaustedError, Ha as isRybbitSkippedRoute, Ie as isSameProductSlug, _n as isSharedSsoCookieDomain, rt as isShellLessRoute, Jn as isSsoNavigationPending, kn as isStandalonePWA, zi as isTabletDevice, Os as isTourVisibleForContext, Et as isTransportError, vn as isTrustedSsoOrigin, xr as isUpgradeError, An as isWeb, jn as isWebBrowser, vt as isWorkspaceContextChangedError, ft as isWorkspaceTokenValidForContext, Q as lazyWithRetry, Le as legacyProductSlug, bs as listBuiltInTourRouteCatalogProductIds, Go as listUnsavedChanges, or as logManager, Dt as markConnectionHealthy, Yn as markSsoDepositDone, Xn as markSsoDepositPending, Bi as matchesKeyCombo, Ao as mergeShortcuts, Zn as mintSsoSessionTokens, Er as nativeActionSheet, Dr as nativeConfirm, Or as nativeCopyText, kr as nativeImpact, Ar as nativeNotify, jr as nativeOpenUrl, Mr as nativeSelection, Nr as nativeShare, Pr as nativeToast, w as nodeCategoryClasses, T as nodeCategoryColor, E as nodeCategorySubtleColor, D as nodeStateColor, O as nodeStateRingClasses, Ye as normalizeDocsPath, Vi as normalizeKey, Hi as normalizePlatformCombo, Re as normalizeProductSlug, ks as normalizeTourPath, we as onDesktopUpdateState, Te as onDesktopWindowState, Pn as openUrlInNewTabWithAllowlist, Ui as parseKeyCombo, K as pluralize, Zt as prepareWorkspaceRequest, d as progressTokens, Bo as publishPlanUsageSnapshot, Xs as purchaseNativeProduct, ra as quotaEventKind, Ga as readAnalyticsConsent, Ka as readAnalyticsConsentChoice, yt as readContextInputWorkspaceId, Hr as readInitialNetworkStatus, da as readRegistryDocsUrl, yn as readShellSsoCookie, Qn as readSsoDepositState, ei as recordPushPermissionPromptDismissed, pn as redirectToLogin, Vn as redirectToSSO, Ur as reduceNetworkStatus, Ee as registerDesktopNavigator, ai as registerPushDevice, ti as registerPushOptInController, As as registerTourRouteCatalog, Ko as registerUnsavedChange, Fn as replaceLocationWithAllowlist, Ut as resetAppClients, ja as resolveActionSheetOutcome, Hs as resolveAppShellObservabilityConfig, je as resolveAuthBridgeConfig, Xe as resolveDocsEnvironment, ke as resolveGatewayBases, Lt as resolveGatewayUrl, De as resolveGatewayUrls, ya as resolveLandingGate, Ze as resolveProductDocsOrigin, ia as resolveQuotaUpgradeCopy, Me as resolveShellAuthBridgeConfig, js as resolveTourTargetPath, Zs as restoreNativePurchases, wr as selectInlineBase64, qa as setAnalyticsConsent, bn as setSSoCookie, xn as setShellSsoCookies, ur as setUserContext, $n as shouldAttemptSsoDeposit, Wi as shouldEnableKeyboardShortcuts, Gi as shouldIgnoreShortcut, ni as shouldPromptForPushPermission, it as shouldShowBreadcrumb, ha as shouldShowNativeWelcome, at as shouldShowSidebar, Ot as shouldToastBackendError, q as slugify, f as statusTokens, Ms as subscribeTourRouteCatalogs, Ae as suppressConsole, J as toCamelCase, k as toDataType, Qe as toEnvironmentDocsOrigin, A as toNodeCategory, Y as toPascalCase, $e as toTrustedDocsOrigin, p as trendTokens, X as truncateText, oi as unregisterPushDevice, qo as unsavedChangesBlocking, Ma as useActionSheet, Qr as useActorProfiles, nn as useApolloClient, Da as useAppState, bo as useAsync, xo as useAsyncImmediate, Ps as useAutoStartTour, ro as useBreakpoint, go as useConditionalToggle, e as useCopyToClipboard, Uo as useCurrentContextSearchParams, eo as useDebounce, Na as useDesktop, Pa as useDesktopUpdateState, Fa as useDesktopWindowState, Oa as useDeviceInfo, Za as useEvent, Qa as useEventBus, $a as useEventEmitter, lo as useExclusiveMenu, Di as useFeatureFlag, Oi as useFeatureFlagDetails, ki as useFeatureFlagValue, Ti as useFeatureFlags, Gt as useGateway, Kt as useGatewayClient, ka as useHaptics, Mo as useHasAnimated, Yt as useHasAuthToken, To as useHotkeys, Br as useInsideMainLandmark, is as useIsTourPlaying, so as useKeyPress, co as useKeyboardShortcut, wo as useKeyboardShortcuts, rn as useLazyQuery, uo as useLocalStorage, jo as useLogger, t as useMediaQuery, Xo as useMicrofrontendContext, io as useMobileBreakpoint, an as useMutation, Ea as useNativeKeyboard, wa as useNativePlatform, Wr as useNetworkStatus, ao as useOnClickOutside, oo as useOnClickOutsideWithRef, Ai as useOptionalFeatureFlag, Ei as useOptionalFeatureFlags, xi as usePWA, yo as usePagination, us as usePlayTour, po as usePrevious, mo as usePreviousDistinct, ho as usePreviousHistory, fa as useProductDocsOrigin, pa as useProductDocsUrl, Jr as usePullToRefresh, Fo as usePushDeviceRegistration, on as useQuery, aa as useQuotaDialogOwnership, Ro as useQuotaErrorToast, oa as useQuotaUpgradeBridge, Po as useRecordProductVisit, No as useReferralAttribution, zs as useRegisterTourRouteCatalog, tr as useRegistryHelpers, Yr as useReturnFocus, Ta as useSafeArea, qt as useSafeGateway, Jt as useSafeGatewayClient, Fs as useSafeToursContext, fo as useSessionStorage, nr as useShellNavigate, Eo as useShortcutHelp, as as useStartTour, Aa as useStatusBar, os as useStopTour, sn as useSubscription, to as useThrottle, _o as useToggle, vo as useToggleObject, es as useTourPlayer, ss as useTourPlayerContext, Bs as useTourRouteCatalog, Is as useTours, Ls as useToursContext, Jo as useUnsavedChanges, Vo as useUpgradePrompt, ba as useVoiceInput, sa as withQuotaDialogOwnership, Zo as withTourProgressStatus };
154
+ export { xa as ASSISTANT_WIDGET_TOGGLE_EVENT, pi as AccessDenied, Xr as ActorIdentity, Ua as AnalyticsConsentBanner, Qt as ApolloClient, $t as ApolloProvider, Ci as AppErrorBoundary, er as AppInitializer, Us as AppShellProvider, Sa as AssistantWidget, bt as BACKEND_ERROR_EVENT, ps as BIGCONSOLE_TOUR_ROUTE_CATALOG, ze as BOTMANOR_PRODUCT_SLUG, io as BREAKPOINTS, ms as BUILDMYIQ_TOUR_ROUTE_CATALOG, hs as BUILT_IN_TOUR_ROUTE_CATALOGS, Ba as BackendAuditSink, za as BroadcastChannelSink, Ge as CANONICAL_DOCS_HOSTS, m as CHART_SERIES_COUNT, gs as COLLABKIN_TOUR_ROUTE_CATALOG, et as COMMON_SHELL_LESS_ROUTES, xt as CONNECTION_STATUS_EVENT, Wa as CONSENT_BANNER_OFFSET_VAR, bi as ConditionalShell, sr as ConsoleTransport, Mi as ContextConversationWidget, h as DATA_TYPES, ot as DEFAULT_PAGE_SIZE, Qi as DEFAULT_QUOTA_UPGRADE_COPY, tt as DEFAULT_SHELL_CONFIG, te as DESKTOP_UPDATE_UNSUPPORTED, ne as DESKTOP_WINDOW_STATE_DEFAULT, Ia as DesktopUpdateToast, Ra as DevtoolsSink, ca as DocsLink, g as EDGE_KINDS, si as ErrorBoundary, hi as ErrorFallback, Za as EventBusProvider, ec as FE_SHARED_VERSION, La as FLUIDGRIDS_RYBBIT_EVENTS, _s as FLUIDGRIDS_TOUR_ROUTE_CATALOG, wi as FeatureFlagProvider, ji as FeatureGate, st as GATEWAYS, ko as GLOBAL_SHORTCUT_CATEGORIES, Wt as GatewayProvider, Sr as INLINE_ENCODE, vs as INTELWATCHTOWER_TOUR_ROUTE_CATALOG, en as InMemoryCache, Ki as KeyboardHelpDialogWrapper, ga as LandingGateView, _a as LandingOrDashboardRedirect, gi as LoadingFallback, rr as LogLevel, ar as LogManager, ir as Logger, Fr as MAIN_CONTENT_ID, ys as MANUFACTUREDOPS_TOUR_ROUTE_CATALOG, wo as MODIFIER_KEYS, Ir as MainLandmark, Ca as Markdown, Zo as MicrofrontendContext, yi as MicrofrontendErrorBoundary, Gs as MicrofrontendProvider, _ as NODE_CATEGORIES, v as NODE_STATES, Xa as OtelBrowserSink, Vo as PLAN_USAGE_SNAPSHOT_EVENT, To as PLATFORM_TYPES, Be as PRODUCTS, Ne as PRODUCT_SLUG_EMIT, Pe as PRODUCT_SLUG_RENAMES, Ve as PRODUCT_URLS, la as PUBLIC_PRODUCT_DOCS_URL_QUERY, Gr as PULL_TO_REFRESH_THRESHOLD, ri as PUSH_DEVICE_ID_STORAGE_KEY, Si as PWAInstallBanner, _i as PageLoadingFallback, ui as PermissionButton, mi as PermissionDenied, di as PermissionGate, fi as PermissionLink, Lr as PublicLayout, pr as QUOTA_EXHAUSTED_CODE, Ro as QUOTA_EXHAUSTED_EVENT, qi as QuotaMeter, $i as QuotaUpgradeBridge, mr as RESOURCE_CAP_EXCEEDED_CODE, ci as RequireAuth, li as RequireGuest, Ga as RybbitSink, Rt as SSELink, In as SSORedirectSpinner, Hn as SSO_DEPOSITED_PARAM, hr as STORAGE_QUOTA_EXCEEDED_CODE, Vr as SafeAreaView, vi as SectionLoadingFallback, Rr as SkipToContentLink, Bs as TourInitializer, us as TourPlayer, as as TourPlayerProvider, rs as TourSpotlight, is as TourTooltip, Ks as TourTrigger, ds as TourTriggerButton, Fs as ToursProvider, Ko as UNSAVED_CHANGE_LABEL_MAX, gr as UPGRADE_ERROR_CODES, Ji as UPGRADE_PROMPT_EVENT, Zi as UpgradeInlineBanner, Yi as UpgradePromptModal, bs as VIBECONTROLS_TOUR_ROUTE_CATALOG, pt as WORKSPACE_CONTEXT_CHANGED, mt as WORKSPACE_CONTEXT_MISMATCH_EVENT, ht as WORKSPACE_WRITE_REFUSED_EVENT, gt as WORKSPACE_WRITE_REFUSED_MESSAGE, _t as WorkspaceContextChangedError, Xt as WsLink, qs as acknowledgeNativePurchase, r as alertTokens, Wo as appendContextToPath, Mn as assignLocationWithAllowlist, cn as attemptTokenRefresh, Un as beginSsoNavigation, re as bootDesktopShell, Zr as buildActorFallback, Ke as buildProductDocsUrl, _r as buildQuotaExhaustedMessage, Wn as buildSsoDepositUrl, qe as canonicalizeDocsOrigin, j as capitalizeFirst, M as capitalizeWords, ea as captureQuotaDialogOwners, i as categoryTokens, y as chartSeriesColor, b as chartSeriesIndex, Ln as checkRemoteSLO, Rn as checkSLO, ta as claimQuotaDialog, ln as clearAuthSessionStorage, kt as clearGraphqlFetchResponseCache, zn as clearLocalAuthState, mn as clearSSoCookie, hn as clearShellSsoCookies, Gn as clearSsoDepositState, Kn as clearSsoNavigation, cr as clearUserContext, Tr as cn, Va as compileRybbitRoutePattern, Kr as computePullOffset, qr as computePullProgress, qn as consumeSsoDepositMarker, n as createApolloClient, Qa as createEventBus, Ao as createGlobalShortcuts, zt as createGraphQLClient, dr as createProfileScopedStorage, Cs as createTourPageIdResolver, x as dataTypeColor, S as dataTypeTextClasses, ie as desktopCheckForUpdates, ae as desktopDeepLinkToPath, oe as desktopInstallUpdate, se as desktopNotify, ce as desktopOpenExternal, le as desktopSetBadgeCount, ue as desktopSetLocale, de as desktopSetTheme, fe as desktopSetTrayQuickActions, es as detectDeviceType, Ni as detectPlatform, St as dispatchBackendErrorEvent, na as dispatchProductQuotaExhausted, zo as dispatchQuotaExhausted, Xi as dispatchUpgradePrompt, Cr as downscaleImage, C as edgeColor, Fe as emitProductSlug, Ct as extractBackendError, vr as extractQuotaExhaustedExtensions, yr as extractUpgradeErrorExtensions, ua as fetchRegistryDocsUrl, He as findProductConfig, zr as focusSkipTarget, N as formatBytes, P as formatCompactNumber, F as formatCurrency, I as formatCurrencyCompact, L as formatDate, R as formatDateTime, z as formatDuration, Pi as formatKeyCombo, B as formatList, V as formatNumber, H as formatOrdinal, U as formatPercentage, W as formatRelativeTime, G as formatTime, a as getAlertTokens, xs as getBuiltInTourRouteCatalog, $ as getCapacitorPlatform, Je as getCatalogDocsOrigin, o as getCategoryTokens, pe as getDesktopAuthBridgeConfig, me as getDesktopBridge, he as getDesktopGatewayBases, ge as getDesktopGatewayUrls, _e as getDesktopRuntimeConfig, ve as getDesktopUpdateState, ye as getDesktopWindowState, Fi as getDisplayKeysForPlatform, ct as getGatewayConfig, lt as getGatewayUrl, Bt as getGlobalClient, jo as getGlobalShortcutsByCategory, ut as getGraphQLEndpoint, be as getLegacyDesktopRuntime, Sn as getNativeBridge, ma as getNativeEntryRoutes, Js as getNativeProducts, Ys as getNativePurchases, ii as getOrCreatePushDeviceId, Cn as getPlatform, Ue as getProductUrl, We as getProductsWithUrls, fr as getProfileScopedKey, s as getProgressTokens, $r as getPushOptInController, ts as getResponsiveSelector, Bn as getSSORedirectUrl, gn as getSSoCookie, nt as getShellConfig, Ii as getShortcutLabel, c as getStatusBadgeTokens, l as getStatusTokens, At as getStoredAuthToken, jt as getStoredLocale, Mt as getStoredOrganizationId, Nt as getStoredProjectId, Pt as getStoredWorkspaceId, Ft as getStoredWorkspaceToken, ws as getTourContextRank, Ts as getTourRouteCatalog, Es as getTourRouteCatalogVersion, Ds as getTourRouteModules, Os as getTourRoutePages, u as getTrendTokens, Vt as getWorkspaceClient, dt as getWorkspaceTokenPayload, tn as gql, It as graphqlFetch, un as hasAuthGraphQLErrors, ks as hasRegisteredTourRouteCatalog, va as hasStoredValidSession, Ht as initializeAppClients, lr as initializeLogger, xe as installDesktopDeepLinkHandler, Se as installDesktopNavigateHandler, Oe as installGatewayFetchRewrite, Xs as installNativeIAP, wt as isAbortError, Nn as isAllowedRedirectUrl, wn as isAndroid, dn as isAuthGraphQLError, fn as isAuthNetworkError, Tt as isBackendErrorDisplay, ee as isCapacitorNative, Z as isChunkLoadError, Ce as isDesktop, Tn as isElectron, En as isIOS, Dn as isInstalledApp, Li as isMac, Ri as isMobileDevice, On as isNative, Zs as isNativeIAPAvailable, br as isQuotaExhaustedError, Ha as isRybbitSkippedRoute, Ie as isSameProductSlug, _n as isSharedSsoCookieDomain, rt as isShellLessRoute, Jn as isSsoNavigationPending, kn as isStandalonePWA, zi as isTabletDevice, As as isTourVisibleForContext, Et as isTransportError, vn as isTrustedSsoOrigin, xr as isUpgradeError, An as isWeb, jn as isWebBrowser, vt as isWorkspaceContextChangedError, ft as isWorkspaceTokenValidForContext, Q as lazyWithRetry, Le as legacyProductSlug, Ss as listBuiltInTourRouteCatalogProductIds, qo as listUnsavedChanges, or as logManager, Dt as markConnectionHealthy, Yn as markSsoDepositDone, Xn as markSsoDepositPending, Bi as matchesKeyCombo, Mo as mergeShortcuts, Zn as mintSsoSessionTokens, Er as nativeActionSheet, Dr as nativeConfirm, Or as nativeCopyText, kr as nativeImpact, Ar as nativeNotify, jr as nativeOpenUrl, Mr as nativeSelection, Nr as nativeShare, Pr as nativeToast, w as nodeCategoryClasses, T as nodeCategoryColor, E as nodeCategorySubtleColor, D as nodeStateColor, O as nodeStateRingClasses, Ye as normalizeDocsPath, Vi as normalizeKey, Hi as normalizePlatformCombo, Re as normalizeProductSlug, js as normalizeTourPath, we as onDesktopUpdateState, Te as onDesktopWindowState, Pn as openUrlInNewTabWithAllowlist, Ui as parseKeyCombo, K as pluralize, Zt as prepareWorkspaceRequest, d as progressTokens, Ka as publishConsentBannerOffset, Ho as publishPlanUsageSnapshot, Qs as purchaseNativeProduct, ra as quotaEventKind, qa as readAnalyticsConsent, Ja as readAnalyticsConsentChoice, yt as readContextInputWorkspaceId, Hr as readInitialNetworkStatus, da as readRegistryDocsUrl, yn as readShellSsoCookie, Qn as readSsoDepositState, ei as recordPushPermissionPromptDismissed, pn as redirectToLogin, Vn as redirectToSSO, Ur as reduceNetworkStatus, Ee as registerDesktopNavigator, ai as registerPushDevice, ti as registerPushOptInController, Ms as registerTourRouteCatalog, Jo as registerUnsavedChange, Fn as replaceLocationWithAllowlist, Ut as resetAppClients, ja as resolveActionSheetOutcome, Ws as resolveAppShellObservabilityConfig, je as resolveAuthBridgeConfig, Xe as resolveDocsEnvironment, ke as resolveGatewayBases, Lt as resolveGatewayUrl, De as resolveGatewayUrls, ya as resolveLandingGate, Ze as resolveProductDocsOrigin, ia as resolveQuotaUpgradeCopy, Me as resolveShellAuthBridgeConfig, Ns as resolveTourTargetPath, $s as restoreNativePurchases, wr as selectInlineBase64, Ya as setAnalyticsConsent, bn as setSSoCookie, xn as setShellSsoCookies, ur as setUserContext, $n as shouldAttemptSsoDeposit, Wi as shouldEnableKeyboardShortcuts, Gi as shouldIgnoreShortcut, ni as shouldPromptForPushPermission, it as shouldShowBreadcrumb, ha as shouldShowNativeWelcome, at as shouldShowSidebar, Ot as shouldToastBackendError, q as slugify, f as statusTokens, Ps as subscribeTourRouteCatalogs, Ae as suppressConsole, J as toCamelCase, k as toDataType, Qe as toEnvironmentDocsOrigin, A as toNodeCategory, Y as toPascalCase, $e as toTrustedDocsOrigin, p as trendTokens, X as truncateText, oi as unregisterPushDevice, Yo as unsavedChangesBlocking, Ma as useActionSheet, Qr as useActorProfiles, nn as useApolloClient, Da as useAppState, So as useAsync, Co as useAsyncImmediate, Is as useAutoStartTour, ao as useBreakpoint, vo as useConditionalToggle, e as useCopyToClipboard, Go as useCurrentContextSearchParams, no as useDebounce, Na as useDesktop, Pa as useDesktopUpdateState, Fa as useDesktopWindowState, Oa as useDeviceInfo, $a as useEvent, eo as useEventBus, to as useEventEmitter, fo as useExclusiveMenu, Di as useFeatureFlag, Oi as useFeatureFlagDetails, ki as useFeatureFlagValue, Ti as useFeatureFlags, Gt as useGateway, Kt as useGatewayClient, ka as useHaptics, Po as useHasAnimated, Yt as useHasAuthToken, Do as useHotkeys, Br as useInsideMainLandmark, os as useIsTourPlaying, lo as useKeyPress, uo as useKeyboardShortcut, Eo as useKeyboardShortcuts, rn as useLazyQuery, po as useLocalStorage, No as useLogger, t as useMediaQuery, Qo as useMicrofrontendContext, oo as useMobileBreakpoint, an as useMutation, Ea as useNativeKeyboard, wa as useNativePlatform, Wr as useNetworkStatus, so as useOnClickOutside, co as useOnClickOutsideWithRef, Ai as useOptionalFeatureFlag, Ei as useOptionalFeatureFlags, xi as usePWA, xo as usePagination, fs as usePlayTour, ho as usePrevious, go as usePreviousDistinct, _o as usePreviousHistory, fa as useProductDocsOrigin, pa as useProductDocsUrl, Jr as usePullToRefresh, Lo as usePushDeviceRegistration, on as useQuery, aa as useQuotaDialogOwnership, Bo as useQuotaErrorToast, oa as useQuotaUpgradeBridge, Io as useRecordProductVisit, Fo as useReferralAttribution, Vs as useRegisterTourRouteCatalog, tr as useRegistryHelpers, Yr as useReturnFocus, Ta as useSafeArea, qt as useSafeGateway, Jt as useSafeGatewayClient, Ls as useSafeToursContext, mo as useSessionStorage, nr as useShellNavigate, Oo as useShortcutHelp, ss as useStartTour, Aa as useStatusBar, cs as useStopTour, sn as useSubscription, ro as useThrottle, yo as useToggle, bo as useToggleObject, ns as useTourPlayer, ls as useTourPlayerContext, Hs as useTourRouteCatalog, Rs as useTours, zs as useToursContext, Xo as useUnsavedChanges, Uo as useUpgradePrompt, ba as useVoiceInput, sa as withQuotaDialogOwnership, $o as withTourProgressStatus };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.1023.8",
3
+ "version": "2026.1023.9",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {