boreal-ui 0.0.70 → 0.0.71

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.
@@ -70,6 +70,7 @@ const classes = {
70
70
  container: "nav",
71
71
  item: "nav_item",
72
72
  list: "nav_list",
73
+ listItem: "nav_list_item",
73
74
  item_active: "nav_active",
74
75
  icon: "nav_icon_container",
75
76
  label: "nav_label",
@@ -91,17 +92,21 @@ const classes = {
91
92
  roundFull: "nav_round-Full"
92
93
  };
93
94
  const normalizePath = (p) => p.endsWith("/") && p.length > 1 ? p.slice(0, -1) : p;
94
- const NavBar = (props) => {
95
- const [pathname, setPathname] = useState("");
95
+ const NavBar = ({
96
+ isItemActive: consumerIsItemActive,
97
+ ...props
98
+ }) => {
99
+ const [pathname, setPathname] = useState("/");
96
100
  useEffect(() => {
97
- setPathname(window.location.pathname);
101
+ setPathname(window.location.pathname || "/");
98
102
  }, []);
99
- const isItemActive = (item) => normalizePath(item.path) === normalizePath(pathname);
103
+ const defaultIsItemActive = (item) => normalizePath(item.path) === normalizePath(pathname);
104
+ const resolvedIsItemActive = consumerIsItemActive ?? defaultIsItemActive;
100
105
  return /* @__PURE__ */ jsx(
101
106
  BaseNavBar,
102
107
  {
103
108
  ...props,
104
- isItemActive,
109
+ isItemActive: resolvedIsItemActive,
105
110
  LinkWrapper: ({
106
111
  href,
107
112
  children,
@@ -126,4 +131,4 @@ NavBar.displayName = "NavBar";
126
131
  export {
127
132
  NavBar as N
128
133
  };
129
- //# sourceMappingURL=NavBar-oZrT55L_.js.map
134
+ //# sourceMappingURL=NavBar-BcL7Dh52.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavBar-BcL7Dh52.js","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/core/NavBar.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BaseNavBarProps } from \"./NavBar.types\";\r\n\r\nconst slugify = (s: string) =>\r\n s\r\n .toLowerCase()\r\n .trim()\r\n .replace(/\\s+/g, \"-\")\r\n .replace(/[^a-z0-9]/g, \"\");\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n LinkWrapper,\r\n classMap,\r\n isItemActive,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n \"data-testid\": testId = \"nav-bar\",\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme, className],\r\n );\r\n\r\n const itemClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.item,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, shadow, rounding],\r\n );\r\n\r\n return (\r\n <nav\r\n aria-label=\"Main navigation\"\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n <ul className={classMap.list}>\r\n {items.map((item) => {\r\n const isActive = isItemActive?.(item) ?? false;\r\n const slug = slugify(item.label || item.path);\r\n\r\n return (\r\n <li key={`${item.path}-${slug}`} className={classMap.listItem}>\r\n <LinkWrapper\r\n href={item.path}\r\n isActive={isActive}\r\n className={combineClassNames(\r\n itemClass,\r\n isActive && classMap.item_active,\r\n )}\r\n data-testid={`${testId}-nav-item-${slug}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n >\r\n <span className={classMap.linkContent}>\r\n {item.icon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${slug}`}\r\n >\r\n {item.icon}\r\n </span>\r\n )}\r\n <span className={classMap.label}>{item.label}</span>\r\n </span>\r\n </LinkWrapper>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n );\r\n};\r\n\r\nBaseNavBar.displayName = \"BaseNavBar\";\r\nexport default BaseNavBar;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport BaseNavBar from \"../NavBarBase\";\r\nimport \"./NavBar.scss\";\r\nimport { NavBarProps, NavItem } from \"../NavBar.types\";\r\n\r\nconst classes = {\r\n container: \"nav\",\r\n item: \"nav_item\",\r\n list: \"nav_list\",\r\n listItem: \"nav_list_item\",\r\n item_active: \"nav_active\",\r\n icon: \"nav_icon_container\",\r\n label: \"nav_label\",\r\n linkContent: \"nav_link_container\",\r\n\r\n primary: \"nav_primary\",\r\n secondary: \"nav_secondary\",\r\n tertiary: \"nav_tertiary\",\r\n quaternary: \"nav_quaternary\",\r\n clear: \"nav_clear\",\r\n\r\n shadowNone: \"nav_shadow-None\",\r\n shadowLight: \"nav_shadow-Light\",\r\n shadowMedium: \"nav_shadow-Medium\",\r\n shadowStrong: \"nav_shadow-Strong\",\r\n shadowIntense: \"nav_shadow-Intense\",\r\n\r\n roundNone: \"nav_round-None\",\r\n roundSmall: \"nav_round-Small\",\r\n roundMedium: \"nav_round-Medium\",\r\n roundLarge: \"nav_round-Large\",\r\n roundFull: \"nav_round-Full\",\r\n};\r\n\r\nconst normalizePath = (p: string) =>\r\n p.endsWith(\"/\") && p.length > 1 ? p.slice(0, -1) : p;\r\n\r\nconst NavBar: React.FC<NavBarProps> = ({\r\n isItemActive: consumerIsItemActive,\r\n ...props\r\n}) => {\r\n const [pathname, setPathname] = useState(\"/\");\r\n\r\n useEffect(() => {\r\n setPathname(window.location.pathname || \"/\");\r\n }, []);\r\n\r\n const defaultIsItemActive = (item: NavItem) =>\r\n normalizePath(item.path) === normalizePath(pathname);\r\n\r\n const resolvedIsItemActive = consumerIsItemActive ?? defaultIsItemActive;\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n isItemActive={resolvedIsItemActive}\r\n LinkWrapper={({\r\n href,\r\n children,\r\n className,\r\n isActive,\r\n \"data-testid\": testId,\r\n }) => (\r\n <a\r\n href={href}\r\n className={className}\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </a>\r\n )}\r\n classMap={classes}\r\n />\r\n );\r\n};\r\n\r\nNavBar.displayName = \"NavBar\";\r\nexport default NavBar;\r\n"],"names":[],"mappings":"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"}
@@ -71,6 +71,7 @@ const classes = {
71
71
  container: "nav",
72
72
  item: "nav_item",
73
73
  list: "nav_list",
74
+ listItem: "nav_list_item",
74
75
  item_active: "nav_active",
75
76
  icon: "nav_icon_container",
76
77
  label: "nav_label",
@@ -92,17 +93,21 @@ const classes = {
92
93
  roundFull: "nav_round-Full"
93
94
  };
94
95
  const normalizePath = (p) => p.endsWith("/") && p.length > 1 ? p.slice(0, -1) : p;
95
- const NavBar = (props) => {
96
- const [pathname, setPathname] = React.useState("");
96
+ const NavBar = ({
97
+ isItemActive: consumerIsItemActive,
98
+ ...props
99
+ }) => {
100
+ const [pathname, setPathname] = React.useState("/");
97
101
  React.useEffect(() => {
98
- setPathname(window.location.pathname);
102
+ setPathname(window.location.pathname || "/");
99
103
  }, []);
100
- const isItemActive = (item) => normalizePath(item.path) === normalizePath(pathname);
104
+ const defaultIsItemActive = (item) => normalizePath(item.path) === normalizePath(pathname);
105
+ const resolvedIsItemActive = consumerIsItemActive ?? defaultIsItemActive;
101
106
  return /* @__PURE__ */ jsxRuntime.jsx(
102
107
  BaseNavBar,
103
108
  {
104
109
  ...props,
105
- isItemActive,
110
+ isItemActive: resolvedIsItemActive,
106
111
  LinkWrapper: ({
107
112
  href,
108
113
  children,
@@ -125,4 +130,4 @@ const NavBar = (props) => {
125
130
  };
126
131
  NavBar.displayName = "NavBar";
127
132
  exports.NavBar = NavBar;
128
- //# sourceMappingURL=NavBar-B1mNXJ88.cjs.map
133
+ //# sourceMappingURL=NavBar-DKDzRFJ6.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavBar-DKDzRFJ6.cjs","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/core/NavBar.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BaseNavBarProps } from \"./NavBar.types\";\r\n\r\nconst slugify = (s: string) =>\r\n s\r\n .toLowerCase()\r\n .trim()\r\n .replace(/\\s+/g, \"-\")\r\n .replace(/[^a-z0-9]/g, \"\");\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n LinkWrapper,\r\n classMap,\r\n isItemActive,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n \"data-testid\": testId = \"nav-bar\",\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme, className],\r\n );\r\n\r\n const itemClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.item,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, shadow, rounding],\r\n );\r\n\r\n return (\r\n <nav\r\n aria-label=\"Main navigation\"\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n <ul className={classMap.list}>\r\n {items.map((item) => {\r\n const isActive = isItemActive?.(item) ?? false;\r\n const slug = slugify(item.label || item.path);\r\n\r\n return (\r\n <li key={`${item.path}-${slug}`} className={classMap.listItem}>\r\n <LinkWrapper\r\n href={item.path}\r\n isActive={isActive}\r\n className={combineClassNames(\r\n itemClass,\r\n isActive && classMap.item_active,\r\n )}\r\n data-testid={`${testId}-nav-item-${slug}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n >\r\n <span className={classMap.linkContent}>\r\n {item.icon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${slug}`}\r\n >\r\n {item.icon}\r\n </span>\r\n )}\r\n <span className={classMap.label}>{item.label}</span>\r\n </span>\r\n </LinkWrapper>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n );\r\n};\r\n\r\nBaseNavBar.displayName = \"BaseNavBar\";\r\nexport default BaseNavBar;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport BaseNavBar from \"../NavBarBase\";\r\nimport \"./NavBar.scss\";\r\nimport { NavBarProps, NavItem } from \"../NavBar.types\";\r\n\r\nconst classes = {\r\n container: \"nav\",\r\n item: \"nav_item\",\r\n list: \"nav_list\",\r\n listItem: \"nav_list_item\",\r\n item_active: \"nav_active\",\r\n icon: \"nav_icon_container\",\r\n label: \"nav_label\",\r\n linkContent: \"nav_link_container\",\r\n\r\n primary: \"nav_primary\",\r\n secondary: \"nav_secondary\",\r\n tertiary: \"nav_tertiary\",\r\n quaternary: \"nav_quaternary\",\r\n clear: \"nav_clear\",\r\n\r\n shadowNone: \"nav_shadow-None\",\r\n shadowLight: \"nav_shadow-Light\",\r\n shadowMedium: \"nav_shadow-Medium\",\r\n shadowStrong: \"nav_shadow-Strong\",\r\n shadowIntense: \"nav_shadow-Intense\",\r\n\r\n roundNone: \"nav_round-None\",\r\n roundSmall: \"nav_round-Small\",\r\n roundMedium: \"nav_round-Medium\",\r\n roundLarge: \"nav_round-Large\",\r\n roundFull: \"nav_round-Full\",\r\n};\r\n\r\nconst normalizePath = (p: string) =>\r\n p.endsWith(\"/\") && p.length > 1 ? p.slice(0, -1) : p;\r\n\r\nconst NavBar: React.FC<NavBarProps> = ({\r\n isItemActive: consumerIsItemActive,\r\n ...props\r\n}) => {\r\n const [pathname, setPathname] = useState(\"/\");\r\n\r\n useEffect(() => {\r\n setPathname(window.location.pathname || \"/\");\r\n }, []);\r\n\r\n const defaultIsItemActive = (item: NavItem) =>\r\n normalizePath(item.path) === normalizePath(pathname);\r\n\r\n const resolvedIsItemActive = consumerIsItemActive ?? defaultIsItemActive;\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n isItemActive={resolvedIsItemActive}\r\n LinkWrapper={({\r\n href,\r\n children,\r\n className,\r\n isActive,\r\n \"data-testid\": testId,\r\n }) => (\r\n <a\r\n href={href}\r\n className={className}\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </a>\r\n )}\r\n classMap={classes}\r\n />\r\n );\r\n};\r\n\r\nNavBar.displayName = \"NavBar\";\r\nexport default NavBar;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","useMemo","combineClassNames","capitalize","jsx","jsxs","useState","useEffect"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const NavBar = require("./NavBar-B1mNXJ88.cjs");
2
+ const NavBar = require("./NavBar-DKDzRFJ6.cjs");
3
3
  module.exports = NavBar.NavBar;
4
4
  //# sourceMappingURL=NavBar.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { N } from "./NavBar-oZrT55L_.js";
1
+ import { N } from "./NavBar-BcL7Dh52.js";
2
2
  export {
3
3
  N as default
4
4
  };
@@ -37,7 +37,7 @@ const Spinner = require("./Spinner-JTcQ_d4T.cjs");
37
37
  const Tooltip = require("./Tooltip-DS7DSyij.cjs");
38
38
  const MessagePopup = require("./MessagePopup-BwKMX9NS.cjs");
39
39
  const PopOver = require("./PopOver-IzDFOu7Y.cjs");
40
- const NavBar = require("./NavBar-B1mNXJ88.cjs");
40
+ const NavBar = require("./NavBar-DKDzRFJ6.cjs");
41
41
  const Breadcrumbs = require("./Breadcrumbs-CALCSPkH.cjs");
42
42
  const Tabs = require("./Tabs-BFn-TRKL.cjs");
43
43
  const Stepper = require("./Stepper-JNVBVHc3.cjs");
@@ -36,7 +36,7 @@ import { S as S5 } from "./Spinner-D1CHbKYU.js";
36
36
  import { T as T6 } from "./Tooltip-BzRqlOTz.js";
37
37
  import { M as M2 } from "./MessagePopup-aKDackiq.js";
38
38
  import { P as P2 } from "./PopOver-Bt80x5vL.js";
39
- import { N } from "./NavBar-oZrT55L_.js";
39
+ import { N } from "./NavBar-BcL7Dh52.js";
40
40
  import { B as B3 } from "./Breadcrumbs-C2IzEdls.js";
41
41
  import { T as T7 } from "./Tabs-DkdkDwei.js";
42
42
  import { S as S6 } from "./Stepper-C6xjvhZJ.js";
@@ -139,16 +139,18 @@ const styles = {
139
139
  const normalizePath = (p) => p.endsWith("/") && p.length > 1 ? p.slice(0, -1) : p;
140
140
  const NavBar = ({
141
141
  mockPath,
142
+ isItemActive: consumerIsItemActive,
142
143
  ...props
143
144
  }) => {
144
145
  const pathname = navigation.navigationExports.usePathname();
145
146
  const resolvedPath = mockPath ?? pathname ?? "/";
146
- const isItemActive = (item2) => normalizePath(item2.path) === normalizePath(resolvedPath);
147
+ const defaultIsItemActive = (item2) => normalizePath(item2.path) === normalizePath(resolvedPath);
148
+ const resolvedIsItemActive = consumerIsItemActive ?? defaultIsItemActive;
147
149
  return /* @__PURE__ */ require$$2.jsx(
148
150
  BaseNavBar,
149
151
  {
150
152
  ...props,
151
- isItemActive,
153
+ isItemActive: resolvedIsItemActive,
152
154
  LinkWrapper: ({
153
155
  href,
154
156
  children,
@@ -171,4 +173,4 @@ const NavBar = ({
171
173
  };
172
174
  NavBar.displayName = "NavBar";
173
175
  exports.NavBar = NavBar;
174
- //# sourceMappingURL=NavBar-qz6oMF3W.cjs.map
176
+ //# sourceMappingURL=NavBar-B06L4zxJ.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NavBar-B06L4zxJ.cjs","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/next/NavBar.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BaseNavBarProps } from \"./NavBar.types\";\r\n\r\nconst slugify = (s: string) =>\r\n s\r\n .toLowerCase()\r\n .trim()\r\n .replace(/\\s+/g, \"-\")\r\n .replace(/[^a-z0-9]/g, \"\");\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n LinkWrapper,\r\n classMap,\r\n isItemActive,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n \"data-testid\": testId = \"nav-bar\",\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme, className],\r\n );\r\n\r\n const itemClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.item,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, shadow, rounding],\r\n );\r\n\r\n return (\r\n <nav\r\n aria-label=\"Main navigation\"\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n <ul className={classMap.list}>\r\n {items.map((item) => {\r\n const isActive = isItemActive?.(item) ?? false;\r\n const slug = slugify(item.label || item.path);\r\n\r\n return (\r\n <li key={`${item.path}-${slug}`} className={classMap.listItem}>\r\n <LinkWrapper\r\n href={item.path}\r\n isActive={isActive}\r\n className={combineClassNames(\r\n itemClass,\r\n isActive && classMap.item_active,\r\n )}\r\n data-testid={`${testId}-nav-item-${slug}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n >\r\n <span className={classMap.linkContent}>\r\n {item.icon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${slug}`}\r\n >\r\n {item.icon}\r\n </span>\r\n )}\r\n <span className={classMap.label}>{item.label}</span>\r\n </span>\r\n </LinkWrapper>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n );\r\n};\r\n\r\nBaseNavBar.displayName = \"BaseNavBar\";\r\nexport default BaseNavBar;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseNavBar from \"../NavBarBase\";\r\nimport Link from \"next/link\";\r\nimport { usePathname } from \"next/navigation\";\r\nimport styles from \"./NavBar.module.scss\";\r\nimport { NavBarProps, NavItem } from \"../NavBar.types\";\r\n\r\nconst normalizePath = (p: string) =>\r\n p.endsWith(\"/\") && p.length > 1 ? p.slice(0, -1) : p;\r\n\r\nconst NavBar: React.FC<NavBarProps & { mockPath?: string }> = ({\r\n mockPath,\r\n isItemActive: consumerIsItemActive,\r\n ...props\r\n}) => {\r\n const pathname = usePathname();\r\n const resolvedPath = mockPath ?? pathname ?? \"/\";\r\n\r\n const defaultIsItemActive = (item: NavItem) =>\r\n normalizePath(item.path) === normalizePath(resolvedPath);\r\n\r\n const resolvedIsItemActive = consumerIsItemActive ?? defaultIsItemActive;\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n isItemActive={resolvedIsItemActive}\r\n LinkWrapper={({\r\n href,\r\n children,\r\n className,\r\n isActive,\r\n \"data-testid\": testId,\r\n }) => (\r\n <Link\r\n href={href}\r\n className={className}\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nNavBar.displayName = \"NavBar\";\r\nexport default NavBar;\r\n"],"names":["getDefaultTheme","getDefaultRounding","getDefaultShadow","useMemo","combineClassNames","capitalize","jsx","item","jsxs","usePathname","Link"],"mappings":"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"}
@@ -138,16 +138,18 @@ const styles = {
138
138
  const normalizePath = (p) => p.endsWith("/") && p.length > 1 ? p.slice(0, -1) : p;
139
139
  const NavBar = ({
140
140
  mockPath,
141
+ isItemActive: consumerIsItemActive,
141
142
  ...props
142
143
  }) => {
143
144
  const pathname = navigationExports.usePathname();
144
145
  const resolvedPath = mockPath ?? pathname ?? "/";
145
- const isItemActive = (item2) => normalizePath(item2.path) === normalizePath(resolvedPath);
146
+ const defaultIsItemActive = (item2) => normalizePath(item2.path) === normalizePath(resolvedPath);
147
+ const resolvedIsItemActive = consumerIsItemActive ?? defaultIsItemActive;
146
148
  return /* @__PURE__ */ jsx(
147
149
  BaseNavBar,
148
150
  {
149
151
  ...props,
150
- isItemActive,
152
+ isItemActive: resolvedIsItemActive,
151
153
  LinkWrapper: ({
152
154
  href,
153
155
  children,
@@ -172,4 +174,4 @@ NavBar.displayName = "NavBar";
172
174
  export {
173
175
  NavBar as N
174
176
  };
175
- //# sourceMappingURL=NavBar-EOEZXiEB.js.map
177
+ //# sourceMappingURL=NavBar-D8oceBmB.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavBar-EOEZXiEB.js","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/next/NavBar.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BaseNavBarProps } from \"./NavBar.types\";\r\n\r\nconst slugify = (s: string) =>\r\n s\r\n .toLowerCase()\r\n .trim()\r\n .replace(/\\s+/g, \"-\")\r\n .replace(/[^a-z0-9]/g, \"\");\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n LinkWrapper,\r\n classMap,\r\n isItemActive,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n \"data-testid\": testId = \"nav-bar\",\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme, className],\r\n );\r\n\r\n const itemClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.item,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, shadow, rounding],\r\n );\r\n\r\n return (\r\n <nav\r\n aria-label=\"Main navigation\"\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n <ul className={classMap.list}>\r\n {items.map((item) => {\r\n const isActive = isItemActive?.(item) ?? false;\r\n const slug = slugify(item.label || item.path);\r\n\r\n return (\r\n <li key={`${item.path}-${slug}`} className={classMap.listItem}>\r\n <LinkWrapper\r\n href={item.path}\r\n isActive={isActive}\r\n className={combineClassNames(\r\n itemClass,\r\n isActive && classMap.item_active,\r\n )}\r\n data-testid={`${testId}-nav-item-${slug}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n >\r\n <span className={classMap.linkContent}>\r\n {item.icon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${slug}`}\r\n >\r\n {item.icon}\r\n </span>\r\n )}\r\n <span className={classMap.label}>{item.label}</span>\r\n </span>\r\n </LinkWrapper>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n );\r\n};\r\n\r\nBaseNavBar.displayName = \"BaseNavBar\";\r\nexport default BaseNavBar;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseNavBar from \"../NavBarBase\";\r\nimport Link from \"next/link\";\r\nimport { usePathname } from \"next/navigation\";\r\nimport styles from \"./NavBar.module.scss\";\r\nimport { NavBarProps, NavItem } from \"../NavBar.types\";\r\n\r\nconst normalizePath = (p: string) =>\r\n p.endsWith(\"/\") && p.length > 1 ? p.slice(0, -1) : p;\r\n\r\nconst NavBar: React.FC<NavBarProps & { mockPath?: string }> = ({\r\n mockPath,\r\n ...props\r\n}) => {\r\n const pathname = usePathname();\r\n const resolvedPath = mockPath ?? pathname ?? \"/\";\r\n\r\n const isItemActive = (item: NavItem) =>\r\n normalizePath(item.path) === normalizePath(resolvedPath);\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n isItemActive={isItemActive}\r\n LinkWrapper={({\r\n href,\r\n children,\r\n className,\r\n isActive,\r\n \"data-testid\": testId,\r\n }) => (\r\n <Link\r\n href={href}\r\n className={className}\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nNavBar.displayName = \"NavBar\";\r\nexport default NavBar;\r\n"],"names":["item","usePathname"],"mappings":"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"}
1
+ {"version":3,"file":"NavBar-D8oceBmB.js","sources":["../../src/components/NavBar/NavBarBase.tsx","../../src/components/NavBar/next/NavBar.tsx"],"sourcesContent":["import React, { useMemo } from \"react\";\r\nimport { combineClassNames } from \"../../utils/classNames\";\r\nimport { capitalize } from \"../../utils/capitalize\";\r\nimport {\r\n getDefaultRounding,\r\n getDefaultShadow,\r\n getDefaultTheme,\r\n} from \"../../config/boreal-style-config\";\r\nimport { BaseNavBarProps } from \"./NavBar.types\";\r\n\r\nconst slugify = (s: string) =>\r\n s\r\n .toLowerCase()\r\n .trim()\r\n .replace(/\\s+/g, \"-\")\r\n .replace(/[^a-z0-9]/g, \"\");\r\n\r\nconst BaseNavBar: React.FC<BaseNavBarProps> = ({\r\n items,\r\n LinkWrapper,\r\n classMap,\r\n isItemActive,\r\n theme = getDefaultTheme(),\r\n rounding = getDefaultRounding(),\r\n shadow = getDefaultShadow(),\r\n className = \"\",\r\n \"data-testid\": testId = \"nav-bar\",\r\n}) => {\r\n const wrapperClass = useMemo(\r\n () => combineClassNames(classMap.container, classMap[theme], className),\r\n [classMap, theme, className],\r\n );\r\n\r\n const itemClass = useMemo(\r\n () =>\r\n combineClassNames(\r\n classMap.item,\r\n shadow && classMap[`shadow${capitalize(shadow)}`],\r\n rounding && classMap[`round${capitalize(rounding)}`],\r\n ),\r\n [classMap, shadow, rounding],\r\n );\r\n\r\n return (\r\n <nav\r\n aria-label=\"Main navigation\"\r\n className={wrapperClass}\r\n data-testid={`${testId}-nav-bar`}\r\n >\r\n <ul className={classMap.list}>\r\n {items.map((item) => {\r\n const isActive = isItemActive?.(item) ?? false;\r\n const slug = slugify(item.label || item.path);\r\n\r\n return (\r\n <li key={`${item.path}-${slug}`} className={classMap.listItem}>\r\n <LinkWrapper\r\n href={item.path}\r\n isActive={isActive}\r\n className={combineClassNames(\r\n itemClass,\r\n isActive && classMap.item_active,\r\n )}\r\n data-testid={`${testId}-nav-item-${slug}`}\r\n aria-current={isActive ? \"page\" : undefined}\r\n >\r\n <span className={classMap.linkContent}>\r\n {item.icon && (\r\n <span\r\n className={classMap.icon}\r\n aria-hidden=\"true\"\r\n data-testid={`${testId}-nav-icon-${slug}`}\r\n >\r\n {item.icon}\r\n </span>\r\n )}\r\n <span className={classMap.label}>{item.label}</span>\r\n </span>\r\n </LinkWrapper>\r\n </li>\r\n );\r\n })}\r\n </ul>\r\n </nav>\r\n );\r\n};\r\n\r\nBaseNavBar.displayName = \"BaseNavBar\";\r\nexport default BaseNavBar;\r\n","\"use client\";\r\n\r\nimport React from \"react\";\r\nimport BaseNavBar from \"../NavBarBase\";\r\nimport Link from \"next/link\";\r\nimport { usePathname } from \"next/navigation\";\r\nimport styles from \"./NavBar.module.scss\";\r\nimport { NavBarProps, NavItem } from \"../NavBar.types\";\r\n\r\nconst normalizePath = (p: string) =>\r\n p.endsWith(\"/\") && p.length > 1 ? p.slice(0, -1) : p;\r\n\r\nconst NavBar: React.FC<NavBarProps & { mockPath?: string }> = ({\r\n mockPath,\r\n isItemActive: consumerIsItemActive,\r\n ...props\r\n}) => {\r\n const pathname = usePathname();\r\n const resolvedPath = mockPath ?? pathname ?? \"/\";\r\n\r\n const defaultIsItemActive = (item: NavItem) =>\r\n normalizePath(item.path) === normalizePath(resolvedPath);\r\n\r\n const resolvedIsItemActive = consumerIsItemActive ?? defaultIsItemActive;\r\n\r\n return (\r\n <BaseNavBar\r\n {...props}\r\n isItemActive={resolvedIsItemActive}\r\n LinkWrapper={({\r\n href,\r\n children,\r\n className,\r\n isActive,\r\n \"data-testid\": testId,\r\n }) => (\r\n <Link\r\n href={href}\r\n className={className}\r\n aria-current={isActive ? \"page\" : undefined}\r\n data-testid={testId}\r\n >\r\n {children}\r\n </Link>\r\n )}\r\n classMap={styles}\r\n />\r\n );\r\n};\r\n\r\nNavBar.displayName = \"NavBar\";\r\nexport default NavBar;\r\n"],"names":["item","usePathname"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
- const NavBar = require("./NavBar-qz6oMF3W.cjs");
2
+ const NavBar = require("./NavBar-B06L4zxJ.cjs");
3
3
  module.exports = NavBar.NavBar;
4
4
  //# sourceMappingURL=NavBar.cjs.js.map
@@ -1,4 +1,4 @@
1
- import { N } from "./NavBar-EOEZXiEB.js";
1
+ import { N } from "./NavBar-D8oceBmB.js";
2
2
  export {
3
3
  N as default
4
4
  };
@@ -37,7 +37,7 @@ const Spinner = require("./Spinner-COpCxB1_.cjs");
37
37
  const Tooltip = require("./Tooltip-DrsJZe1I.cjs");
38
38
  const MessagePopup = require("./MessagePopup-DX7KfiyF.cjs");
39
39
  const PopOver = require("./PopOver-_Fhr-zDB.cjs");
40
- const NavBar = require("./NavBar-qz6oMF3W.cjs");
40
+ const NavBar = require("./NavBar-B06L4zxJ.cjs");
41
41
  const Breadcrumbs = require("./Breadcrumbs--HIh4k3A.cjs");
42
42
  const Tabs = require("./Tabs-DqeWKCtM.cjs");
43
43
  const Stepper = require("./Stepper-Dyhw2IRi.cjs");
@@ -36,7 +36,7 @@ import { S as S5 } from "./Spinner-DgHFzfrq.js";
36
36
  import { T as T6 } from "./Tooltip-BQuUSBWE.js";
37
37
  import { M as M2 } from "./MessagePopup-CyO5NAiy.js";
38
38
  import { P as P2 } from "./PopOver-D300C5Sg.js";
39
- import { N } from "./NavBar-EOEZXiEB.js";
39
+ import { N } from "./NavBar-D8oceBmB.js";
40
40
  import { B as B3 } from "./Breadcrumbs-DrLy6lxS.js";
41
41
  import { T as T7 } from "./Tabs-B9ZCknnG.js";
42
42
  import { S as S6 } from "./Stepper-Bqt2vsZw.js";