@burdenoff/fe-libs 2026.1023.12 → 2026.1023.14
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/chrome/CommandPalette.d.ts +6 -0
- package/dist/chrome/CommandPalette.js +85 -84
- package/dist/chrome/DynamicFooter.d.ts +7 -1
- package/dist/chrome/DynamicFooter.js +25 -24
- package/dist/shared/config/index.d.ts +1 -1
- package/dist/shared/config/products.d.ts +22 -0
- package/dist/shared/config/products.js +40 -17
- package/dist/shared/hooks/shell/useProducts.js +37 -37
- package/dist/shared/keyboard/commandChords.d.ts +58 -0
- package/dist/shared/keyboard/commandChords.js +51 -0
- package/dist/shared/keyboard/index.d.ts +2 -0
- package/dist/shared/keyboard/utils.js +4 -1
- package/dist/shared-config.js +11 -11
- package/dist/shared-hooks.js +19 -18
- package/dist/shared-keyboard.js +2 -1
- package/dist/shared.js +135 -134
- package/package.json +1 -1
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { normalizeProductSlug as e } from "../../config/productSlug.js";
|
|
2
|
-
import { PRODUCTS as t, getProductLogoUrl as n, getProductUrl as r } from "../../config/products.js";
|
|
3
|
-
import { useGatewayClient as
|
|
2
|
+
import { PRODUCTS as t, getProductLogoUrl as n, getProductUrl as r, toCurrentEstateAppUrl as i } from "../../config/products.js";
|
|
3
|
+
import { useGatewayClient as a } from "../../graphql/GatewayContext.js";
|
|
4
4
|
import "../../../shared-graphql.js";
|
|
5
|
-
import { useCallback as
|
|
6
|
-
import { gql as
|
|
5
|
+
import { useCallback as o, useEffect as s, useState as c } from "react";
|
|
6
|
+
import { gql as l } from "@apollo/client/core";
|
|
7
7
|
//#region src/shared/hooks/shell/useProducts.ts
|
|
8
|
-
var
|
|
9
|
-
function
|
|
10
|
-
return
|
|
8
|
+
var u = new Set(t.map((t) => e(t.id))), d = new Map(t.map((t) => [e(t.id), t.comingSoon === !0]));
|
|
9
|
+
function f(t, n, r) {
|
|
10
|
+
return d.get(e(t)) ? !0 : n !== "ACTIVE" || !r;
|
|
11
11
|
}
|
|
12
|
-
var
|
|
12
|
+
var p = l`
|
|
13
13
|
query GetAccessibleProducts($limit: Int, $offset: Int) {
|
|
14
14
|
myAccessibleProducts(limit: $limit, offset: $offset) {
|
|
15
15
|
items {
|
|
@@ -26,13 +26,13 @@ var f = c`
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
`;
|
|
29
|
-
function p(t) {
|
|
30
|
-
return l.has(e(t));
|
|
31
|
-
}
|
|
32
29
|
function m(t) {
|
|
33
|
-
return
|
|
30
|
+
return u.has(e(t));
|
|
31
|
+
}
|
|
32
|
+
function h(t) {
|
|
33
|
+
return new Map(t.filter((e) => m(e.slug)).map((t) => [e(t.slug), t]));
|
|
34
34
|
}
|
|
35
|
-
function
|
|
35
|
+
function g(e) {
|
|
36
36
|
if (!e || !e.startsWith("https://") || e.includes("localhost") || e.includes("127.0.0.1")) return !1;
|
|
37
37
|
try {
|
|
38
38
|
let t = new URL(e);
|
|
@@ -41,7 +41,7 @@ function h(e) {
|
|
|
41
41
|
return !1;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
function
|
|
44
|
+
function _() {
|
|
45
45
|
return t.map((e) => ({
|
|
46
46
|
id: e.id,
|
|
47
47
|
name: e.name,
|
|
@@ -52,48 +52,48 @@ function g() {
|
|
|
52
52
|
comingSoon: e.comingSoon === !0
|
|
53
53
|
}));
|
|
54
54
|
}
|
|
55
|
-
function
|
|
56
|
-
let
|
|
57
|
-
|
|
55
|
+
function v(l) {
|
|
56
|
+
let u = a("global"), [d, m] = c(_()), [v, y] = c(l?.autoFetch !== !1), [b, x] = c(null), S = o(async () => {
|
|
57
|
+
y(!0), x(null);
|
|
58
58
|
try {
|
|
59
|
-
let
|
|
60
|
-
query:
|
|
59
|
+
let a = h((await u.query({
|
|
60
|
+
query: p,
|
|
61
61
|
variables: {
|
|
62
62
|
limit: 50,
|
|
63
63
|
offset: 0
|
|
64
64
|
},
|
|
65
65
|
fetchPolicy: "cache-first"
|
|
66
|
-
})).data?.myAccessibleProducts?.items || []),
|
|
67
|
-
let
|
|
66
|
+
})).data?.myAccessibleProducts?.items || []), o = t.map((t) => {
|
|
67
|
+
let o = a.get(e(t.id));
|
|
68
68
|
return {
|
|
69
69
|
id: t.id,
|
|
70
70
|
name: t.name,
|
|
71
|
-
url:
|
|
71
|
+
url: g(o?.appUrl) ? i(o.appUrl) : r(t.id),
|
|
72
72
|
icon: t.icon,
|
|
73
|
-
color:
|
|
73
|
+
color: o?.metadata && typeof o.metadata.color == "string" ? o.metadata.color : t.color,
|
|
74
74
|
logoUrl: n(t.id),
|
|
75
|
-
comingSoon:
|
|
75
|
+
comingSoon: o ? f(t.id, o.status, o.appUrl) : t.comingSoon === !0
|
|
76
76
|
};
|
|
77
77
|
});
|
|
78
|
-
|
|
78
|
+
o.sort((e, t) => e.name.localeCompare(t.name)), m(o);
|
|
79
79
|
} catch (e) {
|
|
80
|
-
|
|
80
|
+
x(e instanceof Error ? e.message : "Failed to fetch products"), m(_());
|
|
81
81
|
} finally {
|
|
82
|
-
|
|
82
|
+
y(!1);
|
|
83
83
|
}
|
|
84
|
-
}, [
|
|
85
|
-
return
|
|
86
|
-
if (
|
|
87
|
-
|
|
84
|
+
}, [u]);
|
|
85
|
+
return s(() => {
|
|
86
|
+
if (l?.autoFetch === !1) {
|
|
87
|
+
y(!1);
|
|
88
88
|
return;
|
|
89
89
|
}
|
|
90
|
-
|
|
90
|
+
S();
|
|
91
91
|
}, []), {
|
|
92
|
-
products:
|
|
93
|
-
isLoading:
|
|
94
|
-
error:
|
|
95
|
-
refetch:
|
|
92
|
+
products: d,
|
|
93
|
+
isLoading: v,
|
|
94
|
+
error: b,
|
|
95
|
+
refetch: S
|
|
96
96
|
};
|
|
97
97
|
}
|
|
98
98
|
//#endregion
|
|
99
|
-
export {
|
|
99
|
+
export { v as useProducts };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { KeyboardShortcut } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* The parts of a command-palette action a chord needs. Structurally a subset
|
|
4
|
+
* of `CommandAction` (fe-libs/chrome/CommandPalette), declared here so the
|
|
5
|
+
* keyboard module does not import from chrome.
|
|
6
|
+
*/
|
|
7
|
+
export interface CommandChordSource {
|
|
8
|
+
readonly id: string;
|
|
9
|
+
readonly label: string;
|
|
10
|
+
readonly shortcut?: string;
|
|
11
|
+
readonly section?: string;
|
|
12
|
+
readonly hidden?: boolean;
|
|
13
|
+
readonly action: () => void | Promise<void>;
|
|
14
|
+
}
|
|
15
|
+
export interface CommandChordOptions {
|
|
16
|
+
/**
|
|
17
|
+
* Dialog category for chords derived from palette actions. Defaults to
|
|
18
|
+
* 'Navigation'. Pass `null` to use each action's own palette section.
|
|
19
|
+
*/
|
|
20
|
+
readonly category?: string | null;
|
|
21
|
+
/**
|
|
22
|
+
* Host-supplied chords that have no palette entry. They are bound and listed
|
|
23
|
+
* exactly like the derived ones, and win over a palette action that uses the
|
|
24
|
+
* same sequence.
|
|
25
|
+
*/
|
|
26
|
+
readonly extra?: readonly KeyboardShortcut[];
|
|
27
|
+
}
|
|
28
|
+
/** Prefix of the ids given to chords derived from palette actions. */
|
|
29
|
+
export declare const COMMAND_CHORD_ID_PREFIX = "command-chord:";
|
|
30
|
+
/**
|
|
31
|
+
* True for a key sequence such as "g h" or "g ,"; false for a modifier combo
|
|
32
|
+
* ("mod+shift+k"), a single key ("?") or an empty string.
|
|
33
|
+
*/
|
|
34
|
+
export declare function isChordShortcut(shortcut: string | undefined): shortcut is string;
|
|
35
|
+
/**
|
|
36
|
+
* Canonical form of a sequence for comparison: keys normalised the same way
|
|
37
|
+
* `useKeyboardShortcuts` normalises a key press, single-space separated.
|
|
38
|
+
*/
|
|
39
|
+
export declare function normalizeChord(shortcut: string): string;
|
|
40
|
+
/**
|
|
41
|
+
* The palette actions that advertise a key sequence, as keyboard shortcuts.
|
|
42
|
+
*
|
|
43
|
+
* Hidden actions are skipped (the palette does not show them, so the dialog
|
|
44
|
+
* must not either). When two actions advertise the same sequence the first one
|
|
45
|
+
* wins and the later one is dropped, so the key can only ever run the action
|
|
46
|
+
* listed first.
|
|
47
|
+
*/
|
|
48
|
+
export declare function commandChordShortcuts(actions: readonly CommandChordSource[], options?: Pick<CommandChordOptions, 'category'>): KeyboardShortcut[];
|
|
49
|
+
/**
|
|
50
|
+
* `base` (usually `createGlobalShortcuts(...)`) plus the host's chords: the
|
|
51
|
+
* `extra` chords first, then the ones derived from `actions`.
|
|
52
|
+
*
|
|
53
|
+
* Any `base` shortcut bound to a sequence the host also binds is dropped, so
|
|
54
|
+
* the host's product-aware chord is the only thing that sequence runs and the
|
|
55
|
+
* only row the dialog shows for it. Modifier combos in `base` (search, theme,
|
|
56
|
+
* sidebar, help) are kept unless the host chords happen to reuse their id.
|
|
57
|
+
*/
|
|
58
|
+
export declare function withCommandChords(base: readonly KeyboardShortcut[], actions: readonly CommandChordSource[], options?: CommandChordOptions): KeyboardShortcut[];
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { isKeySequence as e, normalizeKey as t } from "./utils.js";
|
|
2
|
+
//#region src/shared/keyboard/commandChords.ts
|
|
3
|
+
var n = "command-chord:";
|
|
4
|
+
function r(t) {
|
|
5
|
+
if (!t) return !1;
|
|
6
|
+
let n = t.trim();
|
|
7
|
+
return n.length > 0 && e(n);
|
|
8
|
+
}
|
|
9
|
+
function i(e) {
|
|
10
|
+
return e.trim().split(/\s+/).map((e) => t(e)).join(" ");
|
|
11
|
+
}
|
|
12
|
+
function a(e) {
|
|
13
|
+
return Array.isArray(e) ? e : [
|
|
14
|
+
...e.mac ?? [],
|
|
15
|
+
...e.windows ?? [],
|
|
16
|
+
...e.linux ?? [],
|
|
17
|
+
...e.default ?? []
|
|
18
|
+
];
|
|
19
|
+
}
|
|
20
|
+
function o(t) {
|
|
21
|
+
return a(t.keys).filter((n) => e(n) || t.isSequence === !0).map((e) => i(e));
|
|
22
|
+
}
|
|
23
|
+
function s(e, t = {}) {
|
|
24
|
+
let a = t.category === void 0 ? "Navigation" : t.category, o = /* @__PURE__ */ new Set(), s = [];
|
|
25
|
+
for (let t of e) {
|
|
26
|
+
if (t.hidden || !r(t.shortcut)) continue;
|
|
27
|
+
let e = i(t.shortcut);
|
|
28
|
+
if (o.has(e)) continue;
|
|
29
|
+
o.add(e);
|
|
30
|
+
let c = t.action;
|
|
31
|
+
s.push({
|
|
32
|
+
id: `${n}${t.id}`,
|
|
33
|
+
keys: [e],
|
|
34
|
+
description: t.label,
|
|
35
|
+
category: a ?? t.section ?? "Navigation",
|
|
36
|
+
isSequence: !0,
|
|
37
|
+
action: () => {
|
|
38
|
+
Promise.resolve().then(c).catch((n) => {
|
|
39
|
+
console.error(`Command chord "${e}" (${t.id}) failed:`, n);
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
return s;
|
|
45
|
+
}
|
|
46
|
+
function c(e, t, n = {}) {
|
|
47
|
+
let r = n.extra ?? [], i = new Set(r.flatMap((e) => o(e))), a = s(t, n).filter((e) => o(e).every((e) => !i.has(e))), c = [...r, ...a], l = new Set(c.flatMap((e) => o(e))), u = new Set(c.map((e) => e.id));
|
|
48
|
+
return [...e.filter((e) => !u.has(e.id) && o(e).every((e) => !l.has(e))), ...c];
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
export { n as COMMAND_CHORD_ID_PREFIX, s as commandChordShortcuts, r as isChordShortcut, i as normalizeChord, c as withCommandChords };
|
|
@@ -37,3 +37,5 @@ export { useShortcutHelp } from './useShortcutHelp';
|
|
|
37
37
|
export { detectPlatform, isMac, normalizeKey, parseKeyCombo, matchesKeyCombo, formatKeyCombo, normalizePlatformCombo, shouldIgnoreShortcut, getShortcutLabel, getDisplayKeysForPlatform, isMobileDevice, isTabletDevice, } from './utils';
|
|
38
38
|
export { createGlobalShortcuts, getGlobalShortcutsByCategory, mergeShortcuts, GLOBAL_SHORTCUT_CATEGORIES, } from './globalShortcuts';
|
|
39
39
|
export type { GlobalShortcutsConfig, GlobalShortcutHandlers } from './globalShortcuts';
|
|
40
|
+
export { commandChordShortcuts, withCommandChords, isChordShortcut, normalizeChord, COMMAND_CHORD_ID_PREFIX, } from './commandChords';
|
|
41
|
+
export type { CommandChordSource, CommandChordOptions } from './commandChords';
|
|
@@ -161,5 +161,8 @@ function p(t) {
|
|
|
161
161
|
}
|
|
162
162
|
return f(r);
|
|
163
163
|
}
|
|
164
|
+
function m(e) {
|
|
165
|
+
return e.includes(" ") && !e.includes("+");
|
|
166
|
+
}
|
|
164
167
|
//#endregion
|
|
165
|
-
export { e as detectPlatform, l as formatKeyCombo, p as getDisplayKeysForPlatform, f as getShortcutLabel, i as isMac, t as isMobileDevice, n as isTabletDevice, c as matchesKeyCombo, a as normalizeKey, u as normalizePlatformCombo, o as parseKeyCombo, r as shouldEnableKeyboardShortcuts, d as shouldIgnoreShortcut };
|
|
168
|
+
export { e as detectPlatform, l as formatKeyCombo, p as getDisplayKeysForPlatform, f as getShortcutLabel, m as isKeySequence, i as isMac, t as isMobileDevice, n as isTabletDevice, c as matchesKeyCombo, a as normalizeKey, u as normalizePlatformCombo, o as parseKeyCombo, r as shouldEnableKeyboardShortcuts, d as shouldIgnoreShortcut };
|
package/dist/shared-config.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { resolveGatewayUrls as e } from "./shared/config/gatewayUrls.js";
|
|
2
2
|
import { resolveAuthBridgeConfig as t, resolveShellAuthBridgeConfig as n } from "./shared/config/authBridgeUrls.js";
|
|
3
3
|
import { PRODUCT_SLUG_EMIT as r, PRODUCT_SLUG_RENAMES as i, emitProductSlug as a, isSameProductSlug as o, legacyProductSlug as s, normalizeProductSlug as c } from "./shared/config/productSlug.js";
|
|
4
|
-
import { BOTMANOR_PRODUCT_SLUG as l, PRODUCTS as u, PRODUCT_URLS as d, findProductConfig as f, getProductUrl as p, getProductsWithUrls as m } from "./shared/config/products.js";
|
|
5
|
-
import { CANONICAL_DOCS_HOSTS as
|
|
6
|
-
import { COMMON_SHELL_LESS_ROUTES as
|
|
4
|
+
import { BOTMANOR_PRODUCT_SLUG as l, PRODUCTS as u, PRODUCT_URLS as d, findProductConfig as f, getProductUrl as p, getProductsWithUrls as m, isAlphaAppShell as h, toAlphaAppUrl as g, toCurrentEstateAppUrl as _ } from "./shared/config/products.js";
|
|
5
|
+
import { CANONICAL_DOCS_HOSTS as v, buildProductDocsUrl as y, canonicalizeDocsOrigin as b, getCatalogDocsOrigin as x, normalizeDocsPath as S, resolveDocsEnvironment as C, resolveProductDocsOrigin as w, toEnvironmentDocsOrigin as T, toTrustedDocsOrigin as E } from "./shared/config/docsUrls.js";
|
|
6
|
+
import { COMMON_SHELL_LESS_ROUTES as D, DEFAULT_SHELL_CONFIG as O, getShellConfig as k, isShellLessRoute as A, shouldShowBreadcrumb as j, shouldShowSidebar as M } from "./shared/config/shellRoutes.js";
|
|
7
7
|
//#region src/shared/config/index.ts
|
|
8
|
-
var
|
|
8
|
+
var N = 20, P = {
|
|
9
9
|
workspace: {
|
|
10
10
|
defaultBaseUrl: "https://gw-wspace.local.burdenoff.com",
|
|
11
11
|
graphql: "/workspaces/graphql",
|
|
@@ -18,18 +18,18 @@ var A = 20, j = {
|
|
|
18
18
|
ws: "/global/graphql/ws"
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
|
-
function
|
|
21
|
+
function F(e, t) {
|
|
22
22
|
let n = e.endsWith("/") ? e.slice(0, -1) : e;
|
|
23
23
|
return t === "workspaces" ? `${n}/workspaces/graphql` : `${n}/global/graphql`;
|
|
24
24
|
}
|
|
25
|
-
function
|
|
26
|
-
return
|
|
25
|
+
function I(e) {
|
|
26
|
+
return P[e];
|
|
27
27
|
}
|
|
28
|
-
function
|
|
29
|
-
let n =
|
|
28
|
+
function L(e, t) {
|
|
29
|
+
let n = P[t], r = e || R(t) || n.defaultBaseUrl;
|
|
30
30
|
return `${r.endsWith("/") ? r.slice(0, -1) : r}${n.graphql}`;
|
|
31
31
|
}
|
|
32
|
-
function
|
|
32
|
+
function R(t) {
|
|
33
33
|
try {
|
|
34
34
|
let n = e();
|
|
35
35
|
return t === "workspace" ? n.workspaceBaseUrl : n.globalBaseUrl;
|
|
@@ -38,4 +38,4 @@ function F(t) {
|
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
40
|
//#endregion
|
|
41
|
-
export { l as BOTMANOR_PRODUCT_SLUG,
|
|
41
|
+
export { l as BOTMANOR_PRODUCT_SLUG, v as CANONICAL_DOCS_HOSTS, D as COMMON_SHELL_LESS_ROUTES, N as DEFAULT_PAGE_SIZE, O as DEFAULT_SHELL_CONFIG, P as GATEWAYS, u as PRODUCTS, r as PRODUCT_SLUG_EMIT, i as PRODUCT_SLUG_RENAMES, d as PRODUCT_URLS, y as buildProductDocsUrl, b as canonicalizeDocsOrigin, a as emitProductSlug, f as findProductConfig, x as getCatalogDocsOrigin, I as getGatewayConfig, L as getGatewayUrl, F as getGraphQLEndpoint, p as getProductUrl, m as getProductsWithUrls, k as getShellConfig, h as isAlphaAppShell, o as isSameProductSlug, A as isShellLessRoute, s as legacyProductSlug, S as normalizeDocsPath, c as normalizeProductSlug, t as resolveAuthBridgeConfig, C as resolveDocsEnvironment, e as resolveGatewayUrls, w as resolveProductDocsOrigin, n as resolveShellAuthBridgeConfig, j as shouldShowBreadcrumb, M as shouldShowSidebar, g as toAlphaAppUrl, _ as toCurrentEstateAppUrl, T as toEnvironmentDocsOrigin, E as toTrustedDocsOrigin };
|
package/dist/shared-hooks.js
CHANGED
|
@@ -17,32 +17,33 @@ import { useExclusiveMenu as P } from "./shared/hooks/useExclusiveMenu.js";
|
|
|
17
17
|
import { useLocalStorage as F } from "./shared/hooks/useLocalStorage.js";
|
|
18
18
|
import { useSessionStorage as I } from "./shared/hooks/useSessionStorage.js";
|
|
19
19
|
import { usePrevious as L, usePreviousDistinct as R, usePreviousHistory as z } from "./shared/hooks/usePrevious.js";
|
|
20
|
-
import { useConditionalToggle as B, useToggle as V, useToggleObject as
|
|
21
|
-
import { usePagination as
|
|
22
|
-
import { useAsync as
|
|
23
|
-
import { MODIFIER_KEYS as
|
|
20
|
+
import { useConditionalToggle as B, useToggle as V, useToggleObject as H } from "./shared/hooks/useToggle.js";
|
|
21
|
+
import { usePagination as U } from "./shared/hooks/usePagination.js";
|
|
22
|
+
import { useAsync as W, useAsyncImmediate as G } from "./shared/hooks/useAsync.js";
|
|
23
|
+
import { MODIFIER_KEYS as te, PLATFORM_TYPES as K } from "./shared/keyboard/types.js";
|
|
24
24
|
import { useKeyboardShortcuts as q } from "./shared/keyboard/useKeyboardShortcuts.js";
|
|
25
25
|
import { useHotkeys as J } from "./shared/keyboard/useHotkeys.js";
|
|
26
26
|
import { useShortcutHelp as Y } from "./shared/keyboard/useShortcutHelp.js";
|
|
27
27
|
import { GLOBAL_SHORTCUT_CATEGORIES as X, createGlobalShortcuts as Z, getGlobalShortcutsByCategory as Q, mergeShortcuts as ne } from "./shared/keyboard/globalShortcuts.js";
|
|
28
|
+
import { COMMAND_CHORD_ID_PREFIX as re, commandChordShortcuts as ie, isChordShortcut as ae, normalizeChord as oe, withCommandChords as se } from "./shared/keyboard/commandChords.js";
|
|
28
29
|
import "./shared-keyboard.js";
|
|
29
|
-
import { useLogger as
|
|
30
|
+
import { useLogger as ce } from "./shared/logger/useLogger.js";
|
|
30
31
|
import "./shared-logger.js";
|
|
31
|
-
import { useHasAnimated as
|
|
32
|
-
import { useReferralAttribution as
|
|
33
|
-
import { useRecordProductVisit as
|
|
34
|
-
import { usePushDeviceRegistration as
|
|
35
|
-
import { QUOTA_EXHAUSTED_EVENT as
|
|
36
|
-
import { PLAN_USAGE_SNAPSHOT_EVENT as
|
|
37
|
-
import { appendContextToPath as
|
|
38
|
-
import { UNSAVED_CHANGE_LABEL_MAX as
|
|
39
|
-
import
|
|
32
|
+
import { useHasAnimated as le } from "./shared/hooks/useHasAnimated.js";
|
|
33
|
+
import { useReferralAttribution as ue } from "./shared/hooks/useReferralAttribution.js";
|
|
34
|
+
import { useRecordProductVisit as de } from "./shared/hooks/useRecordProductVisit.js";
|
|
35
|
+
import { usePushDeviceRegistration as fe } from "./shared/hooks/usePushDeviceRegistration.js";
|
|
36
|
+
import { QUOTA_EXHAUSTED_EVENT as pe, dispatchQuotaExhausted as me, useQuotaErrorToast as he } from "./shared/hooks/useQuotaErrorToast.js";
|
|
37
|
+
import { PLAN_USAGE_SNAPSHOT_EVENT as ge, publishPlanUsageSnapshot as _e, useUpgradePrompt as ve } from "./shared/hooks/useUpgradePrompt.js";
|
|
38
|
+
import { appendContextToPath as ye, useCurrentContextSearchParams as be } from "./shared/hooks/useCurrentContextSearchParams.js";
|
|
39
|
+
import { UNSAVED_CHANGE_LABEL_MAX as xe, listUnsavedChanges as Se, registerUnsavedChange as Ce, unsavedChangesBlocking as we, useUnsavedChanges as Te } from "./shared/navigation/unsavedChanges.js";
|
|
40
|
+
import Ee, { use as De } from "react";
|
|
40
41
|
//#region src/shared/hooks/index.ts
|
|
41
|
-
var $ =
|
|
42
|
-
function
|
|
43
|
-
let e =
|
|
42
|
+
var $ = Ee.createContext(null);
|
|
43
|
+
function Oe() {
|
|
44
|
+
let e = De($);
|
|
44
45
|
if (!e) throw Error("useMicrofrontendContext must be used within a MicrofrontendProvider");
|
|
45
46
|
return e;
|
|
46
47
|
}
|
|
47
48
|
//#endregion
|
|
48
|
-
export { D as BREAKPOINTS, a as ConsoleTransport, X as GLOBAL_SHORTCUT_CATEGORIES, n as LogLevel, r as LogManager, ee as Logger,
|
|
49
|
+
export { D as BREAKPOINTS, re as COMMAND_CHORD_ID_PREFIX, a as ConsoleTransport, X as GLOBAL_SHORTCUT_CATEGORIES, n as LogLevel, r as LogManager, ee as Logger, te as MODIFIER_KEYS, $ as MicrofrontendContext, ge as PLAN_USAGE_SNAPSHOT_EVENT, K as PLATFORM_TYPES, s as PUSH_DEVICE_ID_STORAGE_KEY, pe as QUOTA_EXHAUSTED_EVENT, xe as UNSAVED_CHANGE_LABEL_MAX, ye as appendContextToPath, ie as commandChordShortcuts, Z as createGlobalShortcuts, f as detectPlatform, me as dispatchQuotaExhausted, p as formatKeyCombo, m as getDisplayKeysForPlatform, Q as getGlobalShortcutsByCategory, c as getOrCreatePushDeviceId, h as getShortcutLabel, ae as isChordShortcut, g as isMac, _ as isMobileDevice, v as isTabletDevice, Se as listUnsavedChanges, i as logManager, y as matchesKeyCombo, ne as mergeShortcuts, oe as normalizeChord, b as normalizeKey, x as normalizePlatformCombo, S as parseKeyCombo, _e as publishPlanUsageSnapshot, l as registerPushDevice, Ce as registerUnsavedChange, C as shouldEnableKeyboardShortcuts, w as shouldIgnoreShortcut, u as unregisterPushDevice, we as unsavedChangesBlocking, W as useAsync, G as useAsyncImmediate, O as useBreakpoint, B as useConditionalToggle, e as useCopyToClipboard, be as useCurrentContextSearchParams, T as useDebounce, P as useExclusiveMenu, le as useHasAnimated, J as useHotkeys, M as useKeyPress, N as useKeyboardShortcut, q as useKeyboardShortcuts, F as useLocalStorage, ce as useLogger, t as useMediaQuery, Oe as useMicrofrontendContext, k as useMobileBreakpoint, A as useOnClickOutside, j as useOnClickOutsideWithRef, d as usePWA, U as usePagination, L as usePrevious, R as usePreviousDistinct, z as usePreviousHistory, fe as usePushDeviceRegistration, he as useQuotaErrorToast, de as useRecordProductVisit, ue as useReferralAttribution, o as useReturnFocus, I as useSessionStorage, Y as useShortcutHelp, E as useThrottle, V as useToggle, H as useToggleObject, Te as useUnsavedChanges, ve as useUpgradePrompt, se as withCommandChords };
|
package/dist/shared-keyboard.js
CHANGED
|
@@ -4,4 +4,5 @@ import { useKeyboardShortcut as h, useKeyboardShortcuts as g } from "./shared/ke
|
|
|
4
4
|
import { useHotkeys as _ } from "./shared/keyboard/useHotkeys.js";
|
|
5
5
|
import { useShortcutHelp as v } from "./shared/keyboard/useShortcutHelp.js";
|
|
6
6
|
import { GLOBAL_SHORTCUT_CATEGORIES as y, createGlobalShortcuts as b, getGlobalShortcutsByCategory as x, mergeShortcuts as S } from "./shared/keyboard/globalShortcuts.js";
|
|
7
|
-
|
|
7
|
+
import { COMMAND_CHORD_ID_PREFIX as C, commandChordShortcuts as w, isChordShortcut as T, normalizeChord as E, withCommandChords as D } from "./shared/keyboard/commandChords.js";
|
|
8
|
+
export { C as COMMAND_CHORD_ID_PREFIX, y as GLOBAL_SHORTCUT_CATEGORIES, p as MODIFIER_KEYS, m as PLATFORM_TYPES, w as commandChordShortcuts, b as createGlobalShortcuts, e as detectPlatform, t as formatKeyCombo, n as getDisplayKeysForPlatform, x as getGlobalShortcutsByCategory, r as getShortcutLabel, T as isChordShortcut, i as isMac, a as isMobileDevice, o as isTabletDevice, s as matchesKeyCombo, S as mergeShortcuts, E as normalizeChord, c as normalizeKey, l as normalizePlatformCombo, u as parseKeyCombo, d as shouldEnableKeyboardShortcuts, f as shouldIgnoreShortcut, _ as useHotkeys, h as useKeyboardShortcut, g as useKeyboardShortcuts, v as useShortcutHelp, D as withCommandChords };
|