@burdenoff/fe-libs 2026.1021.1 → 2026.1021.3
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.
- package/dist/shared/components/LandingOrDashboardRedirect.d.ts +45 -0
- package/dist/shared/components/LandingOrDashboardRedirect.js +63 -0
- package/dist/shared/components/SSORedirectGuard.d.ts +25 -5
- package/dist/shared/components/SSORedirectGuard.js +52 -36
- package/dist/shared/components/index.d.ts +3 -1
- package/dist/shared/utils/index.d.ts +2 -0
- package/dist/shared/utils/redirectAllowlist.d.ts +60 -0
- package/dist/shared/utils/redirectAllowlist.js +47 -0
- package/dist/shared-components.js +22 -21
- package/dist/shared-native.js +14 -14
- package/dist/shared-utils.js +12 -11
- package/dist/shared.js +108 -106
- package/dist/shell-native/boot.js +32 -30
- package/dist/shell-native/deep-link-context.d.ts +44 -0
- package/dist/shell-native/deep-link-context.js +31 -0
- package/dist/shell-native/deep-link.d.ts +31 -4
- package/dist/shell-native/deep-link.js +60 -25
- package/dist/shell-native/index.d.ts +3 -1
- package/dist/shell-native/types.d.ts +9 -0
- package/dist/shell-native/useDeepLinkNavigator.d.ts +18 -0
- package/dist/shell-native/useDeepLinkNavigator.js +19 -0
- package/dist/shell-native.js +18 -16
- package/dist/utils/index.js +1 -0
- package/package.json +2 -2
package/dist/shared.js
CHANGED
|
@@ -27,116 +27,118 @@ import { attemptTokenRefresh as Ot, clearAuthSessionStorage as kt, hasAuthGraphQ
|
|
|
27
27
|
import { clearSSoCookie as Pt, clearShellSsoCookies as Ft, getSSoCookie as It, isSharedSsoCookieDomain as Lt, isTrustedSsoOrigin as Rt, readShellSsoCookie as zt, setSSoCookie as Bt, setShellSsoCookies as Vt } from "./shared/utils/authCookie.js";
|
|
28
28
|
import { getNativeBridge as Ht } from "./shared/native/bridge.js";
|
|
29
29
|
import { getPlatform as Ut, isAndroid as Wt, isElectron as Gt, isIOS as Kt, isInstalledApp as qt, isNative as Jt, isStandalonePWA as Yt, isWeb as Xt, isWebBrowser as Zt } from "./shared/native/platform.js";
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
34
|
-
import {
|
|
35
|
-
import {
|
|
36
|
-
import {
|
|
37
|
-
import {
|
|
38
|
-
import {
|
|
39
|
-
import {
|
|
40
|
-
import {
|
|
41
|
-
import {
|
|
42
|
-
import {
|
|
43
|
-
import {
|
|
44
|
-
import {
|
|
45
|
-
import {
|
|
46
|
-
import {
|
|
47
|
-
import {
|
|
48
|
-
import {
|
|
49
|
-
import {
|
|
50
|
-
import {
|
|
51
|
-
import {
|
|
52
|
-
import {
|
|
53
|
-
import {
|
|
54
|
-
import {
|
|
55
|
-
import {
|
|
56
|
-
import {
|
|
57
|
-
import {
|
|
58
|
-
import {
|
|
59
|
-
import {
|
|
60
|
-
import {
|
|
61
|
-
import {
|
|
62
|
-
import {
|
|
30
|
+
import { assignLocationWithAllowlist as Qt, isAllowedRedirectUrl as $t, openUrlInNewTabWithAllowlist as en, replaceLocationWithAllowlist as tn } from "./shared/utils/redirectAllowlist.js";
|
|
31
|
+
import { SSORedirectSpinner as nn, checkRemoteSLO as rn, checkSLO as an, clearLocalAuthState as on, getSSORedirectUrl as sn, redirectToSSO as cn } from "./shared/components/SSORedirectGuard.js";
|
|
32
|
+
import { SSO_DEPOSITED_PARAM as ln, beginSsoNavigation as un, buildSsoDepositUrl as dn, clearSsoDepositState as fn, clearSsoNavigation as pn, consumeSsoDepositMarker as mn, isSsoNavigationPending as hn, markSsoDepositDone as gn, markSsoDepositPending as _n, mintSsoSessionTokens as vn, readSsoDepositState as yn, shouldAttemptSsoDeposit as bn } from "./shared/utils/ssoDeposit.js";
|
|
33
|
+
import { AppInitializer as xn, useRegistryHelpers as Sn, useShellNavigate as Cn } from "./shared/utils/appHelpers.js";
|
|
34
|
+
import { LogLevel as wn } from "./shared/logger/types.js";
|
|
35
|
+
import { Logger as Tn } from "./shared/logger/Logger.js";
|
|
36
|
+
import { LogManager as En, logManager as Dn } from "./shared/logger/LogManager.js";
|
|
37
|
+
import { ConsoleTransport as On } from "./shared/logger/ConsoleTransport.js";
|
|
38
|
+
import { clearUserContext as kn, initializeLogger as An, setUserContext as jn } from "./shared/utils/loggerInit.js";
|
|
39
|
+
import { createProfileScopedStorage as Mn, getProfileScopedKey as Nn } from "./shared/utils/profileScopedStorage.js";
|
|
40
|
+
import { QUOTA_EXHAUSTED_CODE as Pn, RESOURCE_CAP_EXCEEDED_CODE as Fn, STORAGE_QUOTA_EXCEEDED_CODE as In, UPGRADE_ERROR_CODES as Ln, buildQuotaExhaustedMessage as Rn, extractQuotaExhaustedExtensions as zn, extractUpgradeErrorExtensions as Bn, isQuotaExhaustedError as Vn, isUpgradeError as Hn } from "./shared/utils/quotaErrors.js";
|
|
41
|
+
import { INLINE_ENCODE as Un, downscaleImage as Wn, selectInlineBase64 as Gn } from "./shared/utils/imageDownscale.js";
|
|
42
|
+
import { cn as Kn } from "./shared-utils.js";
|
|
43
|
+
import { nativeActionSheet as qn, nativeConfirm as Jn, nativeCopyText as Yn, nativeImpact as Xn, nativeNotify as Zn, nativeOpenUrl as Qn, nativeSelection as $n, nativeShare as er, nativeToast as tr } from "./shared/native/consumers.js";
|
|
44
|
+
import { SafeAreaView as nr } from "./shared/native/SafeAreaView.js";
|
|
45
|
+
import { readInitialNetworkStatus as rr, reduceNetworkStatus as ir, useNetworkStatus as ar } from "./shared/native/hooks/useNetworkStatus.js";
|
|
46
|
+
import { PULL_TO_REFRESH_THRESHOLD as or, computePullOffset as sr, computePullProgress as cr, usePullToRefresh as lr } from "./shared/native/hooks/usePullToRefresh.js";
|
|
47
|
+
import { useReturnFocus as ur } from "./shared/hooks/useReturnFocus.js";
|
|
48
|
+
import { ActorIdentity as dr } from "./shared/actors/ActorIdentity.js";
|
|
49
|
+
import { buildActorFallback as fr, useActorProfiles as pr } from "./shared/actors/useActorProfiles.js";
|
|
50
|
+
import { ErrorBoundary as mr } from "./shared/components/ErrorBoundary.js";
|
|
51
|
+
import { RequireAuth as hr, RequireGuest as gr } from "./shared/components/RequireAuth.js";
|
|
52
|
+
import { PermissionButton as _r, PermissionGate as vr, PermissionLink as yr } from "./shared/components/PermissionGate.js";
|
|
53
|
+
import { AccessDenied as br, PermissionDenied as xr } from "./shared/components/AccessDenied.js";
|
|
54
|
+
import { ErrorFallback as Sr } from "./shared/components/ErrorFallback.js";
|
|
55
|
+
import { LoadingFallback as Cr, PageLoadingFallback as wr, SectionLoadingFallback as Tr } from "./shared/components/LoadingFallback.js";
|
|
56
|
+
import { MicrofrontendErrorBoundary as Er } from "./shared/components/MicrofrontendErrorBoundary.js";
|
|
57
|
+
import { ConditionalShell as Dr } from "./shared/components/ConditionalShell.js";
|
|
58
|
+
import { usePWA as Or } from "./shared/hooks/usePWA.js";
|
|
59
|
+
import { PWAInstallBanner as kr } from "./shared/components/PWAInstallBanner.js";
|
|
60
|
+
import { ErrorBoundary as Ar } from "./shared/components/AppErrorBoundary.js";
|
|
61
|
+
import { FeatureFlagProvider as jr, useFeatureFlags as Mr } from "./shared/feature-flags/FeatureFlagProvider.js";
|
|
62
|
+
import { useFeatureFlag as Nr, useFeatureFlagDetails as Pr, useFeatureFlagValue as Fr } from "./shared/feature-flags/useFeatureFlag.js";
|
|
63
|
+
import { FeatureGate as Ir } from "./shared/feature-flags/FeatureGate.js";
|
|
63
64
|
import "./shared-feature-flags.js";
|
|
64
|
-
import { ContextConversationWidget as
|
|
65
|
-
import { detectPlatform as
|
|
66
|
-
import { KeyboardHelpDialogWrapper as
|
|
67
|
-
import { QuotaMeter as
|
|
68
|
-
import { UPGRADE_PROMPT_EVENT as
|
|
69
|
-
import { UpgradeInlineBanner as
|
|
70
|
-
import {
|
|
71
|
-
import {
|
|
72
|
-
import {
|
|
73
|
-
import {
|
|
74
|
-
import {
|
|
75
|
-
import {
|
|
76
|
-
import {
|
|
77
|
-
import {
|
|
78
|
-
import {
|
|
79
|
-
import {
|
|
80
|
-
import {
|
|
81
|
-
import {
|
|
82
|
-
import {
|
|
83
|
-
import {
|
|
84
|
-
import {
|
|
65
|
+
import { ContextConversationWidget as Lr } from "./shared/components/ContextConversationWidget.js";
|
|
66
|
+
import { detectPlatform as Rr, formatKeyCombo as zr, getDisplayKeysForPlatform as Br, getShortcutLabel as Vr, isMac as Hr, isMobileDevice as Ur, isTabletDevice as Wr, matchesKeyCombo as Gr, normalizeKey as Kr, normalizePlatformCombo as qr, parseKeyCombo as Jr, shouldEnableKeyboardShortcuts as Yr, shouldIgnoreShortcut as Xr } from "./shared/keyboard/utils.js";
|
|
67
|
+
import { KeyboardHelpDialogWrapper as Zr } from "./shared/components/KeyboardHelpDialogWrapper.js";
|
|
68
|
+
import { QuotaMeter as Qr } from "./shared/components/QuotaMeter.js";
|
|
69
|
+
import { UPGRADE_PROMPT_EVENT as $r, UpgradePromptModal as ei, dispatchUpgradePrompt as ti } from "./shared/components/UpgradePromptModal.js";
|
|
70
|
+
import { UpgradeInlineBanner as ni } from "./shared/components/UpgradeInlineBanner.js";
|
|
71
|
+
import { getNativeEntryRoutes as ri, shouldShowNativeWelcome as ii } from "./shared/native/entry.js";
|
|
72
|
+
import { LandingGateView as ai, LandingOrDashboardRedirect as oi, hasStoredValidSession as si, resolveLandingGate as ci } from "./shared/components/LandingOrDashboardRedirect.js";
|
|
73
|
+
import { useVoiceInput as li } from "./shared/components/assistantWidget/useVoiceInput.js";
|
|
74
|
+
import { ASSISTANT_WIDGET_TOGGLE_EVENT as ui, AssistantWidget as di } from "./shared/components/assistantWidget/AssistantWidget.js";
|
|
75
|
+
import { Markdown as fi } from "./shared/components/Markdown.js";
|
|
76
|
+
import { useNativePlatform as pi } from "./shared/native/hooks/useNativePlatform.js";
|
|
77
|
+
import { useSafeArea as mi } from "./shared/native/hooks/useSafeArea.js";
|
|
78
|
+
import { useNativeKeyboard as hi } from "./shared/native/hooks/useNativeKeyboard.js";
|
|
79
|
+
import { useAppState as gi } from "./shared/native/hooks/useAppState.js";
|
|
80
|
+
import { useDeviceInfo as _i } from "./shared/native/hooks/useDeviceInfo.js";
|
|
81
|
+
import { useHaptics as vi } from "./shared/native/hooks/useHaptics.js";
|
|
82
|
+
import { useStatusBar as yi } from "./shared/native/hooks/useStatusBar.js";
|
|
83
|
+
import { resolveActionSheetOutcome as bi, useActionSheet as xi } from "./shared/native/hooks/useActionSheet.js";
|
|
84
|
+
import { useDesktop as Si } from "./shared/native/hooks/useDesktop.js";
|
|
85
|
+
import { useDesktopUpdateState as Ci } from "./shared/native/hooks/useDesktopUpdateState.js";
|
|
86
|
+
import { useDesktopWindowState as wi } from "./shared/native/hooks/useDesktopWindowState.js";
|
|
87
|
+
import { DesktopUpdateToast as Ti } from "./shared/components/DesktopUpdateToast.js";
|
|
85
88
|
import "./shared-components.js";
|
|
86
|
-
import { DevtoolsSink as
|
|
87
|
-
import { BroadcastChannelSink as
|
|
88
|
-
import { BackendAuditSink as
|
|
89
|
-
import { AnalyticsConsentBanner as
|
|
90
|
-
import { OtelBrowserSink as
|
|
91
|
-
import { EventBusProvider as
|
|
92
|
-
import { useDebounce as
|
|
93
|
-
import { useThrottle as
|
|
94
|
-
import { BREAKPOINTS as
|
|
95
|
-
import { useOnClickOutside as
|
|
96
|
-
import { useKeyPress as
|
|
97
|
-
import { useExclusiveMenu as
|
|
98
|
-
import { useLocalStorage as
|
|
99
|
-
import { useSessionStorage as
|
|
100
|
-
import { usePrevious as
|
|
101
|
-
import { useConditionalToggle as
|
|
102
|
-
import { usePagination as
|
|
103
|
-
import { useAsync as
|
|
104
|
-
import { MODIFIER_KEYS as
|
|
105
|
-
import { useKeyboardShortcuts as
|
|
106
|
-
import { useHotkeys as
|
|
107
|
-
import { useShortcutHelp as
|
|
108
|
-
import { GLOBAL_SHORTCUT_CATEGORIES as
|
|
109
|
-
import { useLogger as
|
|
110
|
-
import { useHasAnimated as
|
|
111
|
-
import { useReferralAttribution as
|
|
112
|
-
import { useRecordProductVisit as
|
|
113
|
-
import { PUSH_DEVICE_ID_STORAGE_KEY as
|
|
114
|
-
import { usePushDeviceRegistration as
|
|
115
|
-
import { QUOTA_EXHAUSTED_EVENT as
|
|
116
|
-
import { PLAN_USAGE_SNAPSHOT_EVENT as
|
|
117
|
-
import { appendContextToPath as
|
|
118
|
-
import { UNSAVED_CHANGE_LABEL_MAX as
|
|
119
|
-
import { MicrofrontendContext as
|
|
120
|
-
import { withTourProgressStatus as
|
|
121
|
-
import { detectDeviceType as
|
|
122
|
-
import { useTourPlayer as
|
|
123
|
-
import { TourSpotlight as
|
|
124
|
-
import { TourTooltip as
|
|
125
|
-
import { TourPlayerProvider as
|
|
126
|
-
import { TourPlayer as
|
|
127
|
-
import { getTourContextRank as
|
|
128
|
-
import { ToursProvider as
|
|
129
|
-
import { TourInitializer as
|
|
130
|
-
import { AppShellProvider as
|
|
131
|
-
import { MicrofrontendProvider as
|
|
132
|
-
import { TourTrigger as
|
|
89
|
+
import { DevtoolsSink as Ei } from "./shared/events/sinks/DevtoolsSink.js";
|
|
90
|
+
import { BroadcastChannelSink as Di } from "./shared/events/sinks/BroadcastChannelSink.js";
|
|
91
|
+
import { BackendAuditSink as Oi } from "./shared/events/sinks/BackendAuditSink.js";
|
|
92
|
+
import { AnalyticsConsentBanner as ki, RybbitSink as Ai, readAnalyticsConsent as ji, readAnalyticsConsentChoice as Mi, setAnalyticsConsent as Ni } from "./shared/events/sinks/RybbitSink.js";
|
|
93
|
+
import { OtelBrowserSink as Pi } from "./shared/events/sinks/OtelBrowserSink.js";
|
|
94
|
+
import { EventBusProvider as Fi, createEventBus as Ii, useEvent as Li, useEventBus as Ri, useEventEmitter as zi } from "./shared-events.js";
|
|
95
|
+
import { useDebounce as Bi } from "./shared/hooks/useDebounce.js";
|
|
96
|
+
import { useThrottle as Vi } from "./shared/hooks/useThrottle.js";
|
|
97
|
+
import { BREAKPOINTS as Hi, useBreakpoint as Ui, useMobileBreakpoint as Wi } from "./shared/hooks/useBreakpoint.js";
|
|
98
|
+
import { useOnClickOutside as Gi, useOnClickOutsideWithRef as Ki } from "./shared/hooks/useOnClickOutside.js";
|
|
99
|
+
import { useKeyPress as qi, useKeyboardShortcut as Ji } from "./shared/hooks/useKeyPress.js";
|
|
100
|
+
import { useExclusiveMenu as Yi } from "./shared/hooks/useExclusiveMenu.js";
|
|
101
|
+
import { useLocalStorage as Xi } from "./shared/hooks/useLocalStorage.js";
|
|
102
|
+
import { useSessionStorage as Zi } from "./shared/hooks/useSessionStorage.js";
|
|
103
|
+
import { usePrevious as Qi, usePreviousDistinct as $i, usePreviousHistory as ea } from "./shared/hooks/usePrevious.js";
|
|
104
|
+
import { useConditionalToggle as ta, useToggle as na, useToggleObject as ra } from "./shared/hooks/useToggle.js";
|
|
105
|
+
import { usePagination as ia } from "./shared/hooks/usePagination.js";
|
|
106
|
+
import { useAsync as aa, useAsyncImmediate as oa } from "./shared/hooks/useAsync.js";
|
|
107
|
+
import { MODIFIER_KEYS as sa, PLATFORM_TYPES as ca } from "./shared/keyboard/types.js";
|
|
108
|
+
import { useKeyboardShortcuts as la } from "./shared/keyboard/useKeyboardShortcuts.js";
|
|
109
|
+
import { useHotkeys as ua } from "./shared/keyboard/useHotkeys.js";
|
|
110
|
+
import { useShortcutHelp as da } from "./shared/keyboard/useShortcutHelp.js";
|
|
111
|
+
import { GLOBAL_SHORTCUT_CATEGORIES as fa, createGlobalShortcuts as pa, getGlobalShortcutsByCategory as ma, mergeShortcuts as ha } from "./shared/keyboard/globalShortcuts.js";
|
|
112
|
+
import { useLogger as ga } from "./shared/logger/useLogger.js";
|
|
113
|
+
import { useHasAnimated as _a } from "./shared/hooks/useHasAnimated.js";
|
|
114
|
+
import { useReferralAttribution as va } from "./shared/hooks/useReferralAttribution.js";
|
|
115
|
+
import { useRecordProductVisit as ya } from "./shared/hooks/useRecordProductVisit.js";
|
|
116
|
+
import { PUSH_DEVICE_ID_STORAGE_KEY as ba, getOrCreatePushDeviceId as xa, registerPushDevice as Sa, unregisterPushDevice as Ca } from "./shared/native/push-registration.js";
|
|
117
|
+
import { usePushDeviceRegistration as wa } from "./shared/hooks/usePushDeviceRegistration.js";
|
|
118
|
+
import { QUOTA_EXHAUSTED_EVENT as Ta, dispatchQuotaExhausted as Ea, useQuotaErrorToast as Da } from "./shared/hooks/useQuotaErrorToast.js";
|
|
119
|
+
import { PLAN_USAGE_SNAPSHOT_EVENT as Oa, publishPlanUsageSnapshot as ka, useUpgradePrompt as Aa } from "./shared/hooks/useUpgradePrompt.js";
|
|
120
|
+
import { appendContextToPath as ja, useCurrentContextSearchParams as Ma } from "./shared/hooks/useCurrentContextSearchParams.js";
|
|
121
|
+
import { UNSAVED_CHANGE_LABEL_MAX as Na, listUnsavedChanges as Pa, registerUnsavedChange as Fa, unsavedChangesBlocking as Ia, useUnsavedChanges as La } from "./shared/navigation/unsavedChanges.js";
|
|
122
|
+
import { MicrofrontendContext as Ra, useMicrofrontendContext as za } from "./shared-hooks.js";
|
|
123
|
+
import { withTourProgressStatus as Ba } from "./shared/tours/progress.js";
|
|
124
|
+
import { detectDeviceType as Va, getResponsiveSelector as Ha } from "./shared/tours/types.js";
|
|
125
|
+
import { useTourPlayer as Ua } from "./shared/tours/useTourPlayer.js";
|
|
126
|
+
import { TourSpotlight as Wa } from "./shared/tours/TourSpotlight.js";
|
|
127
|
+
import { TourTooltip as Ga } from "./shared/tours/TourTooltip.js";
|
|
128
|
+
import { TourPlayerProvider as Ka, useIsTourPlaying as qa, useStartTour as Ja, useStopTour as Ya, useTourPlayerContext as Xa } from "./shared/tours/TourPlayerProvider.js";
|
|
129
|
+
import { TourPlayer as Za, TourTriggerButton as Qa, usePlayTour as $a } from "./shared/tours/TourPlayer.js";
|
|
130
|
+
import { getTourContextRank as eo, getTourRouteCatalog as to, getTourRouteModules as no, getTourRoutePages as ro, isTourVisibleForContext as io, normalizeTourPath as ao, registerTourRouteCatalog as oo, resolveTourTargetPath as so } from "./shared/tours/routeCatalog.js";
|
|
131
|
+
import { ToursProvider as co, useAutoStartTour as lo, useSafeToursContext as uo, useTours as fo, useToursContext as po } from "./shared/tours/ToursContext.js";
|
|
132
|
+
import { TourInitializer as mo } from "./shared/tours/TourInitializer.js";
|
|
133
|
+
import { AppShellProvider as ho, resolveAppShellObservabilityConfig as go } from "./shared/providers/AppShellProvider.js";
|
|
134
|
+
import { MicrofrontendProvider as _o } from "./shared-providers.js";
|
|
135
|
+
import { TourTrigger as vo } from "./shared/tours/TourTrigger.js";
|
|
133
136
|
import "./shared-tours.js";
|
|
134
|
-
import { acknowledgeNativePurchase as
|
|
135
|
-
import {
|
|
136
|
-
import { getPushOptInController as _o, recordPushPermissionPromptDismissed as vo, registerPushOptInController as yo, shouldPromptForPushPermission as bo } from "./shared/native/push-optin.js";
|
|
137
|
+
import { acknowledgeNativePurchase as yo, getNativeProducts as bo, getNativePurchases as xo, installNativeIAP as So, isNativeIAPAvailable as Co, purchaseNativeProduct as wo, restoreNativePurchases as To } from "./shared/native/purchases.js";
|
|
138
|
+
import { getPushOptInController as Eo, recordPushPermissionPromptDismissed as Do, registerPushOptInController as Oo, shouldPromptForPushPermission as ko } from "./shared/native/push-optin.js";
|
|
137
139
|
import "./shared-native.js";
|
|
138
140
|
import "./shared/actors/index.js";
|
|
139
141
|
//#region src/shared/index.ts
|
|
140
|
-
var
|
|
142
|
+
var Ao = "1.0.0";
|
|
141
143
|
//#endregion
|
|
142
|
-
export { $r as ASSISTANT_WIDGET_TOGGLE_EVENT, hr as AccessDenied, or as ActorIdentity, vi as AnalyticsConsentBanner, yt as ApolloClient, bt as ApolloProvider, Tr as AppErrorBoundary, gn as AppInitializer, ro as AppShellProvider, ei as AssistantWidget, Ve as BACKEND_ERROR_EVENT, Se as BOTMANOR_PRODUCT_SLUG, ji as BREAKPOINTS, _i as BackendAuditSink, gi as BroadcastChannelSink, Oe as COMMON_SHELL_LESS_ROUTES, He as CONNECTION_STATUS_EVENT, Sr as ConditionalShell, Cn as ConsoleTransport, Mr as ContextConversationWidget, Pe as DEFAULT_PAGE_SIZE, ke as DEFAULT_SHELL_CONFIG, R as DESKTOP_UPDATE_UNSUPPORTED, z as DESKTOP_WINDOW_STATE_DEFAULT, mi as DesktopUpdateToast, hi as DevtoolsSink, lr as ErrorBoundary, _r as ErrorFallback, wi as EventBusProvider, xo as FE_SHARED_VERSION, Er as FeatureFlagProvider, jr as FeatureGate, Fe as GATEWAYS, ta as GLOBAL_SHORTCUT_CATEGORIES, dt as GatewayProvider, Rn as INLINE_ENCODE, xt as InMemoryCache, Kr as KeyboardHelpDialogWrapper, vr as LoadingFallback, yn as LogLevel, xn as LogManager, bn as Logger, Xi as MODIFIER_KEYS, ti as Markdown, Da as MicrofrontendContext, xr as MicrofrontendErrorBoundary, ao as MicrofrontendProvider, Ci as OtelBrowserSink, _a as PLAN_USAGE_SNAPSHOT_EVENT, Zi as PLATFORM_TYPES, Ce as PRODUCTS, ge as PRODUCT_SLUG_EMIT, _e as PRODUCT_SLUG_RENAMES, we as PRODUCT_URLS, tr as PULL_TO_REFRESH_THRESHOLD, la as PUSH_DEVICE_ID_STORAGE_KEY, wr as PWAInstallBanner, yr as PageLoadingFallback, fr as PermissionButton, gr as PermissionDenied, pr as PermissionGate, mr as PermissionLink, kn as QUOTA_EXHAUSTED_CODE, ma as QUOTA_EXHAUSTED_EVENT, qr as QuotaMeter, An as RESOURCE_CAP_EXCEEDED_CODE, ur as RequireAuth, dr as RequireGuest, yi as RybbitSink, at as SSELink, Qt as SSORedirectSpinner, rn as SSO_DEPOSITED_PARAM, jn as STORAGE_QUOTA_EXCEEDED_CODE, Zn as SafeAreaView, br as SectionLoadingFallback, no as TourInitializer, Ba as TourPlayer, Fa as TourPlayerProvider, Na as TourSpotlight, Pa as TourTooltip, oo as TourTrigger, Va as TourTriggerButton, Za as ToursProvider, Sa as UNSAVED_CHANGE_LABEL_MAX, Mn as UPGRADE_ERROR_CODES, Jr as UPGRADE_PROMPT_EVENT, Zr as UpgradeInlineBanner, Yr as UpgradePromptModal, _t as WsLink, so as acknowledgeNativePurchase, r as alertTokens, ba as appendContextToPath, Ot as attemptTokenRefresh, an as beginSsoNavigation, B as bootDesktopShell, sr as buildActorFallback, Nn as buildQuotaExhaustedMessage, on as buildSsoDepositUrl, m as capitalizeFirst, h as capitalizeWords, i as categoryTokens, $t as checkRemoteSLO, en as checkSLO, kt as clearAuthSessionStorage, Xe as clearGraphqlFetchResponseCache, tn as clearLocalAuthState, Pt as clearSSoCookie, Ft as clearShellSsoCookies, sn as clearSsoDepositState, cn as clearSsoNavigation, wn as clearUserContext, Vn as cn, nr as computePullOffset, rr as computePullProgress, ln as consumeSsoDepositMarker, n as createApolloClient, Ti as createEventBus, na as createGlobalShortcuts, ot as createGraphQLClient, Dn as createProfileScopedStorage, V as desktopCheckForUpdates, H as desktopDeepLinkToPath, U as desktopInstallUpdate, W as desktopNotify, G as desktopOpenExternal, K as desktopSetBadgeCount, q as desktopSetLocale, J as desktopSetTheme, Y as desktopSetTrayQuickActions, Aa as detectDeviceType, Nr as detectPlatform, Ue as dispatchBackendErrorEvent, ha as dispatchQuotaExhausted, Xr as dispatchUpgradePrompt, zn as downscaleImage, ve as emitProductSlug, We as extractBackendError, Pn as extractQuotaExhaustedExtensions, Fn as extractUpgradeErrorExtensions, Te as findProductConfig, g as formatBytes, _ as formatCompactNumber, v as formatCurrency, y as formatCurrencyCompact, b as formatDate, x as formatDateTime, S as formatDuration, Pr as formatKeyCombo, C as formatList, w as formatNumber, T as formatOrdinal, E as formatPercentage, D as formatRelativeTime, O as formatTime, a as getAlertTokens, I as getCapacitorPlatform, o as getCategoryTokens, X as getDesktopAuthBridgeConfig, Z as getDesktopBridge, Q as getDesktopGatewayBases, $ as getDesktopGatewayUrls, ee as getDesktopRuntimeConfig, te as getDesktopUpdateState, ne as getDesktopWindowState, Fr as getDisplayKeysForPlatform, Ie as getGatewayConfig, Le as getGatewayUrl, st as getGlobalClient, ra as getGlobalShortcutsByCategory, Re as getGraphQLEndpoint, re as getLegacyDesktopRuntime, Ht as getNativeBridge, ho as getNativeEntryRoutes, co as getNativeProducts, lo as getNativePurchases, ua as getOrCreatePushDeviceId, Ut as getPlatform, Ee as getProductUrl, De as getProductsWithUrls, On as getProfileScopedKey, s as getProgressTokens, _o as getPushOptInController, ja as getResponsiveSelector, nn as getSSORedirectUrl, It as getSSoCookie, Ae as getShellConfig, Ir as getShortcutLabel, c as getStatusBadgeTokens, l as getStatusTokens, Ze as getStoredAuthToken, Qe as getStoredLocale, $e as getStoredOrganizationId, et as getStoredProjectId, tt as getStoredWorkspaceId, nt as getStoredWorkspaceToken, Ua as getTourContextRank, Wa as getTourRouteCatalog, Ga as getTourRouteModules, Ka as getTourRoutePages, u as getTrendTokens, ct as getWorkspaceClient, ze as getWorkspaceTokenPayload, St as gql, rt as graphqlFetch, At as hasAuthGraphQLErrors, lt as initializeAppClients, Tn as initializeLogger, ie as installDesktopDeepLinkHandler, ae as installDesktopNavigateHandler, de as installGatewayFetchRewrite, uo as installNativeIAP, Ge as isAbortError, Wt as isAndroid, jt as isAuthGraphQLError, Mt as isAuthNetworkError, Ke as isBackendErrorDisplay, L as isCapacitorNative, P as isChunkLoadError, oe as isDesktop, Gt as isElectron, Kt as isIOS, qt as isInstalledApp, Lr as isMac, Rr as isMobileDevice, Jt as isNative, fo as isNativeIAPAvailable, In as isQuotaExhaustedError, ye as isSameProductSlug, Lt as isSharedSsoCookieDomain, je as isShellLessRoute, un as isSsoNavigationPending, Yt as isStandalonePWA, zr as isTabletDevice, qa as isTourVisibleForContext, qe as isTransportError, Rt as isTrustedSsoOrigin, Ln as isUpgradeError, Xt as isWeb, Zt as isWebBrowser, Be as isWorkspaceTokenValidForContext, F as lazyWithRetry, be as legacyProductSlug, Ca as listUnsavedChanges, Sn as logManager, Je as markConnectionHealthy, dn as markSsoDepositDone, fn as markSsoDepositPending, Br as matchesKeyCombo, ia as mergeShortcuts, pn as mintSsoSessionTokens, Hn as nativeActionSheet, Un as nativeConfirm, Wn as nativeCopyText, Gn as nativeImpact, Kn as nativeNotify, qn as nativeOpenUrl, Jn as nativeSelection, Yn as nativeShare, Xn as nativeToast, Vr as normalizeKey, Hr as normalizePlatformCombo, xe as normalizeProductSlug, Ja as normalizeTourPath, se as onDesktopUpdateState, ce as onDesktopWindowState, Ur as parseKeyCombo, k as pluralize, vt as prepareWorkspaceRequest, d as progressTokens, va as publishPlanUsageSnapshot, po as purchaseNativeProduct, bi as readAnalyticsConsent, xi as readAnalyticsConsentChoice, Qn as readInitialNetworkStatus, zt as readShellSsoCookie, mn as readSsoDepositState, vo as recordPushPermissionPromptDismissed, Nt as redirectToLogin, $n as reduceNetworkStatus, le as registerDesktopNavigator, da as registerPushDevice, yo as registerPushOptInController, Ya as registerTourRouteCatalog, wa as registerUnsavedChange, ut as resetAppClients, li as resolveActionSheetOutcome, io as resolveAppShellObservabilityConfig, me as resolveAuthBridgeConfig, fe as resolveGatewayBases, it as resolveGatewayUrl, ue as resolveGatewayUrls, he as resolveShellAuthBridgeConfig, Xa as resolveTourTargetPath, mo as restoreNativePurchases, Bn as selectInlineBase64, Si as setAnalyticsConsent, Bt as setSSoCookie, Vt as setShellSsoCookies, En as setUserContext, hn as shouldAttemptSsoDeposit, Wr as shouldEnableKeyboardShortcuts, Gr as shouldIgnoreShortcut, bo as shouldPromptForPushPermission, Me as shouldShowBreadcrumb, go as shouldShowNativeWelcome, Ne as shouldShowSidebar, Ye as shouldToastBackendError, A as slugify, f as statusTokens, pe as suppressConsole, j as toCamelCase, M as toPascalCase, p as trendTokens, N as truncateText, fa as unregisterPushDevice, Ta as unsavedChangesBlocking, ui as useActionSheet, cr as useActorProfiles, Ct as useApolloClient, ai as useAppState, Ji as useAsync, Yi as useAsyncImmediate, Qa as useAutoStartTour, Mi as useBreakpoint, Wi as useConditionalToggle, e as useCopyToClipboard, xa as useCurrentContextSearchParams, ki as useDebounce, di as useDesktop, fi as useDesktopUpdateState, pi as useDesktopWindowState, oi as useDeviceInfo, Ei as useEvent, Di as useEventBus, Oi as useEventEmitter, Ri as useExclusiveMenu, Or as useFeatureFlag, kr as useFeatureFlagDetails, Ar as useFeatureFlagValue, Dr as useFeatureFlags, ft as useGateway, pt as useGatewayClient, si as useHaptics, oa as useHasAnimated, gt as useHasAuthToken, $i as useHotkeys, Ia as useIsTourPlaying, Ii as useKeyPress, Li as useKeyboardShortcut, Qi as useKeyboardShortcuts, wt as useLazyQuery, zi as useLocalStorage, aa as useLogger, t as useMediaQuery, Oa as useMicrofrontendContext, Ni as useMobileBreakpoint, Tt as useMutation, ii as useNativeKeyboard, ni as useNativePlatform, er as useNetworkStatus, Pi as useOnClickOutside, Fi as useOnClickOutsideWithRef, Cr as usePWA, qi as usePagination, Ha as usePlayTour, Vi as usePrevious, Hi as usePreviousDistinct, Ui as usePreviousHistory, ir as usePullToRefresh, pa as usePushDeviceRegistration, Et as useQuery, ga as useQuotaErrorToast, ca as useRecordProductVisit, sa as useReferralAttribution, _n as useRegistryHelpers, ar as useReturnFocus, ri as useSafeArea, mt as useSafeGateway, ht as useSafeGatewayClient, $a as useSafeToursContext, Bi as useSessionStorage, vn as useShellNavigate, ea as useShortcutHelp, La as useStartTour, ci as useStatusBar, Ra as useStopTour, Dt as useSubscription, Ai as useThrottle, Gi as useToggle, Ki as useToggleObject, Ma as useTourPlayer, za as useTourPlayerContext, eo as useTours, to as useToursContext, Ea as useUnsavedChanges, ya as useUpgradePrompt, Qr as useVoiceInput, ka as withTourProgressStatus };
|
|
144
|
+
export { ui as ASSISTANT_WIDGET_TOGGLE_EVENT, br as AccessDenied, dr as ActorIdentity, ki as AnalyticsConsentBanner, yt as ApolloClient, bt as ApolloProvider, Ar as AppErrorBoundary, xn as AppInitializer, ho as AppShellProvider, di as AssistantWidget, Ve as BACKEND_ERROR_EVENT, Se as BOTMANOR_PRODUCT_SLUG, Hi as BREAKPOINTS, Oi as BackendAuditSink, Di as BroadcastChannelSink, Oe as COMMON_SHELL_LESS_ROUTES, He as CONNECTION_STATUS_EVENT, Dr as ConditionalShell, On as ConsoleTransport, Lr as ContextConversationWidget, Pe as DEFAULT_PAGE_SIZE, ke as DEFAULT_SHELL_CONFIG, R as DESKTOP_UPDATE_UNSUPPORTED, z as DESKTOP_WINDOW_STATE_DEFAULT, Ti as DesktopUpdateToast, Ei as DevtoolsSink, mr as ErrorBoundary, Sr as ErrorFallback, Fi as EventBusProvider, Ao as FE_SHARED_VERSION, jr as FeatureFlagProvider, Ir as FeatureGate, Fe as GATEWAYS, fa as GLOBAL_SHORTCUT_CATEGORIES, dt as GatewayProvider, Un as INLINE_ENCODE, xt as InMemoryCache, Zr as KeyboardHelpDialogWrapper, ai as LandingGateView, oi as LandingOrDashboardRedirect, Cr as LoadingFallback, wn as LogLevel, En as LogManager, Tn as Logger, sa as MODIFIER_KEYS, fi as Markdown, Ra as MicrofrontendContext, Er as MicrofrontendErrorBoundary, _o as MicrofrontendProvider, Pi as OtelBrowserSink, Oa as PLAN_USAGE_SNAPSHOT_EVENT, ca as PLATFORM_TYPES, Ce as PRODUCTS, ge as PRODUCT_SLUG_EMIT, _e as PRODUCT_SLUG_RENAMES, we as PRODUCT_URLS, or as PULL_TO_REFRESH_THRESHOLD, ba as PUSH_DEVICE_ID_STORAGE_KEY, kr as PWAInstallBanner, wr as PageLoadingFallback, _r as PermissionButton, xr as PermissionDenied, vr as PermissionGate, yr as PermissionLink, Pn as QUOTA_EXHAUSTED_CODE, Ta as QUOTA_EXHAUSTED_EVENT, Qr as QuotaMeter, Fn as RESOURCE_CAP_EXCEEDED_CODE, hr as RequireAuth, gr as RequireGuest, Ai as RybbitSink, at as SSELink, nn as SSORedirectSpinner, ln as SSO_DEPOSITED_PARAM, In as STORAGE_QUOTA_EXCEEDED_CODE, nr as SafeAreaView, Tr as SectionLoadingFallback, mo as TourInitializer, Za as TourPlayer, Ka as TourPlayerProvider, Wa as TourSpotlight, Ga as TourTooltip, vo as TourTrigger, Qa as TourTriggerButton, co as ToursProvider, Na as UNSAVED_CHANGE_LABEL_MAX, Ln as UPGRADE_ERROR_CODES, $r as UPGRADE_PROMPT_EVENT, ni as UpgradeInlineBanner, ei as UpgradePromptModal, _t as WsLink, yo as acknowledgeNativePurchase, r as alertTokens, ja as appendContextToPath, Qt as assignLocationWithAllowlist, Ot as attemptTokenRefresh, un as beginSsoNavigation, B as bootDesktopShell, fr as buildActorFallback, Rn as buildQuotaExhaustedMessage, dn as buildSsoDepositUrl, m as capitalizeFirst, h as capitalizeWords, i as categoryTokens, rn as checkRemoteSLO, an as checkSLO, kt as clearAuthSessionStorage, Xe as clearGraphqlFetchResponseCache, on as clearLocalAuthState, Pt as clearSSoCookie, Ft as clearShellSsoCookies, fn as clearSsoDepositState, pn as clearSsoNavigation, kn as clearUserContext, Kn as cn, sr as computePullOffset, cr as computePullProgress, mn as consumeSsoDepositMarker, n as createApolloClient, Ii as createEventBus, pa as createGlobalShortcuts, ot as createGraphQLClient, Mn as createProfileScopedStorage, V as desktopCheckForUpdates, H as desktopDeepLinkToPath, U as desktopInstallUpdate, W as desktopNotify, G as desktopOpenExternal, K as desktopSetBadgeCount, q as desktopSetLocale, J as desktopSetTheme, Y as desktopSetTrayQuickActions, Va as detectDeviceType, Rr as detectPlatform, Ue as dispatchBackendErrorEvent, Ea as dispatchQuotaExhausted, ti as dispatchUpgradePrompt, Wn as downscaleImage, ve as emitProductSlug, We as extractBackendError, zn as extractQuotaExhaustedExtensions, Bn as extractUpgradeErrorExtensions, Te as findProductConfig, g as formatBytes, _ as formatCompactNumber, v as formatCurrency, y as formatCurrencyCompact, b as formatDate, x as formatDateTime, S as formatDuration, zr as formatKeyCombo, C as formatList, w as formatNumber, T as formatOrdinal, E as formatPercentage, D as formatRelativeTime, O as formatTime, a as getAlertTokens, I as getCapacitorPlatform, o as getCategoryTokens, X as getDesktopAuthBridgeConfig, Z as getDesktopBridge, Q as getDesktopGatewayBases, $ as getDesktopGatewayUrls, ee as getDesktopRuntimeConfig, te as getDesktopUpdateState, ne as getDesktopWindowState, Br as getDisplayKeysForPlatform, Ie as getGatewayConfig, Le as getGatewayUrl, st as getGlobalClient, ma as getGlobalShortcutsByCategory, Re as getGraphQLEndpoint, re as getLegacyDesktopRuntime, Ht as getNativeBridge, ri as getNativeEntryRoutes, bo as getNativeProducts, xo as getNativePurchases, xa as getOrCreatePushDeviceId, Ut as getPlatform, Ee as getProductUrl, De as getProductsWithUrls, Nn as getProfileScopedKey, s as getProgressTokens, Eo as getPushOptInController, Ha as getResponsiveSelector, sn as getSSORedirectUrl, It as getSSoCookie, Ae as getShellConfig, Vr as getShortcutLabel, c as getStatusBadgeTokens, l as getStatusTokens, Ze as getStoredAuthToken, Qe as getStoredLocale, $e as getStoredOrganizationId, et as getStoredProjectId, tt as getStoredWorkspaceId, nt as getStoredWorkspaceToken, eo as getTourContextRank, to as getTourRouteCatalog, no as getTourRouteModules, ro as getTourRoutePages, u as getTrendTokens, ct as getWorkspaceClient, ze as getWorkspaceTokenPayload, St as gql, rt as graphqlFetch, At as hasAuthGraphQLErrors, si as hasStoredValidSession, lt as initializeAppClients, An as initializeLogger, ie as installDesktopDeepLinkHandler, ae as installDesktopNavigateHandler, de as installGatewayFetchRewrite, So as installNativeIAP, Ge as isAbortError, $t as isAllowedRedirectUrl, Wt as isAndroid, jt as isAuthGraphQLError, Mt as isAuthNetworkError, Ke as isBackendErrorDisplay, L as isCapacitorNative, P as isChunkLoadError, oe as isDesktop, Gt as isElectron, Kt as isIOS, qt as isInstalledApp, Hr as isMac, Ur as isMobileDevice, Jt as isNative, Co as isNativeIAPAvailable, Vn as isQuotaExhaustedError, ye as isSameProductSlug, Lt as isSharedSsoCookieDomain, je as isShellLessRoute, hn as isSsoNavigationPending, Yt as isStandalonePWA, Wr as isTabletDevice, io as isTourVisibleForContext, qe as isTransportError, Rt as isTrustedSsoOrigin, Hn as isUpgradeError, Xt as isWeb, Zt as isWebBrowser, Be as isWorkspaceTokenValidForContext, F as lazyWithRetry, be as legacyProductSlug, Pa as listUnsavedChanges, Dn as logManager, Je as markConnectionHealthy, gn as markSsoDepositDone, _n as markSsoDepositPending, Gr as matchesKeyCombo, ha as mergeShortcuts, vn as mintSsoSessionTokens, qn as nativeActionSheet, Jn as nativeConfirm, Yn as nativeCopyText, Xn as nativeImpact, Zn as nativeNotify, Qn as nativeOpenUrl, $n as nativeSelection, er as nativeShare, tr as nativeToast, Kr as normalizeKey, qr as normalizePlatformCombo, xe as normalizeProductSlug, ao as normalizeTourPath, se as onDesktopUpdateState, ce as onDesktopWindowState, en as openUrlInNewTabWithAllowlist, Jr as parseKeyCombo, k as pluralize, vt as prepareWorkspaceRequest, d as progressTokens, ka as publishPlanUsageSnapshot, wo as purchaseNativeProduct, ji as readAnalyticsConsent, Mi as readAnalyticsConsentChoice, rr as readInitialNetworkStatus, zt as readShellSsoCookie, yn as readSsoDepositState, Do as recordPushPermissionPromptDismissed, Nt as redirectToLogin, cn as redirectToSSO, ir as reduceNetworkStatus, le as registerDesktopNavigator, Sa as registerPushDevice, Oo as registerPushOptInController, oo as registerTourRouteCatalog, Fa as registerUnsavedChange, tn as replaceLocationWithAllowlist, ut as resetAppClients, bi as resolveActionSheetOutcome, go as resolveAppShellObservabilityConfig, me as resolveAuthBridgeConfig, fe as resolveGatewayBases, it as resolveGatewayUrl, ue as resolveGatewayUrls, ci as resolveLandingGate, he as resolveShellAuthBridgeConfig, so as resolveTourTargetPath, To as restoreNativePurchases, Gn as selectInlineBase64, Ni as setAnalyticsConsent, Bt as setSSoCookie, Vt as setShellSsoCookies, jn as setUserContext, bn as shouldAttemptSsoDeposit, Yr as shouldEnableKeyboardShortcuts, Xr as shouldIgnoreShortcut, ko as shouldPromptForPushPermission, Me as shouldShowBreadcrumb, ii as shouldShowNativeWelcome, Ne as shouldShowSidebar, Ye as shouldToastBackendError, A as slugify, f as statusTokens, pe as suppressConsole, j as toCamelCase, M as toPascalCase, p as trendTokens, N as truncateText, Ca as unregisterPushDevice, Ia as unsavedChangesBlocking, xi as useActionSheet, pr as useActorProfiles, Ct as useApolloClient, gi as useAppState, aa as useAsync, oa as useAsyncImmediate, lo as useAutoStartTour, Ui as useBreakpoint, ta as useConditionalToggle, e as useCopyToClipboard, Ma as useCurrentContextSearchParams, Bi as useDebounce, Si as useDesktop, Ci as useDesktopUpdateState, wi as useDesktopWindowState, _i as useDeviceInfo, Li as useEvent, Ri as useEventBus, zi as useEventEmitter, Yi as useExclusiveMenu, Nr as useFeatureFlag, Pr as useFeatureFlagDetails, Fr as useFeatureFlagValue, Mr as useFeatureFlags, ft as useGateway, pt as useGatewayClient, vi as useHaptics, _a as useHasAnimated, gt as useHasAuthToken, ua as useHotkeys, qa as useIsTourPlaying, qi as useKeyPress, Ji as useKeyboardShortcut, la as useKeyboardShortcuts, wt as useLazyQuery, Xi as useLocalStorage, ga as useLogger, t as useMediaQuery, za as useMicrofrontendContext, Wi as useMobileBreakpoint, Tt as useMutation, hi as useNativeKeyboard, pi as useNativePlatform, ar as useNetworkStatus, Gi as useOnClickOutside, Ki as useOnClickOutsideWithRef, Or as usePWA, ia as usePagination, $a as usePlayTour, Qi as usePrevious, $i as usePreviousDistinct, ea as usePreviousHistory, lr as usePullToRefresh, wa as usePushDeviceRegistration, Et as useQuery, Da as useQuotaErrorToast, ya as useRecordProductVisit, va as useReferralAttribution, Sn as useRegistryHelpers, ur as useReturnFocus, mi as useSafeArea, mt as useSafeGateway, ht as useSafeGatewayClient, uo as useSafeToursContext, Zi as useSessionStorage, Cn as useShellNavigate, da as useShortcutHelp, Ja as useStartTour, yi as useStatusBar, Ya as useStopTour, Dt as useSubscription, Vi as useThrottle, na as useToggle, ra as useToggleObject, Ua as useTourPlayer, Xa as useTourPlayerContext, fo as useTours, po as useToursContext, La as useUnsavedChanges, Aa as useUpgradePrompt, li as useVoiceInput, Ba as withTourProgressStatus };
|
|
@@ -8,18 +8,18 @@ import { installNativeAuthNavigationIntercept as f } from "./auth-navigation.js"
|
|
|
8
8
|
import { createDefaultBackButtonHandlers as p, installBackButtonHandler as m } from "./back-button.js";
|
|
9
9
|
import { installExternalUrlOpener as h } from "./browser.js";
|
|
10
10
|
import { installNativeBridge as g } from "./bridge.js";
|
|
11
|
-
import {
|
|
12
|
-
import { populateDeviceInfo as
|
|
13
|
-
import { configureKeyboard as
|
|
14
|
-
import { installNetworkListener as
|
|
15
|
-
import { notifyOtaReady as
|
|
16
|
-
import { installPushNotifications as
|
|
17
|
-
import { installPushOptIn as
|
|
18
|
-
import { installPwa as
|
|
19
|
-
import { armSplashSafetyTimer as
|
|
20
|
-
import { installStatusBarThemeListener as
|
|
11
|
+
import { armDeepLinkFallback as _, disarmDeepLinkFallback as v, installDeepLinkHandler as y } from "./deep-link.js";
|
|
12
|
+
import { populateDeviceInfo as b } from "./device.js";
|
|
13
|
+
import { configureKeyboard as x } from "./keyboard.js";
|
|
14
|
+
import { installNetworkListener as S } from "./network.js";
|
|
15
|
+
import { notifyOtaReady as C } from "./ota.js";
|
|
16
|
+
import { installPushNotifications as w } from "./push.js";
|
|
17
|
+
import { installPushOptIn as T } from "./push-optin.js";
|
|
18
|
+
import { installPwa as E } from "./pwa.js";
|
|
19
|
+
import { armSplashSafetyTimer as D, markAppReady as O } from "./splash.js";
|
|
20
|
+
import { installStatusBarThemeListener as k } from "./system-bars.js";
|
|
21
21
|
//#region src/shell-native/boot.ts
|
|
22
|
-
function
|
|
22
|
+
function A(e, t) {
|
|
23
23
|
try {
|
|
24
24
|
let n = t();
|
|
25
25
|
n instanceof Promise && n.catch((t) => {
|
|
@@ -29,38 +29,40 @@ function O(e, t) {
|
|
|
29
29
|
console.debug(`[shell-native] boot step "${e}" failed:`, t);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
function
|
|
32
|
+
function j() {
|
|
33
33
|
if (typeof document > "u") return;
|
|
34
34
|
let e = document.querySelector("meta[name=\"viewport\"]");
|
|
35
35
|
if (!e) return;
|
|
36
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"));
|
|
37
37
|
t.push("maximum-scale=1", "user-scalable=no"), o() === "android" && t.push("interactive-widget=resizes-content"), e.content = t.join(", ");
|
|
38
38
|
}
|
|
39
|
-
var
|
|
40
|
-
function
|
|
41
|
-
if (
|
|
42
|
-
|
|
39
|
+
var M = null;
|
|
40
|
+
function N(v) {
|
|
41
|
+
if (M) return M;
|
|
42
|
+
d(v.electronGlobalKey ?? `${v.product}Electron`), v.preview?.allow !== !1 && A("preview", () => n(i())), A("notifyOtaReady", () => C(v.plugins ?? {})), A("authIntercept", () => f(v.authIntercept)), A("externalUrlOpener", () => h()), A("nativeBridge", () => {
|
|
43
43
|
g(), a();
|
|
44
|
-
}),
|
|
45
|
-
...p(
|
|
46
|
-
...
|
|
47
|
-
})),
|
|
48
|
-
|
|
49
|
-
|
|
44
|
+
}), A("deviceInfo", () => b()), A("statusBarTheme", () => k()), A("keyboard", () => x()), A("backButton", () => m({
|
|
45
|
+
...p(v.appName),
|
|
46
|
+
...v.backButton
|
|
47
|
+
})), A("deepLinks", () => y());
|
|
48
|
+
let N = v.deepLinks?.fallbackDelayMs;
|
|
49
|
+
if (N !== !1 && A("deepLinkFallback", () => _(N ?? 4e3)), A("network", () => S(v.network ?? {})), A("runtimeHooks", () => u(v.runtimeHooks ?? {})), v.push?.enabled && v.plugins?.pushNotifications) {
|
|
50
|
+
let e = v.plugins.pushNotifications, t = v.plugins.localNotifications;
|
|
51
|
+
A("push", () => w(e, v.push ?? {}, t));
|
|
50
52
|
}
|
|
51
|
-
return l() &&
|
|
53
|
+
return l() && v.splash?.autoHide !== !1 && A("splashSafetyTimer", () => D(v.splash?.maxWaitMs ?? 8e3)), A("pwa", () => E({
|
|
52
54
|
enabled: !0,
|
|
53
|
-
...
|
|
54
|
-
})),
|
|
55
|
+
...v.pwa
|
|
56
|
+
})), A("pushOptIn", () => T()), t() && A("desktopShell", () => e(v.desktop)), s() && A("viewport", () => j()), M = {
|
|
55
57
|
platform: o(),
|
|
56
58
|
isNative: s(),
|
|
57
59
|
isPreview: c(),
|
|
58
60
|
previewMode: r(),
|
|
59
|
-
markAppReady:
|
|
60
|
-
},
|
|
61
|
+
markAppReady: O
|
|
62
|
+
}, M;
|
|
61
63
|
}
|
|
62
|
-
function
|
|
63
|
-
|
|
64
|
+
function P() {
|
|
65
|
+
M = null, v();
|
|
64
66
|
}
|
|
65
67
|
//#endregion
|
|
66
|
-
export {
|
|
68
|
+
export { N as bootNativeShell, P as resetNativeShellBootForTests };
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ActiveContextUrlParams } from '../shared/providers/shell/ActiveContextStorage';
|
|
2
|
+
import { DeepLinkNavigator } from './deep-link';
|
|
3
|
+
/** The `setContext` payload of `ActiveContextProvider` (`useActiveContext().setContext`). */
|
|
4
|
+
export type DeepLinkContextUpdate = Partial<{
|
|
5
|
+
organizationId: string | null;
|
|
6
|
+
workspaceId: string | null;
|
|
7
|
+
projectId: string | null;
|
|
8
|
+
tenantId: string | null;
|
|
9
|
+
}>;
|
|
10
|
+
/**
|
|
11
|
+
* Ids a deep link may set as active context: a UUID or a cuid. Anything else is
|
|
12
|
+
* ignored so a crafted link cannot plant junk in the stored context.
|
|
13
|
+
*/
|
|
14
|
+
export declare const DEEP_LINK_CONTEXT_ID_PATTERN: RegExp;
|
|
15
|
+
export interface DeepLinkContextOptions {
|
|
16
|
+
/** Query param names; defaults to `?org=&workspace=&project=&tenant=`. */
|
|
17
|
+
urlParams?: ActiveContextUrlParams;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Read the active-context ids a deep-link path carries. `path` is
|
|
21
|
+
* `pathname + search + hash`; the `#fragment` is ignored. Returns `null` when
|
|
22
|
+
* the link names no (valid) context.
|
|
23
|
+
*
|
|
24
|
+
* A link that names an organization or workspace but no project clears the
|
|
25
|
+
* project, so a project from the previous workspace cannot drive
|
|
26
|
+
* workspace-token issuance.
|
|
27
|
+
*/
|
|
28
|
+
export declare function parseDeepLinkContext(path: string, options?: DeepLinkContextOptions): DeepLinkContextUpdate | null;
|
|
29
|
+
export interface DeepLinkNavigatorOptions extends DeepLinkContextOptions {
|
|
30
|
+
/**
|
|
31
|
+
* Commit the link's context before navigating — pass
|
|
32
|
+
* `useActiveContext().setContext`. A deep link arrives through `navigate()`
|
|
33
|
+
* (no reload, no `popstate`), so `ActiveContextProvider` would otherwise never
|
|
34
|
+
* see its `?org/workspace/project/tenant`.
|
|
35
|
+
*/
|
|
36
|
+
setContext?: (context: DeepLinkContextUpdate) => void;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Build the navigator `registerDeepLinkNavigator` expects: it drops paths that
|
|
40
|
+
* are not same-origin in-app paths, commits the link's context once, then
|
|
41
|
+
* navigates. This is action-driven (it only runs for an actual deep link or
|
|
42
|
+
* push tap), so it cannot set up a URL ↔ context write-back loop.
|
|
43
|
+
*/
|
|
44
|
+
export declare function createDeepLinkNavigator(navigate: (path: string) => void, options?: DeepLinkNavigatorOptions): DeepLinkNavigator;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { DEFAULT_ACTIVE_CONTEXT_URL_PARAMS as e } from "../shared/providers/shell/ActiveContextStorage.js";
|
|
2
|
+
import { isSafeInAppPath as t } from "./deep-link.js";
|
|
3
|
+
//#region src/shell-native/deep-link-context.ts
|
|
4
|
+
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
|
+
function r(t, r = {}) {
|
|
6
|
+
let i = t.indexOf("?");
|
|
7
|
+
if (i === -1) return null;
|
|
8
|
+
let a = t.indexOf("#", i), o = a === -1 ? t.slice(i) : t.slice(i, a), s = new URLSearchParams(o), c = {
|
|
9
|
+
...e,
|
|
10
|
+
...r.urlParams
|
|
11
|
+
}, l = (e) => {
|
|
12
|
+
let t = s.get(e);
|
|
13
|
+
return t && n.test(t) ? t : null;
|
|
14
|
+
}, u = l(c.organization), d = l(c.workspace), f = l(c.project), p = l(c.tenant), m = {};
|
|
15
|
+
return u && (m.organizationId = u), d && (m.workspaceId = d), f ? m.projectId = f : (u || d) && (m.projectId = null), p && (m.tenantId = p), Object.keys(m).length > 0 ? m : null;
|
|
16
|
+
}
|
|
17
|
+
function i(e, n = {}) {
|
|
18
|
+
return (i) => {
|
|
19
|
+
if (!t(i)) {
|
|
20
|
+
console.debug("[shell-native] ignored a deep link that is not an in-app path");
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
if (n.setContext) {
|
|
24
|
+
let e = r(i, n);
|
|
25
|
+
e && n.setContext(e);
|
|
26
|
+
}
|
|
27
|
+
e(i);
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//#endregion
|
|
31
|
+
export { n as DEEP_LINK_CONTEXT_ID_PATTERN, i as createDeepLinkNavigator, r as parseDeepLinkContext };
|
|
@@ -1,4 +1,16 @@
|
|
|
1
|
-
type DeepLinkNavigator = (path: string) => void;
|
|
1
|
+
export type DeepLinkNavigator = (path: string) => void;
|
|
2
|
+
/**
|
|
3
|
+
* How long `bootNativeShell` waits for a router to call
|
|
4
|
+
* `registerDeepLinkNavigator` before it drains queued deep links itself
|
|
5
|
+
* through `history.pushState` + `popstate` (see `armDeepLinkFallback`).
|
|
6
|
+
*/
|
|
7
|
+
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;
|
|
2
14
|
/**
|
|
3
15
|
* Map a deep-link URL to an in-app SPA path. Handles both
|
|
4
16
|
* `scheme://app/path?x` (custom scheme; host is the synthetic `app`) and
|
|
@@ -9,10 +21,25 @@ export declare function deepLinkUrlToPath(rawUrl: string): string | null;
|
|
|
9
21
|
export declare function installDeepLinkHandler(): Promise<void>;
|
|
10
22
|
/**
|
|
11
23
|
* Register the router's navigate function. Links that arrived before the router
|
|
12
|
-
* mounted are queued and flushed here.
|
|
24
|
+
* mounted are queued and flushed here. Returns a disposer that unregisters this
|
|
25
|
+
* navigator only if it is still the active one (a newer registration wins).
|
|
26
|
+
*
|
|
27
|
+
* Prefer `useDeepLinkNavigator` in React shells — it also hydrates the active
|
|
28
|
+
* context from the link's `?org/workspace/project/tenant`.
|
|
13
29
|
*/
|
|
14
|
-
export declare function registerDeepLinkNavigator(navigate: DeepLinkNavigator): void;
|
|
30
|
+
export declare function registerDeepLinkNavigator(navigate: DeepLinkNavigator): () => void;
|
|
15
31
|
export declare function clearDeepLinkNavigator(): void;
|
|
16
32
|
/** Route a path through the active navigator (or queue it) — used by push taps. */
|
|
17
33
|
export declare function navigateDeepLinkPath(path: string): void;
|
|
18
|
-
|
|
34
|
+
/**
|
|
35
|
+
* Safety net for shells whose router never registers a navigator: once
|
|
36
|
+
* `delayMs` has passed without a registration, queued links (and every later
|
|
37
|
+
* link while no navigator is registered) navigate through `history.pushState`
|
|
38
|
+
* + `popstate`. A navigator registered later always takes precedence. Calling
|
|
39
|
+
* it again re-arms with the new delay; `bootNativeShell` arms it.
|
|
40
|
+
*/
|
|
41
|
+
export declare function armDeepLinkFallback(delayMs?: number): void;
|
|
42
|
+
/** Cancel the fallback timer and leave router-less navigation off. */
|
|
43
|
+
export declare function disarmDeepLinkFallback(): void;
|
|
44
|
+
/** Test-only: drop the queue, the navigator and the fallback. */
|
|
45
|
+
export declare function resetDeepLinksForTests(): void;
|