@burdenoff/fe-libs 2026.1023.5 → 2026.1023.7

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,5 +1,6 @@
1
1
  import { DEFAULT_ACTIVE_CONTEXT_URL_PARAMS as e } from "../shared/providers/shell/ActiveContextStorage.js";
2
- import { isSafeInAppPath as t } from "./deep-link.js";
2
+ import { isSafeInAppPath as t } from "../shared/navigation/inAppPath.js";
3
+ import "./deep-link.js";
3
4
  //#region src/shell-native/deep-link-context.ts
4
5
  var n = /^(?:[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|c[a-z0-9]{8,32})$/i;
5
6
  function r(t, r = {}) {
@@ -1,3 +1,5 @@
1
+ import { isSafeInAppPath } from '../shared/navigation/inAppPath';
2
+ export { isSafeInAppPath };
1
3
  export type DeepLinkNavigator = (path: string) => void;
2
4
  /**
3
5
  * How long `bootNativeShell` waits for a router to call
@@ -5,12 +7,6 @@ export type DeepLinkNavigator = (path: string) => void;
5
7
  * through `history.pushState` + `popstate` (see `armDeepLinkFallback`).
6
8
  */
7
9
  export declare const DEFAULT_DEEP_LINK_FALLBACK_DELAY_MS = 4000;
8
- /**
9
- * True for a same-origin, in-app path: `/x`, `/x?y#z`. Refuses protocol-relative
10
- * (`//host`, `/\host`) and anything that is not a rooted path, so a deep link or
11
- * push payload can never steer the webview to another origin.
12
- */
13
- export declare function isSafeInAppPath(path: string): boolean;
14
10
  /**
15
11
  * Map a deep-link URL to an in-app SPA path. Handles both
16
12
  * `scheme://app/path?x` (custom scheme; host is the synthetic `app`) and
@@ -1,19 +1,12 @@
1
1
  import { getDesktopBridge as e } from "../shared/native/desktop.js";
2
2
  import { isNativePluginAvailable as t } from "./platform.js";
3
3
  import { getLegacyElectronBridge as n } from "./desktop-bridge.js";
4
- import { App as r } from "@capacitor/app";
4
+ import { isSafeInAppPath as r } from "../shared/navigation/inAppPath.js";
5
+ import { App as i } from "@capacitor/app";
5
6
  //#region src/shell-native/deep-link.ts
6
- var i = 4e3, a = [], o = null, s = null, c = !1;
7
- function l(e) {
8
- if (typeof e != "string" || !e.startsWith("/") || e.startsWith("//") || e.startsWith("/\\")) return !1;
9
- for (let t = 0; t < e.length; t += 1) {
10
- let n = e.charCodeAt(t);
11
- if (n < 32 || n === 127) return !1;
12
- }
13
- return !0;
14
- }
7
+ var a = 4e3, o = [], s = null, c = null, l = !1;
15
8
  function u(e) {
16
- if (l(e) && !(typeof window > "u")) try {
9
+ if (r(e) && !(typeof window > "u")) try {
17
10
  window.history.pushState(null, "", e);
18
11
  let t = typeof PopStateEvent == "function" ? new PopStateEvent("popstate", { state: null }) : new Event("popstate");
19
12
  window.dispatchEvent(t);
@@ -22,13 +15,13 @@ function u(e) {
22
15
  }
23
16
  }
24
17
  function d() {
25
- return o || (c ? u : null);
18
+ return s || (l ? u : null);
26
19
  }
27
20
  function f() {
28
21
  let e = d();
29
- if (!e || a.length === 0) return;
30
- let t = a;
31
- a = [];
22
+ if (!e || o.length === 0) return;
23
+ let t = o;
24
+ o = [];
32
25
  for (let n of t) e(n);
33
26
  }
34
27
  function p(e) {
@@ -46,7 +39,7 @@ function m(e) {
46
39
  }
47
40
  async function h() {
48
41
  if (t("App")) try {
49
- await r.addListener("appUrlOpen", (e) => m(e.url));
42
+ await i.addListener("appUrlOpen", (e) => m(e.url));
50
43
  } catch {}
51
44
  }
52
45
  function g() {
@@ -62,27 +55,27 @@ async function _() {
62
55
  g(), await h();
63
56
  }
64
57
  function v(e) {
65
- return o = e, f(), () => {
66
- o === e && (o = null);
58
+ return s = e, f(), () => {
59
+ s === e && (s = null);
67
60
  };
68
61
  }
69
62
  function y() {
70
- o = null;
63
+ s = null;
71
64
  }
72
65
  function b(e) {
73
66
  let t = d();
74
- t ? t(e) : a.push(e);
67
+ t ? t(e) : o.push(e);
75
68
  }
76
- function x(e = i) {
77
- S(), s = setTimeout(() => {
78
- s = null, c = !0, !o && a.length > 0 && console.debug("[shell-native] no deep-link navigator registered; routing queued links via history"), f();
69
+ function x(e = a) {
70
+ S(), c = setTimeout(() => {
71
+ c = null, l = !0, !s && o.length > 0 && console.debug("[shell-native] no deep-link navigator registered; routing queued links via history"), f();
79
72
  }, Number.isFinite(e) && e > 0 ? e : 0);
80
73
  }
81
74
  function S() {
82
- s !== null && clearTimeout(s), s = null, c = !1;
75
+ c !== null && clearTimeout(c), c = null, l = !1;
83
76
  }
84
77
  function C() {
85
- S(), a = [], o = null;
78
+ S(), o = [], s = null;
86
79
  }
87
80
  //#endregion
88
- export { i as DEFAULT_DEEP_LINK_FALLBACK_DELAY_MS, x as armDeepLinkFallback, y as clearDeepLinkNavigator, p as deepLinkUrlToPath, S as disarmDeepLinkFallback, _ as installDeepLinkHandler, l as isSafeInAppPath, b as navigateDeepLinkPath, v as registerDeepLinkNavigator, C as resetDeepLinksForTests };
81
+ export { a as DEFAULT_DEEP_LINK_FALLBACK_DELAY_MS, x as armDeepLinkFallback, y as clearDeepLinkNavigator, p as deepLinkUrlToPath, S as disarmDeepLinkFallback, _ as installDeepLinkHandler, b as navigateDeepLinkPath, v as registerDeepLinkNavigator, C as resetDeepLinksForTests };
@@ -13,7 +13,8 @@ import { impactFeedback as D, notificationFeedback as O, selectionFeedback as k
13
13
  import { showNativeToast as A } from "./shell-native/toast.js";
14
14
  import { shareContent as j } from "./shell-native/share.js";
15
15
  import { installNativeBridge as M } from "./shell-native/bridge.js";
16
- import { DEFAULT_DEEP_LINK_FALLBACK_DELAY_MS as N, armDeepLinkFallback as P, clearDeepLinkNavigator as F, deepLinkUrlToPath as I, disarmDeepLinkFallback as L, installDeepLinkHandler as R, isSafeInAppPath as z, navigateDeepLinkPath as B, registerDeepLinkNavigator as V, resetDeepLinksForTests as H } from "./shell-native/deep-link.js";
16
+ import { isSafeInAppPath as N } from "./shared/navigation/inAppPath.js";
17
+ import { DEFAULT_DEEP_LINK_FALLBACK_DELAY_MS as P, armDeepLinkFallback as F, clearDeepLinkNavigator as I, deepLinkUrlToPath as L, disarmDeepLinkFallback as R, installDeepLinkHandler as z, navigateDeepLinkPath as B, registerDeepLinkNavigator as V, resetDeepLinksForTests as H } from "./shell-native/deep-link.js";
17
18
  import { populateDeviceInfo as U } from "./shell-native/device.js";
18
19
  import { KEYBOARD_HEIGHT_CSS_VAR as W, KEYBOARD_OPEN_CLASS as G, configureKeyboard as K, keyboardHandlers as q } from "./shell-native/keyboard.js";
19
20
  import { NETWORK_STATUS_EVENT as J, getLastNetworkStatus as Y, installNetworkListener as X } from "./shell-native/network.js";
@@ -30,4 +31,4 @@ import { useDeepLinkNavigator as Ve } from "./shell-native/useDeepLinkNavigator.
30
31
  import { defineCapacitorConfig as He, isValidAllowNavigationRule as Ue } from "./shell-native/capacitor-config.js";
31
32
  import { defineWebManifest as We } from "./shell-native/web-manifest.js";
32
33
  import { SERVICE_WORKER_TEMPLATE as Ge, renderServiceWorker as Ke } from "./shell-native/service-worker.js";
33
- export { Te as APP_READY_EVENT, Ae as DARK_FAMILY_THEMES, Re as DEEP_LINK_CONTEXT_ID_PATTERN, _ as DEFAULT_AUTH_INTERCEPT_PREFIXES, N as DEFAULT_DEEP_LINK_FALLBACK_DELAY_MS, W as KEYBOARD_HEIGHT_CSS_VAR, G as KEYBOARD_OPEN_CLASS, t as NATIVE_PREVIEW_QUERY_PARAM, n as NATIVE_PREVIEW_STORAGE_KEY, J as NETWORK_STATUS_EVENT, Q as PUSH_TOKEN_EVENT, ve as PWA_INSTALLED_EVENT, ye as PWA_INSTALL_AVAILABLE_EVENT, be as PWA_UPDATE_READY_EVENT, Ge as SERVICE_WORKER_TEMPLATE, ne as SW_NOTIFICATION_CLICK_MESSAGE, re as SW_PUSH_SUBSCRIPTION_CHANGE_MESSAGE, ie as WEB_PUSH_MANIFEST_KEY, o as applyNativePlatformClass, r as applyNativePreview, je as applyStatusBarTheme, P as armDeepLinkFallback, Ee as armSplashSafetyTimer, Ie as bootNativeShell, F as clearDeepLinkNavigator, p as configureElectronGlobalKey, K as configureKeyboard, ze as createDeepLinkNavigator, b as createDefaultBackButtonHandlers, I as deepLinkUrlToPath, He as defineCapacitorConfig, We as defineWebManifest, L as disarmDeepLinkFallback, $ as emitPushToken, i as getActiveNativePreview, e as getDesktopBridge, m as getElectronGlobalKey, Y as getLastNetworkStatus, h as getLegacyElectronBridge, s as getNativePlatform, ae as getWebPushManifestConfig, oe as getWebPushSubscription, D as impactFeedback, x as installBackButtonHandler, R as installDeepLinkHandler, w as installExternalUrlOpener, f as installMobileRuntimeHooks, v as installNativeAuthNavigationIntercept, M as installNativeBridge, X as installNetworkListener, ee as installPushNotifications, ge as installPushOptIn, xe as installPwa, Se as installPwaPrompt, Me as installStatusBarThemeListener, se as installWebPushMessageBridge, De as isAppReady, Ne as isDarkThemeName, g as isDesktopShell, c as isNativePlatform, l as isNativePluginAvailable, u as isNativePreview, Ce as isPwaEligibleHost, d as isRealNativePlatform, z as isSafeInAppPath, Ue as isValidAllowNavigationRule, ce as isWebPushSupported, q as keyboardHandlers, Oe as markAppReady, B as navigateDeepLinkPath, O as notificationFeedback, Z as notifyOtaReady, T as openExternalUrl, Be as parseDeepLinkContext, U as populateDeviceInfo, V as registerDeepLinkNavigator, Ke as renderServiceWorker, te as requestPushPermission, le as requestWebPushPermission, ke as resetAppReadyForTests, H as resetDeepLinksForTests, Le as resetNativeShellBootForTests, _e as resetPushOptInForTests, we as resetPwaForTests, ue as resetWebPushForTests, Pe as resolveDocumentIsDark, a as resolveNativePreview, de as resolveVapidPublicKey, S as runBackButtonPrecedence, k as selectionFeedback, fe as serializeWebPushSubscription, j as shareContent, C as showNativeActionSheet, y as showNativeConfirm, A as showNativeToast, Fe as statusBarDetailIsDark, pe as subscribeWebPush, me as unsubscribeWebPush, he as urlBase64ToUint8Array, Ve as useDeepLinkNavigator, E as writeClipboardText };
34
+ export { Te as APP_READY_EVENT, Ae as DARK_FAMILY_THEMES, Re as DEEP_LINK_CONTEXT_ID_PATTERN, _ as DEFAULT_AUTH_INTERCEPT_PREFIXES, P as DEFAULT_DEEP_LINK_FALLBACK_DELAY_MS, W as KEYBOARD_HEIGHT_CSS_VAR, G as KEYBOARD_OPEN_CLASS, t as NATIVE_PREVIEW_QUERY_PARAM, n as NATIVE_PREVIEW_STORAGE_KEY, J as NETWORK_STATUS_EVENT, Q as PUSH_TOKEN_EVENT, ve as PWA_INSTALLED_EVENT, ye as PWA_INSTALL_AVAILABLE_EVENT, be as PWA_UPDATE_READY_EVENT, Ge as SERVICE_WORKER_TEMPLATE, ne as SW_NOTIFICATION_CLICK_MESSAGE, re as SW_PUSH_SUBSCRIPTION_CHANGE_MESSAGE, ie as WEB_PUSH_MANIFEST_KEY, o as applyNativePlatformClass, r as applyNativePreview, je as applyStatusBarTheme, F as armDeepLinkFallback, Ee as armSplashSafetyTimer, Ie as bootNativeShell, I as clearDeepLinkNavigator, p as configureElectronGlobalKey, K as configureKeyboard, ze as createDeepLinkNavigator, b as createDefaultBackButtonHandlers, L as deepLinkUrlToPath, He as defineCapacitorConfig, We as defineWebManifest, R as disarmDeepLinkFallback, $ as emitPushToken, i as getActiveNativePreview, e as getDesktopBridge, m as getElectronGlobalKey, Y as getLastNetworkStatus, h as getLegacyElectronBridge, s as getNativePlatform, ae as getWebPushManifestConfig, oe as getWebPushSubscription, D as impactFeedback, x as installBackButtonHandler, z as installDeepLinkHandler, w as installExternalUrlOpener, f as installMobileRuntimeHooks, v as installNativeAuthNavigationIntercept, M as installNativeBridge, X as installNetworkListener, ee as installPushNotifications, ge as installPushOptIn, xe as installPwa, Se as installPwaPrompt, Me as installStatusBarThemeListener, se as installWebPushMessageBridge, De as isAppReady, Ne as isDarkThemeName, g as isDesktopShell, c as isNativePlatform, l as isNativePluginAvailable, u as isNativePreview, Ce as isPwaEligibleHost, d as isRealNativePlatform, N as isSafeInAppPath, Ue as isValidAllowNavigationRule, ce as isWebPushSupported, q as keyboardHandlers, Oe as markAppReady, B as navigateDeepLinkPath, O as notificationFeedback, Z as notifyOtaReady, T as openExternalUrl, Be as parseDeepLinkContext, U as populateDeviceInfo, V as registerDeepLinkNavigator, Ke as renderServiceWorker, te as requestPushPermission, le as requestWebPushPermission, ke as resetAppReadyForTests, H as resetDeepLinksForTests, Le as resetNativeShellBootForTests, _e as resetPushOptInForTests, we as resetPwaForTests, ue as resetWebPushForTests, Pe as resolveDocumentIsDark, a as resolveNativePreview, de as resolveVapidPublicKey, S as runBackButtonPrecedence, k as selectionFeedback, fe as serializeWebPushSubscription, j as shareContent, C as showNativeActionSheet, y as showNativeConfirm, A as showNativeToast, Fe as statusBarDetailIsDark, pe as subscribeWebPush, me as unsubscribeWebPush, he as urlBase64ToUint8Array, Ve as useDeepLinkNavigator, E as writeClipboardText };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.1023.5",
3
+ "version": "2026.1023.7",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {