@nswds/app 1.112.1 → 1.113.0

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/index.cjs CHANGED
@@ -8,7 +8,7 @@ var classVarianceAuthority = require('class-variance-authority');
8
8
  var AlertDialogPrimitive = require('@radix-ui/react-alert-dialog');
9
9
  var React5 = require('react');
10
10
  var Headless4 = require('@headlessui/react');
11
- var Link13 = require('next/link');
11
+ var Link14 = require('next/link');
12
12
  var react = require('@remixicon/react');
13
13
  var RechartsPrimitive = require('recharts');
14
14
  var AspectRatioPrimitive = require('@radix-ui/react-aspect-ratio');
@@ -93,7 +93,7 @@ var clsx13__default = /*#__PURE__*/_interopDefault(clsx13);
93
93
  var AlertDialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(AlertDialogPrimitive);
94
94
  var React5__namespace = /*#__PURE__*/_interopNamespace(React5);
95
95
  var Headless4__namespace = /*#__PURE__*/_interopNamespace(Headless4);
96
- var Link13__default = /*#__PURE__*/_interopDefault(Link13);
96
+ var Link14__default = /*#__PURE__*/_interopDefault(Link14);
97
97
  var RechartsPrimitive__namespace = /*#__PURE__*/_interopNamespace(RechartsPrimitive);
98
98
  var AspectRatioPrimitive__namespace = /*#__PURE__*/_interopNamespace(AspectRatioPrimitive);
99
99
  var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
@@ -4226,7 +4226,7 @@ var linkVariants = classVarianceAuthority.cva("", {
4226
4226
  }
4227
4227
  });
4228
4228
  var Link = React5.forwardRef(function Link2({ className, variant, ...props }, ref) {
4229
- return /* @__PURE__ */ jsxRuntime.jsx(Headless4__namespace.DataInteractive, { children: /* @__PURE__ */ jsxRuntime.jsx(Link13__default.default, { ...props, ref, className: cn(linkVariants({ variant }), className) }) });
4229
+ return /* @__PURE__ */ jsxRuntime.jsx(Headless4__namespace.DataInteractive, { children: /* @__PURE__ */ jsxRuntime.jsx(Link14__default.default, { ...props, ref, className: cn(linkVariants({ variant }), className) }) });
4230
4230
  });
4231
4231
  var styles = {
4232
4232
  base: [
@@ -7515,7 +7515,7 @@ function Breadcrumbs({
7515
7515
  const shouldCollapse = breadcrumbItems.length > maxItems;
7516
7516
  if (!shouldCollapse) {
7517
7517
  return /* @__PURE__ */ jsxRuntime.jsx(Breadcrumb, { className: "-ml-1", children: /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbList, { children: breadcrumbItems.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(React5__namespace.Fragment, { children: [
7518
- /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbItem, { children: item.isCurrent ? /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbPage, { children: item.label }) : /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Link13__default.default, { href: item.path, children: item.label }) }) }),
7518
+ /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbItem, { children: item.isCurrent ? /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbPage, { children: item.label }) : /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Link14__default.default, { href: item.path, children: item.label }) }) }),
7519
7519
  index < breadcrumbItems.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbSeparator, {})
7520
7520
  ] }, item.path)) }) });
7521
7521
  }
@@ -7526,7 +7526,7 @@ function Breadcrumbs({
7526
7526
  const collapsedItems = breadcrumbItems.slice(startItems, breadcrumbItems.length - endItems);
7527
7527
  return /* @__PURE__ */ jsxRuntime.jsx(Breadcrumb, { children: /* @__PURE__ */ jsxRuntime.jsxs(BreadcrumbList, { children: [
7528
7528
  itemsAtStart.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(React5__namespace.Fragment, { children: [
7529
- /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbItem, { children: item.isCurrent ? /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbPage, { children: item.label }) : /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Link13__default.default, { href: item.path, children: item.label }) }) }),
7529
+ /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbItem, { children: item.isCurrent ? /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbPage, { children: item.label }) : /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Link14__default.default, { href: item.path, children: item.label }) }) }),
7530
7530
  index < itemsAtStart.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbSeparator, {})
7531
7531
  ] }, item.path)),
7532
7532
  itemsAtStart.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbSeparator, {}),
@@ -7535,11 +7535,11 @@ function Breadcrumbs({
7535
7535
  /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbEllipsis, { className: "h-4 w-4" }),
7536
7536
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "Toggle menu" })
7537
7537
  ] }),
7538
- /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuContent, { align: "start", children: collapsedItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Link13__default.default, { href: item.path, children: item.label }) }, item.path)) })
7538
+ /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuContent, { align: "start", children: collapsedItems.map((item) => /* @__PURE__ */ jsxRuntime.jsx(DropdownMenuItem, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Link14__default.default, { href: item.path, children: item.label }) }, item.path)) })
7539
7539
  ] }) }),
7540
7540
  itemsAtEnd.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbSeparator, {}),
7541
7541
  itemsAtEnd.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs(React5__namespace.Fragment, { children: [
7542
- /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbItem, { children: item.isCurrent ? /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbPage, { children: item.label }) : /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Link13__default.default, { href: item.path, children: item.label }) }) }),
7542
+ /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbItem, { children: item.isCurrent ? /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbPage, { children: item.label }) : /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbLink, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(Link14__default.default, { href: item.path, children: item.label }) }) }),
7543
7543
  index < itemsAtEnd.length - 1 && /* @__PURE__ */ jsxRuntime.jsx(BreadcrumbSeparator, {})
7544
7544
  ] }, item.path))
7545
7545
  ] }) });
@@ -18556,7 +18556,7 @@ function FooterLegalLinks({ legalLinks }) {
18556
18556
  "aria-label": "Footer",
18557
18557
  className: "flex flex-wrap justify-center gap-x-4 gap-y-3 py-4 text-sm lg:justify-start",
18558
18558
  children: legalLinks?.map((item) => /* @__PURE__ */ jsxRuntime.jsx(
18559
- Link13__default.default,
18559
+ Link14__default.default,
18560
18560
  {
18561
18561
  href: item.href,
18562
18562
  className: "-m-1 rounded p-1 text-(--footer-link) underline underline-offset-4 hover:bg-(--footer-link-hover-bg) hover:text-(--footer-link-hover-text) hover:decoration-2",
@@ -18835,7 +18835,7 @@ function FormatToggle({ format, setFormat }) {
18835
18835
 
18836
18836
  // package.json
18837
18837
  var package_default = {
18838
- version: "1.111.1"};
18838
+ version: "1.112.2"};
18839
18839
  var SluggerContext = React5__namespace.default.createContext(null);
18840
18840
  function flattenText(nodes) {
18841
18841
  if (nodes == null || typeof nodes === "boolean") return "";
@@ -19093,7 +19093,7 @@ function Header2({
19093
19093
  ),
19094
19094
  children: [
19095
19095
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative flex grow basis-0 items-center", children: [
19096
- /* @__PURE__ */ jsxRuntime.jsxs(Link13__default.default, { href: "/", "aria-label": "Home page", className: "flex items-center justify-between", children: [
19096
+ /* @__PURE__ */ jsxRuntime.jsxs(Link14__default.default, { href: "/", "aria-label": "Home page", className: "flex items-center justify-between", children: [
19097
19097
  !hideLogo && (altLogo ?? /* @__PURE__ */ jsxRuntime.jsx(Logo, { className: "h-12 w-auto lg:h-14" })),
19098
19098
  !hideDescriptor && (altDescriptor ?? /* @__PURE__ */ jsxRuntime.jsx(Heading, { level: 2, size: 6, className: "ml-6", children: sitename }))
19099
19099
  ] }),
@@ -20334,7 +20334,7 @@ function MainNavigation({ navigation }) {
20334
20334
  }
20335
20335
  function TopLevel({ title, href }) {
20336
20336
  return /* @__PURE__ */ jsxRuntime.jsx(
20337
- Link13__default.default,
20337
+ Link14__default.default,
20338
20338
  {
20339
20339
  href,
20340
20340
  className: cn(
@@ -20386,7 +20386,7 @@ function MegaMenu({ title, href, links }) {
20386
20386
  className: "absolute inset-x-0 top-0 -z-10 pt-14 shadow transition data-[closed]:-translate-y-1 data-[closed]:opacity-0 data-[enter]:duration-200 data-[enter]:ease-out data-[leave]:duration-150 data-[leave]:ease-in dark:shadow-black/40",
20387
20387
  children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mx-auto grid bg-white dark:bg-grey-900", children: [
20388
20388
  /* @__PURE__ */ jsxRuntime.jsxs(
20389
- Link13__default.default,
20389
+ Link14__default.default,
20390
20390
  {
20391
20391
  href,
20392
20392
  className: "group flex items-center px-8 py-8 text-xl font-bold text-primary-800 hover:bg-primary-800/10 dark:text-primary-200 dark:hover:bg-primary-200/10",
@@ -20407,7 +20407,7 @@ function MegaMenu({ title, href, links }) {
20407
20407
  "focus-within:rounded-sm focus-within:outline focus-within:outline-inherit"
20408
20408
  ),
20409
20409
  children: /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-base font-semibold text-grey-900 dark:text-grey-100", children: /* @__PURE__ */ jsxRuntime.jsxs(
20410
- Link13__default.default,
20410
+ Link14__default.default,
20411
20411
  {
20412
20412
  href: item.href,
20413
20413
  className: cn(
@@ -20829,7 +20829,7 @@ function MultiLevelPushMenu({
20829
20829
  {
20830
20830
  className: "divide-y divide-grey-200 overflow-hidden bg-white ring-1 ring-grey-200",
20831
20831
  children: item.href && !item.links?.length ? /* @__PURE__ */ jsxRuntime.jsx(
20832
- Link13__default.default,
20832
+ Link14__default.default,
20833
20833
  {
20834
20834
  href: item.href,
20835
20835
  onClick: (e) => handleItemClick(item, e),
@@ -20924,7 +20924,7 @@ function MobileHeader({
20924
20924
  /* @__PURE__ */ jsxRuntime.jsx(Icons.menu, { "aria-hidden": "true" })
20925
20925
  ] }),
20926
20926
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "relative flex items-center", children: /* @__PURE__ */ jsxRuntime.jsxs(
20927
- Link13__default.default,
20927
+ Link14__default.default,
20928
20928
  {
20929
20929
  href: "/",
20930
20930
  "aria-label": "Home page",
@@ -29049,7 +29049,7 @@ function NavigationLink({
29049
29049
  }) {
29050
29050
  const pathname = navigation.usePathname();
29051
29051
  return /* @__PURE__ */ jsxRuntime.jsx(
29052
- Link13__default.default,
29052
+ Link14__default.default,
29053
29053
  {
29054
29054
  href,
29055
29055
  onClick,
@@ -29067,6 +29067,8 @@ function NavigationMenu({
29067
29067
  className,
29068
29068
  children,
29069
29069
  viewport = true,
29070
+ delayDuration,
29071
+ skipDelayDuration,
29070
29072
  ...props
29071
29073
  }) {
29072
29074
  return /* @__PURE__ */ jsxRuntime.jsxs(
@@ -29078,6 +29080,8 @@ function NavigationMenu({
29078
29080
  "group/navigation-menu relative flex max-w-max flex-1 items-center justify-center",
29079
29081
  className
29080
29082
  ),
29083
+ delayDuration,
29084
+ skipDelayDuration,
29081
29085
  ...props,
29082
29086
  children: [
29083
29087
  children,
@@ -29212,13 +29216,263 @@ function NavigationMenuIndicator({
29212
29216
  }
29213
29217
  );
29214
29218
  }
29219
+ var PANEL_CLOSE_DELAY_MS = 220;
29220
+ var DEFAULT_TRIGGER_ACTIVE_CLASS_NAME = "hover:bg-primary-800/10 hover:text-primary-800 focus:bg-primary-800/10 focus:text-primary-800 data-[state=open]:bg-primary-800/10 data-[state=open]:text-primary-800 dark:hover:bg-primary-200/10 dark:hover:text-primary-200 dark:focus:bg-primary-200/10 dark:focus:text-primary-200 dark:data-[state=open]:bg-primary-200/10 dark:data-[state=open]:text-primary-200";
29221
+ var DEFAULT_TRIGGER_ACTIVE_BORDER_CLASS_NAME = "hover:before:bg-primary-800/10 hover:after:bg-primary-800/10 focus:before:bg-primary-800/10 focus:after:bg-primary-800/10 data-[state=open]:before:bg-primary-800/10 dark:hover:before:bg-primary-200/10 dark:hover:after:bg-primary-200/10 dark:focus:before:bg-primary-200/10 dark:focus:after:bg-primary-200/10 dark:data-[state=open]:before:bg-primary-200/10";
29222
+ function TopLevelItem({
29223
+ href = "#",
29224
+ title,
29225
+ syncBorderToSurface,
29226
+ triggerActiveClassName,
29227
+ triggerActiveBorderClassName
29228
+ }) {
29229
+ return /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuItem, { className: "shrink-0", children: /* @__PURE__ */ jsxRuntime.jsx(
29230
+ NavigationMenuLink,
29231
+ {
29232
+ asChild: true,
29233
+ className: cn(
29234
+ "relative inline-flex min-h-14 h-auto w-auto flex-row items-center justify-start gap-x-1 rounded-none bg-transparent p-4 text-base leading-6 font-bold text-grey-800 transition dark:text-grey-100 lg:px-8",
29235
+ triggerActiveClassName ?? DEFAULT_TRIGGER_ACTIVE_CLASS_NAME,
29236
+ syncBorderToSurface && "before:absolute before:inset-x-0 before:top-0 before:h-px before:bg-transparent after:absolute after:inset-x-0 after:bottom-0 after:h-px after:bg-transparent",
29237
+ syncBorderToSurface && (triggerActiveBorderClassName ?? DEFAULT_TRIGGER_ACTIVE_BORDER_CLASS_NAME)
29238
+ ),
29239
+ children: /* @__PURE__ */ jsxRuntime.jsx(Link14__default.default, { href, children: title })
29240
+ }
29241
+ ) });
29242
+ }
29243
+ function FeaturedSectionLink({ href = "#", title }) {
29244
+ return /* @__PURE__ */ jsxRuntime.jsxs(
29245
+ Link14__default.default,
29246
+ {
29247
+ href,
29248
+ className: "group relative flex items-center px-8 py-8 text-xl font-bold whitespace-normal text-primary-800 hover:bg-primary-800/10 dark:text-primary-200 dark:hover:bg-primary-200/10",
29249
+ children: [
29250
+ /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "absolute inset-0" }),
29251
+ title,
29252
+ /* @__PURE__ */ jsxRuntime.jsx(Icons.east, { className: "ml-4 h-6 w-6 transform transition-transform duration-300 ease-in-out group-hover:translate-x-1" })
29253
+ ]
29254
+ }
29255
+ );
29256
+ }
29257
+ function SectionLink({ link }) {
29258
+ return /* @__PURE__ */ jsxRuntime.jsx(
29259
+ NavigationMenuLink,
29260
+ {
29261
+ asChild: true,
29262
+ className: cn(
29263
+ "relative mx-2 rounded-none border-t border-grey-200 bg-white p-4 hover:bg-primary-800/10 hover:font-bold hover:text-primary-800 dark:border-grey-700 dark:bg-grey-900 dark:hover:bg-primary-200/10 dark:hover:text-primary-200",
29264
+ "[&:nth-last-child(-n+3)]:border-b",
29265
+ "whitespace-normal",
29266
+ "focus-within:rounded-sm focus-within:outline focus-within:outline-inherit"
29267
+ ),
29268
+ children: /* @__PURE__ */ jsxRuntime.jsxs(Link14__default.default, { href: link.href, className: "outline-none", children: [
29269
+ /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: "absolute inset-0" }),
29270
+ /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-base font-semibold text-grey-900 dark:text-grey-100", children: link.title })
29271
+ ] })
29272
+ }
29273
+ );
29274
+ }
29275
+ function MegaNavigationItem({
29276
+ section,
29277
+ fullBleed,
29278
+ panelMetrics,
29279
+ onOpenIntent,
29280
+ dropdownBackgroundClassName,
29281
+ syncBorderToSurface,
29282
+ triggerActiveClassName,
29283
+ triggerActiveBorderClassName
29284
+ }) {
29285
+ if (!section.links?.length) {
29286
+ return /* @__PURE__ */ jsxRuntime.jsx(
29287
+ TopLevelItem,
29288
+ {
29289
+ href: section.href,
29290
+ title: section.title,
29291
+ syncBorderToSurface,
29292
+ triggerActiveClassName,
29293
+ triggerActiveBorderClassName
29294
+ }
29295
+ );
29296
+ }
29297
+ return /* @__PURE__ */ jsxRuntime.jsxs(NavigationMenuItem, { className: "static shrink-0", children: [
29298
+ /* @__PURE__ */ jsxRuntime.jsx(
29299
+ NavigationMenuTrigger,
29300
+ {
29301
+ className: cn(
29302
+ "relative mb-0 min-h-14 h-auto w-auto justify-start rounded-none bg-transparent p-4 text-base leading-6 font-bold text-grey-800 lg:px-8 dark:text-grey-100 [&_svg]:h-6 [&_svg]:w-6",
29303
+ triggerActiveClassName ?? DEFAULT_TRIGGER_ACTIVE_CLASS_NAME,
29304
+ "data-[state=open]:shadow-[inset_0_-2px_0_0_currentColor]",
29305
+ syncBorderToSurface && "before:absolute before:inset-x-0 before:top-0 before:h-px before:bg-transparent after:absolute after:inset-x-0 after:bottom-0 after:h-px after:bg-transparent",
29306
+ syncBorderToSurface && (triggerActiveBorderClassName ?? DEFAULT_TRIGGER_ACTIVE_BORDER_CLASS_NAME)
29307
+ ),
29308
+ onPointerEnter: onOpenIntent,
29309
+ children: section.title
29310
+ }
29311
+ ),
29312
+ /* @__PURE__ */ jsxRuntime.jsx(
29313
+ NavigationMenuContent,
29314
+ {
29315
+ className: cn(
29316
+ "left-0 w-full p-0 pr-0 whitespace-normal md:w-full group-data-[viewport=false]/navigation-menu:mt-0 group-data-[viewport=false]/navigation-menu:rounded-none group-data-[viewport=false]/navigation-menu:border-0 group-data-[viewport=false]/navigation-menu:bg-transparent group-data-[viewport=false]/navigation-menu:shadow-none"
29317
+ ),
29318
+ style: fullBleed && panelMetrics ? {
29319
+ left: `${-panelMetrics.left}px`,
29320
+ width: `${panelMetrics.viewportWidth}px`
29321
+ } : void 0,
29322
+ onPointerEnter: onOpenIntent,
29323
+ children: /* @__PURE__ */ jsxRuntime.jsx(
29324
+ "div",
29325
+ {
29326
+ className: cn(
29327
+ "w-full shadow dark:shadow-black/40",
29328
+ dropdownBackgroundClassName ?? "bg-white dark:bg-grey-900"
29329
+ ),
29330
+ children: /* @__PURE__ */ jsxRuntime.jsxs(
29331
+ "div",
29332
+ {
29333
+ className: "grid w-full",
29334
+ style: fullBleed && panelMetrics ? {
29335
+ width: `${panelMetrics.width}px`,
29336
+ marginLeft: "auto",
29337
+ marginRight: "auto"
29338
+ } : void 0,
29339
+ children: [
29340
+ /* @__PURE__ */ jsxRuntime.jsx(FeaturedSectionLink, { href: section.href, title: section.title }),
29341
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-1 overflow-hidden px-4 pb-12 sm:grid-cols-2 lg:grid-cols-3", children: section.links.map((link, index) => /* @__PURE__ */ jsxRuntime.jsx(SectionLink, { link }, `${link.title}-${link.href}-${index}`)) })
29342
+ ]
29343
+ }
29344
+ )
29345
+ }
29346
+ )
29347
+ }
29348
+ )
29349
+ ] });
29350
+ }
29351
+ function NavigationMenuMainNavigation({
29352
+ navigation,
29353
+ id: id3 = "nsw-main-navigation",
29354
+ className,
29355
+ responsive = true,
29356
+ sticky = true,
29357
+ fullBleed = false,
29358
+ backgroundClassName,
29359
+ dropdownBackgroundClassName,
29360
+ borderClassName,
29361
+ triggerActiveClassName,
29362
+ triggerActiveBorderClassName,
29363
+ showTopBorder = false,
29364
+ showBottomBorder = false
29365
+ }) {
29366
+ const headerHeight = useSelectorHeight();
29367
+ const containerRef = React5__namespace.useRef(null);
29368
+ const closeTimerRef = React5__namespace.useRef(null);
29369
+ const [value, setValue] = React5__namespace.useState("");
29370
+ const syncBorderToSurface = showTopBorder || showBottomBorder;
29371
+ const [panelMetrics, setPanelMetrics] = React5__namespace.useState({
29372
+ left: 0,
29373
+ width: 0,
29374
+ viewportWidth: 0
29375
+ });
29376
+ const cancelCloseTimer = React5__namespace.useCallback(() => {
29377
+ if (closeTimerRef.current) {
29378
+ window.clearTimeout(closeTimerRef.current);
29379
+ closeTimerRef.current = null;
29380
+ }
29381
+ }, []);
29382
+ React5__namespace.useLayoutEffect(() => {
29383
+ const element = containerRef.current;
29384
+ if (!element) return;
29385
+ const updateInsets = () => {
29386
+ const rect = element.getBoundingClientRect();
29387
+ setPanelMetrics({
29388
+ left: Math.max(0, rect.left),
29389
+ width: rect.width,
29390
+ viewportWidth: window.innerWidth
29391
+ });
29392
+ };
29393
+ updateInsets();
29394
+ const resizeObserver = new ResizeObserver(() => {
29395
+ updateInsets();
29396
+ });
29397
+ resizeObserver.observe(element);
29398
+ window.addEventListener("resize", updateInsets);
29399
+ return () => {
29400
+ resizeObserver.disconnect();
29401
+ window.removeEventListener("resize", updateInsets);
29402
+ };
29403
+ }, []);
29404
+ React5__namespace.useEffect(() => {
29405
+ return () => {
29406
+ cancelCloseTimer();
29407
+ };
29408
+ }, [cancelCloseTimer]);
29409
+ const handleValueChange = React5__namespace.useCallback((nextValue) => {
29410
+ cancelCloseTimer();
29411
+ if (nextValue) {
29412
+ setValue(nextValue);
29413
+ return;
29414
+ }
29415
+ closeTimerRef.current = window.setTimeout(() => {
29416
+ setValue("");
29417
+ closeTimerRef.current = null;
29418
+ }, PANEL_CLOSE_DELAY_MS);
29419
+ }, [cancelCloseTimer]);
29420
+ return /* @__PURE__ */ jsxRuntime.jsx(
29421
+ "nav",
29422
+ {
29423
+ "aria-label": "Main Navigation",
29424
+ role: "navigation",
29425
+ id: id3,
29426
+ className: cn(
29427
+ "z-40 shadow-md shadow-grey-900/5 dark:shadow-none",
29428
+ backgroundClassName ?? "bg-grey-100 dark:bg-grey-900",
29429
+ (showTopBorder || showBottomBorder) && (borderClassName ?? "border-grey-200 dark:border-grey-800"),
29430
+ showTopBorder && "border-t",
29431
+ showBottomBorder && "border-b",
29432
+ responsive ? "hidden sm:px-6 lg:block lg:px-4" : "block",
29433
+ sticky && "sticky",
29434
+ className
29435
+ ),
29436
+ style: sticky ? {
29437
+ top: `${headerHeight}px`,
29438
+ transition: "top 0.2s ease-in-out"
29439
+ } : void 0,
29440
+ children: /* @__PURE__ */ jsxRuntime.jsx("div", { ref: containerRef, className: "relative z-50 mx-auto flex items-center justify-between", children: /* @__PURE__ */ jsxRuntime.jsx(
29441
+ NavigationMenu,
29442
+ {
29443
+ "aria-label": "Main navigation menu",
29444
+ className: "w-full max-w-none justify-start",
29445
+ delayDuration: 0,
29446
+ skipDelayDuration: 0,
29447
+ onValueChange: handleValueChange,
29448
+ value,
29449
+ viewport: false,
29450
+ children: /* @__PURE__ */ jsxRuntime.jsx(NavigationMenuList, { className: "w-full gap-0 border-b-0", children: navigation.map((section) => /* @__PURE__ */ jsxRuntime.jsx(
29451
+ MegaNavigationItem,
29452
+ {
29453
+ section,
29454
+ fullBleed,
29455
+ panelMetrics,
29456
+ onOpenIntent: cancelCloseTimer,
29457
+ dropdownBackgroundClassName,
29458
+ syncBorderToSurface,
29459
+ triggerActiveClassName,
29460
+ triggerActiveBorderClassName
29461
+ },
29462
+ `${section.title}-${section.href ?? "section"}`
29463
+ )) })
29464
+ }
29465
+ ) })
29466
+ }
29467
+ );
29468
+ }
29215
29469
  function NotFound() {
29216
29470
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "max-w-2xl min-w-0 flex-auto px-4 py-16 lg:max-w-none lg:pr-0 lg:pl-8 xl:px-16", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex h-full flex-col items-center justify-center text-center", children: [
29217
29471
  /* @__PURE__ */ jsxRuntime.jsx(Heading, { level: 1, size: 4, className: "font-display mb-4 font-medium", children: "404" }),
29218
29472
  /* @__PURE__ */ jsxRuntime.jsx(Heading, { level: 2, size: 3, children: "Page not found" }),
29219
29473
  /* @__PURE__ */ jsxRuntime.jsx(Text, { className: "mt-4", children: "Sorry, we couldn't find the page you're looking for." }),
29220
29474
  /* @__PURE__ */ jsxRuntime.jsx(
29221
- Link13__default.default,
29475
+ Link14__default.default,
29222
29476
  {
29223
29477
  href: "/",
29224
29478
  className: "mt-8 font-medium text-primary-800 underline decoration-current underline-offset-4 hover:bg-primary-800/10 hover:decoration-2",
@@ -29734,7 +29988,7 @@ function PrevNextLinksPageLink({
29734
29988
  return /* @__PURE__ */ jsxRuntime.jsxs("div", { ...props, children: [
29735
29989
  /* @__PURE__ */ jsxRuntime.jsx("dt", { className: "font-display text-sm font-medium text-slate-900 dark:text-white", children: dir === "next" ? "Next" : "Previous" }),
29736
29990
  /* @__PURE__ */ jsxRuntime.jsx("dd", { className: "mt-1", children: /* @__PURE__ */ jsxRuntime.jsxs(
29737
- Link13__default.default,
29991
+ Link14__default.default,
29738
29992
  {
29739
29993
  href,
29740
29994
  className: clsx13__default.default(
@@ -30862,7 +31116,7 @@ function SidebarLink({ link, pathname, onLinkClick, depth }) {
30862
31116
  },
30863
31117
  childLink.href
30864
31118
  )) }) })
30865
- ] }) : /* @__PURE__ */ jsxRuntime.jsx(Link13__default.default, { href: link.href, onClick: onLinkClick, className: baseLinkClasses, children: link.title }) });
31119
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(Link14__default.default, { href: link.href, onClick: onLinkClick, className: baseLinkClasses, children: link.title }) });
30866
31120
  }
30867
31121
  function Slider({
30868
31122
  className,
@@ -31191,7 +31445,7 @@ var StepIndicator = React5__namespace.forwardRef(
31191
31445
  }
31192
31446
  ) : null,
31193
31447
  /* @__PURE__ */ jsxRuntime.jsxs(
31194
- Link13__default.default,
31448
+ Link14__default.default,
31195
31449
  {
31196
31450
  href: step.href,
31197
31451
  className: "group relative flex items-center",
@@ -31220,7 +31474,7 @@ var StepIndicator = React5__namespace.forwardRef(
31220
31474
  }
31221
31475
  ) : null,
31222
31476
  /* @__PURE__ */ jsxRuntime.jsxs(
31223
- Link13__default.default,
31477
+ Link14__default.default,
31224
31478
  {
31225
31479
  href: step.href,
31226
31480
  "aria-current": "step",
@@ -31244,7 +31498,7 @@ var StepIndicator = React5__namespace.forwardRef(
31244
31498
  }
31245
31499
  ) : null,
31246
31500
  /* @__PURE__ */ jsxRuntime.jsxs(
31247
- Link13__default.default,
31501
+ Link14__default.default,
31248
31502
  {
31249
31503
  href: step.href,
31250
31504
  className: "group relative flex items-center",
@@ -31267,7 +31521,7 @@ var StepIndicator = React5__namespace.forwardRef(
31267
31521
  }
31268
31522
  ) : null,
31269
31523
  /* @__PURE__ */ jsxRuntime.jsxs(
31270
- Link13__default.default,
31524
+ Link14__default.default,
31271
31525
  {
31272
31526
  href: step.href,
31273
31527
  className: "group relative flex items-center",
@@ -31290,7 +31544,7 @@ var StepIndicator = React5__namespace.forwardRef(
31290
31544
  }
31291
31545
  ) : null,
31292
31546
  /* @__PURE__ */ jsxRuntime.jsxs(
31293
- Link13__default.default,
31547
+ Link14__default.default,
31294
31548
  {
31295
31549
  href: step.href,
31296
31550
  className: "group relative flex items-center",
@@ -31313,7 +31567,7 @@ var StepIndicator = React5__namespace.forwardRef(
31313
31567
  }
31314
31568
  ) : null,
31315
31569
  /* @__PURE__ */ jsxRuntime.jsxs(
31316
- Link13__default.default,
31570
+ Link14__default.default,
31317
31571
  {
31318
31572
  href: step.href,
31319
31573
  className: "group relative flex items-center",
@@ -31336,7 +31590,7 @@ var StepIndicator = React5__namespace.forwardRef(
31336
31590
  }
31337
31591
  ) : null,
31338
31592
  /* @__PURE__ */ jsxRuntime.jsxs(
31339
- Link13__default.default,
31593
+ Link14__default.default,
31340
31594
  {
31341
31595
  href: step.href,
31342
31596
  className: "group relative flex items-center",
@@ -31359,7 +31613,7 @@ var StepIndicator = React5__namespace.forwardRef(
31359
31613
  }
31360
31614
  ) : null,
31361
31615
  /* @__PURE__ */ jsxRuntime.jsxs(
31362
- Link13__default.default,
31616
+ Link14__default.default,
31363
31617
  {
31364
31618
  href: step.href,
31365
31619
  className: "group relative flex items-center",
@@ -31382,7 +31636,7 @@ var StepIndicator = React5__namespace.forwardRef(
31382
31636
  }
31383
31637
  ) : null,
31384
31638
  /* @__PURE__ */ jsxRuntime.jsxs(
31385
- Link13__default.default,
31639
+ Link14__default.default,
31386
31640
  {
31387
31641
  href: step.href,
31388
31642
  className: "group relative flex items-center",
@@ -31681,7 +31935,7 @@ function TableOfContents({ tableOfContents }) {
31681
31935
  ),
31682
31936
  children: tableOfContents.map((section) => /* @__PURE__ */ jsxRuntime.jsxs("li", { children: [
31683
31937
  /* @__PURE__ */ jsxRuntime.jsx(
31684
- Link13__default.default,
31938
+ Link14__default.default,
31685
31939
  {
31686
31940
  href: `#${section.id}`,
31687
31941
  prefetch: false,
@@ -31694,7 +31948,7 @@ function TableOfContents({ tableOfContents }) {
31694
31948
  }
31695
31949
  ),
31696
31950
  section.children.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("ol", { role: "list", className: "mt-3 flex flex-col gap-2", children: section.children.map((subSection) => /* @__PURE__ */ jsxRuntime.jsx("li", { children: /* @__PURE__ */ jsxRuntime.jsx(
31697
- Link13__default.default,
31951
+ Link14__default.default,
31698
31952
  {
31699
31953
  href: `#${subSection.id}`,
31700
31954
  prefetch: false,
@@ -35319,6 +35573,7 @@ exports.NavigationMenuIndicator = NavigationMenuIndicator;
35319
35573
  exports.NavigationMenuItem = NavigationMenuItem;
35320
35574
  exports.NavigationMenuLink = NavigationMenuLink;
35321
35575
  exports.NavigationMenuList = NavigationMenuList;
35576
+ exports.NavigationMenuMainNavigation = NavigationMenuMainNavigation;
35322
35577
  exports.NavigationMenuTrigger = NavigationMenuTrigger;
35323
35578
  exports.NavigationMenuViewport = NavigationMenuViewport;
35324
35579
  exports.NotFound = NotFound;