@burdenoff/fe-libs 2026.904.9 → 2026.904.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicFooter.d.ts","sourceRoot":"","sources":["../../src/chrome/DynamicFooter.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAsFzD,MAAM,WAAW,kBAAkB;IACjC,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,kDAAkD;IAClD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,4DAA4D;IAC5D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,aAAa,CAAC,EAC5B,WAAW,EACX,WAAW,EACX,OAAO,EACP,OAAkB,EAClB,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,iBAAiB,EAC9B,cAAiC,EACjC,eAAuB,EACvB,kBAAyB,GAC1B,EAAE,kBAAkB,2CAoLpB"}
1
+ {"version":3,"file":"DynamicFooter.d.ts","sourceRoot":"","sources":["../../src/chrome/DynamicFooter.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AA6FzD,MAAM,WAAW,kBAAkB;IACjC,gFAAgF;IAChF,WAAW,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,iDAAiD;IACjD,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,kDAAkD;IAClD,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;IAC3B,+CAA+C;IAC/C,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,4DAA4D;IAC5D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,wBAAgB,aAAa,CAAC,EAC5B,WAAW,EACX,WAAW,EACX,OAAO,EACP,OAAkB,EAClB,OAAO,EAAE,aAAa,EACtB,WAAW,EAAE,iBAAiB,EAC9B,cAAiC,EACjC,eAAuB,EACvB,kBAAyB,GAC1B,EAAE,kBAAkB,2CAqLpB"}
@@ -1,19 +1,25 @@
1
1
  import { useGatewayClient as e } from "../shared/graphql/GatewayContext.js";
2
2
  import "../shared-graphql.js";
3
- import { useAuth as t } from "../shared/providers/shell/AuthProvider.js";
4
- import { useActiveContext as n } from "../shared/providers/shell/ActiveContextProvider.js";
5
- import { useI18n as r } from "../shared/providers/shell/I18nProvider.js";
6
- import { DEFAULT_FOOTER_COLUMNS as i, DEFAULT_SOCIAL_LINKS as a, Footer as o } from "./Footer.js";
7
- import { BrandMark as s } from "./BrandMark.js";
8
- import { useEffect as c, useMemo as l, useState as u } from "react";
9
- import { Github as d, Globe as f, Linkedin as p, MessageCircle as m, Twitter as h, Youtube as g } from "lucide-react";
10
- import { jsx as _ } from "react/jsx-runtime";
11
- import { gql as v } from "@apollo/client/core";
12
- import { Link as y } from "react-router";
3
+ import { useActiveContext as t } from "../shared/providers/shell/ActiveContextProvider.js";
4
+ import { useI18n as n } from "../shared/providers/shell/I18nProvider.js";
5
+ import { DEFAULT_FOOTER_COLUMNS as r, DEFAULT_SOCIAL_LINKS as i, Footer as a } from "./Footer.js";
6
+ import { BrandMark as o } from "./BrandMark.js";
7
+ import { useEffect as s, useMemo as c, useState as l } from "react";
8
+ import { Github as u, Globe as d, Linkedin as f, MessageCircle as p, Twitter as m, Youtube as h } from "lucide-react";
9
+ import { jsx as g } from "react/jsx-runtime";
10
+ import { gql as _ } from "@apollo/client/core";
11
+ import { Link as v } from "react-router";
13
12
  //#region src/chrome/DynamicFooter.tsx
14
- var b = v`
15
- query GetFooterContentPages($filter: ContentPageFilterInput, $limit: Int) {
16
- contentPages(filter: $filter, limit: $limit) {
13
+ var y = _`
14
+ query GetFooterPublicProduct($slug: String!) {
15
+ publicProduct(slug: $slug) {
16
+ id
17
+ socialLinks
18
+ }
19
+ }
20
+ `, b = _`
21
+ query GetFooterPublicContentPages($productId: String!, $limit: Int) {
22
+ publicContentPages(productId: $productId, limit: $limit) {
17
23
  items {
18
24
  id
19
25
  slug
@@ -23,14 +29,7 @@ var b = v`
23
29
  }
24
30
  }
25
31
  }
26
- `, x = v`
27
- query GetFooterProduct($slug: String!) {
28
- platformProductBySlug(slug: $slug) {
29
- id
30
- socialLinks
31
- }
32
- }
33
- `, S = {
32
+ `, x = {
34
33
  "privacy-policy": "privacy",
35
34
  "terms-of-service": "terms",
36
35
  "cookie-policy": "cookies",
@@ -41,14 +40,14 @@ var b = v`
41
40
  compliance: "compliance",
42
41
  about: "about",
43
42
  contact: "contact"
44
- }, C = {
45
- twitter: /* @__PURE__ */ _(h, { className: "size-5" }),
46
- x: /* @__PURE__ */ _(h, { className: "size-5" }),
47
- github: /* @__PURE__ */ _(d, { className: "size-5" }),
48
- discord: /* @__PURE__ */ _(m, { className: "size-5" }),
49
- linkedin: /* @__PURE__ */ _(p, { className: "size-5" }),
50
- youtube: /* @__PURE__ */ _(g, { className: "size-5" })
51
- }, w = [
43
+ }, S = {
44
+ twitter: /* @__PURE__ */ g(m, { className: "size-5" }),
45
+ x: /* @__PURE__ */ g(m, { className: "size-5" }),
46
+ github: /* @__PURE__ */ g(u, { className: "size-5" }),
47
+ discord: /* @__PURE__ */ g(p, { className: "size-5" }),
48
+ linkedin: /* @__PURE__ */ g(f, { className: "size-5" }),
49
+ youtube: /* @__PURE__ */ g(h, { className: "size-5" })
50
+ }, C = [
52
51
  "terms-of-service",
53
52
  "privacy-policy",
54
53
  "security",
@@ -58,106 +57,103 @@ var b = v`
58
57
  "sla",
59
58
  "refund-policy"
60
59
  ];
61
- function T(e) {
60
+ function w(e) {
62
61
  return e.trim().replace(/[^A-Za-z0-9 ]/g, "").split(/\s+/).map((e, t) => t === 0 ? e.toLowerCase() : e.charAt(0).toUpperCase() + e.slice(1).toLowerCase()).join("");
63
62
  }
64
- function E({ productSlug: d, productName: p, tagline: m, version: h = "v1.0.0", columns: g, socialLinks: v, legalPageOrder: E = w, deferRemoteData: D = !1, hideOnInstalledApp: O = !0 }) {
65
- let { workspaceId: k, projectId: A } = n(), { isAuthenticated: j } = t(), M = e("global"), { t: N } = r(), [P, F] = u(null), [I, L] = u(null);
66
- c(() => {
67
- if (!j || !M || D) return;
63
+ function T({ productSlug: u, productName: f, tagline: p, version: m = "v1.0.0", columns: h, socialLinks: _, legalPageOrder: T = C, deferRemoteData: E = !1, hideOnInstalledApp: D = !0 }) {
64
+ let { workspaceId: O, projectId: k } = t(), A = e("global"), { t: j } = n(), [M, N] = l(null), [P, F] = l(null);
65
+ s(() => {
66
+ if (!A || E) return;
68
67
  let e = !1;
69
- return M.query({
70
- query: b,
71
- variables: {
72
- filter: { isPublished: !0 },
73
- limit: 50
74
- },
68
+ return A.query({
69
+ query: y,
70
+ variables: { slug: u },
75
71
  fetchPolicy: "cache-first"
76
72
  }).then((t) => {
77
- let n = t.data;
78
- if (e || !n?.contentPages?.items) return;
79
- let r = n.contentPages.items, i = E.map((e) => r.find((t) => t.slug === e)).filter((e) => e != null).map((e) => ({
73
+ if (e) return;
74
+ let n = t.data?.publicProduct;
75
+ if (n) {
76
+ if (!_) {
77
+ let e = n.socialLinks;
78
+ if (e && Object.keys(e).length > 0) {
79
+ let t = Object.entries(e).map(([e, t]) => ({
80
+ id: e,
81
+ label: e.charAt(0).toUpperCase() + e.slice(1),
82
+ href: t,
83
+ icon: S[e.toLowerCase()] || /* @__PURE__ */ g(d, { className: "size-5" })
84
+ }));
85
+ t.length > 0 && F(t);
86
+ }
87
+ }
88
+ return A.query({
89
+ query: b,
90
+ variables: {
91
+ productId: n.id,
92
+ limit: 50
93
+ },
94
+ fetchPolicy: "cache-first"
95
+ });
96
+ }
97
+ }).then((t) => {
98
+ if (e || !t) return;
99
+ let n = t.data?.publicContentPages?.items;
100
+ if (!n) return;
101
+ let r = T.map((e) => n.find((t) => t.slug === e)).filter((e) => e != null).map((e) => ({
80
102
  id: e.slug,
81
103
  label: e.title,
82
- href: `/legal/${S[e.slug] || e.slug}`
83
- }));
84
- i.length > 0 && F(i);
85
- }).catch(() => {}), () => {
86
- e = !0;
87
- };
88
- }, [
89
- D,
90
- M,
91
- j,
92
- E
93
- ]), c(() => {
94
- if (!j || !M || v || D) return;
95
- let e = !1;
96
- return M.query({
97
- query: x,
98
- variables: { slug: d },
99
- fetchPolicy: "cache-first"
100
- }).then((t) => {
101
- if (e) return;
102
- let n = t.data?.platformProductBySlug?.socialLinks;
103
- if (!n || Object.keys(n).length === 0) return;
104
- let r = Object.entries(n).map(([e, t]) => ({
105
- id: e,
106
- label: e.charAt(0).toUpperCase() + e.slice(1),
107
- href: t,
108
- icon: C[e.toLowerCase()] || /* @__PURE__ */ _(f, { className: "size-5" })
104
+ href: `/legal/${x[e.slug] || e.slug}`
109
105
  }));
110
- r.length > 0 && L(r);
106
+ r.length > 0 && N(r);
111
107
  }).catch(() => {}), () => {
112
108
  e = !0;
113
109
  };
114
110
  }, [
115
- v,
116
- D,
117
- M,
118
- j,
119
- d
111
+ _,
112
+ E,
113
+ A,
114
+ T,
115
+ u
120
116
  ]);
121
- let R = l(() => {
122
- let e = g ?? i, t = P ? e.map((e) => e.title === "Legal" ? {
117
+ let I = c(() => {
118
+ let e = h ?? r, t = M ? e.map((e) => e.title === "Legal" ? {
123
119
  ...e,
124
- links: P
120
+ links: M
125
121
  } : e) : e, n = (e, t) => {
126
- let n = N(e);
122
+ let n = j(e);
127
123
  return n === e ? t : n;
128
124
  };
129
125
  return t.map((e) => ({
130
126
  ...e,
131
- title: n(`footer.columns.${T(e.title)}`, e.title),
127
+ title: n(`footer.columns.${w(e.title)}`, e.title),
132
128
  links: e.links.map((e) => e.brand ? e : {
133
129
  ...e,
134
130
  label: n(`footer.links.${e.id}`, e.label)
135
131
  })
136
132
  }));
137
133
  }, [
138
- P,
139
- g,
140
- N
134
+ M,
135
+ h,
136
+ j
141
137
  ]);
142
- return /* @__PURE__ */ _(o, {
143
- logo: /* @__PURE__ */ _(s, { size: "sidenav" }),
144
- productName: p,
145
- tagline: m,
146
- columns: R,
147
- socialLinks: v ?? I ?? a,
148
- version: h,
149
- hideOnInstalledApp: O,
138
+ return /* @__PURE__ */ g(a, {
139
+ logo: /* @__PURE__ */ g(o, { size: "sidenav" }),
140
+ productName: f,
141
+ tagline: p,
142
+ columns: I,
143
+ socialLinks: _ ?? P ?? i,
144
+ version: m,
145
+ hideOnInstalledApp: D,
150
146
  context: {
151
- workspace: k ?? void 0,
152
- project: A ?? void 0
147
+ workspace: O ?? void 0,
148
+ project: k ?? void 0
153
149
  },
154
- renderLink: ({ href: e, external: t, children: n, className: r }) => t ? /* @__PURE__ */ _("a", {
150
+ renderLink: ({ href: e, external: t, children: n, className: r }) => t ? /* @__PURE__ */ g("a", {
155
151
  href: e,
156
152
  target: "_blank",
157
153
  rel: "noopener noreferrer",
158
154
  className: r,
159
155
  children: n
160
- }) : /* @__PURE__ */ _(y, {
156
+ }) : /* @__PURE__ */ g(v, {
161
157
  to: e,
162
158
  className: r,
163
159
  children: n
@@ -165,4 +161,4 @@ function E({ productSlug: d, productName: p, tagline: m, version: h = "v1.0.0",
165
161
  });
166
162
  }
167
163
  //#endregion
168
- export { E as DynamicFooter };
164
+ export { T as DynamicFooter };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@burdenoff/fe-libs",
3
- "version": "2026.904.9",
3
+ "version": "2026.904.10",
4
4
  "description": "Burdenoff frontend primitives and domain libraries",
5
5
  "type": "module",
6
6
  "bin": {