@burdenoff/fe-libs 2026.825.3 → 2026.825.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.
@@ -1 +1 @@
1
- {"version":3,"file":"NotificationFooter.d.ts","sourceRoot":"","sources":["../../../src/chrome/notificationCenter/NotificationFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,UAAU,uBAAuB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAiB1D,CAAC"}
1
+ {"version":3,"file":"NotificationFooter.d.ts","sourceRoot":"","sources":["../../../src/chrome/notificationCenter/NotificationFooter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAIhC,UAAU,uBAAuB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,EAAE,EAAE,CAAC,uBAAuB,CAwB1D,CAAC"}
@@ -1,23 +1,24 @@
1
- import { jsx as e, jsxs as t } from "react/jsx-runtime";
1
+ import { PushOptInToggle as e } from "./PushOptInToggle.js";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
2
3
  //#region src/chrome/notificationCenter/NotificationFooter.tsx
3
- var n = ({ totalCount: n, onViewAll: r }) => /* @__PURE__ */ e("div", {
4
- className: "p-3 border-t border-border-subtle",
5
- children: /* @__PURE__ */ t("div", {
6
- className: "flex items-center justify-between",
7
- children: [/* @__PURE__ */ t("span", {
4
+ var r = ({ totalCount: r, onViewAll: i }) => /* @__PURE__ */ n("div", {
5
+ className: "border-t border-border-subtle",
6
+ children: [/* @__PURE__ */ t(e, {}), /* @__PURE__ */ n("div", {
7
+ className: "flex items-center justify-between px-3 pb-3 pt-0",
8
+ children: [/* @__PURE__ */ n("span", {
8
9
  className: "text-[11px] text-text-muted",
9
10
  children: [
10
- n,
11
+ r,
11
12
  " notification",
12
- n === 1 ? "" : "s"
13
+ r === 1 ? "" : "s"
13
14
  ]
14
- }), r && /* @__PURE__ */ e("button", {
15
+ }), i && /* @__PURE__ */ t("button", {
15
16
  type: "button",
16
- onClick: r,
17
+ onClick: i,
17
18
  className: "text-xs text-action-primary-bg hover:underline font-medium",
18
19
  children: "View All"
19
20
  })]
20
- })
21
+ })]
21
22
  });
22
23
  //#endregion
23
- export { n as NotificationFooter };
24
+ export { r as NotificationFooter };
@@ -0,0 +1,19 @@
1
+ import { FC } from 'react';
2
+ /**
3
+ * Push opt-in control for the notification centre.
4
+ *
5
+ * Lives here rather than in a settings page because this is the one surface
6
+ * every shell already renders, and because it is where a user is thinking about
7
+ * notifications — which is the whole requirement for the permission prompt.
8
+ * The prompt is one-shot on iOS and sticky everywhere, so it must be raised
9
+ * from a deliberate gesture in context, never at boot.
10
+ *
11
+ * It talks to the registry (`shared/native/push-optin`) rather than importing
12
+ * the implementation: `chrome` is statically imported by most microfrontends,
13
+ * and `shell-native` resolves `@capacitor/*`, which must never end up in their
14
+ * bundles. When nothing has registered a controller — an MFE in isolation, a
15
+ * Storybook story, a browser without push — this renders NOTHING at all rather
16
+ * than a dead switch.
17
+ */
18
+ export declare const PushOptInToggle: FC;
19
+ //# sourceMappingURL=PushOptInToggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PushOptInToggle.d.ts","sourceRoot":"","sources":["../../../src/chrome/notificationCenter/PushOptInToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAOlE;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,eAAe,EAAE,EAkE7B,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { getPushOptInController as e } from "../../shared/native/push-optin.js";
2
+ import { useCallback as t, useEffect as n, useState as r } from "react";
3
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
4
+ //#region src/chrome/notificationCenter/PushOptInToggle.tsx
5
+ var o = () => {
6
+ let o = e(), [s, c] = r(() => o?.getState() ?? "unsupported"), [l, u] = r(!1);
7
+ n(() => {
8
+ if (o) return c(o.getState()), o.subscribe(c);
9
+ }, [o]);
10
+ let d = t(async () => {
11
+ if (!(!o || l)) {
12
+ u(!0);
13
+ try {
14
+ c(s === "enabled" ? await o.disable() : await o.enable());
15
+ } finally {
16
+ u(!1);
17
+ }
18
+ }
19
+ }, [
20
+ o,
21
+ l,
22
+ s
23
+ ]);
24
+ if (!o || s === "unsupported") return null;
25
+ if (s === "denied") return /* @__PURE__ */ i("div", {
26
+ className: "px-3 pb-3 pt-1",
27
+ children: /* @__PURE__ */ i("p", {
28
+ className: "text-[11px] text-text-muted",
29
+ children: "Push notifications are blocked. Re-enable them in your browser or device settings."
30
+ })
31
+ });
32
+ let f = s === "enabled";
33
+ return /* @__PURE__ */ a("div", {
34
+ className: "flex items-center justify-between gap-3 px-3 pb-3 pt-1",
35
+ children: [/* @__PURE__ */ i("span", {
36
+ className: "text-[11px] text-text-muted",
37
+ children: f ? "Push notifications are on" : "Get notified when this tab is closed"
38
+ }), /* @__PURE__ */ i("button", {
39
+ type: "button",
40
+ role: "switch",
41
+ "aria-checked": f,
42
+ "aria-label": "Push notifications",
43
+ disabled: l,
44
+ onClick: () => void d(),
45
+ className: [
46
+ "relative inline-flex h-5 w-9 shrink-0 items-center rounded-full",
47
+ "transition-colors disabled:opacity-50",
48
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-border-strong",
49
+ f ? "bg-action-primary-bg" : "bg-bg-sunken"
50
+ ].join(" "),
51
+ children: /* @__PURE__ */ i("span", { className: ["inline-block size-4 rounded-full bg-bg-surface transition-transform", f ? "translate-x-[18px]" : "translate-x-0.5"].join(" ") })
52
+ })]
53
+ });
54
+ };
55
+ //#endregion
56
+ export { o as PushOptInToggle };
@@ -10,4 +10,5 @@ export type { NativeEntryRoutes } from './entry';
10
10
  export { nativeSelection, nativeActionSheet } from './consumers';
11
11
  export { getDesktopBridge, getLegacyDesktopRuntime, isDesktop, getDesktopRuntimeConfig, getDesktopGatewayBases, getDesktopGatewayUrls, getDesktopAuthBridgeConfig, desktopOpenExternal, desktopNotify, desktopSetBadgeCount, desktopSetTheme, desktopSetTrayQuickActions, desktopSetLocale, desktopDeepLinkToPath, installDesktopDeepLinkHandler, installDesktopNavigateHandler, registerDesktopNavigator, bootDesktopShell, onDesktopUpdateState, onDesktopWindowState, getDesktopWindowState, desktopCheckForUpdates, desktopInstallUpdate, getDesktopUpdateState, DESKTOP_UPDATE_UNSUPPORTED, DESKTOP_WINDOW_STATE_DEFAULT, } from './desktop';
12
12
  export type { BootDesktopShellOptions, DesktopShellHandle, LegacyDesktopRuntime } from './desktop';
13
+ export { getPushOptInController, registerPushOptInController, type PushOptInController, type PushOptInState, } from './push-optin';
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/native/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,QAAQ,EACR,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,yBAAyB,EACzB,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EACL,WAAW,EACX,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,UAAU,EACV,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACxE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,SAAS,EACT,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,EACrB,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/shared/native/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,kBAAkB,EAClB,QAAQ,EACR,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,EACvB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,EAClB,UAAU,EACV,iBAAiB,EACjB,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,cAAc,EACd,YAAY,EACZ,cAAc,EACd,yBAAyB,EACzB,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EACL,WAAW,EACX,SAAS,EACT,KAAK,EACL,QAAQ,EACR,KAAK,EACL,UAAU,EACV,eAAe,EACf,cAAc,EACd,YAAY,GACb,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,WAAW,EACX,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACtE,cAAc,SAAS,CAAC;AACxB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,qBAAqB,EACrB,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,gBAAgB,EAChB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,uBAAuB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACxE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACvB,SAAS,EACT,uBAAuB,EACvB,sBAAsB,EACtB,qBAAqB,EACrB,0BAA0B,EAC1B,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,eAAe,EACf,0BAA0B,EAC1B,gBAAgB,EAChB,qBAAqB,EACrB,6BAA6B,EAC7B,6BAA6B,EAC7B,wBAAwB,EACxB,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,4BAA4B,GAC7B,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACnG,OAAO,EACL,sBAAsB,EACtB,2BAA2B,EAC3B,KAAK,mBAAmB,EACxB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Push Opt-In Registry
3
+ *
4
+ * The seam that lets shell chrome offer a push toggle without importing
5
+ * `shell-native` — and therefore without dragging Capacitor into every
6
+ * microfrontend.
7
+ *
8
+ * ── Why a registry and not a direct import ─────────────────────────────────
9
+ * `chrome` is statically imported by most MFEs (`microfe-auth`,
10
+ * `microfe-billing`, `microfe-conversations`, …). `shell-native` resolves
11
+ * `@capacitor/*`, which those packages must never pull in — the rule the
12
+ * shell-native docblock states as "never re-export shell-native from
13
+ * shared/native". A toggle living in chrome therefore cannot import the push
14
+ * implementation; it has to be handed one.
15
+ *
16
+ * So the app shell registers a controller during `bootNativeShell()`, and
17
+ * chrome asks for whatever is registered. On a surface where nothing registers
18
+ * — an MFE rendered in isolation, a Storybook story, a test — `getPushOptInController()`
19
+ * returns null and the toggle renders nothing rather than throwing.
20
+ *
21
+ * The same indirection is what lets one component serve both platforms: the
22
+ * shell registers the Capacitor implementation on native and the Web Push one
23
+ * in a browser, and chrome does not need to know which it got.
24
+ *
25
+ * @module shared/native/push-optin
26
+ */
27
+ /** Where a push opt-in currently stands, from the UI's point of view. */
28
+ export type PushOptInState =
29
+ /** No push support at all — no controller, or the browser lacks the APIs. */
30
+ 'unsupported'
31
+ /** Supported, never asked. Showing the control is safe; it will prompt. */
32
+ | 'default'
33
+ /** Permission granted AND a live subscription/token exists. */
34
+ | 'enabled'
35
+ /** Permission granted but not currently subscribed. */
36
+ | 'disabled'
37
+ /** Permission refused. Cannot be re-prompted from script — see below. */
38
+ | 'denied';
39
+ /**
40
+ * The capability chrome needs, implemented by the shell.
41
+ *
42
+ * `enable()` MUST be called from a user gesture. The permission prompt is
43
+ * one-shot on iOS and sticky everywhere, so a denied prompt is unrecoverable
44
+ * in-page: the user has to change it in browser or OS settings. That is why
45
+ * there is a distinct `denied` state rather than an error.
46
+ */
47
+ export interface PushOptInController {
48
+ /** Current state. Cheap and synchronous — safe to call during render. */
49
+ getState(): PushOptInState;
50
+ /** Prompt if needed, then subscribe. Resolves to the resulting state. */
51
+ enable(): Promise<PushOptInState>;
52
+ /** Drop the subscription and revoke the device registration. */
53
+ disable(): Promise<PushOptInState>;
54
+ /** Subscribe to state changes; returns an unsubscribe function. */
55
+ subscribe(listener: (state: PushOptInState) => void): () => void;
56
+ }
57
+ /**
58
+ * Install the shell's implementation. Called by `bootNativeShell()`.
59
+ *
60
+ * Last registration wins, and passing `null` clears it — a test that installs a
61
+ * fake can restore the previous state without reloading the module.
62
+ */
63
+ export declare function registerPushOptInController(next: PushOptInController | null): void;
64
+ /** The registered controller, or `null` when the surface has no push support. */
65
+ export declare function getPushOptInController(): PushOptInController | null;
66
+ //# sourceMappingURL=push-optin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-optin.d.ts","sourceRoot":"","sources":["../../../src/shared/native/push-optin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,yEAAyE;AACzE,MAAM,MAAM,cAAc;AACxB,6EAA6E;AAC3E,aAAa;AACf,2EAA2E;GACzE,SAAS;AACX,+DAA+D;GAC7D,SAAS;AACX,uDAAuD;GACrD,UAAU;AACZ,yEAAyE;GACvE,QAAQ,CAAC;AAEb;;;;;;;GAOG;AACH,MAAM,WAAW,mBAAmB;IAClC,yEAAyE;IACzE,QAAQ,IAAI,cAAc,CAAC;IAC3B,yEAAyE;IACzE,MAAM,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IAClC,gEAAgE;IAChE,OAAO,IAAI,OAAO,CAAC,cAAc,CAAC,CAAC;IACnC,mEAAmE;IACnE,SAAS,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,GAAG,MAAM,IAAI,CAAC;CAClE;AAID;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI,CAElF;AAED,iFAAiF;AACjF,wBAAgB,sBAAsB,IAAI,mBAAmB,GAAG,IAAI,CAEnE"}
@@ -0,0 +1,10 @@
1
+ //#region src/shared/native/push-optin.ts
2
+ var e = null;
3
+ function t(t) {
4
+ e = t;
5
+ }
6
+ function n() {
7
+ return e;
8
+ }
9
+ //#endregion
10
+ export { n as getPushOptInController, t as registerPushOptInController };
@@ -1 +1 @@
1
- {"version":3,"file":"AppShellProvider.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/AppShellProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AppShellProvider.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/AppShellProvider.tsx"],"names":[],"mappings":"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"}
@@ -30,16 +30,17 @@ import { AnalyticsConsentBanner as A, RybbitSink as j } from "../events/sinks/Ry
30
30
  import { OtelBrowserSink as M } from "../events/sinks/OtelBrowserSink.js";
31
31
  import { EventBusProvider as le, useEventBus as N } from "../../shared-events.js";
32
32
  import { useReferralAttribution as P } from "../hooks/useReferralAttribution.js";
33
- import { TourPlayerProvider as F } from "../tours/TourPlayerProvider.js";
34
- import { ToursProvider as I, useToursContext as L } from "../tours/ToursContext.js";
35
- import { TourInitializer as R } from "../tours/TourInitializer.js";
36
- import { Suspense as z, useCallback as B, useEffect as V, useMemo as H, useRef as U } from "react";
37
- import { Fragment as W, jsx as G, jsxs as K } from "react/jsx-runtime";
38
- import { BrowserRouter as ue, useLocation as q } from "react-router";
39
- import { Toaster as J, toast as Y } from "sonner";
33
+ import { usePushDeviceRegistration as F } from "../hooks/usePushDeviceRegistration.js";
34
+ import { TourPlayerProvider as I } from "../tours/TourPlayerProvider.js";
35
+ import { ToursProvider as L, useToursContext as R } from "../tours/ToursContext.js";
36
+ import { TourInitializer as z } from "../tours/TourInitializer.js";
37
+ import { Suspense as B, useCallback as V, useEffect as H, useMemo as U, useRef as W } from "react";
38
+ import { Fragment as G, jsx as K, jsxs as q } from "react/jsx-runtime";
39
+ import { BrowserRouter as ue, useLocation as J } from "react-router";
40
+ import { Toaster as Y, toast as X } from "sonner";
40
41
  import { MutationCache as de, QueryCache as fe, QueryClient as pe, QueryClientProvider as me } from "@tanstack/react-query";
41
42
  //#region src/shared/providers/AppShellProvider.tsx
42
- var X = {
43
+ var Z = {
43
44
  artistrybase: { prod: "cfbecacb6002" },
44
45
  atheletebridge: { prod: "c34c6ead7aa8" },
45
46
  adaptercloud: {},
@@ -65,8 +66,8 @@ var X = {
65
66
  subscriberbot: {},
66
67
  intelwatchtower: {},
67
68
  kadaikodi: {}
68
- }, Z = /* @__PURE__ */ "nav.route.changed,auth.signed_in,auth.signed_out,support.ticket.created,support.ticket.closed,support.ticket.reopened,support.kb.article_rated,conversations.conversation.created,conversations.conversation.archived,notification.item.opened,notification.preference.updated,notification.admin.sent,notification.template.saved,notification.schedule.updated,collabkin.tree.created,collabkin.person.created,collabkin.memory.created,collabkin.story.created,collabkin.member.invited,crewfoundry.page.viewed,crewfoundry.dashboard.viewed,crewfoundry.job_posting.created,crewfoundry.candidate.created,crewfoundry.employee.created,crewfoundry.team.created,crewfoundry.project.created,crewfoundry.course.enrolled,crewfoundry.learning_path.created,crewfoundry.service.listed,crewfoundry.leave.approved,crewfoundry.payroll.processed,crewfoundry.invoice.created,coolandlovely.page.viewed,coolandlovely.brand.created,coolandlovely.collection.created,coolandlovely.style_item.created,coolandlovely.look.created,coolandlovely.collaboration.created,coolandlovely.lookbook.created,coolandlovely.wardrobe.item_added,coolandlovely.search.performed,vibecontrols.agent.registered,atheletebridge.page.viewed,atheletebridge.team.created,atheletebridge.fixture.created,atheletebridge.program.created,atheletebridge.session.completed,atheletebridge.metric.logged,atheletebridge.tournament.created,vibecontrols.agent.gateway_auth_setup,vibecontrols.session.created,vibecontrols.session.started,vibecontrols.session.terminal_opened_in_browser,vibecontrols.session.share_link_created,vibecontrols.session.joined_shared,vibecontrols.tunnel.created,vibecontrols.tunnel.started,vibecontrols.vibedeck.button_executed,vibecontrols.quota.agent_limit_hit,vibecontrols.quota.session_limit_hit,vibecontrols.quota.tunnel_limit_hit,vibecontrols.billing.upgrade_clicked,bigconsole.dashboard.import_clicked,bigconsole.dashboard.imported,bigconsole.dashboard.share_clicked,bigconsole.dashboard.shared,bigconsole.data_sink.import_clicked,bigconsole.data_sink.imported,bigconsole.widget.create_clicked,bigconsole.widget.created,bigconsole.widget.duplicate_clicked,bigconsole.widget.duplicated,bigconsole.ai.generate_clicked,bigconsole.ai.dashboard_generated,bigconsole.ai.create_dashboard_clicked,bigconsole.ai.dashboard_created,assethandler.page.viewed,assethandler.asset.viewed,assethandler.asset.created,assethandler.work_order.viewed,assethandler.work_order.created,assethandler.incident.viewed,assethandler.incident.created,assethandler.change.viewed,assethandler.change.created,assethandler.problem.viewed,assethandler.problem.created,assethandler.maintenance.viewed,assethandler.maintenance.created,assethandler.report.viewed,assethandler.analytics.viewed,movethewheels.page.viewed,movethewheels.shipment.created,movethewheels.shipment.delivered,movethewheels.order.created,movethewheels.route.planned,movethewheels.vehicle.assigned,movethewheels.warehouse.inbound_received,theglobalfuel.dashboard.viewed,theglobalfuel.asset.created,theglobalfuel.production.recorded,theglobalfuel.reserve.created,theglobalfuel.contract.created,theglobalfuel.shipment.scheduled,theglobalfuel.shipment.delivered,theglobalfuel.inventory_lot.created,theglobalfuel.emission.recorded,theglobalfuel.emission.verified,theglobalfuel.compliance_cert.created,housingvista.dashboard.viewed,housingvista.property.created,housingvista.property.updated,housingvista.property.deleted,housingvista.property.viewed,housingvista.shortlist.property_added,housingvista.transaction.created,housingvista.transaction.updated,housingvista.investment.created,housingvista.offer.created,housingvista.viewing.scheduled,housingvista.chat.conversation_opened,housingvista.chat.message_sent,housingvista.analytics.viewed,housingvista.asset.created,housingvista.asset.updated,housingvista.amc.purchased,housingvista.verification.submitted,housingvista.home_loan.apply_clicked,housingvista.market_analytics.viewed,housingvista.search.performed,housingvista.export.requested,manufacturedops.production_order.created,manufacturedops.production_order.updated,manufacturedops.production_order.transitioned,manufacturedops.operation.added,manufacturedops.operation.recorded,manufacturedops.work_center.created,manufacturedops.work_center.updated,manufacturedops.work_center.archived,manufacturedops.material_lot.created,manufacturedops.material_lot.updated,manufacturedops.material_lot.status_updated,manufacturedops.inspection_plan.created,manufacturedops.quality_inspection.recorded,manufacturedops.non_conformance.raised,manufacturedops.non_conformance.updated,manufacturedops.non_conformance.transitioned,manufacturedops.asset.created,manufacturedops.maintenance_work_order.created,manufacturedops.maintenance_work_order.transitioned,manufacturedops.downtime_event.recorded,manufacturedops.page.viewed,subscriberbot.page.viewed,adaptercloud.page.viewed,comradecircle.page.viewed,comradecircle.circle.created,comradecircle.post.created,comradecircle.event.created,comradecircle.member.invited,psw.client.created,psw.client.updated,psw.client.archived,psw.engagement.created,psw.engagement.transitioned,psw.matter.created,psw.matter.closed,psw.timeentry.created,psw.invoice.created,psw.compliance.resolved,psw.conflictcheck.recorded,psw.document.created,psw.practicearea.created,psw.search.performed,psw.export.requested,mybodyshield.page.viewed,mybodyshield.program.created,mybodyshield.program.updated,mybodyshield.program.status_changed,mybodyshield.program.archived,mybodyshield.workout.created,mybodyshield.exercise.created,mybodyshield.session.started,intelwatchtower.page.viewed,intelwatchtower.source.created,intelwatchtower.mission.created,intelwatchtower.mission.assigned,intelwatchtower.mission.completed,intelwatchtower.entity.created,intelwatchtower.entity.linked,intelwatchtower.indicator.created,intelwatchtower.observation.created,intelwatchtower.requirement.created,intelwatchtower.alert.created,intelwatchtower.alert.triaged,intelwatchtower.alert.escalated,intelwatchtower.case.created,intelwatchtower.case.closed,intelwatchtower.report.created,intelwatchtower.report.exported,intelwatchtower.task.created,intelwatchtower.task.completed,intelwatchtower.cop.opened,govcitizenhub.page.viewed,govcitizenhub.dashboard.viewed,govcitizenhub.service.published,govcitizenhub.application.submitted,govcitizenhub.application.decided,govcitizenhub.permit.issued,govcitizenhub.payment.settled,govcitizenhub.grievance.reported,govcitizenhub.grievance.resolved,govcitizenhub.search.performed,cosmicintersection.page.viewed,labsofscience.page.viewed,labsofscience.project.created,labsofscience.experiment.created,labsofscience.protocol.created,labsofscience.dataset.created,labsofscience.inventory_item.created,labsofscience.notebook_entry.signed,labsofscience.pipeline.run_started,hookmovies.page.viewed,headshotmarketing.page.viewed,timecampus.page.viewed,timecampus.dashboard.viewed,timecampus.timer.started,timecampus.timer.stopped,timecampus.time_entry.created,timecampus.timesheet.submitted,timecampus.report.viewed,timecampus.project.viewed,timecampus.meeting.created,timecampus.pomodoro.session.completed,timecampus.focus_score.viewed,kadaikodi.page.viewed,healthybowl.farm.created,healthybowl.crop.created,healthybowl.crop.updated,healthybowl.harvest.recorded,workspaces.page.viewed,workspace.created,project.created,workspace-member.added,project-member.added".split(","), Q = 4e3;
69
- function he(e) {
69
+ }, Q = /* @__PURE__ */ "nav.route.changed,auth.signed_in,auth.signed_out,support.ticket.created,support.ticket.closed,support.ticket.reopened,support.kb.article_rated,conversations.conversation.created,conversations.conversation.archived,notification.item.opened,notification.preference.updated,notification.admin.sent,notification.template.saved,notification.schedule.updated,collabkin.tree.created,collabkin.person.created,collabkin.memory.created,collabkin.story.created,collabkin.member.invited,crewfoundry.page.viewed,crewfoundry.dashboard.viewed,crewfoundry.job_posting.created,crewfoundry.candidate.created,crewfoundry.employee.created,crewfoundry.team.created,crewfoundry.project.created,crewfoundry.course.enrolled,crewfoundry.learning_path.created,crewfoundry.service.listed,crewfoundry.leave.approved,crewfoundry.payroll.processed,crewfoundry.invoice.created,coolandlovely.page.viewed,coolandlovely.brand.created,coolandlovely.collection.created,coolandlovely.style_item.created,coolandlovely.look.created,coolandlovely.collaboration.created,coolandlovely.lookbook.created,coolandlovely.wardrobe.item_added,coolandlovely.search.performed,vibecontrols.agent.registered,atheletebridge.page.viewed,atheletebridge.team.created,atheletebridge.fixture.created,atheletebridge.program.created,atheletebridge.session.completed,atheletebridge.metric.logged,atheletebridge.tournament.created,vibecontrols.agent.gateway_auth_setup,vibecontrols.session.created,vibecontrols.session.started,vibecontrols.session.terminal_opened_in_browser,vibecontrols.session.share_link_created,vibecontrols.session.joined_shared,vibecontrols.tunnel.created,vibecontrols.tunnel.started,vibecontrols.vibedeck.button_executed,vibecontrols.quota.agent_limit_hit,vibecontrols.quota.session_limit_hit,vibecontrols.quota.tunnel_limit_hit,vibecontrols.billing.upgrade_clicked,bigconsole.dashboard.import_clicked,bigconsole.dashboard.imported,bigconsole.dashboard.share_clicked,bigconsole.dashboard.shared,bigconsole.data_sink.import_clicked,bigconsole.data_sink.imported,bigconsole.widget.create_clicked,bigconsole.widget.created,bigconsole.widget.duplicate_clicked,bigconsole.widget.duplicated,bigconsole.ai.generate_clicked,bigconsole.ai.dashboard_generated,bigconsole.ai.create_dashboard_clicked,bigconsole.ai.dashboard_created,assethandler.page.viewed,assethandler.asset.viewed,assethandler.asset.created,assethandler.work_order.viewed,assethandler.work_order.created,assethandler.incident.viewed,assethandler.incident.created,assethandler.change.viewed,assethandler.change.created,assethandler.problem.viewed,assethandler.problem.created,assethandler.maintenance.viewed,assethandler.maintenance.created,assethandler.report.viewed,assethandler.analytics.viewed,movethewheels.page.viewed,movethewheels.shipment.created,movethewheels.shipment.delivered,movethewheels.order.created,movethewheels.route.planned,movethewheels.vehicle.assigned,movethewheels.warehouse.inbound_received,theglobalfuel.dashboard.viewed,theglobalfuel.asset.created,theglobalfuel.production.recorded,theglobalfuel.reserve.created,theglobalfuel.contract.created,theglobalfuel.shipment.scheduled,theglobalfuel.shipment.delivered,theglobalfuel.inventory_lot.created,theglobalfuel.emission.recorded,theglobalfuel.emission.verified,theglobalfuel.compliance_cert.created,housingvista.dashboard.viewed,housingvista.property.created,housingvista.property.updated,housingvista.property.deleted,housingvista.property.viewed,housingvista.shortlist.property_added,housingvista.transaction.created,housingvista.transaction.updated,housingvista.investment.created,housingvista.offer.created,housingvista.viewing.scheduled,housingvista.chat.conversation_opened,housingvista.chat.message_sent,housingvista.analytics.viewed,housingvista.asset.created,housingvista.asset.updated,housingvista.amc.purchased,housingvista.verification.submitted,housingvista.home_loan.apply_clicked,housingvista.market_analytics.viewed,housingvista.search.performed,housingvista.export.requested,manufacturedops.production_order.created,manufacturedops.production_order.updated,manufacturedops.production_order.transitioned,manufacturedops.operation.added,manufacturedops.operation.recorded,manufacturedops.work_center.created,manufacturedops.work_center.updated,manufacturedops.work_center.archived,manufacturedops.material_lot.created,manufacturedops.material_lot.updated,manufacturedops.material_lot.status_updated,manufacturedops.inspection_plan.created,manufacturedops.quality_inspection.recorded,manufacturedops.non_conformance.raised,manufacturedops.non_conformance.updated,manufacturedops.non_conformance.transitioned,manufacturedops.asset.created,manufacturedops.maintenance_work_order.created,manufacturedops.maintenance_work_order.transitioned,manufacturedops.downtime_event.recorded,manufacturedops.page.viewed,subscriberbot.page.viewed,adaptercloud.page.viewed,comradecircle.page.viewed,comradecircle.circle.created,comradecircle.post.created,comradecircle.event.created,comradecircle.member.invited,psw.client.created,psw.client.updated,psw.client.archived,psw.engagement.created,psw.engagement.transitioned,psw.matter.created,psw.matter.closed,psw.timeentry.created,psw.invoice.created,psw.compliance.resolved,psw.conflictcheck.recorded,psw.document.created,psw.practicearea.created,psw.search.performed,psw.export.requested,mybodyshield.page.viewed,mybodyshield.program.created,mybodyshield.program.updated,mybodyshield.program.status_changed,mybodyshield.program.archived,mybodyshield.workout.created,mybodyshield.exercise.created,mybodyshield.session.started,intelwatchtower.page.viewed,intelwatchtower.source.created,intelwatchtower.mission.created,intelwatchtower.mission.assigned,intelwatchtower.mission.completed,intelwatchtower.entity.created,intelwatchtower.entity.linked,intelwatchtower.indicator.created,intelwatchtower.observation.created,intelwatchtower.requirement.created,intelwatchtower.alert.created,intelwatchtower.alert.triaged,intelwatchtower.alert.escalated,intelwatchtower.case.created,intelwatchtower.case.closed,intelwatchtower.report.created,intelwatchtower.report.exported,intelwatchtower.task.created,intelwatchtower.task.completed,intelwatchtower.cop.opened,govcitizenhub.page.viewed,govcitizenhub.dashboard.viewed,govcitizenhub.service.published,govcitizenhub.application.submitted,govcitizenhub.application.decided,govcitizenhub.permit.issued,govcitizenhub.payment.settled,govcitizenhub.grievance.reported,govcitizenhub.grievance.resolved,govcitizenhub.search.performed,cosmicintersection.page.viewed,labsofscience.page.viewed,labsofscience.project.created,labsofscience.experiment.created,labsofscience.protocol.created,labsofscience.dataset.created,labsofscience.inventory_item.created,labsofscience.notebook_entry.signed,labsofscience.pipeline.run_started,hookmovies.page.viewed,headshotmarketing.page.viewed,timecampus.page.viewed,timecampus.dashboard.viewed,timecampus.timer.started,timecampus.timer.stopped,timecampus.time_entry.created,timecampus.timesheet.submitted,timecampus.report.viewed,timecampus.project.viewed,timecampus.meeting.created,timecampus.pomodoro.session.completed,timecampus.focus_score.viewed,kadaikodi.page.viewed,healthybowl.farm.created,healthybowl.crop.created,healthybowl.crop.updated,healthybowl.harvest.recorded,workspaces.page.viewed,workspace.created,project.created,workspace-member.added,project-member.added".split(","), he = 4e3;
70
+ function ge(e) {
70
71
  let t = e.technicalMessage ?? e.extensions?.technicalMessage, n = {
71
72
  code: e.code,
72
73
  operationName: e.operationName,
@@ -78,13 +79,13 @@ function he(e) {
78
79
  };
79
80
  console.error("[Burdenoff backend error]", e.message, n);
80
81
  }
81
- function ge(e) {
82
+ function _e(e) {
82
83
  return e === "prod" || e === "production" ? "prod" : e === "alpha" || e === "staging" ? "alpha" : "dev";
83
84
  }
84
- function _e(e, t) {
85
+ function ve(e, t) {
85
86
  return e.VITE_DISABLE_ANALYTICS === "true" ? !1 : e.VITE_ENABLE_ANALYTICS === "true" || e.PROD || t !== "dev" ? !0 : e.VITE_ENABLE_ANALYTICS !== "false";
86
87
  }
87
- function ve() {
88
+ function ye() {
88
89
  return {
89
90
  BASE_URL: "/",
90
91
  DEV: !1,
@@ -93,8 +94,8 @@ function ve() {
93
94
  SSR: !1
94
95
  };
95
96
  }
96
- function ye(e, t) {
97
- let n = ge(t.VITE_DEPLOY_ENV ?? t.MODE), r = _e(t, n), i = X[e], a = n === "prod" ? i?.prod : i?.nonProd, o = t.VITE_RYBBIT_SITE_ID || a, s = t.VITE_BACKEND_AUDIT_ENDPOINT || (t.PROD ? "/api/fe-events" : void 0);
97
+ function be(e, t) {
98
+ let n = _e(t.VITE_DEPLOY_ENV ?? t.MODE), r = ve(t, n), i = Z[e], a = n === "prod" ? i?.prod : i?.nonProd, o = t.VITE_RYBBIT_SITE_ID || a, s = t.VITE_BACKEND_AUDIT_ENDPOINT || (t.PROD ? "/api/fe-events" : void 0);
98
99
  return {
99
100
  enabled: r,
100
101
  appVersion: t.VITE_APP_VERSION || "0.0.0",
@@ -105,7 +106,7 @@ function ye(e, t) {
105
106
  enabled: r && !!o,
106
107
  siteId: o,
107
108
  scriptUrl: t.VITE_RYBBIT_SCRIPT_URL,
108
- allowlist: Z,
109
+ allowlist: Q,
109
110
  identifyOn: "auth.signed_in",
110
111
  rename: { "nav.route.changed": "pageview" }
111
112
  },
@@ -120,16 +121,16 @@ function ye(e, t) {
120
121
  }
121
122
  };
122
123
  }
123
- function be({ children: e, enablePWA: t, toasterPosition: n, productName: r, brandInitial: i }) {
124
- let { trackProgress: a, recordStepCompletion: o, trackEvent: s } = L(), c = B((e, t) => e.steps?.[t], []);
125
- return /* @__PURE__ */ K(F, {
126
- onTourStart: B((e) => {
124
+ function xe({ children: e, enablePWA: t, toasterPosition: n, productName: r, brandInitial: i }) {
125
+ let { trackProgress: a, recordStepCompletion: o, trackEvent: s } = R(), c = V((e, t) => e.steps?.[t], []);
126
+ return /* @__PURE__ */ q(I, {
127
+ onTourStart: V((e) => {
127
128
  a(e.id, "started"), s("TOUR_STARTED", e.id);
128
129
  }, [s, a]),
129
- onTourComplete: B((e) => {
130
+ onTourComplete: V((e) => {
130
131
  a(e.id, "completed"), s("TOUR_COMPLETED", e.id);
131
132
  }, [s, a]),
132
- onTourSkip: B((e, t) => {
133
+ onTourSkip: V((e, t) => {
133
134
  let n = c(e, t);
134
135
  a(e.id, "skipped"), s("TOUR_SKIPPED", e.id, {
135
136
  stepId: n?.id,
@@ -140,14 +141,14 @@ function be({ children: e, enablePWA: t, toasterPosition: n, productName: r, bra
140
141
  s,
141
142
  a
142
143
  ]),
143
- onStepChange: B((e, t) => {
144
+ onStepChange: V((e, t) => {
144
145
  let n = c(e, t);
145
146
  n && s("STEP_VIEWED", e.id, {
146
147
  stepId: n.id,
147
148
  stepOrder: n.stepOrder
148
149
  });
149
150
  }, [c, s]),
150
- onStepComplete: B((e, t) => {
151
+ onStepComplete: V((e, t) => {
151
152
  let n = c(e, t);
152
153
  n && (o(e.id, n.id), s("STEP_COMPLETED", e.id, {
153
154
  stepId: n.id,
@@ -159,19 +160,19 @@ function be({ children: e, enablePWA: t, toasterPosition: n, productName: r, bra
159
160
  s
160
161
  ]),
161
162
  children: [
162
- /* @__PURE__ */ G(R, {}),
163
+ /* @__PURE__ */ K(z, {}),
163
164
  e,
164
- /* @__PURE__ */ G(xe, {}),
165
- /* @__PURE__ */ G(Ce, {}),
166
- /* @__PURE__ */ G(J, {
165
+ /* @__PURE__ */ K(Se, {}),
166
+ /* @__PURE__ */ K(we, {}),
167
+ /* @__PURE__ */ K(Y, {
167
168
  position: n,
168
169
  richColors: !0,
169
170
  closeButton: !0
170
171
  }),
171
- /* @__PURE__ */ G(E, {}),
172
- t && /* @__PURE__ */ G(z, {
172
+ /* @__PURE__ */ K(E, {}),
173
+ t && /* @__PURE__ */ K(B, {
173
174
  fallback: null,
174
- children: /* @__PURE__ */ G(_, {
175
+ children: /* @__PURE__ */ K(_, {
175
176
  productName: r,
176
177
  brandInitial: i
177
178
  })
@@ -179,44 +180,44 @@ function be({ children: e, enablePWA: t, toasterPosition: n, productName: r, bra
179
180
  ]
180
181
  });
181
182
  }
182
- function xe() {
183
- let e = U(null);
184
- return V(() => {
183
+ function Se() {
184
+ let e = W(null);
185
+ return H(() => {
185
186
  let t = (t) => {
186
187
  let n = t instanceof CustomEvent && a(t.detail) ? t.detail : null;
187
188
  if (!o(n)) return;
188
- he(n);
189
+ ge(n);
189
190
  let r = `${n.code ?? ""}|${n.message}`, i = Date.now(), s = e.current;
190
- s?.key === r && i - s.shownAt < Q || (e.current = {
191
+ s?.key === r && i - s.shownAt < he || (e.current = {
191
192
  key: r,
192
193
  shownAt: i
193
- }, Y.error(n.message, { duration: 7e3 }));
194
+ }, X.error(n.message, { duration: 7e3 }));
194
195
  };
195
196
  return window.addEventListener(n, t), () => window.removeEventListener(n, t);
196
197
  }, []), null;
197
198
  }
198
- var $ = "burdenoff-connection-status", Se = 1500;
199
- function Ce() {
200
- let e = U(null), t = U(!1);
201
- return V(() => {
199
+ var $ = "burdenoff-connection-status", Ce = 1500;
200
+ function we() {
201
+ let e = W(null), t = W(!1);
202
+ return H(() => {
202
203
  let n = () => {
203
- t.current || (t.current = !0, Y.error("Connection lost. Trying to reconnect…", {
204
+ t.current || (t.current = !0, X.error("Connection lost. Trying to reconnect…", {
204
205
  id: $,
205
206
  duration: Infinity
206
207
  }));
207
208
  }, i = () => {
208
209
  t.current || e.current || (e.current = setTimeout(() => {
209
210
  e.current = null, n();
210
- }, Se));
211
+ }, Ce));
211
212
  }, a = (n) => {
212
213
  if (e.current &&= (clearTimeout(e.current), null), !t.current) {
213
- Y.dismiss($);
214
+ X.dismiss($);
214
215
  return;
215
216
  }
216
- t.current = !1, n ? Y.success("Back online", {
217
+ t.current = !1, n ? X.success("Back online", {
217
218
  id: $,
218
219
  duration: 2500
219
- }) : Y.dismiss($);
220
+ }) : X.dismiss($);
220
221
  }, o = (e) => {
221
222
  if (!(e instanceof CustomEvent)) return;
222
223
  let t = e.detail;
@@ -229,44 +230,47 @@ function Ce() {
229
230
  };
230
231
  }, []), null;
231
232
  }
232
- function we({ children: e, i18nProductId: t, fallbackTranslations: n, defaultBrand: r, defaultMode: i, defaultDensity: a, defaultTypography: o, defaultGlass: s, productName: c, brandInitial: l, enablePWA: u, toasterPosition: d, tourPageIdFromPath: f }) {
233
- let p = q();
233
+ function Te() {
234
+ return F(), null;
235
+ }
236
+ function Ee({ children: e, i18nProductId: t, fallbackTranslations: n, defaultBrand: r, defaultMode: i, defaultDensity: a, defaultTypography: o, defaultGlass: s, productName: c, brandInitial: l, enablePWA: u, toasterPosition: d, tourPageIdFromPath: f }) {
237
+ let p = J();
234
238
  P();
235
- let m = /* @__PURE__ */ G(T, { children: /* @__PURE__ */ G(v, { children: /* @__PURE__ */ G(y, {
239
+ let m = /* @__PURE__ */ K(T, { children: /* @__PURE__ */ K(v, { children: /* @__PURE__ */ K(y, {
236
240
  workspaceId: null,
237
241
  gateway: "global",
238
242
  defaultEnabled: !0,
239
- children: /* @__PURE__ */ G(b, { children: /* @__PURE__ */ G(x, { children: /* @__PURE__ */ G(g, {
243
+ children: /* @__PURE__ */ K(b, { children: /* @__PURE__ */ K(x, { children: /* @__PURE__ */ K(g, {
240
244
  fallback: null,
241
- children: /* @__PURE__ */ G(I, {
245
+ children: /* @__PURE__ */ K(L, {
242
246
  disabled: p.pathname.startsWith("/devportal") || p.pathname.startsWith("/organizations") || p.pathname.startsWith("/workspaces"),
243
247
  getPageIdFromPath: f,
244
- children: /* @__PURE__ */ G(be, {
248
+ children: /* @__PURE__ */ q(xe, {
245
249
  enablePWA: u,
246
250
  toasterPosition: d,
247
251
  productName: c,
248
252
  brandInitial: l,
249
- children: e
253
+ children: [/* @__PURE__ */ K(Te, {}), e]
250
254
  })
251
255
  })
252
256
  }) }) })
253
257
  }) }) });
254
- return /* @__PURE__ */ K(h, {
258
+ return /* @__PURE__ */ q(h, {
255
259
  defaultBrand: r,
256
260
  defaultMode: i,
257
261
  defaultDensity: a,
258
262
  defaultTypography: o,
259
263
  defaultGlass: s,
260
- children: [/* @__PURE__ */ G(Te, {}), /* @__PURE__ */ G(ce, {
264
+ children: [/* @__PURE__ */ K(De, {}), /* @__PURE__ */ K(ce, {
261
265
  i18nProductId: t,
262
266
  fallbackTranslations: n,
263
267
  children: m
264
268
  })]
265
269
  });
266
270
  }
267
- function Te() {
268
- let e = q();
269
- return V(() => {
271
+ function De() {
272
+ let e = J();
273
+ return H(() => {
270
274
  e.hash || requestAnimationFrame(() => {
271
275
  window.scrollTo({
272
276
  top: 0,
@@ -284,7 +288,7 @@ function Te() {
284
288
  e.hash
285
289
  ]), null;
286
290
  }
287
- function Ee(e) {
291
+ function Oe(e) {
288
292
  if (e instanceof Error) return e.message;
289
293
  if (typeof e == "string") return e;
290
294
  try {
@@ -293,9 +297,9 @@ function Ee(e) {
293
297
  return String(e);
294
298
  }
295
299
  }
296
- function De() {
297
- let e = N(), t = q(), n = U(void 0), r = U(void 0), i = U(null);
298
- return V(() => {
300
+ function ke() {
301
+ let e = N(), t = J(), n = W(void 0), r = W(void 0), i = W(null);
302
+ return H(() => {
299
303
  let a = `${t.pathname}${t.search}${t.hash}`;
300
304
  if (r.current !== a) return i.current && clearTimeout(i.current), i.current = setTimeout(() => {
301
305
  i.current = null;
@@ -315,7 +319,7 @@ function De() {
315
319
  t.hash,
316
320
  t.pathname,
317
321
  t.search
318
- ]), V(() => {
322
+ ]), H(() => {
319
323
  let t = (t) => {
320
324
  e.emit("error.runtime.caught", {
321
325
  message: t.message || "Runtime error",
@@ -325,12 +329,12 @@ function De() {
325
329
  errorName: t.error instanceof Error ? t.error.name : void 0
326
330
  });
327
331
  }, n = (t) => {
328
- e.emit("error.unhandledrejection", { reason: Ee(t.reason) });
332
+ e.emit("error.unhandledrejection", { reason: Oe(t.reason) });
329
333
  };
330
334
  return window.addEventListener("error", t), window.addEventListener("unhandledrejection", n), () => {
331
335
  window.removeEventListener("error", t), window.removeEventListener("unhandledrejection", n);
332
336
  };
333
- }, [e]), V(() => {
337
+ }, [e]), H(() => {
334
338
  S((t) => {
335
339
  e.emit("perf.lcp.measured", {
336
340
  metric: "LCP",
@@ -362,23 +366,23 @@ function De() {
362
366
  });
363
367
  }, [e]), null;
364
368
  }
365
- function Oe({ config: t, productSlug: n, privacyConsent: r, consentRouteDenylist: i }) {
366
- let { pathname: a } = q(), o = e(a) || i?.(a) === !0;
367
- return /* @__PURE__ */ K(W, { children: [
368
- /* @__PURE__ */ G(De, {}),
369
- r && !o ? /* @__PURE__ */ G(A, { productName: n }) : null,
370
- t.enabled === !1 ? null : /* @__PURE__ */ K(W, { children: [
371
- t.devtools ? /* @__PURE__ */ G(D, { enabled: !0 }) : null,
372
- t.broadcast === !1 ? null : /* @__PURE__ */ G(O, {}),
373
- t.backendAudit?.enabled && t.backendAudit.endpoint ? /* @__PURE__ */ G(k, { endpoint: t.backendAudit.endpoint }) : null,
374
- t.rybbit?.enabled && t.rybbit.siteId ? /* @__PURE__ */ G(j, {
369
+ function Ae({ config: t, productSlug: n, privacyConsent: r, consentRouteDenylist: i }) {
370
+ let { pathname: a } = J(), o = e(a) || i?.(a) === !0;
371
+ return /* @__PURE__ */ q(G, { children: [
372
+ /* @__PURE__ */ K(ke, {}),
373
+ r && !o ? /* @__PURE__ */ K(A, { productName: n }) : null,
374
+ t.enabled === !1 ? null : /* @__PURE__ */ q(G, { children: [
375
+ t.devtools ? /* @__PURE__ */ K(D, { enabled: !0 }) : null,
376
+ t.broadcast === !1 ? null : /* @__PURE__ */ K(O, {}),
377
+ t.backendAudit?.enabled && t.backendAudit.endpoint ? /* @__PURE__ */ K(k, { endpoint: t.backendAudit.endpoint }) : null,
378
+ t.rybbit?.enabled && t.rybbit.siteId ? /* @__PURE__ */ K(j, {
375
379
  siteId: t.rybbit.siteId,
376
380
  scriptUrl: t.rybbit.scriptUrl,
377
381
  allowlist: t.rybbit.allowlist,
378
382
  identifyOn: t.rybbit.identifyOn,
379
383
  rename: t.rybbit.rename
380
384
  }) : null,
381
- t.otel?.enabled && t.otel.endpoint ? /* @__PURE__ */ G(M, {
385
+ t.otel?.enabled && t.otel.endpoint ? /* @__PURE__ */ K(M, {
382
386
  endpoint: t.otel.endpoint,
383
387
  serviceName: t.otel.serviceName ?? `${n}-app`,
384
388
  flushInterval: t.otel.flushInterval
@@ -386,8 +390,8 @@ function Oe({ config: t, productSlug: n, privacyConsent: r, consentRouteDenylist
386
390
  ] })
387
391
  ] });
388
392
  }
389
- function ke({ config: n, children: r, clearAuthStore: a }) {
390
- let { productName: o, productSlug: h = o.toLowerCase().replace(/\s+/g, ""), tagline: _ = "", domain: v, i18nProductId: y, gatewayUrls: b, authBridge: x, defaultBrand: S = "default", defaultMode: C, defaultDensity: w, defaultTypography: se, defaultGlass: ce, enablePWA: T = !0, brandInitial: E = o.charAt(0), defaultGateway: D = "workspace", enableSubscriptions: O = !0, fallbackTranslations: k, queryClientOptions: A, toasterPosition: j = "bottom-right", observability: M, privacyConsent: N = !1, consentRouteDenylist: P, tourPageIdFromPath: F } = n, I = H(() => M ?? ye(h, ve()), [M, h]), L = H(() => ({
393
+ function je({ config: n, children: r, clearAuthStore: a }) {
394
+ let { productName: o, productSlug: h = o.toLowerCase().replace(/\s+/g, ""), tagline: _ = "", domain: v, i18nProductId: y, gatewayUrls: b, authBridge: x, defaultBrand: S = "default", defaultMode: C, defaultDensity: w, defaultTypography: se, defaultGlass: ce, enablePWA: T = !0, brandInitial: E = o.charAt(0), defaultGateway: D = "workspace", enableSubscriptions: O = !0, fallbackTranslations: k, queryClientOptions: A, toasterPosition: j = "bottom-right", observability: M, privacyConsent: N = !1, consentRouteDenylist: P, tourPageIdFromPath: F } = n, I = U(() => M ?? be(h, ye()), [M, h]), L = U(() => ({
391
395
  productName: o,
392
396
  productSlug: h,
393
397
  brandInitial: E,
@@ -399,7 +403,7 @@ function ke({ config: n, children: r, clearAuthStore: a }) {
399
403
  E,
400
404
  _,
401
405
  v
402
- ]), R = U(!1), z = U(!!x?.url), W = B((t) => {
406
+ ]), R = W(!1), z = W(!!x?.url), B = V((t) => {
403
407
  if (!t?.force && (() => {
404
408
  try {
405
409
  let e = sessionStorage.getItem("bf-active-profile");
@@ -417,14 +421,14 @@ function ke({ config: n, children: r, clearAuthStore: a }) {
417
421
  return;
418
422
  }
419
423
  window.location.replace(r);
420
- }, [a]), q = H(() => ({
424
+ }, [a]), G = U(() => ({
421
425
  globalBaseUrl: b.globalBaseUrl,
422
426
  ...d()
423
- }), [b.globalBaseUrl]), J = B(async () => l(q), [q]), Y = B(async () => {
424
- window.location.pathname.startsWith("/auth/") || await J() || W({ force: !0 });
425
- }, [J, W]), X = B(async (e) => {
426
- f(e) ? await J() || W({ force: !0 }) : console.error("[Network] Backend unreachable:", e.message);
427
- }, [J, W]), Z = B(async (e) => {
427
+ }), [b.globalBaseUrl]), J = V(async () => l(G), [G]), Y = V(async () => {
428
+ window.location.pathname.startsWith("/auth/") || await J() || B({ force: !0 });
429
+ }, [J, B]), X = V(async (e) => {
430
+ f(e) ? await J() || B({ force: !0 }) : console.error("[Network] Backend unreachable:", e.message);
431
+ }, [J, B]), Z = V(async (e) => {
428
432
  let t = await c({
429
433
  gateway: "global",
430
434
  baseUrl: b.globalBaseUrl,
@@ -439,7 +443,7 @@ function ke({ config: n, children: r, clearAuthStore: a }) {
439
443
  refreshToken: n.refreshToken,
440
444
  expiresAt: n.expiresIn ? Date.now() + n.expiresIn * 1e3 : void 0
441
445
  };
442
- }, [b.globalBaseUrl]), Q = B(() => t("organization"), []), he = H(() => {
446
+ }, [b.globalBaseUrl]), Q = V(() => t("organization"), []), he = U(() => {
443
447
  let e = new pe({
444
448
  queryCache: new fe({ onError: (e) => {
445
449
  i(e);
@@ -460,33 +464,33 @@ function ke({ config: n, children: r, clearAuthStore: a }) {
460
464
  });
461
465
  return e;
462
466
  }, [A]);
463
- return V(() => {
467
+ return H(() => {
464
468
  let e = () => {
465
- W({ force: !0 });
469
+ B({ force: !0 });
466
470
  };
467
471
  return window.addEventListener(s, e), () => {
468
472
  window.removeEventListener(s, e);
469
473
  };
470
- }, [W]), V(() => {
474
+ }, [B]), H(() => {
471
475
  let e = te.getInstance();
472
476
  e.getLogger("shell") || e.getLogger("shell").addTransport(new ne());
473
- }, []), /* @__PURE__ */ G(p, {
477
+ }, []), /* @__PURE__ */ K(p, {
474
478
  value: L,
475
- children: /* @__PURE__ */ G(le, {
479
+ children: /* @__PURE__ */ K(le, {
476
480
  appName: h,
477
481
  appVersion: I.appVersion,
478
482
  appEnv: I.appEnv,
479
483
  sourceMfe: h,
480
- children: /* @__PURE__ */ G(g, {
484
+ children: /* @__PURE__ */ K(g, {
481
485
  FallbackComponent: re,
482
- children: /* @__PURE__ */ K(ue, { children: [/* @__PURE__ */ G(Oe, {
486
+ children: /* @__PURE__ */ q(ue, { children: [/* @__PURE__ */ K(Ae, {
483
487
  config: I,
484
488
  productSlug: h,
485
489
  privacyConsent: N,
486
490
  consentRouteDenylist: P
487
- }), /* @__PURE__ */ G(me, {
491
+ }), /* @__PURE__ */ K(me, {
488
492
  client: he,
489
- children: /* @__PURE__ */ G(ae, { children: /* @__PURE__ */ G(oe, {
493
+ children: /* @__PURE__ */ K(ae, { children: /* @__PURE__ */ K(oe, {
490
494
  workspaceBaseUrl: b.workspaceBaseUrl,
491
495
  globalBaseUrl: b.globalBaseUrl,
492
496
  organizationId: Q,
@@ -496,7 +500,7 @@ function ke({ config: n, children: r, clearAuthStore: a }) {
496
500
  onAuthError: Y,
497
501
  onNetworkError: X,
498
502
  onRefreshToken: J,
499
- children: /* @__PURE__ */ G(m, {
503
+ children: /* @__PURE__ */ K(m, {
500
504
  bridgeUrl: x?.url,
501
505
  bridgeAllowedOrigins: x?.allowedOrigins,
502
506
  bridgeDebug: x?.debug,
@@ -508,11 +512,11 @@ function ke({ config: n, children: r, clearAuthStore: a }) {
508
512
  console.warn("[Auth] Session will expire in 5 minutes");
509
513
  },
510
514
  onTokenExpired: () => {
511
- W();
515
+ B();
512
516
  },
513
- children: /* @__PURE__ */ G(ee, {
517
+ children: /* @__PURE__ */ K(ee, {
514
518
  syncToUrl: !0,
515
- children: /* @__PURE__ */ G(ie, { children: /* @__PURE__ */ G(we, {
519
+ children: /* @__PURE__ */ K(ie, { children: /* @__PURE__ */ K(Ee, {
516
520
  i18nProductId: y,
517
521
  fallbackTranslations: k,
518
522
  defaultBrand: S,
@@ -536,4 +540,4 @@ function ke({ config: n, children: r, clearAuthStore: a }) {
536
540
  });
537
541
  }
538
542
  //#endregion
539
- export { ke as AppShellProvider, ye as resolveAppShellObservabilityConfig };
543
+ export { je as AppShellProvider, be as resolveAppShellObservabilityConfig };
@@ -19,4 +19,5 @@ import { useDesktopWindowState as ue } from "./shared/native/hooks/useDesktopWin
19
19
  import "./shared/native/hooks/index.js";
20
20
  import { acknowledgeNativePurchase as de, getNativeProducts as fe, getNativePurchases as pe, installNativeIAP as me, isNativeIAPAvailable as he, purchaseNativeProduct as ge, restoreNativePurchases as _e } from "./shared/native/purchases.js";
21
21
  import { getNativeEntryRoutes as ve, shouldShowNativeWelcome as ye } from "./shared/native/entry.js";
22
- export { e as DESKTOP_UPDATE_UNSUPPORTED, t as DESKTOP_WINDOW_STATE_DEFAULT, Y as PULL_TO_REFRESH_THRESHOLD, G as SafeAreaView, de as acknowledgeNativePurchase, n as bootDesktopShell, X as computePullOffset, Z as computePullProgress, r as desktopCheckForUpdates, i as desktopDeepLinkToPath, a as desktopInstallUpdate, o as desktopNotify, s as desktopOpenExternal, c as desktopSetBadgeCount, l as desktopSetLocale, u as desktopSetTheme, d as desktopSetTrayQuickActions, f as getDesktopAuthBridgeConfig, p as getDesktopBridge, m as getDesktopGatewayBases, h as getDesktopGatewayUrls, g as getDesktopRuntimeConfig, _ as getDesktopUpdateState, v as getDesktopWindowState, y as getLegacyDesktopRuntime, E as getNativeBridge, ve as getNativeEntryRoutes, fe as getNativeProducts, pe as getNativePurchases, D as getPlatform, b as installDesktopDeepLinkHandler, x as installDesktopNavigateHandler, me as installNativeIAP, O as isAndroid, S as isDesktop, k as isElectron, A as isIOS, j as isInstalledApp, M as isNative, he as isNativeIAPAvailable, N as isStandalonePWA, P as isWeb, F as isWebBrowser, I as nativeActionSheet, L as nativeConfirm, R as nativeCopyText, z as nativeImpact, B as nativeNotify, V as nativeOpenUrl, H as nativeSelection, U as nativeShare, W as nativeToast, C as onDesktopUpdateState, w as onDesktopWindowState, ge as purchaseNativeProduct, K as readInitialNetworkStatus, q as reduceNetworkStatus, T as registerDesktopNavigator, oe as resolveActionSheetOutcome, _e as restoreNativePurchases, ye as shouldShowNativeWelcome, se as useActionSheet, ne as useAppState, ce as useDesktop, le as useDesktopUpdateState, ue as useDesktopWindowState, re as useDeviceInfo, ie as useHaptics, te as useNativeKeyboard, $ as useNativePlatform, J as useNetworkStatus, Q as usePullToRefresh, ee as useSafeArea, ae as useStatusBar };
22
+ import { getPushOptInController as be, registerPushOptInController as xe } from "./shared/native/push-optin.js";
23
+ export { e as DESKTOP_UPDATE_UNSUPPORTED, t as DESKTOP_WINDOW_STATE_DEFAULT, Y as PULL_TO_REFRESH_THRESHOLD, G as SafeAreaView, de as acknowledgeNativePurchase, n as bootDesktopShell, X as computePullOffset, Z as computePullProgress, r as desktopCheckForUpdates, i as desktopDeepLinkToPath, a as desktopInstallUpdate, o as desktopNotify, s as desktopOpenExternal, c as desktopSetBadgeCount, l as desktopSetLocale, u as desktopSetTheme, d as desktopSetTrayQuickActions, f as getDesktopAuthBridgeConfig, p as getDesktopBridge, m as getDesktopGatewayBases, h as getDesktopGatewayUrls, g as getDesktopRuntimeConfig, _ as getDesktopUpdateState, v as getDesktopWindowState, y as getLegacyDesktopRuntime, E as getNativeBridge, ve as getNativeEntryRoutes, fe as getNativeProducts, pe as getNativePurchases, D as getPlatform, be as getPushOptInController, b as installDesktopDeepLinkHandler, x as installDesktopNavigateHandler, me as installNativeIAP, O as isAndroid, S as isDesktop, k as isElectron, A as isIOS, j as isInstalledApp, M as isNative, he as isNativeIAPAvailable, N as isStandalonePWA, P as isWeb, F as isWebBrowser, I as nativeActionSheet, L as nativeConfirm, R as nativeCopyText, z as nativeImpact, B as nativeNotify, V as nativeOpenUrl, H as nativeSelection, U as nativeShare, W as nativeToast, C as onDesktopUpdateState, w as onDesktopWindowState, ge as purchaseNativeProduct, K as readInitialNetworkStatus, q as reduceNetworkStatus, T as registerDesktopNavigator, xe as registerPushOptInController, oe as resolveActionSheetOutcome, _e as restoreNativePurchases, ye as shouldShowNativeWelcome, se as useActionSheet, ne as useAppState, ce as useDesktop, le as useDesktopUpdateState, ue as useDesktopWindowState, re as useDeviceInfo, ie as useHaptics, te as useNativeKeyboard, $ as useNativePlatform, J as useNetworkStatus, Q as usePullToRefresh, ee as useSafeArea, ae as useStatusBar };
package/dist/shared.js CHANGED
@@ -127,9 +127,10 @@ import { TourTrigger as Ba } from "./shared/tours/TourTrigger.js";
127
127
  import "./shared-tours.js";
128
128
  import { acknowledgeNativePurchase as Va, getNativeProducts as Ha, getNativePurchases as Ua, installNativeIAP as Wa, isNativeIAPAvailable as Ga, purchaseNativeProduct as Ka, restoreNativePurchases as qa } from "./shared/native/purchases.js";
129
129
  import { getNativeEntryRoutes as Ja, shouldShowNativeWelcome as Ya } from "./shared/native/entry.js";
130
+ import { getPushOptInController as Xa, registerPushOptInController as Za } from "./shared/native/push-optin.js";
130
131
  import "./shared-native.js";
131
132
  import "./shared/actors/index.js";
132
133
  //#region src/shared/index.ts
133
- var Xa = "1.0.0";
134
+ var Qa = "1.0.0";
134
135
  //#endregion
135
- export { Rr as ASSISTANT_WIDGET_TOGGLE_EVENT, er as AccessDenied, Gn as ActorIdentity, ri as AnalyticsConsentBanner, ct as ApolloClient, lt as ApolloProvider, ur as AppErrorBoundary, an as AppInitializer, La as AppShellProvider, zr as AssistantWidget, je as BACKEND_ERROR_EVENT, gi as BREAKPOINTS, ni as BackendAuditSink, ti as BroadcastChannelSink, ve as COMMON_SHELL_LESS_ROUTES, Me as CONNECTION_STATUS_EVENT, sr as ConditionalShell, fn as ConsoleTransport, _r as ContextConversationWidget, we as DEFAULT_PAGE_SIZE, ye as DEFAULT_SHELL_CONFIG, I as DESKTOP_UPDATE_UNSUPPORTED, L as DESKTOP_WINDOW_STATE_DEFAULT, $r as DesktopUpdateToast, ei as DevtoolsSink, Jn as ErrorBoundary, nr as ErrorFallback, li as EventBusProvider, Xa as FE_SHARED_VERSION, dr as FeatureFlagProvider, gr as FeatureGate, Te as GATEWAYS, Bi as GLOBAL_SHORTCUT_CATEGORIES, tt as GatewayProvider, ut as InMemoryCache, jr as KeyboardHelpDialogWrapper, rr as LoadingFallback, cn as LogLevel, un as LogManager, ln as Logger, Fi as MODIFIER_KEYS, Br as Markdown, sa as MicrofrontendContext, or as MicrofrontendErrorBoundary, za as MicrofrontendProvider, ci as OtelBrowserSink, na as PLAN_USAGE_SNAPSHOT_EVENT, Ii as PLATFORM_TYPES, me as PRODUCTS, he as PRODUCT_URLS, Vn as PULL_TO_REFRESH_THRESHOLD, Ji as PUSH_DEVICE_ID_STORAGE_KEY, lr as PWAInstallBanner, ir as PageLoadingFallback, Zn as PermissionButton, tr as PermissionDenied, Qn as PermissionGate, $n as PermissionLink, vn as QUOTA_EXHAUSTED_CODE, $i as QUOTA_EXHAUSTED_EVENT, Mr as QuotaMeter, yn as RESOURCE_CAP_EXCEEDED_CODE, Yn as RequireAuth, Xn as RequireGuest, ii as RybbitSink, Ye as SSELink, Vt as SSORedirectSpinner, Kt as SSO_DEPOSITED_PARAM, bn as STORAGE_QUOTA_EXCEEDED_CODE, Ln as SafeAreaView, ar as SectionLoadingFallback, Ia as TourInitializer, ya as TourPlayer, ma as TourPlayerProvider, fa as TourSpotlight, pa as TourTooltip, Ba as TourTrigger, ba as TourTriggerButton, ja as ToursProvider, xn as UPGRADE_ERROR_CODES, Nr as UPGRADE_PROMPT_EVENT, Ir as UpgradeInlineBanner, Pr as UpgradePromptModal, st as WsLink, Va as acknowledgeNativePurchase, r as alertTokens, aa as appendContextToPath, _t as attemptTokenRefresh, qt as beginSsoNavigation, R as bootDesktopShell, Kn as buildActorFallback, Sn as buildQuotaExhaustedMessage, Jt as buildSsoDepositUrl, m as capitalizeFirst, h as capitalizeWords, i as categoryTokens, Ht as checkRemoteSLO, Ut as checkSLO, vt as clearAuthSessionStorage, Be as clearGraphqlFetchResponseCache, Wt as clearLocalAuthState, Ct as clearSSoCookie, wt as clearShellSsoCookies, Yt as clearSsoDepositState, Xt as clearSsoNavigation, pn as clearUserContext, Dn as cn, Hn as computePullOffset, Un as computePullProgress, Zt as consumeSsoDepositMarker, n as createApolloClient, ui as createEventBus, Vi as createGlobalShortcuts, Xe as createGraphQLClient, gn as createProfileScopedStorage, z as desktopCheckForUpdates, B as desktopDeepLinkToPath, V as desktopInstallUpdate, H as desktopNotify, U as desktopOpenExternal, W as desktopSetBadgeCount, G as desktopSetLocale, K as desktopSetTheme, q as desktopSetTrayQuickActions, la as detectDeviceType, vr as detectPlatform, Ne as dispatchBackendErrorEvent, ea as dispatchQuotaExhausted, Fr as dispatchUpgradePrompt, Pe as extractBackendError, Cn as extractQuotaExhaustedExtensions, wn as extractUpgradeErrorExtensions, g as formatBytes, _ as formatCompactNumber, v as formatCurrency, y as formatCurrencyCompact, b as formatDate, x as formatDateTime, S as formatDuration, yr as formatKeyCombo, C as formatList, w as formatNumber, T as formatOrdinal, E as formatPercentage, D as formatRelativeTime, O as formatTime, a as getAlertTokens, o as getCategoryTokens, J as getDesktopAuthBridgeConfig, Y as getDesktopBridge, X as getDesktopGatewayBases, Z as getDesktopGatewayUrls, Q as getDesktopRuntimeConfig, $ as getDesktopUpdateState, ee as getDesktopWindowState, br as getDisplayKeysForPlatform, Ee as getGatewayConfig, De as getGatewayUrl, Ze as getGlobalClient, Hi as getGlobalShortcutsByCategory, Oe as getGraphQLEndpoint, te as getLegacyDesktopRuntime, jt as getNativeBridge, Ja as getNativeEntryRoutes, Ha as getNativeProducts, Ua as getNativePurchases, Yi as getOrCreatePushDeviceId, Mt as getPlatform, ge as getProductUrl, _e as getProductsWithUrls, _n as getProfileScopedKey, s as getProgressTokens, ua as getResponsiveSelector, Gt as getSSORedirectUrl, Tt as getSSoCookie, be as getShellConfig, xr as getShortcutLabel, c as getStatusBadgeTokens, l as getStatusTokens, Ve as getStoredAuthToken, He as getStoredLocale, Ue as getStoredOrganizationId, We as getStoredProjectId, Ge as getStoredWorkspaceId, Ke as getStoredWorkspaceToken, Sa as getTourContextRank, Ca as getTourRouteCatalog, wa as getTourRouteModules, Ta as getTourRoutePages, u as getTrendTokens, Qe as getWorkspaceClient, ke as getWorkspaceTokenPayload, dt as gql, qe as graphqlFetch, yt as hasAuthGraphQLErrors, $e as initializeAppClients, mn as initializeLogger, ne as installDesktopDeepLinkHandler, re as installDesktopNavigateHandler, le as installGatewayFetchRewrite, Wa as installNativeIAP, Fe as isAbortError, Nt as isAndroid, bt as isAuthGraphQLError, xt as isAuthNetworkError, Ie as isBackendErrorDisplay, P as isChunkLoadError, ie as isDesktop, Pt as isElectron, Ft as isIOS, It as isInstalledApp, Sr as isMac, Cr as isMobileDevice, Lt as isNative, Ga as isNativeIAPAvailable, Tn as isQuotaExhaustedError, Et as isSharedSsoCookieDomain, xe as isShellLessRoute, Qt as isSsoNavigationPending, Rt as isStandalonePWA, wr as isTabletDevice, Ea as isTourVisibleForContext, Le as isTransportError, Dt as isTrustedSsoOrigin, En as isUpgradeError, zt as isWeb, Bt as isWebBrowser, Ae as isWorkspaceTokenValidForContext, F as lazyWithRetry, dn as logManager, Re as markConnectionHealthy, $t as markSsoDepositDone, en as markSsoDepositPending, Tr as matchesKeyCombo, Ui as mergeShortcuts, tn as mintSsoSessionTokens, On as nativeActionSheet, kn as nativeConfirm, An as nativeCopyText, jn as nativeImpact, Mn as nativeNotify, Nn as nativeOpenUrl, Pn as nativeSelection, Fn as nativeShare, In as nativeToast, Er as normalizeKey, Dr as normalizePlatformCombo, Da as normalizeTourPath, ae as onDesktopUpdateState, oe as onDesktopWindowState, Or as parseKeyCombo, k as pluralize, d as progressTokens, ra as publishPlanUsageSnapshot, Ka as purchaseNativeProduct, ai as readAnalyticsConsent, oi as readAnalyticsConsentChoice, Rn as readInitialNetworkStatus, Ot as readShellSsoCookie, nn as readSsoDepositState, St as redirectToLogin, zn as reduceNetworkStatus, se as registerDesktopNavigator, Xi as registerPushDevice, Oa as registerTourRouteCatalog, et as resetAppClients, Jr as resolveActionSheetOutcome, Ra as resolveAppShellObservabilityConfig, fe as resolveAuthBridgeConfig, ue as resolveGatewayBases, Je as resolveGatewayUrl, ce as resolveGatewayUrls, pe as resolveShellAuthBridgeConfig, ka as resolveTourTargetPath, qa as restoreNativePurchases, si as setAnalyticsConsent, kt as setSSoCookie, At as setShellSsoCookies, hn as setUserContext, rn as shouldAttemptSsoDeposit, kr as shouldEnableKeyboardShortcuts, Ar as shouldIgnoreShortcut, Se as shouldShowBreadcrumb, Ya as shouldShowNativeWelcome, Ce as shouldShowSidebar, ze as shouldToastBackendError, A as slugify, f as statusTokens, de as suppressConsole, j as toCamelCase, M as toPascalCase, p as trendTokens, N as truncateText, Zi as unregisterPushDevice, Yr as useActionSheet, qn as useActorProfiles, ft as useApolloClient, Wr as useAppState, Ni as useAsync, Pi as useAsyncImmediate, Ma as useAutoStartTour, _i as useBreakpoint, ki as useConditionalToggle, e as useCopyToClipboard, oa as useCurrentContextSearchParams, mi as useDebounce, Xr as useDesktop, Zr as useDesktopUpdateState, Qr as useDesktopWindowState, Gr as useDeviceInfo, di as useEvent, fi as useEventBus, pi as useEventEmitter, Ci as useExclusiveMenu, pr as useFeatureFlag, mr as useFeatureFlagDetails, hr as useFeatureFlagValue, fr as useFeatureFlags, nt as useGateway, rt as useGatewayClient, Kr as useHaptics, Gi as useHasAnimated, ot as useHasAuthToken, Ri as useHotkeys, ha as useIsTourPlaying, xi as useKeyPress, Si as useKeyboardShortcut, Li as useKeyboardShortcuts, pt as useLazyQuery, wi as useLocalStorage, Wi as useLogger, t as useMediaQuery, ca as useMicrofrontendContext, vi as useMobileBreakpoint, mt as useMutation, Ur as useNativeKeyboard, Vr as useNativePlatform, Bn as useNetworkStatus, yi as useOnClickOutside, bi as useOnClickOutsideWithRef, cr as usePWA, Mi as usePagination, xa as usePlayTour, Ei as usePrevious, Di as usePreviousDistinct, Oi as usePreviousHistory, Wn as usePullToRefresh, Qi as usePushDeviceRegistration, ht as useQuery, ta as useQuotaErrorToast, qi as useRecordProductVisit, Ki as useReferralAttribution, on as useRegistryHelpers, Hr as useSafeArea, it as useSafeGateway, at as useSafeGatewayClient, Na as useSafeToursContext, Ti as useSessionStorage, sn as useShellNavigate, zi as useShortcutHelp, ga as useStartTour, qr as useStatusBar, _a as useStopTour, gt as useSubscription, hi as useThrottle, Ai as useToggle, ji as useToggleObject, da as useTourPlayer, va as useTourPlayerContext, Pa as useTours, Fa as useToursContext, ia as useUpgradePrompt, Lr as useVoiceInput, Aa as withTourProgressStatus };
136
+ export { Rr as ASSISTANT_WIDGET_TOGGLE_EVENT, er as AccessDenied, Gn as ActorIdentity, ri as AnalyticsConsentBanner, ct as ApolloClient, lt as ApolloProvider, ur as AppErrorBoundary, an as AppInitializer, La as AppShellProvider, zr as AssistantWidget, je as BACKEND_ERROR_EVENT, gi as BREAKPOINTS, ni as BackendAuditSink, ti as BroadcastChannelSink, ve as COMMON_SHELL_LESS_ROUTES, Me as CONNECTION_STATUS_EVENT, sr as ConditionalShell, fn as ConsoleTransport, _r as ContextConversationWidget, we as DEFAULT_PAGE_SIZE, ye as DEFAULT_SHELL_CONFIG, I as DESKTOP_UPDATE_UNSUPPORTED, L as DESKTOP_WINDOW_STATE_DEFAULT, $r as DesktopUpdateToast, ei as DevtoolsSink, Jn as ErrorBoundary, nr as ErrorFallback, li as EventBusProvider, Qa as FE_SHARED_VERSION, dr as FeatureFlagProvider, gr as FeatureGate, Te as GATEWAYS, Bi as GLOBAL_SHORTCUT_CATEGORIES, tt as GatewayProvider, ut as InMemoryCache, jr as KeyboardHelpDialogWrapper, rr as LoadingFallback, cn as LogLevel, un as LogManager, ln as Logger, Fi as MODIFIER_KEYS, Br as Markdown, sa as MicrofrontendContext, or as MicrofrontendErrorBoundary, za as MicrofrontendProvider, ci as OtelBrowserSink, na as PLAN_USAGE_SNAPSHOT_EVENT, Ii as PLATFORM_TYPES, me as PRODUCTS, he as PRODUCT_URLS, Vn as PULL_TO_REFRESH_THRESHOLD, Ji as PUSH_DEVICE_ID_STORAGE_KEY, lr as PWAInstallBanner, ir as PageLoadingFallback, Zn as PermissionButton, tr as PermissionDenied, Qn as PermissionGate, $n as PermissionLink, vn as QUOTA_EXHAUSTED_CODE, $i as QUOTA_EXHAUSTED_EVENT, Mr as QuotaMeter, yn as RESOURCE_CAP_EXCEEDED_CODE, Yn as RequireAuth, Xn as RequireGuest, ii as RybbitSink, Ye as SSELink, Vt as SSORedirectSpinner, Kt as SSO_DEPOSITED_PARAM, bn as STORAGE_QUOTA_EXCEEDED_CODE, Ln as SafeAreaView, ar as SectionLoadingFallback, Ia as TourInitializer, ya as TourPlayer, ma as TourPlayerProvider, fa as TourSpotlight, pa as TourTooltip, Ba as TourTrigger, ba as TourTriggerButton, ja as ToursProvider, xn as UPGRADE_ERROR_CODES, Nr as UPGRADE_PROMPT_EVENT, Ir as UpgradeInlineBanner, Pr as UpgradePromptModal, st as WsLink, Va as acknowledgeNativePurchase, r as alertTokens, aa as appendContextToPath, _t as attemptTokenRefresh, qt as beginSsoNavigation, R as bootDesktopShell, Kn as buildActorFallback, Sn as buildQuotaExhaustedMessage, Jt as buildSsoDepositUrl, m as capitalizeFirst, h as capitalizeWords, i as categoryTokens, Ht as checkRemoteSLO, Ut as checkSLO, vt as clearAuthSessionStorage, Be as clearGraphqlFetchResponseCache, Wt as clearLocalAuthState, Ct as clearSSoCookie, wt as clearShellSsoCookies, Yt as clearSsoDepositState, Xt as clearSsoNavigation, pn as clearUserContext, Dn as cn, Hn as computePullOffset, Un as computePullProgress, Zt as consumeSsoDepositMarker, n as createApolloClient, ui as createEventBus, Vi as createGlobalShortcuts, Xe as createGraphQLClient, gn as createProfileScopedStorage, z as desktopCheckForUpdates, B as desktopDeepLinkToPath, V as desktopInstallUpdate, H as desktopNotify, U as desktopOpenExternal, W as desktopSetBadgeCount, G as desktopSetLocale, K as desktopSetTheme, q as desktopSetTrayQuickActions, la as detectDeviceType, vr as detectPlatform, Ne as dispatchBackendErrorEvent, ea as dispatchQuotaExhausted, Fr as dispatchUpgradePrompt, Pe as extractBackendError, Cn as extractQuotaExhaustedExtensions, wn as extractUpgradeErrorExtensions, g as formatBytes, _ as formatCompactNumber, v as formatCurrency, y as formatCurrencyCompact, b as formatDate, x as formatDateTime, S as formatDuration, yr as formatKeyCombo, C as formatList, w as formatNumber, T as formatOrdinal, E as formatPercentage, D as formatRelativeTime, O as formatTime, a as getAlertTokens, o as getCategoryTokens, J as getDesktopAuthBridgeConfig, Y as getDesktopBridge, X as getDesktopGatewayBases, Z as getDesktopGatewayUrls, Q as getDesktopRuntimeConfig, $ as getDesktopUpdateState, ee as getDesktopWindowState, br as getDisplayKeysForPlatform, Ee as getGatewayConfig, De as getGatewayUrl, Ze as getGlobalClient, Hi as getGlobalShortcutsByCategory, Oe as getGraphQLEndpoint, te as getLegacyDesktopRuntime, jt as getNativeBridge, Ja as getNativeEntryRoutes, Ha as getNativeProducts, Ua as getNativePurchases, Yi as getOrCreatePushDeviceId, Mt as getPlatform, ge as getProductUrl, _e as getProductsWithUrls, _n as getProfileScopedKey, s as getProgressTokens, Xa as getPushOptInController, ua as getResponsiveSelector, Gt as getSSORedirectUrl, Tt as getSSoCookie, be as getShellConfig, xr as getShortcutLabel, c as getStatusBadgeTokens, l as getStatusTokens, Ve as getStoredAuthToken, He as getStoredLocale, Ue as getStoredOrganizationId, We as getStoredProjectId, Ge as getStoredWorkspaceId, Ke as getStoredWorkspaceToken, Sa as getTourContextRank, Ca as getTourRouteCatalog, wa as getTourRouteModules, Ta as getTourRoutePages, u as getTrendTokens, Qe as getWorkspaceClient, ke as getWorkspaceTokenPayload, dt as gql, qe as graphqlFetch, yt as hasAuthGraphQLErrors, $e as initializeAppClients, mn as initializeLogger, ne as installDesktopDeepLinkHandler, re as installDesktopNavigateHandler, le as installGatewayFetchRewrite, Wa as installNativeIAP, Fe as isAbortError, Nt as isAndroid, bt as isAuthGraphQLError, xt as isAuthNetworkError, Ie as isBackendErrorDisplay, P as isChunkLoadError, ie as isDesktop, Pt as isElectron, Ft as isIOS, It as isInstalledApp, Sr as isMac, Cr as isMobileDevice, Lt as isNative, Ga as isNativeIAPAvailable, Tn as isQuotaExhaustedError, Et as isSharedSsoCookieDomain, xe as isShellLessRoute, Qt as isSsoNavigationPending, Rt as isStandalonePWA, wr as isTabletDevice, Ea as isTourVisibleForContext, Le as isTransportError, Dt as isTrustedSsoOrigin, En as isUpgradeError, zt as isWeb, Bt as isWebBrowser, Ae as isWorkspaceTokenValidForContext, F as lazyWithRetry, dn as logManager, Re as markConnectionHealthy, $t as markSsoDepositDone, en as markSsoDepositPending, Tr as matchesKeyCombo, Ui as mergeShortcuts, tn as mintSsoSessionTokens, On as nativeActionSheet, kn as nativeConfirm, An as nativeCopyText, jn as nativeImpact, Mn as nativeNotify, Nn as nativeOpenUrl, Pn as nativeSelection, Fn as nativeShare, In as nativeToast, Er as normalizeKey, Dr as normalizePlatformCombo, Da as normalizeTourPath, ae as onDesktopUpdateState, oe as onDesktopWindowState, Or as parseKeyCombo, k as pluralize, d as progressTokens, ra as publishPlanUsageSnapshot, Ka as purchaseNativeProduct, ai as readAnalyticsConsent, oi as readAnalyticsConsentChoice, Rn as readInitialNetworkStatus, Ot as readShellSsoCookie, nn as readSsoDepositState, St as redirectToLogin, zn as reduceNetworkStatus, se as registerDesktopNavigator, Xi as registerPushDevice, Za as registerPushOptInController, Oa as registerTourRouteCatalog, et as resetAppClients, Jr as resolveActionSheetOutcome, Ra as resolveAppShellObservabilityConfig, fe as resolveAuthBridgeConfig, ue as resolveGatewayBases, Je as resolveGatewayUrl, ce as resolveGatewayUrls, pe as resolveShellAuthBridgeConfig, ka as resolveTourTargetPath, qa as restoreNativePurchases, si as setAnalyticsConsent, kt as setSSoCookie, At as setShellSsoCookies, hn as setUserContext, rn as shouldAttemptSsoDeposit, kr as shouldEnableKeyboardShortcuts, Ar as shouldIgnoreShortcut, Se as shouldShowBreadcrumb, Ya as shouldShowNativeWelcome, Ce as shouldShowSidebar, ze as shouldToastBackendError, A as slugify, f as statusTokens, de as suppressConsole, j as toCamelCase, M as toPascalCase, p as trendTokens, N as truncateText, Zi as unregisterPushDevice, Yr as useActionSheet, qn as useActorProfiles, ft as useApolloClient, Wr as useAppState, Ni as useAsync, Pi as useAsyncImmediate, Ma as useAutoStartTour, _i as useBreakpoint, ki as useConditionalToggle, e as useCopyToClipboard, oa as useCurrentContextSearchParams, mi as useDebounce, Xr as useDesktop, Zr as useDesktopUpdateState, Qr as useDesktopWindowState, Gr as useDeviceInfo, di as useEvent, fi as useEventBus, pi as useEventEmitter, Ci as useExclusiveMenu, pr as useFeatureFlag, mr as useFeatureFlagDetails, hr as useFeatureFlagValue, fr as useFeatureFlags, nt as useGateway, rt as useGatewayClient, Kr as useHaptics, Gi as useHasAnimated, ot as useHasAuthToken, Ri as useHotkeys, ha as useIsTourPlaying, xi as useKeyPress, Si as useKeyboardShortcut, Li as useKeyboardShortcuts, pt as useLazyQuery, wi as useLocalStorage, Wi as useLogger, t as useMediaQuery, ca as useMicrofrontendContext, vi as useMobileBreakpoint, mt as useMutation, Ur as useNativeKeyboard, Vr as useNativePlatform, Bn as useNetworkStatus, yi as useOnClickOutside, bi as useOnClickOutsideWithRef, cr as usePWA, Mi as usePagination, xa as usePlayTour, Ei as usePrevious, Di as usePreviousDistinct, Oi as usePreviousHistory, Wn as usePullToRefresh, Qi as usePushDeviceRegistration, ht as useQuery, ta as useQuotaErrorToast, qi as useRecordProductVisit, Ki as useReferralAttribution, on as useRegistryHelpers, Hr as useSafeArea, it as useSafeGateway, at as useSafeGatewayClient, Na as useSafeToursContext, Ti as useSessionStorage, sn as useShellNavigate, zi as useShortcutHelp, ga as useStartTour, qr as useStatusBar, _a as useStopTour, gt as useSubscription, hi as useThrottle, Ai as useToggle, ji as useToggleObject, da as useTourPlayer, va as useTourPlayerContext, Pa as useTours, Fa as useToursContext, ia as useUpgradePrompt, Lr as useVoiceInput, Aa as withTourProgressStatus };
@@ -1 +1 @@
1
- {"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../src/shell-native/boot.ts"],"names":[],"mappings":"AAwBA,OAAO,KAAK,EAAsB,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAyC7F;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,iBAAiB,CAoFlF;AAED,uBAAuB;AACvB,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
1
+ {"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../src/shell-native/boot.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAsB,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAyC7F;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,iBAAiB,CA+FlF;AAED,uBAAuB;AACvB,wBAAgB,4BAA4B,IAAI,IAAI,CAEnD"}
@@ -14,11 +14,12 @@ import { configureKeyboard as y } from "./keyboard.js";
14
14
  import { installNetworkListener as b } from "./network.js";
15
15
  import { notifyOtaReady as x } from "./ota.js";
16
16
  import { installPushNotifications as S } from "./push.js";
17
- import { installPwa as C } from "./pwa.js";
18
- import { armSplashSafetyTimer as w, markAppReady as T } from "./splash.js";
19
- import { installStatusBarThemeListener as E } from "./system-bars.js";
17
+ import { installPushOptIn as C } from "./push-optin.js";
18
+ import { installPwa as w } from "./pwa.js";
19
+ import { armSplashSafetyTimer as T, markAppReady as E } from "./splash.js";
20
+ import { installStatusBarThemeListener as D } from "./system-bars.js";
20
21
  //#region src/shell-native/boot.ts
21
- function D(e, t) {
22
+ function O(e, t) {
22
23
  try {
23
24
  let n = t();
24
25
  n instanceof Promise && n.catch((t) => {
@@ -28,38 +29,38 @@ function D(e, t) {
28
29
  console.debug(`[shell-native] boot step "${e}" failed:`, t);
29
30
  }
30
31
  }
31
- function O() {
32
+ function k() {
32
33
  if (typeof document > "u") return;
33
34
  let e = document.querySelector("meta[name=\"viewport\"]");
34
35
  if (!e) return;
35
36
  let t = (e.content || "").split(",").map((e) => e.trim()).filter((e) => e.length > 0 && !e.startsWith("maximum-scale") && !e.startsWith("user-scalable") && !e.startsWith("interactive-widget"));
36
37
  t.push("maximum-scale=1", "user-scalable=no"), o() === "android" && t.push("interactive-widget=resizes-content"), e.content = t.join(", ");
37
38
  }
38
- var k = null;
39
- function A(A) {
40
- if (k) return k;
41
- if (d(A.electronGlobalKey ?? `${A.product}Electron`), A.preview?.allow !== !1 && D("preview", () => n(i())), D("notifyOtaReady", () => x(A.plugins ?? {})), D("authIntercept", () => f(A.authIntercept)), D("externalUrlOpener", () => h()), D("nativeBridge", () => {
39
+ var A = null;
40
+ function j(j) {
41
+ if (A) return A;
42
+ if (d(j.electronGlobalKey ?? `${j.product}Electron`), j.preview?.allow !== !1 && O("preview", () => n(i())), O("notifyOtaReady", () => x(j.plugins ?? {})), O("authIntercept", () => f(j.authIntercept)), O("externalUrlOpener", () => h()), O("nativeBridge", () => {
42
43
  g(), a();
43
- }), D("deviceInfo", () => v()), D("statusBarTheme", () => E()), D("keyboard", () => y()), D("backButton", () => m({
44
- ...p(A.appName),
45
- ...A.backButton
46
- })), D("deepLinks", () => _()), D("network", () => b(A.network ?? {})), D("runtimeHooks", () => u(A.runtimeHooks ?? {})), A.push?.enabled && A.plugins?.pushNotifications) {
47
- let e = A.plugins.pushNotifications;
48
- D("push", () => S(e, A.push ?? {}));
44
+ }), O("deviceInfo", () => v()), O("statusBarTheme", () => D()), O("keyboard", () => y()), O("backButton", () => m({
45
+ ...p(j.appName),
46
+ ...j.backButton
47
+ })), O("deepLinks", () => _()), O("network", () => b(j.network ?? {})), O("runtimeHooks", () => u(j.runtimeHooks ?? {})), j.push?.enabled && j.plugins?.pushNotifications) {
48
+ let e = j.plugins.pushNotifications;
49
+ O("push", () => S(e, j.push ?? {}));
49
50
  }
50
- return l() && A.splash?.autoHide !== !1 && D("splashSafetyTimer", () => w(A.splash?.maxWaitMs ?? 8e3)), D("pwa", () => C({
51
+ return l() && j.splash?.autoHide !== !1 && O("splashSafetyTimer", () => T(j.splash?.maxWaitMs ?? 8e3)), O("pwa", () => w({
51
52
  enabled: !0,
52
- ...A.pwa
53
- })), t() && D("desktopShell", () => e(A.desktop)), s() && D("viewport", () => O()), k = {
53
+ ...j.pwa
54
+ })), O("pushOptIn", () => C()), t() && O("desktopShell", () => e(j.desktop)), s() && O("viewport", () => k()), A = {
54
55
  platform: o(),
55
56
  isNative: s(),
56
57
  isPreview: c(),
57
58
  previewMode: r(),
58
- markAppReady: T
59
- }, k;
59
+ markAppReady: E
60
+ }, A;
60
61
  }
61
- function j() {
62
- k = null;
62
+ function M() {
63
+ A = null;
63
64
  }
64
65
  //#endregion
65
- export { A as bootNativeShell, j as resetNativeShellBootForTests };
66
+ export { j as bootNativeShell, M as resetNativeShellBootForTests };
@@ -52,4 +52,5 @@ export { defineCapacitorConfig, type CapacitorConfigLike } from './capacitor-con
52
52
  export { defineWebManifest, type WebManifestIcon, type WebManifestLike, type WebManifestPushConfig, type WebManifestShortcut, } from './web-manifest';
53
53
  export { renderServiceWorker, SERVICE_WORKER_TEMPLATE } from './service-worker';
54
54
  export type { AuthInterceptOptions, BackButtonHandlers, BeforeInstallPromptEventLike, BootNativeShellOptions, CapacitorListenerHandleLike, CapacitorUpdaterLike, DeepLinkDetail, LegacyElectronBridge, MobileRuntimeHooks, NativeConfig, NativePreviewMode, NativeShellHandle, NativeShellPlatform, NetworkHooks, NetworkStatusDetail, OptionalPluginLoaders, PushActionPerformedLike, PushNotificationSchemaLike, PushNotificationsLike, PushNotificationsLoader, PushOptions, PushPermissionStateLike, PushTokenLike, PwaOptions, SplashOptions, UpdaterLoader, } from './types';
55
+ export { installPushOptIn, resetPushOptInForTests } from './push-optin';
55
56
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shell-native/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shell-native/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * The platform calls this module makes, injectable so tests can supply fakes.
3
+ *
4
+ * Injection rather than `mock.module` on purpose: bun's module mocks are
5
+ * process-global, so mocking `./web-push` here silently replaced it for
6
+ * `web-push.test.ts` too and failed twenty of its assertions. A seam costs one
7
+ * optional parameter; the alternative corrupts unrelated suites.
8
+ */
9
+ export interface PushOptInDeps {
10
+ isRealNativePlatform: () => boolean;
11
+ isWebPushSupported: () => boolean;
12
+ getWebPushSubscription: () => Promise<unknown>;
13
+ requestNativePermission: () => Promise<boolean>;
14
+ requestWebPermission: () => Promise<unknown>;
15
+ unsubscribeWeb: () => Promise<boolean>;
16
+ unregisterDevice: () => Promise<boolean>;
17
+ }
18
+ /**
19
+ * Install the controller and prime its state.
20
+ *
21
+ * Called by `bootNativeShell()`. Safe to call more than once — the registry
22
+ * keeps the last registration and the listener set is module-scoped.
23
+ *
24
+ * @param overrides - Test seam only; production passes nothing.
25
+ */
26
+ export declare function installPushOptIn(overrides?: Partial<PushOptInDeps>): void;
27
+ /** Test seam — drop the controller and every listener. */
28
+ export declare function resetPushOptInForTests(): void;
29
+ //# sourceMappingURL=push-optin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"push-optin.d.ts","sourceRoot":"","sources":["../../src/shell-native/push-optin.ts"],"names":[],"mappings":"AAkGA;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,oBAAoB,EAAE,MAAM,OAAO,CAAC;IACpC,kBAAkB,EAAE,MAAM,OAAO,CAAC;IAClC,sBAAsB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/C,uBAAuB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,oBAAoB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAC7C,cAAc,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;CAC1C;AA6CD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG,IAAI,CAYzE;AAED,0DAA0D;AAC1D,wBAAgB,sBAAsB,IAAI,IAAI,CAK7C"}
@@ -0,0 +1,62 @@
1
+ import { unregisterPushDevice as e } from "../shared/native/push-registration.js";
2
+ import { registerPushOptInController as t } from "../shared/native/push-optin.js";
3
+ import { isRealNativePlatform as n } from "./platform.js";
4
+ import { requestPushPermission as r } from "./push.js";
5
+ import { getWebPushSubscription as i, isWebPushSupported as a, requestWebPushPermission as o, unsubscribeWebPush as s } from "./web-push.js";
6
+ //#region src/shell-native/push-optin.ts
7
+ var c = /* @__PURE__ */ new Set(), l = "unsupported";
8
+ function u(e) {
9
+ l = e;
10
+ for (let t of c) try {
11
+ t(e);
12
+ } catch {}
13
+ }
14
+ function d() {
15
+ return typeof Notification > "u" ? null : Notification.permission;
16
+ }
17
+ async function f() {
18
+ if (h.isRealNativePlatform()) {
19
+ let e = d();
20
+ return e === "denied" ? "denied" : e === "granted" ? "enabled" : "default";
21
+ }
22
+ if (!h.isWebPushSupported()) return "unsupported";
23
+ let e = d();
24
+ return e === "denied" ? "denied" : e === "granted" ? await h.getWebPushSubscription() ? "enabled" : "disabled" : "default";
25
+ }
26
+ async function p() {
27
+ let e = await f();
28
+ return u(e), e;
29
+ }
30
+ var m = {
31
+ isRealNativePlatform: n,
32
+ isWebPushSupported: a,
33
+ getWebPushSubscription: i,
34
+ requestNativePermission: r,
35
+ requestWebPermission: o,
36
+ unsubscribeWeb: s,
37
+ unregisterDevice: e
38
+ }, h = m, g = {
39
+ getState: () => l,
40
+ async enable() {
41
+ return h.isRealNativePlatform() ? await h.requestNativePermission() : await h.requestWebPermission(), p();
42
+ },
43
+ async disable() {
44
+ return h.isRealNativePlatform() || await h.unsubscribeWeb(), await h.unregisterDevice(), p();
45
+ },
46
+ subscribe(e) {
47
+ return c.add(e), () => c.delete(e);
48
+ }
49
+ };
50
+ function _(e) {
51
+ h = e ? {
52
+ ...m,
53
+ ...e
54
+ } : m, t(g), p(), typeof window < "u" && window.addEventListener("burdenoff:pushToken", () => {
55
+ p();
56
+ });
57
+ }
58
+ function v() {
59
+ c.clear(), l = "unsupported", h = m, t(null);
60
+ }
61
+ //#endregion
62
+ export { _ as installPushOptIn, v as resetPushOptInForTests };
@@ -19,12 +19,13 @@ import { KEYBOARD_HEIGHT_CSS_VAR as z, KEYBOARD_OPEN_CLASS as B, configureKeyboa
19
19
  import { NETWORK_STATUS_EVENT as U, getLastNetworkStatus as W, installNetworkListener as G } from "./shell-native/network.js";
20
20
  import { notifyOtaReady as K } from "./shell-native/ota.js";
21
21
  import { PUSH_TOKEN_EVENT as q, emitPushToken as J, installPushNotifications as Y, requestPushPermission as X } from "./shell-native/push.js";
22
- import { PWA_INSTALLED_EVENT as Z, PWA_INSTALL_AVAILABLE_EVENT as Q, PWA_UPDATE_READY_EVENT as $, installPwa as ee, installPwaPrompt as te, isPwaEligibleHost as ne, resetPwaForTests as re } from "./shell-native/pwa.js";
23
- import { APP_READY_EVENT as ie, armSplashSafetyTimer as ae, isAppReady as oe, markAppReady as se, resetAppReadyForTests as ce } from "./shell-native/splash.js";
24
- import { DARK_FAMILY_THEMES as le, applyStatusBarTheme as ue, installStatusBarThemeListener as de, isDarkThemeName as fe, resolveDocumentIsDark as pe, statusBarDetailIsDark as me } from "./shell-native/system-bars.js";
25
- import { bootNativeShell as he, resetNativeShellBootForTests as ge } from "./shell-native/boot.js";
26
- import { SW_NOTIFICATION_CLICK_MESSAGE as _e, SW_PUSH_SUBSCRIPTION_CHANGE_MESSAGE as ve, WEB_PUSH_MANIFEST_KEY as ye, getWebPushManifestConfig as be, getWebPushSubscription as xe, installWebPushMessageBridge as Se, isWebPushSupported as Ce, requestWebPushPermission as we, resetWebPushForTests as Te, resolveVapidPublicKey as Ee, serializeWebPushSubscription as De, subscribeWebPush as Oe, unsubscribeWebPush as ke, urlBase64ToUint8Array as Ae } from "./shell-native/web-push.js";
27
- import { defineCapacitorConfig as je } from "./shell-native/capacitor-config.js";
28
- import { defineWebManifest as Me } from "./shell-native/web-manifest.js";
29
- import { SERVICE_WORKER_TEMPLATE as Ne, renderServiceWorker as Pe } from "./shell-native/service-worker.js";
30
- export { ie as APP_READY_EVENT, le as DARK_FAMILY_THEMES, _ as DEFAULT_AUTH_INTERCEPT_PREFIXES, z as KEYBOARD_HEIGHT_CSS_VAR, B as KEYBOARD_OPEN_CLASS, t as NATIVE_PREVIEW_QUERY_PARAM, n as NATIVE_PREVIEW_STORAGE_KEY, U as NETWORK_STATUS_EVENT, q as PUSH_TOKEN_EVENT, Z as PWA_INSTALLED_EVENT, Q as PWA_INSTALL_AVAILABLE_EVENT, $ as PWA_UPDATE_READY_EVENT, Ne as SERVICE_WORKER_TEMPLATE, _e as SW_NOTIFICATION_CLICK_MESSAGE, ve as SW_PUSH_SUBSCRIPTION_CHANGE_MESSAGE, ye as WEB_PUSH_MANIFEST_KEY, o as applyNativePlatformClass, r as applyNativePreview, ue as applyStatusBarTheme, ae as armSplashSafetyTimer, he as bootNativeShell, N as clearDeepLinkNavigator, p as configureElectronGlobalKey, V as configureKeyboard, b as createDefaultBackButtonHandlers, P as deepLinkUrlToPath, je as defineCapacitorConfig, Me as defineWebManifest, J as emitPushToken, i as getActiveNativePreview, e as getDesktopBridge, m as getElectronGlobalKey, W as getLastNetworkStatus, h as getLegacyElectronBridge, s as getNativePlatform, be as getWebPushManifestConfig, xe as getWebPushSubscription, D as impactFeedback, x as installBackButtonHandler, F as installDeepLinkHandler, w as installExternalUrlOpener, f as installMobileRuntimeHooks, v as installNativeAuthNavigationIntercept, M as installNativeBridge, G as installNetworkListener, Y as installPushNotifications, ee as installPwa, te as installPwaPrompt, de as installStatusBarThemeListener, Se as installWebPushMessageBridge, oe as isAppReady, fe as isDarkThemeName, g as isDesktopShell, c as isNativePlatform, l as isNativePluginAvailable, u as isNativePreview, ne as isPwaEligibleHost, d as isRealNativePlatform, Ce as isWebPushSupported, H as keyboardHandlers, se as markAppReady, I as navigateDeepLinkPath, O as notificationFeedback, K as notifyOtaReady, T as openExternalUrl, R as populateDeviceInfo, L as registerDeepLinkNavigator, Pe as renderServiceWorker, X as requestPushPermission, we as requestWebPushPermission, ce as resetAppReadyForTests, ge as resetNativeShellBootForTests, re as resetPwaForTests, Te as resetWebPushForTests, pe as resolveDocumentIsDark, a as resolveNativePreview, Ee as resolveVapidPublicKey, S as runBackButtonPrecedence, k as selectionFeedback, De as serializeWebPushSubscription, j as shareContent, C as showNativeActionSheet, y as showNativeConfirm, A as showNativeToast, me as statusBarDetailIsDark, Oe as subscribeWebPush, ke as unsubscribeWebPush, Ae as urlBase64ToUint8Array, E as writeClipboardText };
22
+ import { SW_NOTIFICATION_CLICK_MESSAGE as Z, SW_PUSH_SUBSCRIPTION_CHANGE_MESSAGE as Q, WEB_PUSH_MANIFEST_KEY as $, getWebPushManifestConfig as ee, getWebPushSubscription as te, installWebPushMessageBridge as ne, isWebPushSupported as re, requestWebPushPermission as ie, resetWebPushForTests as ae, resolveVapidPublicKey as oe, serializeWebPushSubscription as se, subscribeWebPush as ce, unsubscribeWebPush as le, urlBase64ToUint8Array as ue } from "./shell-native/web-push.js";
23
+ import { installPushOptIn as de, resetPushOptInForTests as fe } from "./shell-native/push-optin.js";
24
+ import { PWA_INSTALLED_EVENT as pe, PWA_INSTALL_AVAILABLE_EVENT as me, PWA_UPDATE_READY_EVENT as he, installPwa as ge, installPwaPrompt as _e, isPwaEligibleHost as ve, resetPwaForTests as ye } from "./shell-native/pwa.js";
25
+ import { APP_READY_EVENT as be, armSplashSafetyTimer as xe, isAppReady as Se, markAppReady as Ce, resetAppReadyForTests as we } from "./shell-native/splash.js";
26
+ import { DARK_FAMILY_THEMES as Te, applyStatusBarTheme as Ee, installStatusBarThemeListener as De, isDarkThemeName as Oe, resolveDocumentIsDark as ke, statusBarDetailIsDark as Ae } from "./shell-native/system-bars.js";
27
+ import { bootNativeShell as je, resetNativeShellBootForTests as Me } from "./shell-native/boot.js";
28
+ import { defineCapacitorConfig as Ne } from "./shell-native/capacitor-config.js";
29
+ import { defineWebManifest as Pe } from "./shell-native/web-manifest.js";
30
+ import { SERVICE_WORKER_TEMPLATE as Fe, renderServiceWorker as Ie } from "./shell-native/service-worker.js";
31
+ export { be as APP_READY_EVENT, Te as DARK_FAMILY_THEMES, _ as DEFAULT_AUTH_INTERCEPT_PREFIXES, z as KEYBOARD_HEIGHT_CSS_VAR, B as KEYBOARD_OPEN_CLASS, t as NATIVE_PREVIEW_QUERY_PARAM, n as NATIVE_PREVIEW_STORAGE_KEY, U as NETWORK_STATUS_EVENT, q as PUSH_TOKEN_EVENT, pe as PWA_INSTALLED_EVENT, me as PWA_INSTALL_AVAILABLE_EVENT, he as PWA_UPDATE_READY_EVENT, Fe as SERVICE_WORKER_TEMPLATE, Z as SW_NOTIFICATION_CLICK_MESSAGE, Q as SW_PUSH_SUBSCRIPTION_CHANGE_MESSAGE, $ as WEB_PUSH_MANIFEST_KEY, o as applyNativePlatformClass, r as applyNativePreview, Ee as applyStatusBarTheme, xe as armSplashSafetyTimer, je as bootNativeShell, N as clearDeepLinkNavigator, p as configureElectronGlobalKey, V as configureKeyboard, b as createDefaultBackButtonHandlers, P as deepLinkUrlToPath, Ne as defineCapacitorConfig, Pe as defineWebManifest, J as emitPushToken, i as getActiveNativePreview, e as getDesktopBridge, m as getElectronGlobalKey, W as getLastNetworkStatus, h as getLegacyElectronBridge, s as getNativePlatform, ee as getWebPushManifestConfig, te as getWebPushSubscription, D as impactFeedback, x as installBackButtonHandler, F as installDeepLinkHandler, w as installExternalUrlOpener, f as installMobileRuntimeHooks, v as installNativeAuthNavigationIntercept, M as installNativeBridge, G as installNetworkListener, Y as installPushNotifications, de as installPushOptIn, ge as installPwa, _e as installPwaPrompt, De as installStatusBarThemeListener, ne as installWebPushMessageBridge, Se as isAppReady, Oe as isDarkThemeName, g as isDesktopShell, c as isNativePlatform, l as isNativePluginAvailable, u as isNativePreview, ve as isPwaEligibleHost, d as isRealNativePlatform, re as isWebPushSupported, H as keyboardHandlers, Ce as markAppReady, I as navigateDeepLinkPath, O as notificationFeedback, K as notifyOtaReady, T as openExternalUrl, R as populateDeviceInfo, L as registerDeepLinkNavigator, Ie as renderServiceWorker, X as requestPushPermission, ie as requestWebPushPermission, we as resetAppReadyForTests, Me as resetNativeShellBootForTests, fe as resetPushOptInForTests, ye as resetPwaForTests, ae as resetWebPushForTests, ke as resolveDocumentIsDark, a as resolveNativePreview, oe as resolveVapidPublicKey, S as runBackButtonPrecedence, k as selectionFeedback, se as serializeWebPushSubscription, j as shareContent, C as showNativeActionSheet, y as showNativeConfirm, A as showNativeToast, Ae as statusBarDetailIsDark, ce as subscribeWebPush, le as unsubscribeWebPush, ue as urlBase64ToUint8Array, E as writeClipboardText };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.825.3",
3
+ "version": "2026.825.4",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {