@burdenoff/fe-libs 2026.825.2 → 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.
@@ -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 };
@@ -1 +1 @@
1
- {"version":3,"file":"web-push.d.ts","sourceRoot":"","sources":["../../src/shell-native/web-push.ts"],"names":[],"mappings":"AA8CA,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,IAAI,OAAO,CAQ5C;AAqBD;;;GAGG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAOtF;AAED,sFAAsF;AACtF,wBAAsB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIrF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAOhF;AAID;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,gBAAgB,GAAG,MAAM,CAEnF;AAWD,iEAAiE;AACjE,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAQ/E;AAED,MAAM,WAAW,uBAAuB;IACtC,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA+BlC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,OAAO,CAAC,CAclB;AAID,mEAAmE;AACnE,eAAO,MAAM,6BAA6B,iCAAiC,CAAC;AAC5E,gFAAgF;AAChF,eAAO,MAAM,mCAAmC,uCAAuC,CAAC;AAyBxF;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAKlD;AAED,gFAAgF;AAChF,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAQ3D;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C"}
1
+ {"version":3,"file":"web-push.d.ts","sourceRoot":"","sources":["../../src/shell-native/web-push.ts"],"names":[],"mappings":"AA8CA,mFAAmF;AACnF,eAAO,MAAM,qBAAqB,mBAAmB,CAAC;AAEtD,MAAM,WAAW,qBAAqB;IACpC,mEAAmE;IACnE,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,+DAA+D;AAC/D,wBAAgB,kBAAkB,IAAI,OAAO,CAQ5C;AAqBD;;;GAGG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC,CAOtF;AAED,sFAAsF;AACtF,wBAAsB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAIrF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU,CAAC,WAAW,CAAC,CAOhF;AAID;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,YAAY,EAAE,gBAAgB,GAAG,MAAM,CAEnF;AAuCD,iEAAiE;AACjE,wBAAsB,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAQ/E;AAED,MAAM,WAAW,uBAAuB;IACtC,2CAA2C;IAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CA8ClC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,wBAAwB,CAC5C,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,OAAO,CAAC,CAclB;AAID,mEAAmE;AACnE,eAAO,MAAM,6BAA6B,iCAAiC,CAAC;AAC5E,gFAAgF;AAChF,eAAO,MAAM,mCAAmC,uCAAuC,CAAC;AAyBxF;;;;GAIG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAclD;AAED,gFAAgF;AAChF,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAQ3D;AAED,0EAA0E;AAC1E,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C"}
@@ -32,7 +32,21 @@ function l(e) {
32
32
  function u(e) {
33
33
  return JSON.stringify(e.toJSON());
34
34
  }
35
- async function d() {
35
+ function d(e, t) {
36
+ let n = e.options?.applicationServerKey;
37
+ if (!n) return !1;
38
+ let r;
39
+ try {
40
+ r = l(t);
41
+ } catch {
42
+ return !1;
43
+ }
44
+ let i = new Uint8Array(n);
45
+ if (i.length !== r.length) return !1;
46
+ for (let e = 0; e < i.length; e += 1) if (i[e] !== r[e]) return !1;
47
+ return !0;
48
+ }
49
+ async function f() {
36
50
  if (!r()) return null;
37
51
  try {
38
52
  return await navigator.serviceWorker.ready;
@@ -40,8 +54,8 @@ async function d() {
40
54
  return null;
41
55
  }
42
56
  }
43
- async function f() {
44
- let e = await d();
57
+ async function p() {
58
+ let e = await f();
45
59
  if (!e) return null;
46
60
  try {
47
61
  return await e.pushManager.getSubscription();
@@ -49,35 +63,40 @@ async function f() {
49
63
  return null;
50
64
  }
51
65
  }
52
- async function p(e = {}) {
66
+ async function m(e = {}) {
53
67
  if (!r() || Notification.permission !== "granted") return null;
54
- let n = await d();
68
+ let n = await f();
55
69
  if (!n) return null;
56
- y();
70
+ b();
57
71
  try {
58
- let r = await n.pushManager.getSubscription();
59
- if (r) return t(u(r), "web"), r;
60
- let i = await c(e.vapidPublicKey);
61
- if (!i) return null;
72
+ let r = await c(e.vapidPublicKey);
73
+ if (!r) return null;
74
+ let i = await n.pushManager.getSubscription();
75
+ if (i) {
76
+ if (d(i, r)) return t(u(i), "web"), i;
77
+ try {
78
+ await i.unsubscribe();
79
+ } catch {}
80
+ }
62
81
  let a = await n.pushManager.subscribe({
63
82
  userVisibleOnly: !0,
64
- applicationServerKey: l(i)
83
+ applicationServerKey: l(r)
65
84
  });
66
85
  return t(u(a), "web"), a;
67
86
  } catch {
68
87
  return null;
69
88
  }
70
89
  }
71
- async function m(e = {}) {
90
+ async function h(e = {}) {
72
91
  if (!r()) return !1;
73
92
  try {
74
- return Notification.permission === "denied" || Notification.permission !== "granted" && await Notification.requestPermission() !== "granted" ? !1 : await p(e) !== null;
93
+ return Notification.permission === "denied" || Notification.permission !== "granted" && await Notification.requestPermission() !== "granted" ? !1 : await m(e) !== null;
75
94
  } catch {
76
95
  return !1;
77
96
  }
78
97
  }
79
- var h = "BURDENOFF_NOTIFICATION_CLICK", g = "BURDENOFF_PUSH_SUBSCRIPTION_CHANGE", _ = !1;
80
- function v(n) {
98
+ var g = "BURDENOFF_NOTIFICATION_CLICK", _ = "BURDENOFF_PUSH_SUBSCRIPTION_CHANGE", v = !1;
99
+ function y(n) {
81
100
  let r = n.data;
82
101
  if (!r || typeof r != "object") return;
83
102
  let i = r;
@@ -87,11 +106,11 @@ function v(n) {
87
106
  }
88
107
  i.type === "BURDENOFF_PUSH_SUBSCRIPTION_CHANGE" && i.subscription && t(JSON.stringify(i.subscription), "web");
89
108
  }
90
- function y() {
91
- _ || typeof navigator > "u" || !("serviceWorker" in navigator) || (navigator.serviceWorker.addEventListener("message", v), _ = !0);
109
+ function b() {
110
+ v || typeof navigator > "u" || !("serviceWorker" in navigator) || (navigator.serviceWorker.addEventListener("message", y), typeof navigator.serviceWorker.startMessages == "function" && navigator.serviceWorker.startMessages(), v = !0);
92
111
  }
93
- async function b() {
94
- let e = await f();
112
+ async function x() {
113
+ let e = await p();
95
114
  if (!e) return !1;
96
115
  try {
97
116
  return await e.unsubscribe();
@@ -99,8 +118,8 @@ async function b() {
99
118
  return !1;
100
119
  }
101
120
  }
102
- function x() {
103
- i = null, _ = !1;
121
+ function S() {
122
+ i = null, v = !1;
104
123
  }
105
124
  //#endregion
106
- export { h as SW_NOTIFICATION_CLICK_MESSAGE, g as SW_PUSH_SUBSCRIPTION_CHANGE_MESSAGE, n as WEB_PUSH_MANIFEST_KEY, s as getWebPushManifestConfig, f as getWebPushSubscription, y as installWebPushMessageBridge, r as isWebPushSupported, m as requestWebPushPermission, x as resetWebPushForTests, c as resolveVapidPublicKey, u as serializeWebPushSubscription, p as subscribeWebPush, b as unsubscribeWebPush, l as urlBase64ToUint8Array };
125
+ export { g as SW_NOTIFICATION_CLICK_MESSAGE, _ as SW_PUSH_SUBSCRIPTION_CHANGE_MESSAGE, n as WEB_PUSH_MANIFEST_KEY, s as getWebPushManifestConfig, p as getWebPushSubscription, b as installWebPushMessageBridge, r as isWebPushSupported, h as requestWebPushPermission, S as resetWebPushForTests, c as resolveVapidPublicKey, u as serializeWebPushSubscription, m as subscribeWebPush, x as unsubscribeWebPush, l as urlBase64ToUint8Array };
@@ -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.2",
3
+ "version": "2026.825.4",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {