@burdenoff/fe-libs 2026.926.4 → 2026.926.5
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/ProductPickerSheet.d.ts.map +1 -1
- package/dist/chrome/ProductPickerSheet.js +45 -44
- package/dist/chrome/ProductSwitcher.d.ts.map +1 -1
- package/dist/chrome/ProductSwitcher.js +83 -82
- package/dist/shared/config/index.d.ts +3 -1
- package/dist/shared/config/index.d.ts.map +1 -1
- package/dist/shared/config/productSlug.d.ts +36 -0
- package/dist/shared/config/productSlug.d.ts.map +1 -0
- package/dist/shared/config/productSlug.js +23 -0
- package/dist/shared/config/products.d.ts +8 -1
- package/dist/shared/config/products.d.ts.map +1 -1
- package/dist/shared/config/products.js +21 -14
- package/dist/shared/hooks/shell/useProducts.d.ts +8 -0
- package/dist/shared/hooks/shell/useProducts.d.ts.map +1 -1
- package/dist/shared/hooks/shell/useProducts.js +46 -42
- package/dist/shared/providers/AppShellProvider.d.ts.map +1 -1
- package/dist/shared/providers/AppShellProvider.js +228 -227
- package/dist/shared/providers/shell/ThemeProvider.d.ts +1 -1
- package/dist/shared/providers/shell/ThemeProvider.d.ts.map +1 -1
- package/dist/shared/providers/shell/ThemeProvider.js +58 -57
- package/dist/shared/providers/shell/brandAttribute.d.ts +11 -0
- package/dist/shared/providers/shell/brandAttribute.d.ts.map +1 -0
- package/dist/shared/providers/shell/brandAttribute.js +7 -0
- package/dist/shared-config.js +11 -10
- package/dist/shared.js +121 -120
- package/package.json +2 -2
- package/src/vite/types.ts +4 -1
|
@@ -1,11 +1,12 @@
|
|
|
1
|
+
import { emitProductSlug as e, isSameProductSlug as t, legacyProductSlug as n } from "./productSlug.js";
|
|
1
2
|
//#region src/shared/config/products.ts
|
|
2
|
-
var e = {
|
|
3
|
+
var r = e("botmanor"), i = {
|
|
3
4
|
development: {
|
|
4
5
|
fluidgrids: "http://localhost:5147/",
|
|
5
6
|
bigconsole: "http://localhost:5148/",
|
|
6
7
|
workspaces: "http://localhost:5149/",
|
|
7
8
|
vibecontrols: "http://localhost:5151/",
|
|
8
|
-
botlit: "http://localhost:
|
|
9
|
+
botlit: "http://localhost:5260/"
|
|
9
10
|
},
|
|
10
11
|
production: {
|
|
11
12
|
fluidgrids: "https://app.fluidgrids.com/",
|
|
@@ -47,7 +48,7 @@ var e = {
|
|
|
47
48
|
theculturepost: "https://app.theculturepost.com/",
|
|
48
49
|
theglobalfuel: "https://app.theglobalfuel.com/"
|
|
49
50
|
}
|
|
50
|
-
},
|
|
51
|
+
}, a = [
|
|
51
52
|
{
|
|
52
53
|
id: "vibecontrols",
|
|
53
54
|
name: "VibeControls",
|
|
@@ -77,7 +78,7 @@ var e = {
|
|
|
77
78
|
description: "AI development console"
|
|
78
79
|
},
|
|
79
80
|
{
|
|
80
|
-
id:
|
|
81
|
+
id: r,
|
|
81
82
|
name: "BotManor",
|
|
82
83
|
icon: "BL",
|
|
83
84
|
color: "#f59e0b",
|
|
@@ -316,21 +317,27 @@ var e = {
|
|
|
316
317
|
description: "Energy, minerals & resources platform"
|
|
317
318
|
}
|
|
318
319
|
];
|
|
319
|
-
function
|
|
320
|
+
function o() {
|
|
320
321
|
return "production";
|
|
321
322
|
}
|
|
322
|
-
function
|
|
323
|
-
return e[n()]
|
|
323
|
+
function s(e, t) {
|
|
324
|
+
return e[t] ?? e[n(t)];
|
|
324
325
|
}
|
|
325
|
-
function
|
|
326
|
-
|
|
327
|
-
return n ? `${n}icons/icon.svg` : void 0;
|
|
326
|
+
function c(e) {
|
|
327
|
+
return s(i[o()], e) || "#";
|
|
328
328
|
}
|
|
329
|
-
function
|
|
330
|
-
return
|
|
329
|
+
function l(e) {
|
|
330
|
+
return a.find((n) => t(n.id, e));
|
|
331
|
+
}
|
|
332
|
+
function u(e) {
|
|
333
|
+
let t = s(i.production, e);
|
|
334
|
+
return t ? `${t}icons/icon.svg` : void 0;
|
|
335
|
+
}
|
|
336
|
+
function d() {
|
|
337
|
+
return a.map((e) => ({
|
|
331
338
|
...e,
|
|
332
|
-
url:
|
|
339
|
+
url: c(e.id)
|
|
333
340
|
}));
|
|
334
341
|
}
|
|
335
342
|
//#endregion
|
|
336
|
-
export {
|
|
343
|
+
export { r as BOTMANOR_PRODUCT_SLUG, a as PRODUCTS, i as PRODUCT_URLS, l as findProductConfig, u as getProductLogoUrl, c as getProductUrl, d as getProductsWithUrls };
|
|
@@ -6,6 +6,14 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module @burdenoff/fe-libs/shared/hooks/shell/useProducts
|
|
8
8
|
*/
|
|
9
|
+
export declare function isKnownProductSlug(slug: string): boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Index registry products by normalised slug so a catalog entry finds its API
|
|
12
|
+
* row whichever spelling of a renamed slug either side uses.
|
|
13
|
+
*/
|
|
14
|
+
export declare function indexApiProductsBySlug<T extends {
|
|
15
|
+
slug: string;
|
|
16
|
+
}>(apiProducts: readonly T[]): Map<string, T>;
|
|
9
17
|
/**
|
|
10
18
|
* Reject API appUrls that are clearly not production-safe: non-https schemes,
|
|
11
19
|
* localhost/loopback addresses, or empty values. The static catalog URL is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useProducts.d.ts","sourceRoot":"","sources":["../../../../src/shared/hooks/shell/useProducts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"useProducts.d.ts","sourceRoot":"","sources":["../../../../src/shared/hooks/shell/useProducts.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA+DH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAC/D,WAAW,EAAE,SAAS,CAAC,EAAE,GACxB,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAMhB;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,GAAG,IAAI,MAAM,CAU7E;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iFAAiF;IACjF,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAeD,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,kBAAkB,GAAG,iBAAiB,CAqE3E"}
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
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 i } from "../../graphql/GatewayContext.js";
|
|
3
4
|
import "../../../shared-graphql.js";
|
|
4
|
-
import { useCallback as
|
|
5
|
-
import { gql as
|
|
5
|
+
import { useCallback as a, useEffect as o, useState as s } from "react";
|
|
6
|
+
import { gql as c } from "@apollo/client/core";
|
|
6
7
|
//#region src/shared/hooks/shell/useProducts.ts
|
|
7
|
-
var
|
|
8
|
-
function
|
|
9
|
-
return
|
|
8
|
+
var l = new Set(t.map((t) => e(t.id))), u = new Map(t.map((t) => [e(t.id), t.comingSoon === !0]));
|
|
9
|
+
function d(t, n, r) {
|
|
10
|
+
return u.get(e(t)) ? !0 : n !== "ACTIVE" || !r;
|
|
10
11
|
}
|
|
11
|
-
var
|
|
12
|
+
var f = c`
|
|
12
13
|
query GetAccessibleProducts($limit: Int, $offset: Int) {
|
|
13
14
|
myAccessibleProducts(limit: $limit, offset: $offset) {
|
|
14
15
|
items {
|
|
@@ -25,10 +26,13 @@ var d = s`
|
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
`;
|
|
28
|
-
function
|
|
29
|
-
return
|
|
29
|
+
function p(t) {
|
|
30
|
+
return l.has(e(t));
|
|
30
31
|
}
|
|
31
|
-
function
|
|
32
|
+
function m(t) {
|
|
33
|
+
return new Map(t.filter((e) => p(e.slug)).map((t) => [e(t.slug), t]));
|
|
34
|
+
}
|
|
35
|
+
function h(e) {
|
|
32
36
|
if (!e || !e.startsWith("https://") || e.includes("localhost") || e.includes("127.0.0.1")) return !1;
|
|
33
37
|
try {
|
|
34
38
|
let t = new URL(e);
|
|
@@ -37,59 +41,59 @@ function p(e) {
|
|
|
37
41
|
return !1;
|
|
38
42
|
}
|
|
39
43
|
}
|
|
40
|
-
function
|
|
41
|
-
return
|
|
44
|
+
function g() {
|
|
45
|
+
return t.map((e) => ({
|
|
42
46
|
id: e.id,
|
|
43
47
|
name: e.name,
|
|
44
|
-
url:
|
|
48
|
+
url: r(e.id),
|
|
45
49
|
icon: e.icon,
|
|
46
50
|
color: e.color,
|
|
47
|
-
logoUrl:
|
|
51
|
+
logoUrl: n(e.id),
|
|
48
52
|
comingSoon: e.comingSoon === !0
|
|
49
53
|
}));
|
|
50
54
|
}
|
|
51
|
-
function
|
|
52
|
-
let
|
|
53
|
-
|
|
55
|
+
function _(c) {
|
|
56
|
+
let l = i("global"), [u, p] = s(g()), [_, v] = s(c?.autoFetch !== !1), [y, b] = s(null), x = a(async () => {
|
|
57
|
+
v(!0), b(null);
|
|
54
58
|
try {
|
|
55
|
-
let
|
|
56
|
-
query:
|
|
59
|
+
let i = m((await l.query({
|
|
60
|
+
query: f,
|
|
57
61
|
variables: {
|
|
58
62
|
limit: 50,
|
|
59
63
|
offset: 0
|
|
60
64
|
},
|
|
61
65
|
fetchPolicy: "cache-first"
|
|
62
|
-
})).data?.myAccessibleProducts?.items || []
|
|
63
|
-
let
|
|
66
|
+
})).data?.myAccessibleProducts?.items || []), a = t.map((t) => {
|
|
67
|
+
let a = i.get(e(t.id));
|
|
64
68
|
return {
|
|
65
|
-
id:
|
|
66
|
-
name:
|
|
67
|
-
url:
|
|
68
|
-
icon:
|
|
69
|
-
color:
|
|
70
|
-
logoUrl: t
|
|
71
|
-
comingSoon:
|
|
69
|
+
id: t.id,
|
|
70
|
+
name: t.name,
|
|
71
|
+
url: h(a?.appUrl) ? a.appUrl : r(t.id),
|
|
72
|
+
icon: t.icon,
|
|
73
|
+
color: a?.metadata && typeof a.metadata.color == "string" ? a.metadata.color : t.color,
|
|
74
|
+
logoUrl: n(t.id),
|
|
75
|
+
comingSoon: a ? d(t.id, a.status, a.appUrl) : t.comingSoon === !0
|
|
72
76
|
};
|
|
73
77
|
});
|
|
74
|
-
a.sort((e, t) => e.name.localeCompare(t.name)),
|
|
78
|
+
a.sort((e, t) => e.name.localeCompare(t.name)), p(a);
|
|
75
79
|
} catch (e) {
|
|
76
|
-
|
|
80
|
+
b(e instanceof Error ? e.message : "Failed to fetch products"), p(g());
|
|
77
81
|
} finally {
|
|
78
|
-
|
|
82
|
+
v(!1);
|
|
79
83
|
}
|
|
80
|
-
}, [
|
|
81
|
-
return
|
|
82
|
-
if (
|
|
83
|
-
|
|
84
|
+
}, [l]);
|
|
85
|
+
return o(() => {
|
|
86
|
+
if (c?.autoFetch === !1) {
|
|
87
|
+
v(!1);
|
|
84
88
|
return;
|
|
85
89
|
}
|
|
86
|
-
|
|
90
|
+
x();
|
|
87
91
|
}, []), {
|
|
88
|
-
products:
|
|
89
|
-
isLoading:
|
|
90
|
-
error:
|
|
91
|
-
refetch:
|
|
92
|
+
products: u,
|
|
93
|
+
isLoading: _,
|
|
94
|
+
error: y,
|
|
95
|
+
refetch: x
|
|
92
96
|
};
|
|
93
97
|
}
|
|
94
98
|
//#endregion
|
|
95
|
-
export {
|
|
99
|
+
export { _ as useProducts };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AppShellProvider.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/AppShellProvider.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,OAAO,EAAqD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAa1F,OAAO,EAEL,KAAK,KAAK,EACV,KAAK,SAAS,EACd,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,cAAc,EACpB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"AppShellProvider.d.ts","sourceRoot":"","sources":["../../../src/shared/providers/AppShellProvider.tsx"],"names":[],"mappings":"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"}
|