@burdenoff/fe-libs 2026.522.3 → 2026.522.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,6 +5,8 @@ export interface Product {
5
5
  url: string;
6
6
  icon?: string;
7
7
  color?: string;
8
+ /** When true, render as disabled with a "Coming soon" badge. */
9
+ comingSoon?: boolean;
8
10
  }
9
11
  export interface ProductSwitcherProps {
10
12
  products: Product[];
@@ -1 +1 @@
1
- {"version":3,"file":"ProductSwitcher.d.ts","sourceRoot":"","sources":["../../src/chrome/ProductSwitcher.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CA4HpD,CAAC"}
1
+ {"version":3,"file":"ProductSwitcher.d.ts","sourceRoot":"","sources":["../../src/chrome/ProductSwitcher.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAEhC,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,EAAE,EAAE,CAAC,oBAAoB,CAwIpD,CAAC"}
@@ -10,7 +10,7 @@ var a = ({ products: a, currentProductId: o, onProductChange: s, compact: c = !1
10
10
  if (l) return document.addEventListener("mousedown", e), () => document.removeEventListener("mousedown", e);
11
11
  }, [l]);
12
12
  let p = (e) => {
13
- s ? s(e) : window.location.href = e.url, u(!1);
13
+ e.comingSoon || (s ? s(e) : window.location.href = e.url, u(!1));
14
14
  };
15
15
  return /* @__PURE__ */ i("div", {
16
16
  className: "relative",
@@ -55,7 +55,10 @@ var a = ({ products: a, currentProductId: o, onProductChange: s, compact: c = !1
55
55
  className: "py-1 max-h-96 overflow-y-auto",
56
56
  children: a.map((e) => /* @__PURE__ */ i("button", {
57
57
  onClick: () => p(e),
58
- className: `w-full flex items-center gap-3 px-4 py-2.5 text-body-sm transition-colors ${e.id === o ? "bg-action-ghost-bg-hover text-text-primary font-medium" : "text-text-primary hover:bg-action-ghost-bg-hover"}`,
58
+ disabled: e.comingSoon,
59
+ "aria-disabled": e.comingSoon,
60
+ title: e.comingSoon ? "Coming soon" : void 0,
61
+ className: `w-full flex items-center gap-3 px-4 py-2.5 text-body-sm transition-colors ${e.comingSoon ? "text-text-tertiary cursor-not-allowed opacity-60" : e.id === o ? "bg-action-ghost-bg-hover text-text-primary font-medium" : "text-text-primary hover:bg-action-ghost-bg-hover"}`,
59
62
  children: [
60
63
  /* @__PURE__ */ r("div", {
61
64
  className: "w-8 h-8 rounded flex items-center justify-center flex-shrink-0 text-white font-semibold text-sm",
@@ -66,7 +69,10 @@ var a = ({ products: a, currentProductId: o, onProductChange: s, compact: c = !1
66
69
  className: "flex-1 text-left",
67
70
  children: e.name
68
71
  }),
69
- e.id === o && /* @__PURE__ */ r("svg", {
72
+ e.comingSoon ? /* @__PURE__ */ r("span", {
73
+ className: "text-body-xs px-2 py-0.5 rounded-full bg-bg-sunken text-text-secondary border border-border-subtle",
74
+ children: "Coming soon"
75
+ }) : e.id === o && /* @__PURE__ */ r("svg", {
70
76
  className: "w-5 h-5 text-action-primary-text",
71
77
  fill: "currentColor",
72
78
  viewBox: "0 0 20 20",
@@ -9,6 +9,13 @@ export interface ProductConfig {
9
9
  icon: string;
10
10
  color: string;
11
11
  description?: string;
12
+ /**
13
+ * When true, the product appears in the switcher but is gated:
14
+ * non-clickable, with a "Coming soon" badge. Use this for products
15
+ * that exist in the catalog but aren't yet GA so users see the lineup
16
+ * without being able to navigate into a broken shell.
17
+ */
18
+ comingSoon?: boolean;
12
19
  }
13
20
  export declare const PRODUCT_URLS: {
14
21
  readonly development: {
@@ -38,5 +45,12 @@ export declare function getProductsWithUrls(): {
38
45
  icon: string;
39
46
  color: string;
40
47
  description?: string;
48
+ /**
49
+ * When true, the product appears in the switcher but is gated:
50
+ * non-clickable, with a "Coming soon" badge. Use this for products
51
+ * that exist in the catalog but aren't yet GA so users see the lineup
52
+ * without being able to navigate into a broken shell.
53
+ */
54
+ comingSoon?: boolean;
41
55
  }[];
42
56
  //# sourceMappingURL=products.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../../src/shared/config/products.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;CAef,CAAC;AAEX,eAAO,MAAM,QAAQ,EAAE,aAAa,EA8BnC,CAAC;AAOF,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;GAEG;AACH,wBAAgB,mBAAmB;;QAtE7B,MAAM;UACJ,MAAM;UACN,MAAM;WACL,MAAM;kBACC,MAAM;IAoErB"}
1
+ {"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../../src/shared/config/products.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;CAef,CAAC;AAEX,eAAO,MAAM,QAAQ,EAAE,aAAa,EA0CnC,CAAC;AAOF,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIvD;AAED;;GAEG;AACH,wBAAgB,mBAAmB;;QAzF7B,MAAM;UACJ,MAAM;UACN,MAAM;WACL,MAAM;kBACC,MAAM;IACpB;;;;;OAKG;iBACU,OAAO;IAgFrB"}
@@ -15,40 +15,43 @@ var e = {
15
15
  botlit: "https://app.botlit.ai/"
16
16
  }
17
17
  }, t = [
18
+ {
19
+ id: "vibecontrols",
20
+ name: "VibeControls",
21
+ icon: "VC",
22
+ color: "#10b981",
23
+ description: "Real-time collaboration controls"
24
+ },
25
+ {
26
+ id: "workspaces",
27
+ name: "Workspaces",
28
+ icon: "WS",
29
+ color: "#06b6d4",
30
+ description: "Enterprise collaboration platform"
31
+ },
18
32
  {
19
33
  id: "fluidgrids",
20
34
  name: "FluidGrids",
21
35
  icon: "FG",
22
36
  color: "#3b82f6",
23
- description: "Visual workflow automation platform"
37
+ description: "Visual workflow automation platform",
38
+ comingSoon: !0
24
39
  },
25
40
  {
26
41
  id: "bigconsole",
27
42
  name: "BigConsole",
28
43
  icon: "BC",
29
44
  color: "#8b5cf6",
30
- description: "AI development console"
31
- },
32
- {
33
- id: "workspaces",
34
- name: "Workspaces",
35
- icon: "WS",
36
- color: "#06b6d4",
37
- description: "Enterprise collaboration platform"
38
- },
39
- {
40
- id: "vibecontrols",
41
- name: "VibeControls",
42
- icon: "VC",
43
- color: "#10b981",
44
- description: "Real-time collaboration controls"
45
+ description: "AI development console",
46
+ comingSoon: !0
45
47
  },
46
48
  {
47
49
  id: "botlit",
48
50
  name: "Botlit",
49
51
  icon: "BL",
50
52
  color: "#f59e0b",
51
- description: "AI agent platform"
53
+ description: "AI agent platform",
54
+ comingSoon: !0
52
55
  }
53
56
  ];
54
57
  function n() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.522.3",
3
+ "version": "2026.522.4",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "imports": {