@netfoundry/docusaurus-theme 0.10.9 → 0.10.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":"index.d.ts","sourceRoot":"","sources":["../../../../../theme/NavbarItem/types/ProductPicker/index.tsx"],"names":[],"mappings":"AAOA,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAgCF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAC,KAAkB,EAAE,SAAS,EAAC,EAAE,KAAK,2CA8B3E"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../theme/NavbarItem/types/ProductPicker/index.tsx"],"names":[],"mappings":"AAQA,MAAM,MAAM,UAAU,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,UAAU,EAAE,CAAC;CACrB,CAAC;AAEF,KAAK,KAAK,GAAG;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AA6CF,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,EAAC,KAAkB,EAAE,SAAS,EAAC,EAAE,KAAK,2CAgC3E"}
@@ -3,6 +3,7 @@ import Link from '@docusaurus/Link';
3
3
  import clsx from 'clsx';
4
4
  import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
5
5
  import { useThemeConfig } from '@docusaurus/theme-common';
6
+ import { useLocation } from 'react-router-dom';
6
7
  import NavbarPicker from '../../NavbarPicker';
7
8
  const HEADER_CLASSES = ['picker-header--nf-tertiary', 'picker-header--nf-secondary', 'picker-header--nf-primary'];
8
9
  const NF_LOGO_DEFAULT = 'https://raw.githubusercontent.com/netfoundry/branding/refs/heads/main/images/svg/icon/netfoundry-icon-color.svg';
@@ -32,14 +33,29 @@ const buildDefaultColumns = (img, consoleLogo) => [
32
33
  ],
33
34
  },
34
35
  ];
36
+ function pathLabel(pathname, columns, fallback) {
37
+ for (const col of columns) {
38
+ for (const link of col.links) {
39
+ const parts = link.to.replace(/^https?:\/\/[^/]+/, '').split('/').filter(Boolean);
40
+ if (parts.length >= 2) {
41
+ const prefix = '/' + parts.slice(0, 2).join('/');
42
+ if (pathname.startsWith(prefix))
43
+ return link.label;
44
+ }
45
+ }
46
+ }
47
+ return fallback;
48
+ }
35
49
  export default function ProductPicker({ label = 'Products', className }) {
36
50
  const { siteConfig } = useDocusaurusContext();
37
51
  const themeConfig = useThemeConfig();
52
+ const { pathname } = useLocation();
38
53
  const consoleLogo = themeConfig?.netfoundry?.consoleLogo ?? NF_LOGO_DEFAULT;
39
54
  const img = `${siteConfig.url}${siteConfig.baseUrl}img`;
40
55
  const columns = (themeConfig?.netfoundry?.productPickerColumns ?? [])
41
56
  .map((col, i) => ({ ...col, headerClass: HEADER_CLASSES[i] ?? '' }));
42
57
  const resolvedColumns = columns.length ? columns : buildDefaultColumns(img, consoleLogo);
43
- return (_jsx(NavbarPicker, { label: label, className: className, children: _jsx("div", { className: "picker-content", children: resolvedColumns.map((col, i) => (_jsxs("div", { className: "picker-column", children: [_jsx("span", { className: clsx('picker-header', col.headerClass), children: col.header }), col.links.map((link, j) => (_jsxs(Link, { to: link.to, className: "picker-link", children: [link.logo && _jsx("img", { src: link.logo, className: clsx('picker-logo', link.logoDark && 'picker-logo--light'), alt: "" }), link.logoDark && _jsx("img", { src: link.logoDark, className: "picker-logo picker-logo--dark", alt: "" }), _jsxs("div", { className: "picker-text", children: [_jsx("strong", { children: link.label }), link.description && _jsx("span", { children: link.description })] })] }, j)))] }, i))) }) }));
58
+ const resolvedLabel = pathLabel(pathname, resolvedColumns, label);
59
+ return (_jsx(NavbarPicker, { label: resolvedLabel, className: className, children: _jsx("div", { className: "picker-content", children: resolvedColumns.map((col, i) => (_jsxs("div", { className: "picker-column", children: [_jsx("span", { className: clsx('picker-header', col.headerClass), children: col.header }), col.links.map((link, j) => (_jsxs(Link, { to: link.to, className: "picker-link", children: [link.logo && _jsx("img", { src: link.logo, className: clsx('picker-logo', link.logoDark && 'picker-logo--light'), alt: "" }), link.logoDark && _jsx("img", { src: link.logoDark, className: "picker-logo picker-logo--dark", alt: "" }), _jsxs("div", { className: "picker-text", children: [_jsx("strong", { children: link.label }), link.description && _jsx("span", { children: link.description })] })] }, j)))] }, i))) }) }));
44
60
  }
45
61
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../theme/NavbarItem/types/ProductPicker/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../theme/NavbarItem/types/ProductPicker/index.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@netfoundry/docusaurus-theme",
3
- "version": "0.10.9",
3
+ "version": "0.10.10",
4
4
  "description": "NetFoundry Docusaurus theme with shared layout, footer, and styling",
5
5
  "main": "dist/src/index.js",
6
6
  "types": "dist/src/index.d.ts",
@@ -3,6 +3,7 @@ import Link from '@docusaurus/Link';
3
3
  import clsx from 'clsx';
4
4
  import useDocusaurusContext from '@docusaurus/useDocusaurusContext';
5
5
  import {useThemeConfig} from '@docusaurus/theme-common';
6
+ import {useLocation} from 'react-router-dom';
6
7
  import NavbarPicker from '../../NavbarPicker';
7
8
 
8
9
  export type PickerLink = {
@@ -55,17 +56,32 @@ const buildDefaultColumns = (img: string, consoleLogo: string): PickerColumn[] =
55
56
  },
56
57
  ];
57
58
 
59
+ function pathLabel(pathname: string, columns: PickerColumn[], fallback: string): string {
60
+ for (const col of columns) {
61
+ for (const link of col.links) {
62
+ const parts = link.to.replace(/^https?:\/\/[^/]+/, '').split('/').filter(Boolean);
63
+ if (parts.length >= 2) {
64
+ const prefix = '/' + parts.slice(0, 2).join('/');
65
+ if (pathname.startsWith(prefix)) return link.label;
66
+ }
67
+ }
68
+ }
69
+ return fallback;
70
+ }
71
+
58
72
  export default function ProductPicker({label = 'Products', className}: Props) {
59
73
  const {siteConfig} = useDocusaurusContext();
60
74
  const themeConfig = useThemeConfig() as any;
75
+ const {pathname} = useLocation();
61
76
  const consoleLogo = themeConfig?.netfoundry?.consoleLogo ?? NF_LOGO_DEFAULT;
62
77
  const img = `${siteConfig.url}${siteConfig.baseUrl}img`;
63
78
  const columns: PickerColumn[] = (themeConfig?.netfoundry?.productPickerColumns ?? [])
64
79
  .map((col: any, i: number) => ({...col, headerClass: HEADER_CLASSES[i] ?? ''}));
65
80
  const resolvedColumns = columns.length ? columns : buildDefaultColumns(img, consoleLogo);
81
+ const resolvedLabel = pathLabel(pathname, resolvedColumns, label);
66
82
 
67
83
  return (
68
- <NavbarPicker label={label} className={className}>
84
+ <NavbarPicker label={resolvedLabel} className={className}>
69
85
  <div className="picker-content">
70
86
  {resolvedColumns.map((col, i) => (
71
87
  <div key={i} className="picker-column">