@nswds/app 0.1.13 → 0.1.14

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
@@ -1,5 +1,7 @@
1
1
  'use strict';
2
2
 
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
3
5
  var reactSlot = require('@radix-ui/react-slot');
4
6
  var classVarianceAuthority = require('class-variance-authority');
5
7
  var jsxRuntime = require('react/jsx-runtime');
@@ -581,6 +583,25 @@ function camelCase(str) {
581
583
  return str.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (_, chr) => chr.toUpperCase());
582
584
  }
583
585
 
586
+ // src/packages/index.ts
587
+ var nswdsExports = {
588
+ Button,
589
+ DynamicFavicon,
590
+ Footer,
591
+ Icons,
592
+ Layout,
593
+ Logo,
594
+ Masthead,
595
+ Navigation,
596
+ PrevNextLinks,
597
+ TableOfContents,
598
+ Providers,
599
+ ThemeProvider,
600
+ ThemeSwitcher,
601
+ defaultNavigation
602
+ };
603
+ var index_default = nswdsExports;
604
+
584
605
  exports.Button = Button;
585
606
  exports.DynamicFavicon = DynamicFavicon;
586
607
  exports.Footer = Footer;
@@ -596,6 +617,7 @@ exports.ThemeProvider = ThemeProvider;
596
617
  exports.ThemeSwitcher = ThemeSwitcher;
597
618
  exports.camelCase = camelCase;
598
619
  exports.cn = cn;
620
+ exports.default = index_default;
599
621
  exports.defaultNavigation = defaultNavigation;
600
622
  exports.domToSimple = domToSimple;
601
623
  exports.getHeadings = getHeadings;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Button.tsx","../src/components/Favicon.tsx","../src/components/Icons.tsx","../src/components/Footer.tsx","../src/lib/sections.ts","../src/components/Masthead.tsx","../src/components/Logo.tsx","../src/components/Navigation.tsx","../src/components/ThemeSwitcher.tsx","../src/components/TableOfContents.tsx","../src/components/PrevNextLinks.tsx","../src/components/Layout.tsx","../src/components/ThemeProvider.tsx","../src/components/Providers.tsx","../src/lib/utils.ts"],"names":["cva","Slot","jsx","useEffect","jsxs","Link","slugify","slugifyWithCounter","Fragment","navigation","usePathname","clsx","useTheme","useState","getHeadings","useCallback","tableOfContents","NextThemesProvider","twMerge"],"mappings":"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","file":"index.cjs","sourcesContent":["import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../packages/index.js'\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-zinc-950 focus-visible:ring-zinc-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:focus-visible:border-zinc-300 dark:focus-visible:ring-zinc-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900\",\n {\n variants: {\n variant: {\n default:\n 'bg-zinc-900 text-zinc-50 shadow-xs hover:bg-zinc-900/90 dark:bg-zinc-50 dark:text-zinc-900 dark:hover:bg-zinc-50/90',\n destructive:\n 'bg-red-500 text-white shadow-xs hover:bg-red-500/90 focus-visible:ring-red-500/20 dark:focus-visible:ring-red-500/40 dark:bg-red-500/60 dark:bg-red-900 dark:hover:bg-red-900/90 dark:focus-visible:ring-red-900/20 dark:dark:focus-visible:ring-red-900/40 dark:dark:bg-red-900/60',\n outline:\n 'border bg-white shadow-xs hover:bg-zinc-100 hover:text-zinc-900 dark:bg-zinc-200/30 dark:border-zinc-200 dark:hover:bg-zinc-200/50 dark:bg-zinc-950 dark:hover:bg-zinc-800 dark:hover:text-zinc-50 dark:dark:bg-zinc-800/30 dark:dark:border-zinc-800 dark:dark:hover:bg-zinc-800/50',\n secondary:\n 'bg-zinc-100 text-zinc-900 shadow-xs hover:bg-zinc-100/80 dark:bg-zinc-800 dark:text-zinc-50 dark:hover:bg-zinc-800/80',\n ghost:\n 'hover:bg-zinc-100 hover:text-zinc-900 dark:hover:bg-zinc-100/50 dark:hover:bg-zinc-800 dark:hover:text-zinc-50 dark:dark:hover:bg-zinc-800/50',\n link: 'text-zinc-900 underline-offset-4 hover:underline dark:text-zinc-50',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n data-slot='button'\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","'use client'\n\nimport { useEffect } from 'react'\n\ninterface DynamicFaviconProps {\n lightModeFavicon: string\n darkModeFavicon: string\n}\n\nexport function DynamicFavicon({ lightModeFavicon, darkModeFavicon }: DynamicFaviconProps) {\n useEffect(() => {\n // Function to update favicon based on color scheme\n const updateFavicon = () => {\n const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches\n const favicon = document.querySelector(\"link[rel='icon']\") as HTMLLinkElement\n\n if (favicon) {\n favicon.href = isDarkMode ? darkModeFavicon : lightModeFavicon\n } else {\n // Create favicon link if it doesn't exist\n const newFavicon = document.createElement('link')\n newFavicon.rel = 'icon'\n newFavicon.href = isDarkMode ? darkModeFavicon : lightModeFavicon\n document.head.appendChild(newFavicon)\n }\n }\n\n // Initial update\n updateFavicon()\n\n // Listen for changes in color scheme\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n mediaQuery.addEventListener('change', updateFavicon)\n\n // Clean up\n return () => mediaQuery.removeEventListener('change', updateFavicon)\n }, [lightModeFavicon, darkModeFavicon])\n\n // This component doesn't render anything visible\n return null\n}\n","type IconProps = React.HTMLAttributes<SVGElement>\n\nexport const Icons = {\n logo: (props: IconProps) => (\n <svg viewBox='0 0 259 280' aria-hidden='true' {...props}>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M24.208 270.207h-5.045v-4.277l11.15.054v13.676H26.08v-2.491c-.266.278-.553.556-.86.833-.673.585-1.49 1.07-2.433 1.434-.96.373-2.143.564-3.513.564-2.33 0-4.385-.539-6.109-1.6-1.727-1.065-3.073-2.594-4.007-4.538-.926-1.927-1.395-4.231-1.395-6.85 0-2.657.494-4.994 1.47-6.946.971-1.96 2.363-3.498 4.132-4.571 1.768-1.065 3.849-1.604 6.183-1.604 1.515 0 2.915.245 4.156.725 1.255.485 2.36 1.157 3.273 1.985a9.61 9.61 0 0 1 2.192 2.852 8.196 8.196 0 0 1 .872 3.319l.021.435h-6.038l-.062-.339a5.22 5.22 0 0 0-.814-1.981 4.562 4.562 0 0 0-1.537-1.43c-.614-.352-1.345-.531-2.175-.531-1.005 0-1.931.261-2.741.775-.806.51-1.458 1.351-1.935 2.495-.486 1.169-.731 2.74-.731 4.679 0 1.579.162 2.897.482 3.925.311 1.011.739 1.819 1.266 2.403.523.581 1.117.991 1.773 1.219a6.036 6.036 0 0 0 2.089.369c.669 0 1.27-.112 1.79-.328.523-.224.98-.514 1.354-.866.377-.356.676-.746.884-1.152.216-.41.349-.816.399-1.21l.14-1.028Zm20.878-16.312c2.354 0 4.435.534 6.179 1.587 1.752 1.061 3.13 2.59 4.086 4.546.947 1.935 1.428 4.281 1.428 6.967 0 2.648-.473 4.969-1.412 6.9-.946 1.948-2.317 3.469-4.073 4.521-1.744 1.053-3.837 1.583-6.212 1.583-2.396 0-4.502-.534-6.254-1.583-1.753-1.044-3.135-2.557-4.099-4.505-.947-1.927-1.428-4.252-1.428-6.912 0-2.673.486-5.015 1.449-6.954.968-1.956 2.355-3.486 4.12-4.551 1.764-1.061 3.853-1.599 6.216-1.599Zm0 21.185c1.117 0 2.093-.265 2.898-.787.802-.523 1.433-1.372 1.881-2.516.453-1.185.686-2.772.686-4.712 0-1.993-.237-3.618-.698-4.832-.444-1.181-1.08-2.056-1.885-2.603-.814-.543-1.782-.82-2.878-.82-1.1 0-2.072.277-2.886.82-.81.543-1.453 1.422-1.906 2.611-.47 1.223-.706 2.843-.706 4.82 0 1.944.237 3.531.702 4.712.452 1.148 1.092 1.997 1.902 2.515.81.527 1.781.792 2.89.792Zm23.764-2.93-6.162-17.829H57.09l8.654 25.251h6.195l8.73-25.251h-5.607L68.85 272.15Zm30.312-2.827H88.863v5.206l12.043.016v5.027H83.103v-25.251h17.632l-.016 4.99H88.892v5.089h10.27v4.923Zm22.482-1.529c.685-.613 1.246-1.401 1.678-2.341.419-.933.635-2.081.635-3.419 0-1.497-.311-2.835-.93-3.983-.619-1.169-1.599-2.093-2.919-2.756-1.3-.647-2.973-.974-4.975-.974h-10.738v25.243h5.759v-9.404h4.24l3.991 9.404h6.046l-4.651-10.456c.673-.357 1.3-.8 1.864-1.314Zm-3.513-5.64c0 .999-.336 1.79-1.025 2.428-.69.63-1.649.949-2.857.949h-4.095v-6.606h4.456c1.038 0 1.873.286 2.545.875.657.576.976 1.347.976 2.354Zm15.159-7.833 10.527 15.23v-15.23h5.776v25.251h-5.086l-10.98-15.86v15.86h-5.759v-25.251h5.522Zm33.949 16.461-5.29-16.461h-7.894v25.251h5.809v-16.266l5.124 16.266h4.485l5.162-16.357v16.357h5.826v-25.251h-7.878l-5.344 16.461Zm33.727-1.459h-10.298v5.206l12.046.016v5.027h-17.806v-25.251h17.636l-.021 4.99h-11.818v5.089h10.261v4.923Zm21.494.228-10.523-15.23h-5.527v25.251h5.756v-15.86l10.979 15.86h5.087v-25.251h-5.772v15.23Zm15.586-10.004h-7.388v-5.226h20.402v5.226h-7.217v20.025h-5.797v-20.025Z'\n className='fill-nsw-blue-800 dark:fill-white'\n />\n\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M146.699 209.236c-1.482-2.395-3.717-4.571-6.64-6.465-2.919-1.894-6.897-3.34-11.81-4.297l-13.678-2.814c-4.132-.891-6.981-2.043-8.468-3.419-1.449-1.343-2.184-3.129-2.184-5.309 0-1.388.316-2.652.943-3.759.623-1.111 1.528-2.093 2.687-2.922 1.166-.828 2.616-1.483 4.306-1.943 1.711-.469 3.633-.705 5.714-.705 2.74 0 5.211.361 7.346 1.078 2.109.713 3.857 1.881 5.194 3.481 1.338 1.6 2.16 3.775 2.442 6.465l.038.373h16.971l-.008-.427c-.075-4.575-1.371-8.773-3.85-12.474-2.483-3.705-6.141-6.681-10.879-8.852-4.726-2.164-10.623-3.262-17.528-3.262-5.801 0-11.117 1.011-15.805 3.009-4.7 2.002-8.475 4.89-11.212 8.587-2.749 3.717-4.12 8.164-4.078 13.224.112 6.175 1.99 11.186 5.577 14.903 3.576 3.697 8.476 6.158 14.567 7.306l13.795 2.81c2.529.502 4.825 1.16 6.823 1.96 1.96.784 3.525 1.803 4.651 3.03 1.1 1.197 1.657 2.772 1.657 4.67 0 2.114-.694 3.9-2.06 5.301-1.4 1.434-3.301 2.515-5.643 3.224-2.388.721-5.058 1.086-7.936 1.086-2.807 0-5.394-.435-7.686-1.297-2.28-.85-4.194-2.093-5.689-3.693-1.491-1.591-2.513-3.585-3.04-5.918l-.075-.327H83.846l.045.46c.407 4.045 1.666 7.629 3.738 10.659 2.068 3.009 4.717 5.545 7.873 7.551 3.148 1.993 6.677 3.514 10.494 4.513a46.33 46.33 0 0 0 11.693 1.5c6.466 0 12.2-1.019 17.046-3.034 4.867-2.022 8.717-4.807 11.449-8.276 2.753-3.493 4.148-7.476 4.148-11.848 0-2.064-.232-4.36-.697-6.822-.478-2.482-1.466-4.948-2.936-7.327ZM25.937 191.763l36.916 53.312H77.87v-79.724H61.072v51.282L25.754 165.53l-.125-.179H9.19v79.724h16.748v-53.312Zm196.637 24.577 14.388-50.987h16.457l-23.587 79.724h-13.367l-14.554-50.469-14.659 50.469h-13.147l-23.533-79.724h16.511l14.384 50.979 14.389-50.979h12.167l14.551 50.987Z'\n className='fill-nsw-blue-800 dark:fill-white'\n />\n\n <path\n d='M122.291 145.572c-19.75-2.424-38.934 3.904-72.69-5.263-3.447-.937-4.718 2.694-2.854 5.736 9.07 14.803 54.881 3.203 75.635 1.065.906-.095.814-1.426-.091-1.538ZM208.735 140.309c-33.756 9.167-52.941 2.839-72.691 5.263-.905.112-1 1.447-.091 1.538 20.759 2.138 66.566 13.738 75.635-1.065 1.864-3.042.594-6.673-2.853-5.736ZM59.882 119.132c-6.864-10.058-12.474-21.31-16.818-33.69-13.101 3.826-26.51 9.346-40.16 16.57a5.388 5.388 0 0 0-2.902 4.67 5.38 5.38 0 0 0 2.653 4.812c26.431 15.802 52.273 24.841 76.93 26.933-7.34-4.475-14.072-11.044-19.703-19.295ZM23.059 85.513a201.529 201.529 0 0 1 17.976-6.233c-2.126-6.896-3.87-14.12-5.249-21.658-6.827-.85-13.89-1.4-21.199-1.641-.062 0-.128-.004-.19-.004a5.391 5.391 0 0 0-4.647 2.602 5.383 5.383 0 0 0-.12 5.483c4.243 7.659 8.724 14.808 13.429 21.45ZM88.005 135.572c4.099 1.807 8.293 2.818 12.358 3.029-9.953-7.12-17.773-19.192-22.278-34.58-5.805-19.81-7.745-41.666-5.83-65.247-7.832-4.936-16.32-9.557-25.46-13.85a5.428 5.428 0 0 0-5.402.43 5.396 5.396 0 0 0-2.388 4.841c2.126 34.215 10.95 62.915 26.223 85.298 6.404 9.391 14.281 16.332 22.777 20.079ZM107.488 23.577A253.323 253.323 0 0 0 92.235 6.735c-1.063-1.078-2.433-1.65-3.85-1.65-.506 0-1.017.075-1.523.224-1.923.568-3.314 2.106-3.733 4.115-1.072 5.164-3.11 15.69-4.012 26.101 7.014 4.613 13.492 9.49 19.426 14.621 2.3-8.757 5.29-17.63 8.945-26.569ZM255.42 102.007c-13.65-7.223-27.058-12.744-40.16-16.569-4.343 12.38-9.953 23.631-16.818 33.689-5.63 8.255-12.362 14.82-19.708 19.296 24.658-2.093 50.5-11.132 76.931-26.934 1.715-1.024 2.707-2.822 2.653-4.811-.045-1.99-1.133-3.734-2.898-4.671ZM235.273 85.513c4.705-6.643 9.186-13.796 13.43-21.455.963-1.74.922-3.788-.121-5.483a5.4 5.4 0 0 0-4.837-2.598c-7.309.24-14.377.796-21.199 1.641-1.375 7.539-3.123 14.762-5.249 21.658a203.803 203.803 0 0 1 17.976 6.237ZM180.247 104.025c-4.505 15.384-12.329 27.46-22.278 34.58 4.065-.211 8.263-1.227 12.358-3.034 8.496-3.746 16.373-10.688 22.777-20.075 15.273-22.383 24.097-51.082 26.223-85.297a5.394 5.394 0 0 0-2.388-4.84 5.428 5.428 0 0 0-5.402-.432c-9.14 4.29-17.628 8.91-25.46 13.85 1.915 23.582-.029 45.434-5.83 65.248ZM179.214 35.52c-.901-10.406-2.94-20.932-4.011-26.1-.416-2.01-1.811-3.547-3.733-4.115a5.39 5.39 0 0 0-1.524-.224c-1.416 0-2.787.572-3.85 1.65-5.485 5.549-10.568 11.164-15.252 16.842 3.654 8.939 6.644 17.812 8.949 26.565 5.934-5.127 12.407-10.005 19.421-14.617ZM129.144 87.229c6.64-13.092 17.246-24.829 25.21-32.243-4.372-17.779-11.104-34.55-20.397-52.097C132.998 1.078 131.195 0 129.148 0s-3.845 1.082-4.808 2.889c-9.389 17.604-16.237 35.122-20.377 52.093 8.313 7.688 19.28 20.224 25.181 32.247Z'\n className='fill-nsw-red-600 dark:fill-white'\n />\n\n <path\n d='M153.541 133.686c6.885-4.833 13.77-13.254 18.139-24.97 8.458-22.681 9.334-47.945 8.122-65.823-15.331 10.215-39.665 31.55-47.975 54.36-3.911 10.734-5.734 25.355-2.72 33.511 1.259 3.411 3.401 5.997 6.345 7.227 4.46 1.865 11.312.456 18.089-4.305ZM125.713 95.261c-2.027-4.724-4.261-9.18-7.728-14.186-9.809-14.16-23.026-26.933-39.475-38.185-.17 2.652-2.57 31.297 5.851 59.304 6.408 21.302 17.354 29.98 23.354 33.333 6.038 3.369 11.561 4.165 18.039 2.557-6.565-8.935-5.747-27.27-.041-42.823Z'\n className='fill-nsw-red-600 dark:fill-white'\n />\n </svg>\n ),\n github: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fillRule='evenodd'\n d='M8.977.83C4.549.83.97 4.32.97 8.636c0 3.45 2.293 6.371 5.475 7.405.397.078.543-.168.543-.375 0-.18-.013-.8-.013-1.447-2.227.465-2.691-.93-2.691-.93-.358-.905-.888-1.138-.888-1.138-.73-.478.053-.478.053-.478.808.052 1.233.801 1.233.801.715 1.19 1.869.853 2.333.646.066-.504.278-.853.504-1.046-1.777-.181-3.646-.853-3.646-3.852 0-.853.318-1.55.822-2.093-.08-.194-.358-.995.08-2.068 0 0 .676-.207 2.2.801a7.94 7.94 0 0 1 2.002-.258c.676 0 1.365.09 2.001.258 1.525-1.008 2.2-.801 2.2-.801.438 1.073.16 1.874.08 2.068.517.542.822 1.24.822 2.093 0 2.999-1.869 3.658-3.659 3.852.292.245.544.71.544 1.447 0 1.047-.013 1.887-.013 2.145 0 .207.146.453.543.375 3.182-1.034 5.475-3.955 5.475-7.405C16.983 4.319 13.39.83 8.977.83Z'\n clipRule='evenodd'\n ></path>\n </g>\n </svg>\n ),\n linkedin: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M15.776.83H2.14C1.488.83.96 1.329.96 1.946v13.249c0 .617.528 1.119 1.181 1.119h13.635c.653 0 1.184-.502 1.184-1.116V1.946c0-.617-.531-1.116-1.184-1.116ZM5.706 14.025H3.333V6.633h2.375v7.392ZM4.52 5.626c-.762 0-1.378-.595-1.378-1.33 0-.735.616-1.33 1.378-1.33.76 0 1.375.595 1.375 1.33 0 .732-.615 1.33-1.375 1.33Zm10.075 8.399h-2.371v-3.593c0-.856-.016-1.96-1.235-1.96-1.234 0-1.422.935-1.422 1.9v3.653H7.197V6.633h2.275v1.01h.032c.315-.58 1.09-1.194 2.244-1.194 2.403 0 2.846 1.53 2.846 3.52v4.056Z'\n ></path>\n </g>\n </svg>\n ),\n twitter: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M13.158 2.058h2.248l-4.913 5.435 5.78 7.395h-4.525l-3.545-4.485-4.056 4.485h-2.25l5.255-5.813-5.545-7.017h4.64l3.205 4.1 3.706-4.1Zm-.79 11.527h1.246L5.57 3.293H4.233l8.135 10.292Z'\n ></path>\n </g>\n </svg>\n ),\n youtube: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M16.79 5.475s-.156-1.067-.637-1.536c-.61-.617-1.29-.62-1.603-.656-2.238-.158-5.597-.158-5.597-.158h-.006s-3.36 0-5.597.158c-.313.036-.994.039-1.603.656-.481.469-.635 1.536-.635 1.536S.95 6.73.95 7.982v1.174c0 1.252.16 2.507.16 2.507s.156 1.067.634 1.536c.61.617 1.41.596 1.765.662 1.282.118 5.441.154 5.441.154s3.363-.006 5.6-.16c.313-.036.994-.04 1.603-.656.481-.469.638-1.536.638-1.536s.159-1.252.159-2.507V7.982c0-1.252-.16-2.507-.16-2.507ZM7.298 10.58V6.228l4.322 2.184-4.322 2.168Z'\n ></path>\n </g>\n </svg>\n ),\n account_circle: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M234-276q51-39 114-61.5T480-360q69 0 132 22.5T726-276q35-41 54.5-93T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 59 19.5 111t54.5 93Zm246-164q-59 0-99.5-40.5T340-580q0-59 40.5-99.5T480-720q59 0 99.5 40.5T620-580q0 59-40.5 99.5T480-440Zm0 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q53 0 100-15.5t86-44.5q-39-29-86-44.5T480-280q-53 0-100 15.5T294-220q39 29 86 44.5T480-160Zm0-360q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm0-60Zm0 360Z' />\n </svg>\n ),\n attach_file: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M720-330q0 104-73 177T470-80q-104 0-177-73t-73-177v-370q0-75 52.5-127.5T400-880q75 0 127.5 52.5T580-700v350q0 46-32 78t-78 32q-46 0-78-32t-32-78v-330q0-17 11.5-28.5T400-720q17 0 28.5 11.5T440-680v330q0 13 8.5 21.5T470-320q13 0 21.5-8.5T500-350v-350q-1-42-29.5-71T400-800q-42 0-71 29t-29 71v370q-1 71 49 120.5T470-160q70 0 119-49.5T640-330v-350q0-17 11.5-28.5T680-720q17 0 28.5 11.5T720-680v350Z' />\n </svg>\n ),\n cancel: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m480-424 116 116q11 11 28 11t28-11q11-11 11-28t-11-28L536-480l116-116q11-11 11-28t-11-28q-11-11-28-11t-28 11L480-536 364-652q-11-11-28-11t-28 11q-11 11-11 28t11 28l116 116-116 116q-11 11-11 28t11 28q11 11 28 11t28-11l116-116Zm0 344q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n check_circle: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m424-408-86-86q-11-11-28-11t-28 11q-11 11-11 28t11 28l114 114q12 12 28 12t28-12l226-226q11-11 11-28t-11-28q-11-11-28-11t-28 11L424-408Zm56 328q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n check: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m382-354 339-339q12-12 28-12t28 12q12 12 12 28.5T777-636L410-268q-12 12-28 12t-28-12L182-440q-12-12-11.5-28.5T183-497q12-12 28.5-12t28.5 12l142 143Z' />\n </svg>\n ),\n chevron_down: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-361q-8 0-15-2.5t-13-8.5L268-556q-11-11-11-28t11-28q11-11 28-11t28 11l156 156 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L508-372q-6 6-13 8.5t-15 2.5Z' />\n </svg>\n ),\n chevron_left: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m432-480 156 156q11 11 11 28t-11 28q-11 11-28 11t-28-11L348-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 28-11t28 11q11 11 11 28t-11 28L432-480Z' />\n </svg>\n ),\n chevron_right: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M504-480 348-636q-11-11-11-28t11-28q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L404-268q-11 11-28 11t-28-11q-11-11-11-28t11-28l156-156Z' />\n </svg>\n ),\n chevron_up: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-528 324-372q-11 11-28 11t-28-11q-11-11-11-28t11-28l184-184q12-12 28-12t28 12l184 184q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-528Z' />\n </svg>\n ),\n close: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-424 284-228q-11 11-28 11t-28-11q-11-11-11-28t11-28l196-196-196-196q-11-11-11-28t11-28q11-11 28-11t28 11l196 196 196-196q11-11 28-11t28 11q11 11 11 28t-11 28L536-480l196 196q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-424Z' />\n </svg>\n ),\n collapse_all: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-264 324-108q-11 11-28 11t-28-11q-11-11-11-28t11-28l155-155q23-23 57-23t57 23l155 155q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-264Zm0-432 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L537-641q-23 23-57 23t-57-23L268-796q-11-11-11-28t11-28q11-11 28-11t28 11l156 156Z' />\n </svg>\n ),\n computer: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M80-120q-17 0-28.5-11.5T40-160q0-17 11.5-28.5T80-200h800q17 0 28.5 11.5T920-160q0 17-11.5 28.5T880-120H80Zm80-120q-33 0-56.5-23.5T80-320v-440q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v440q0 33-23.5 56.5T800-240H160Zm0-80h640v-440H160v440Zm0 0v-440 440Z' />\n </svg>\n ),\n copy: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-520q0-17 11.5-28.5T160-720q17 0 28.5 11.5T200-680v520h400q17 0 28.5 11.5T640-120q0 17-11.5 28.5T600-80H200Zm160-240v-480 480Z' />\n </svg>\n ),\n dark_mode: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-120q-151 0-255.5-104.5T120-480q0-138 90-239.5T440-838q13-2 23 3.5t16 14.5q6 9 6.5 21t-7.5 23q-17 26-25.5 55t-8.5 61q0 90 63 153t153 63q31 0 61.5-9t54.5-25q11-7 22.5-6.5T819-479q10 5 15.5 15t3.5 24q-14 138-117.5 229T480-120Zm0-80q88 0 158-48.5T740-375q-20 5-40 8t-40 3q-123 0-209.5-86.5T364-660q0-20 3-40t8-40q-78 32-126.5 102T200-480q0 116 82 198t198 82Zm-10-270Z' />\n </svg>\n ),\n dock_to_left: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm440-80h120v-560H640v560Zm-80 0v-560H200v560h360Zm80 0h120-120Z' />\n </svg>\n ),\n dock_to_right: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm120-80v-560H200v560h120Zm80 0h360v-560H400v560Zm-80 0H200h120Z' />\n </svg>\n ),\n delete: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M280-120q-33 0-56.5-23.5T200-200v-520q-17 0-28.5-11.5T160-760q0-17 11.5-28.5T200-800h160q0-17 11.5-28.5T400-840h160q17 0 28.5 11.5T600-800h160q17 0 28.5 11.5T800-760q0 17-11.5 28.5T760-720v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM400-280q17 0 28.5-11.5T440-320v-280q0-17-11.5-28.5T400-640q-17 0-28.5 11.5T360-600v280q0 17 11.5 28.5T400-280Zm160 0q17 0 28.5-11.5T600-320v-280q0-17-11.5-28.5T560-640q-17 0-28.5 11.5T520-600v280q0 17 11.5 28.5T560-280ZM280-720v520-520Z' />\n </svg>\n ),\n desktop: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M400-200v-80H160q-33 0-56.5-23.5T80-360v-400q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v400q0 33-23.5 56.5T800-280H560v80h40q17 0 28.5 11.5T640-160q0 17-11.5 28.5T600-120H360q-17 0-28.5-11.5T320-160q0-17 11.5-28.5T360-200h40ZM160-360h640v-400H160v400Zm0 0v-400 400Z' />\n </svg>\n ),\n display_settings: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M300-410v20q0 13 8.5 21.5T330-360q13 0 21.5-8.5T360-390v-100q0-13-8.5-21.5T330-520q-13 0-21.5 8.5T300-490v20h-30q-13 0-21.5 8.5T240-440q0 13 8.5 21.5T270-410h30Zm130 0h260q13 0 21.5-8.5T720-440q0-13-8.5-21.5T690-470H430q-13 0-21.5 8.5T400-440q0 13 8.5 21.5T430-410Zm230-160h30q13 0 21.5-8.5T720-600q0-13-8.5-21.5T690-630h-30v-20q0-13-8.5-21.5T630-680q-13 0-21.5 8.5T600-650v100q0 13 8.5 21.5T630-520q13 0 21.5-8.5T660-550v-20Zm-390 0h260q13 0 21.5-8.5T560-600q0-13-8.5-21.5T530-630H270q-13 0-21.5 8.5T240-600q0 13 8.5 21.5T270-570ZM160-200q-33 0-56.5-23.5T80-280v-480q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v480q0 33-23.5 56.5T800-200H640v40q0 17-11.5 28.5T600-120H360q-17 0-28.5-11.5T320-160v-40H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z' />\n </svg>\n ),\n double_arrow_left: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m313-480 155 156q11 11 11.5 27.5T468-268q-11 11-28 11t-28-11L228-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 27.5-11.5T468-692q11 11 11 28t-11 28L313-480Zm264 0 155 156q11 11 11.5 27.5T732-268q-11 11-28 11t-28-11L492-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 27.5-11.5T732-692q11 11 11 28t-11 28L577-480Z' />\n </svg>\n ),\n double_arrow_right: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M383-480 228-636q-11-11-11.5-27.5T228-692q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L284-268q-11 11-27.5 11.5T228-268q-11-11-11-28t11-28l155-156Zm264 0L492-636q-11-11-11.5-27.5T492-692q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L548-268q-11 11-27.5 11.5T492-268q-11-11-11-28t11-28l155-156Z' />\n </svg>\n ),\n download: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-337q-8 0-15-2.5t-13-8.5L308-492q-12-12-11.5-28t11.5-28q12-12 28.5-12.5T365-549l75 75v-286q0-17 11.5-28.5T480-800q17 0 28.5 11.5T520-760v286l75-75q12-12 28.5-11.5T652-548q11 12 11.5 28T652-492L508-348q-6 6-13 8.5t-15 2.5ZM240-160q-33 0-56.5-23.5T160-240v-80q0-17 11.5-28.5T200-360q17 0 28.5 11.5T240-320v80h480v-80q0-17 11.5-28.5T760-360q17 0 28.5 11.5T800-320v80q0 33-23.5 56.5T720-160H240Z' />\n </svg>\n ),\n east: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M727-440H120q-17 0-28.5-11.5T80-480q0-17 11.5-28.5T120-520h607L572-676q-11-11-11.5-27.5T572-732q11-11 28-11t28 11l224 224q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L628-228q-11 11-27.5 11T572-228q-12-12-12-28.5t12-28.5l155-155Z' />\n </svg>\n ),\n error: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-280q17 0 28.5-11.5T520-320q0-17-11.5-28.5T480-360q-17 0-28.5 11.5T440-320q0 17 11.5 28.5T480-280Zm0-160q17 0 28.5-11.5T520-480v-160q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640v160q0 17 11.5 28.5T480-440Zm0 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n exclamation: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-400q-17 0-28.5-11.5T440-440v-280q0-17 11.5-28.5T480-760q17 0 28.5 11.5T520-720v280q0 17-11.5 28.5T480-400Zm0 200q-17 0-28.5-11.5T440-240q0-17 11.5-28.5T480-280q17 0 28.5 11.5T520-240q0 17-11.5 28.5T480-200Z' />\n </svg>\n ),\n help: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M478-240q21 0 35.5-14.5T528-290q0-21-14.5-35.5T478-340q-21 0-35.5 14.5T428-290q0 21 14.5 35.5T478-240Zm2 160q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Zm4-172q25 0 43.5 16t18.5 40q0 22-13.5 39T502-525q-23 20-40.5 44T444-427q0 14 10.5 23.5T479-394q15 0 25.5-10t13.5-25q4-21 18-37.5t30-31.5q23-22 39.5-48t16.5-58q0-51-41.5-83.5T484-720q-38 0-72.5 16T359-655q-7 12-4.5 25.5T368-609q14 8 29 5t25-17q11-15 27.5-23t34.5-8Z' />\n </svg>\n ),\n info: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-280q17 0 28.5-11.5T520-320v-160q0-17-11.5-28.5T480-520q-17 0-28.5 11.5T440-480v160q0 17 11.5 28.5T480-280Zm0-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n light_mode: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-360q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Zm0 80q-83 0-141.5-58.5T280-480q0-83 58.5-141.5T480-680q83 0 141.5 58.5T680-480q0 83-58.5 141.5T480-280ZM80-440q-17 0-28.5-11.5T40-480q0-17 11.5-28.5T80-520h80q17 0 28.5 11.5T200-480q0 17-11.5 28.5T160-440H80Zm720 0q-17 0-28.5-11.5T760-480q0-17 11.5-28.5T800-520h80q17 0 28.5 11.5T920-480q0 17-11.5 28.5T880-440h-80ZM480-760q-17 0-28.5-11.5T440-800v-80q0-17 11.5-28.5T480-920q17 0 28.5 11.5T520-880v80q0 17-11.5 28.5T480-760Zm0 720q-17 0-28.5-11.5T440-80v-80q0-17 11.5-28.5T480-200q17 0 28.5 11.5T520-160v80q0 17-11.5 28.5T480-40ZM226-678l-43-42q-12-11-11.5-28t11.5-29q12-12 29-12t28 12l42 43q11 12 11 28t-11 28q-11 12-27.5 11.5T226-678Zm494 495-42-43q-11-12-11-28.5t11-27.5q11-12 27.5-11.5T734-282l43 42q12 11 11.5 28T777-183q-12 12-29 12t-28-12Zm-42-495q-12-11-11.5-27.5T678-734l42-43q11-12 28-11.5t29 11.5q12 12 12 29t-12 28l-43 42q-12 11-28 11t-28-11ZM183-183q-12-12-12-29t12-28l43-42q12-11 28.5-11t27.5 11q12 11 11.5 27.5T282-226l-42 43q-11 12-28 11.5T183-183Zm297-297Z' />\n </svg>\n ),\n link: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M280-280q-83 0-141.5-58.5T80-480q0-83 58.5-141.5T280-680h120q17 0 28.5 11.5T440-640q0 17-11.5 28.5T400-600H280q-50 0-85 35t-35 85q0 50 35 85t85 35h120q17 0 28.5 11.5T440-320q0 17-11.5 28.5T400-280H280Zm80-160q-17 0-28.5-11.5T320-480q0-17 11.5-28.5T360-520h240q17 0 28.5 11.5T640-480q0 17-11.5 28.5T600-440H360Zm200 160q-17 0-28.5-11.5T520-320q0-17 11.5-28.5T560-360h120q50 0 85-35t35-85q0-50-35-85t-85-35H560q-17 0-28.5-11.5T520-640q0-17 11.5-28.5T560-680h120q83 0 141.5 58.5T880-480q0 83-58.5 141.5T680-280H560Z' />\n </svg>\n ),\n login: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M520-120q-17 0-28.5-11.5T480-160q0-17 11.5-28.5T520-200h240v-560H520q-17 0-28.5-11.5T480-800q0-17 11.5-28.5T520-840h240q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H520Zm-73-320H160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h287l-75-75q-11-11-11-27t11-28q11-12 28-12.5t29 11.5l143 143q12 12 12 28t-12 28L429-309q-12 12-28.5 11.5T372-310q-11-12-10.5-28.5T373-366l74-74Z' />\n </svg>\n ),\n logout: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h240q17 0 28.5 11.5T480-800q0 17-11.5 28.5T440-760H200v560h240q17 0 28.5 11.5T480-160q0 17-11.5 28.5T440-120H200Zm487-320H400q-17 0-28.5-11.5T360-480q0-17 11.5-28.5T400-520h287l-75-75q-11-11-11-27t11-28q11-12 28-12.5t29 11.5l143 143q12 12 12 28t-12 28L669-309q-12 12-28.5 11.5T612-310q-11-12-10.5-28.5T613-366l74-74Z' />\n </svg>\n ),\n menu: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M160-240q-17 0-28.5-11.5T120-280q0-17 11.5-28.5T160-320h640q17 0 28.5 11.5T840-280q0 17-11.5 28.5T800-240H160Zm0-200q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h640q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H160Zm0-200q-17 0-28.5-11.5T120-680q0-17 11.5-28.5T160-720h640q17 0 28.5 11.5T840-680q0 17-11.5 28.5T800-640H160Z' />\n </svg>\n ),\n more_horiz: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400Z' />\n </svg>\n ),\n more_vert: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-160q-33 0-56.5-23.5T400-240q0-33 23.5-56.5T480-320q33 0 56.5 23.5T560-240q0 33-23.5 56.5T480-160Zm0-240q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm0-240q-33 0-56.5-23.5T400-720q0-33 23.5-56.5T480-800q33 0 56.5 23.5T560-720q0 33-23.5 56.5T480-640Z' />\n </svg>\n ),\n north: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-17 0-28.5-11.5T440-120v-607L284-572q-11 11-27.5 11.5T228-572q-11-11-11-28t11-28l224-224q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l224 224q11 11 11 27.5T732-572q-12 12-28.5 12T675-572L520-727v607q0 17-11.5 28.5T480-80Z' />\n </svg>\n ),\n open_in_new: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h240q17 0 28.5 11.5T480-800q0 17-11.5 28.5T440-760H200v560h560v-240q0-17 11.5-28.5T800-480q17 0 28.5 11.5T840-440v240q0 33-23.5 56.5T760-120H200Zm560-584L416-360q-11 11-28 11t-28-11q-11-11-11-28t11-28l344-344H600q-17 0-28.5-11.5T560-800q0-17 11.5-28.5T600-840h200q17 0 28.5 11.5T840-800v200q0 17-11.5 28.5T800-560q-17 0-28.5-11.5T760-600v-104Z' />\n </svg>\n ),\n print: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M320-120q-33 0-56.5-23.5T240-200v-80h-80q-33 0-56.5-23.5T80-360v-160q0-51 35-85.5t85-34.5h560q51 0 85.5 34.5T880-520v160q0 33-23.5 56.5T800-280h-80v80q0 33-23.5 56.5T640-120H320ZM160-360h80q0-33 23.5-56.5T320-440h320q33 0 56.5 23.5T720-360h80v-160q0-17-11.5-28.5T760-560H200q-17 0-28.5 11.5T160-520v160Zm480-280v-120H320v120h-80v-120q0-33 23.5-56.5T320-840h320q33 0 56.5 23.5T720-760v120h-80Zm80 180q17 0 28.5-11.5T760-500q0-17-11.5-28.5T720-540q-17 0-28.5 11.5T680-500q0 17 11.5 28.5T720-460Zm-80 260v-160H320v160h320ZM160-560h640-640Z' />\n </svg>\n ),\n progress_activity: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-155.5t86-127Q252-817 325-848.5T480-880q17 0 28.5 11.5T520-840q0 17-11.5 28.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160q133 0 226.5-93.5T800-480q0-17 11.5-28.5T840-520q17 0 28.5 11.5T880-480q0 82-31.5 155t-86 127.5q-54.5 54.5-127 86T480-80Z' />\n </svg>\n ),\n remove: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M240-440q-17 0-28.5-11.5T200-480q0-17 11.5-28.5T240-520h480q17 0 28.5 11.5T760-480q0 17-11.5 28.5T720-440H240Z' />\n </svg>\n ),\n search: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z' />\n </svg>\n ),\n settings_brightness: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m420-320 46 46q6 6 14 6t14-6l46-46h80q8 0 14-6t6-14v-80l46-46q6-6 6-14t-6-14l-46-46v-80q0-8-6-14t-14-6h-80l-46-46q-6-6-14-6t-14 6l-46 46h-80q-8 0-14 6t-6 14v80l-46 46q-6 6-6 14t6 14l46 46v80q0 8 6 14t14 6h80Zm60-40v-240q50 0 85 35t35 85q0 50-35 85t-85 35ZM160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z' />\n </svg>\n ),\n share: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M680-80q-50 0-85-35t-35-85q0-6 3-28L282-392q-16 15-37 23.5t-45 8.5q-50 0-85-35t-35-85q0-50 35-85t85-35q24 0 45 8.5t37 23.5l281-164q-2-7-2.5-13.5T560-760q0-50 35-85t85-35q50 0 85 35t35 85q0 50-35 85t-85 35q-24 0-45-8.5T598-672L317-508q2 7 2.5 13.5t.5 14.5q0 8-.5 14.5T317-452l281 164q16-15 37-23.5t45-8.5q50 0 85 35t35 85q0 50-35 85t-85 35Zm0-80q17 0 28.5-11.5T720-200q0-17-11.5-28.5T680-240q-17 0-28.5 11.5T640-200q0 17 11.5 28.5T680-160ZM200-440q17 0 28.5-11.5T240-480q0-17-11.5-28.5T200-520q-17 0-28.5 11.5T160-480q0 17 11.5 28.5T200-440Zm480-280q17 0 28.5-11.5T720-760q0-17-11.5-28.5T680-800q-17 0-28.5 11.5T640-760q0 17 11.5 28.5T680-720Zm0 520ZM200-480Zm480-280Z' />\n </svg>\n ),\n side_navigation: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm280-80h280v-560H480v560Z' />\n </svg>\n ),\n south: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-97q-8 0-15-2.5t-13-8.5L228-332q-11-11-11-28t11-28q12-12 28.5-11.5T284-388l156 155v-607q0-17 11.5-28.5T480-880q17 0 28.5 11.5T520-840v607l155-155q12-12 28.5-12t28.5 12q11 12 11 28.5T732-332L508-108q-6 6-13 8.5T480-97Z' />\n </svg>\n ),\n unfold_less: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m480-284-96 96q-11 11-28 11t-28-11q-11-11-11-28t11-28l124-124q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l124 124q11 11 11 28t-11 28q-11 11-28 11t-28-11l-96-96Zm0-392 96-96q11-11 28-11t28 11q11 11 11 28t-11 28L508-592q-6 6-13 8.5t-15 2.5q-8 0-15-2.5t-13-8.5L328-716q-11-11-11-28t11-28q11-11 28-11t28 11l96 96Z' />\n </svg>\n ),\n unfold_more: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m480-236 93-93q12-12 29-12t29 12q12 12 12 29t-12 29L508-148q-6 6-13 8.5t-15 2.5q-8 0-15-2.5t-13-8.5L329-271q-12-12-12-29t12-29q12-12 29-12t29 12l93 93Zm0-484-93 93q-12 12-29 12t-29-12q-12-12-12-29t12-29l123-123q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l123 123q12 12 12 29t-12 29q-12 12-29 12t-29-12l-93-93Z' />\n </svg>\n ),\n upload: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M240-160q-33 0-56.5-23.5T160-240v-80q0-17 11.5-28.5T200-360q17 0 28.5 11.5T240-320v80h480v-80q0-17 11.5-28.5T760-360q17 0 28.5 11.5T800-320v80q0 33-23.5 56.5T720-160H240Zm200-486-75 75q-12 12-28.5 11.5T308-572q-11-12-11.5-28t11.5-28l144-144q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l144 144q12 12 11.5 28T652-572q-12 12-28.5 12.5T595-571l-75-75v286q0 17-11.5 28.5T480-320q-17 0-28.5-11.5T440-360v-286Z' />\n </svg>\n ),\n west: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M233-440h607q17 0 28.5-11.5T880-480q0-17-11.5-28.5T840-520H233l155-156q11-11 11.5-27.5T388-732q-11-11-28-11t-28 11L108-508q-6 6-8.5 13T97-480q0 8 2.5 15t8.5 13l224 224q11 11 27.5 11t28.5-11q12-12 12-28.5T388-285L233-440Z' />\n </svg>\n ),\n}\n","'use client'\n\nimport Link from 'next/link'\nimport { Icons } from '../components/Icons'\n\nfunction SocialLink({\n href,\n icon: Icon,\n children,\n}: {\n href: string\n icon: React.ComponentType<{ className?: string }>\n children: React.ReactNode\n}) {\n return (\n <Link href={href} className='group'>\n <span className='sr-only'>{children}</span>\n <Icon className='h-5 w-5 fill-zinc-700 transition group-hover:fill-zinc-900 dark:group-hover:fill-zinc-500' />\n </Link>\n )\n}\n\nfunction SmallPrint() {\n return (\n <div className='flex flex-col items-center justify-between gap-5 border-t border-zinc-900/5 pt-8 sm:flex-row dark:border-white/5'>\n <p className='text-xs text-zinc-600 dark:text-zinc-400'>\n &copy; Copyright {new Date().getFullYear()}. All rights reserved.\n </p>\n <div className='flex gap-4'>\n <SocialLink href='#' icon={Icons.github}>\n Follow us on GitHub\n </SocialLink>\n </div>\n </div>\n )\n}\n\nexport function Footer() {\n return (\n <footer className='mx-auto w-full max-w-2xl space-y-10 pb-16 lg:max-w-5xl'>\n <SmallPrint />\n </footer>\n )\n}\n","import { slugifyWithCounter } from '@sindresorhus/slugify'\n\nexport type SimpleNode = {\n type: string\n attributes: {\n content?: string\n [key: string]: string | number | boolean | undefined\n }\n children?: SimpleNode[]\n}\n\nexport type HeadingNode = {\n level: number\n id: string\n title: string\n children: HeadingNode[]\n}\n\nexport function getNodeText(node: HTMLElement | SimpleNode): string {\n let text = ''\n\n for (const child of node.children ?? []) {\n if ('type' in child && child.type === 'text') {\n text += child.attributes?.content ?? ''\n } else if (child instanceof HTMLElement) {\n text += getNodeText(child)\n }\n }\n\n return text\n}\n\nexport function domToSimple(node: Node): SimpleNode {\n if (node.nodeType === Node.TEXT_NODE) {\n return {\n type: 'text',\n attributes: {\n content: node.textContent ?? undefined,\n },\n }\n }\n\n if (node.nodeType === Node.ELEMENT_NODE) {\n return {\n type: node.nodeName.toLowerCase(),\n attributes: {},\n children: Array.from(node.childNodes).map(domToSimple),\n }\n }\n\n throw new Error('Unsupported node type')\n}\n\nexport function getHeadings(slugify = slugifyWithCounter()) {\n const content = document.querySelector('article')\n if (!content) {\n return []\n }\n const headings = Array.from(content.querySelectorAll('h2, h3, h4, h5, h6'))\n\n const result: HeadingNode[] = []\n const stack: HeadingNode[] = []\n\n headings.forEach((el) => {\n const simplifiedNode = domToSimple(el)\n const title = getNodeText(simplifiedNode).trim()\n const slugifiedTitle = slugify(title)\n const id = el.id || slugifiedTitle\n\n const level = parseInt(el.tagName[1])\n const node = { level, id, title, children: [] }\n\n if (!el.id) el.id = id\n\n if (level === 2) {\n result.push(node)\n stack.length = 0\n stack.push(node)\n } else {\n while (stack.length && stack[stack.length - 1].level >= level) {\n stack.pop()\n }\n if (stack.length) {\n stack[stack.length - 1].children.push(node)\n }\n stack.push(node)\n }\n })\n\n return result\n}\n","'use client'\nexport function Masthead() {\n return (\n <div className='bg-primary h-[var(--masthead-height)] w-full'>\n <div className='mx-auto flex w-full items-center justify-between px-4 py-2 sm:px-6 lg:px-8'>\n <div className='flex items-center gap-x-12'>\n <p className='text-xs text-white'>A NSW Government website</p>\n </div>\n </div>\n </div>\n )\n}\n","import { Icons } from '../components/Icons'\n\nexport function Logo(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <>\n <span className='sr-only'>NSW Government</span>\n <Icons.logo {...props} />\n </>\n )\n}\n","'use client'\n\nimport React from 'react'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\n\nimport { NavigationSection } from '../types/types.js'\n\nexport function Navigation({\n className,\n onLinkClick,\n navigation,\n}: {\n className?: string\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n navigation: NavigationSection[]\n}) {\n const pathname = usePathname()\n\n return (\n <nav className={clsx('text-base lg:text-sm', className)}>\n <ul role='list' className='flex flex-col gap-9'>\n {navigation.map((section) => (\n <li key={section.title}>\n <h2 className='font-display text-foreground font-medium dark:text-white'>\n {section.title}\n </h2>\n <ul\n role='list'\n className='border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4'\n >\n {section.links.map((link) => (\n <li key={link.href} className='-ml-px flex flex-col items-start gap-2'>\n <Link\n href={link.href}\n onClick={onLinkClick}\n className={clsx(\n 'text-foreground inline-block border-l pl-5 text-base/8 sm:pl-4 sm:text-sm/6',\n 'hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold',\n 'dark:text-nsw-grey-400',\n 'dark:hover:border-nsw-grey-400 dark:hover:text-white',\n link.href === pathname &&\n 'border-primary text-primary border-l font-semibold dark:border-white',\n )}\n >\n {link.title}\n </Link>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </nav>\n )\n}\n","'use client'\n\nimport { useEffect, useState } from 'react'\nimport { useTheme } from 'next-themes'\nimport { Button } from '../components/Button'\nimport { Icons } from '../components/Icons'\n\nexport function ThemeSwitcher() {\n const { resolvedTheme, setTheme } = useTheme()\n const [mounted, setMounted] = useState(false)\n\n const classes = 'fill-nsw-grey-600 dark:fill-nsw-grey-100 size-6'\n\n // Avoid hydration mismatch by only rendering after mount\n useEffect(() => {\n setMounted(true)\n }, [])\n\n if (!mounted) {\n return (\n <Button variant='ghost' size='icon' className='h-10 w-10' disabled>\n <Icons.light_mode className={classes} />\n </Button>\n )\n }\n\n return (\n <Button\n variant='outline'\n size='icon'\n className='h-10 w-10 cursor-pointer'\n onClick={() => setTheme(resolvedTheme === 'dark' ? 'light' : 'dark')}\n aria-label={`Switch to ${resolvedTheme === 'dark' ? 'light' : 'dark'} theme`}\n >\n {resolvedTheme === 'dark' ? (\n <Icons.light_mode className={classes} />\n ) : (\n <Icons.dark_mode className={classes} />\n )}\n <span className='sr-only'>\n {resolvedTheme === 'dark' ? 'Switch to light theme' : 'Switch to dark theme'}\n </span>\n </Button>\n )\n}\n","'use client'\n\nimport { useCallback, useEffect, useState } from 'react'\nimport Link from 'next/link'\nimport clsx from 'clsx'\n\ntype TableOfContentsItem = {\n id: string\n children: TableOfContentsItem[]\n title: string\n}\n\ntype TableOfContentsProps = {\n tableOfContents: TableOfContentsItem[]\n}\n\nexport function TableOfContents({ tableOfContents }: TableOfContentsProps) {\n const [currentSection, setCurrentSection] = useState(tableOfContents[0]?.id)\n\n const getHeadings = useCallback((tableOfContents: TableOfContentsItem[]) => {\n return tableOfContents\n .flatMap((node) => [node.id, ...node.children.map((child) => child.id)])\n .map((id) => {\n const el = document.getElementById(id)\n if (!el) return null\n\n const style = window.getComputedStyle(el)\n const scrollMt = parseFloat(style.scrollMarginTop)\n\n const top = window.scrollY + el.getBoundingClientRect().top - scrollMt\n return { id, top }\n })\n .filter((x): x is { id: string; top: number } => x !== null)\n }, [])\n\n useEffect(() => {\n if (tableOfContents.length === 0) return\n const headings = getHeadings(tableOfContents)\n function onScroll() {\n const top = window.scrollY\n let current = headings[0].id\n for (const heading of headings) {\n if (top >= heading.top - 10) {\n current = heading.id\n } else {\n break\n }\n }\n setCurrentSection(current)\n }\n window.addEventListener('scroll', onScroll, { passive: true })\n onScroll()\n return () => {\n window.removeEventListener('scroll', onScroll)\n }\n }, [getHeadings, tableOfContents])\n\n function isActive(section: TableOfContentsItem) {\n if (section.id === currentSection) {\n return true\n }\n if (!section.children) {\n return false\n }\n return section.children.findIndex(isActive) > -1\n }\n\n return (\n <div className='hidden xl:sticky xl:top-[4.75rem] xl:-mr-6 xl:block xl:h-[calc(100vh-4.75rem)] xl:flex-none xl:overflow-y-auto xl:py-16 xl:pr-6'>\n <nav aria-labelledby='on-this-page-title' className='w-56'>\n {tableOfContents.length > 0 && (\n <>\n <h2\n id='on-this-page-title'\n className='font-display text-sm font-medium text-slate-900 dark:text-white'\n >\n On this page\n </h2>\n <ol role='list' className='mt-4 space-y-3 text-sm'>\n {tableOfContents.map((section) => (\n <li key={section.id}>\n <h3>\n <Link\n href={`#${section.id}`}\n className={clsx(\n isActive(section)\n ? 'text-primary font-semibold'\n : 'font-normal text-slate-500 hover:text-slate-700 dark:text-slate-400 dark:hover:text-slate-300',\n )}\n >\n {section.title}\n </Link>\n </h3>\n {section.children.length > 0 && (\n <ol\n role='list'\n className='mt-2 space-y-3 pl-5 text-slate-500 dark:text-slate-400'\n >\n {section.children.map((subSection) => (\n <li key={subSection.id}>\n <Link\n href={`#${subSection.id}`}\n className={\n isActive(subSection)\n ? 'text-primary-light font-semibold'\n : 'hover:text-slate-600 dark:hover:text-slate-300'\n }\n >\n {subSection.title}\n </Link>\n </li>\n ))}\n </ol>\n )}\n </li>\n ))}\n </ol>\n </>\n )}\n </nav>\n </div>\n )\n}\n","'use client'\n\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\n\nimport { NavigationSection } from '../types/types'\n\nfunction ArrowIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg viewBox='0 0 16 16' aria-hidden='true' {...props}>\n <path d='m9.182 13.423-1.17-1.16 3.505-3.505H3V7.065h8.517l-3.506-3.5L9.181 2.4l5.512 5.511-5.511 5.512Z' />\n </svg>\n )\n}\n\nfunction PageLink({\n title,\n href,\n dir = 'next',\n ...props\n}: Omit<React.ComponentPropsWithoutRef<'div'>, 'dir' | 'title'> & {\n title: string\n href: string\n dir?: 'previous' | 'next'\n}) {\n return (\n <div {...props}>\n <dt className='font-display text-sm font-medium text-slate-900 dark:text-white'>\n {dir === 'next' ? 'Next' : 'Previous'}\n </dt>\n <dd className='mt-1'>\n <Link\n href={href}\n className={clsx(\n 'flex items-center gap-x-1 text-base font-semibold text-slate-500 hover:text-slate-600 dark:text-slate-400 dark:hover:text-slate-300',\n dir === 'previous' && 'flex-row-reverse',\n )}\n >\n {title}\n <ArrowIcon\n className={clsx('h-4 w-4 flex-none fill-current', dir === 'previous' && '-scale-x-100')}\n />\n </Link>\n </dd>\n </div>\n )\n}\n\ninterface PrevNextLinksProps {\n navigation: NavigationSection[]\n}\n\nexport function PrevNextLinks({ navigation }: PrevNextLinksProps) {\n const pathname = usePathname()\n const allLinks = navigation.flatMap((section) => section.links)\n const linkIndex = allLinks.findIndex((link) => link.href === pathname)\n const previousPage = linkIndex > -1 ? allLinks[linkIndex - 1] : null\n const nextPage = linkIndex > -1 ? allLinks[linkIndex + 1] : null\n\n if (!nextPage && !previousPage) {\n return null\n }\n\n return (\n <dl className='mt-12 flex border-t border-slate-200 pt-6 dark:border-slate-800'>\n {previousPage && <PageLink dir='previous' {...previousPage} />}\n {nextPage && <PageLink className='ml-auto text-right' {...nextPage} />}\n </dl>\n )\n}\n","'use client'\n\nimport React from 'react'\nimport { useEffect, useState } from 'react'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\nimport { HeadingNode, getHeadings } from '@/lib/sections'\n\nimport { Footer } from '@/components/Footer'\nimport { Masthead } from '@/components/Masthead'\nimport { Button } from '@/components/Button'\nimport { Logo } from '@/components/Logo'\nimport { Navigation } from '@/components/Navigation'\nimport { ThemeSwitcher } from '@/components/ThemeSwitcher'\nimport { TableOfContents } from '@/components/TableOfContents'\nimport { PrevNextLinks } from '@/components/PrevNextLinks'\nimport { Icons } from '@/components/Icons'\nimport { NavigationSection } from '../types/types.js'\n\nexport const defaultNavigation: NavigationSection[] = [\n {\n title: 'Getting Started',\n links: [\n { title: 'Introduction', href: '/' },\n { title: 'Installation', href: '/installation' },\n ],\n },\n {\n title: 'Components',\n links: [\n { title: 'Button', href: '/components/button' },\n { title: 'Layout', href: '/components/layout' },\n { title: 'Navigation', href: '/components/navigation' },\n ],\n },\n]\n\nfunction usePageHeadings() {\n const [headings, setHeadings] = useState<HeadingNode[]>([])\n\n useEffect(() => {\n const result = getHeadings()\n setHeadings(result)\n }, [])\n\n return headings\n}\n\nfunction Header({ sitename }: { sitename?: string } = {}) {\n const [isScrolled, setIsScrolled] = useState(false)\n\n useEffect(() => {\n function onScroll() {\n setIsScrolled(window.scrollY > 0)\n }\n onScroll()\n window.addEventListener('scroll', onScroll, { passive: true })\n return () => {\n window.removeEventListener('scroll', onScroll)\n }\n }, [])\n\n return (\n <header\n className={clsx(\n 'sticky top-0 z-50 flex flex-none flex-wrap items-center justify-between bg-white px-4 py-5 shadow-md shadow-slate-900/5 transition duration-500 sm:px-6 lg:px-8 dark:shadow-none',\n isScrolled\n ? 'dark:bg-slate-900/95 dark:backdrop-blur-sm dark:[@supports(backdrop-filter:blur(0))]:bg-slate-900/75'\n : 'dark:bg-transparent',\n )}\n >\n <div className='mr-6 flex lg:hidden'>{/* <MobileNavigation /> */}</div>\n <div className='relative flex grow basis-0 items-center'>\n <Link href='/' aria-label='Home page' className='flex items-center justify-between'>\n <Logo className='h-12 w-auto lg:h-14' />\n <h2 className='text-primary ml-6 text-2xl font-semibold dark:text-white'>{sitename}</h2>\n </Link>\n </div>\n <div className='-my-5 mr-6 sm:mr-8 md:mr-0'>{/* <Search /> */}</div>\n <div className='relative flex basis-0 justify-end gap-2 sm:gap-4 md:grow'>\n <ThemeSwitcher />\n <Button variant='outline' size='icon' className='h-10 w-10' asChild>\n <Link href='https://github.com' className='group' aria-label='GitHub'>\n <Icons.github className='fill-nsw-grey-600 dark:fill-nsw-grey-100 size-6' />\n </Link>\n </Button>\n </div>\n </header>\n )\n}\n\nexport interface LayoutProps {\n children: React.ReactNode\n sitename?: string\n navigation?: NavigationSection[]\n}\n\nexport function Layout({ children, sitename, navigation = defaultNavigation }: LayoutProps) {\n const pathname = usePathname()\n const isHomePage = pathname === '/'\n const tableOfContents = usePageHeadings()\n\n return (\n <div className='flex w-full flex-col'>\n <Masthead />\n <Header sitename={sitename} />\n\n {isHomePage && <></>}\n\n <div className='max-w-8xl relative mx-auto flex w-full flex-auto justify-center sm:px-2 lg:px-8 xl:px-12'>\n <div className='hidden lg:relative lg:block lg:flex-none'>\n <div className='bg-nsw-grey-50 absolute inset-y-0 right-0 w-[50vw] dark:hidden' />\n <div className='from-nsw-grey-600 absolute top-16 right-0 bottom-0 hidden h-12 w-px bg-linear-to-t dark:block' />\n <div className='bg-nsw-grey-600 absolute top-28 right-0 bottom-0 hidden w-px dark:block' />\n <div className='sticky top-[4.75rem] -ml-0.5 h-[calc(100vh-4.75rem)] w-64 overflow-x-hidden overflow-y-auto py-16 pr-8 pl-0.5 xl:w-72 xl:pr-16'>\n <Navigation navigation={navigation} />\n </div>\n </div>\n <div className='flex flex-1 flex-col'>\n <div className='flex flex-1'>\n <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'>\n <article>{children}</article>\n <PrevNextLinks navigation={navigation} />\n </div>\n <TableOfContents tableOfContents={tableOfContents} />\n </div>\n <Footer />\n </div>\n </div>\n </div>\n )\n}\n","'use client'\n\nimport { ThemeProvider as NextThemesProvider, type ThemeProviderProps } from 'next-themes'\n\nexport function ThemeProvider({ children, ...props }: ThemeProviderProps) {\n return <NextThemesProvider {...props}>{children}</NextThemesProvider>\n}\n","'use client'\n\nimport { ThemeProvider } from '../components/ThemeProvider'\nimport { DynamicFavicon } from '../components/Favicon'\n\nexport function Providers({ children }: { children: React.ReactNode }) {\n return (\n <ThemeProvider attribute='class' defaultTheme='system' enableSystem disableTransitionOnChange>\n <DynamicFavicon lightModeFavicon='/icon-light.ico' darkModeFavicon='/icon-dark.ico' />\n {children}\n </ThemeProvider>\n )\n}\n","import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function truncate(text: string, maxLength: number): string {\n if (text.length <= maxLength) {\n return text\n }\n return text.slice(0, maxLength) + '...'\n}\n\nexport function kebabCase(str: string) {\n return str\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase()\n}\n\nexport function camelCase(str: string) {\n return str.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (_, chr) => chr.toUpperCase())\n}\n"]}
1
+ {"version":3,"sources":["../src/components/Button.tsx","../src/components/Favicon.tsx","../src/components/Icons.tsx","../src/components/Footer.tsx","../src/lib/sections.ts","../src/components/Masthead.tsx","../src/components/Logo.tsx","../src/components/Navigation.tsx","../src/components/ThemeSwitcher.tsx","../src/components/TableOfContents.tsx","../src/components/PrevNextLinks.tsx","../src/components/Layout.tsx","../src/components/ThemeProvider.tsx","../src/components/Providers.tsx","../src/lib/utils.ts","../src/packages/index.ts"],"names":["cva","Slot","jsx","useEffect","jsxs","Link","slugify","slugifyWithCounter","Fragment","navigation","usePathname","clsx","useTheme","useState","getHeadings","useCallback","tableOfContents","NextThemesProvider","twMerge"],"mappings":"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","file":"index.cjs","sourcesContent":["import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../packages/index.js'\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-zinc-950 focus-visible:ring-zinc-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:focus-visible:border-zinc-300 dark:focus-visible:ring-zinc-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900\",\n {\n variants: {\n variant: {\n default:\n 'bg-zinc-900 text-zinc-50 shadow-xs hover:bg-zinc-900/90 dark:bg-zinc-50 dark:text-zinc-900 dark:hover:bg-zinc-50/90',\n destructive:\n 'bg-red-500 text-white shadow-xs hover:bg-red-500/90 focus-visible:ring-red-500/20 dark:focus-visible:ring-red-500/40 dark:bg-red-500/60 dark:bg-red-900 dark:hover:bg-red-900/90 dark:focus-visible:ring-red-900/20 dark:dark:focus-visible:ring-red-900/40 dark:dark:bg-red-900/60',\n outline:\n 'border bg-white shadow-xs hover:bg-zinc-100 hover:text-zinc-900 dark:bg-zinc-200/30 dark:border-zinc-200 dark:hover:bg-zinc-200/50 dark:bg-zinc-950 dark:hover:bg-zinc-800 dark:hover:text-zinc-50 dark:dark:bg-zinc-800/30 dark:dark:border-zinc-800 dark:dark:hover:bg-zinc-800/50',\n secondary:\n 'bg-zinc-100 text-zinc-900 shadow-xs hover:bg-zinc-100/80 dark:bg-zinc-800 dark:text-zinc-50 dark:hover:bg-zinc-800/80',\n ghost:\n 'hover:bg-zinc-100 hover:text-zinc-900 dark:hover:bg-zinc-100/50 dark:hover:bg-zinc-800 dark:hover:text-zinc-50 dark:dark:hover:bg-zinc-800/50',\n link: 'text-zinc-900 underline-offset-4 hover:underline dark:text-zinc-50',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n data-slot='button'\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","'use client'\n\nimport { useEffect } from 'react'\n\ninterface DynamicFaviconProps {\n lightModeFavicon: string\n darkModeFavicon: string\n}\n\nexport function DynamicFavicon({ lightModeFavicon, darkModeFavicon }: DynamicFaviconProps) {\n useEffect(() => {\n // Function to update favicon based on color scheme\n const updateFavicon = () => {\n const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches\n const favicon = document.querySelector(\"link[rel='icon']\") as HTMLLinkElement\n\n if (favicon) {\n favicon.href = isDarkMode ? darkModeFavicon : lightModeFavicon\n } else {\n // Create favicon link if it doesn't exist\n const newFavicon = document.createElement('link')\n newFavicon.rel = 'icon'\n newFavicon.href = isDarkMode ? darkModeFavicon : lightModeFavicon\n document.head.appendChild(newFavicon)\n }\n }\n\n // Initial update\n updateFavicon()\n\n // Listen for changes in color scheme\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n mediaQuery.addEventListener('change', updateFavicon)\n\n // Clean up\n return () => mediaQuery.removeEventListener('change', updateFavicon)\n }, [lightModeFavicon, darkModeFavicon])\n\n // This component doesn't render anything visible\n return null\n}\n","type IconProps = React.HTMLAttributes<SVGElement>\n\nexport const Icons = {\n logo: (props: IconProps) => (\n <svg viewBox='0 0 259 280' aria-hidden='true' {...props}>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M24.208 270.207h-5.045v-4.277l11.15.054v13.676H26.08v-2.491c-.266.278-.553.556-.86.833-.673.585-1.49 1.07-2.433 1.434-.96.373-2.143.564-3.513.564-2.33 0-4.385-.539-6.109-1.6-1.727-1.065-3.073-2.594-4.007-4.538-.926-1.927-1.395-4.231-1.395-6.85 0-2.657.494-4.994 1.47-6.946.971-1.96 2.363-3.498 4.132-4.571 1.768-1.065 3.849-1.604 6.183-1.604 1.515 0 2.915.245 4.156.725 1.255.485 2.36 1.157 3.273 1.985a9.61 9.61 0 0 1 2.192 2.852 8.196 8.196 0 0 1 .872 3.319l.021.435h-6.038l-.062-.339a5.22 5.22 0 0 0-.814-1.981 4.562 4.562 0 0 0-1.537-1.43c-.614-.352-1.345-.531-2.175-.531-1.005 0-1.931.261-2.741.775-.806.51-1.458 1.351-1.935 2.495-.486 1.169-.731 2.74-.731 4.679 0 1.579.162 2.897.482 3.925.311 1.011.739 1.819 1.266 2.403.523.581 1.117.991 1.773 1.219a6.036 6.036 0 0 0 2.089.369c.669 0 1.27-.112 1.79-.328.523-.224.98-.514 1.354-.866.377-.356.676-.746.884-1.152.216-.41.349-.816.399-1.21l.14-1.028Zm20.878-16.312c2.354 0 4.435.534 6.179 1.587 1.752 1.061 3.13 2.59 4.086 4.546.947 1.935 1.428 4.281 1.428 6.967 0 2.648-.473 4.969-1.412 6.9-.946 1.948-2.317 3.469-4.073 4.521-1.744 1.053-3.837 1.583-6.212 1.583-2.396 0-4.502-.534-6.254-1.583-1.753-1.044-3.135-2.557-4.099-4.505-.947-1.927-1.428-4.252-1.428-6.912 0-2.673.486-5.015 1.449-6.954.968-1.956 2.355-3.486 4.12-4.551 1.764-1.061 3.853-1.599 6.216-1.599Zm0 21.185c1.117 0 2.093-.265 2.898-.787.802-.523 1.433-1.372 1.881-2.516.453-1.185.686-2.772.686-4.712 0-1.993-.237-3.618-.698-4.832-.444-1.181-1.08-2.056-1.885-2.603-.814-.543-1.782-.82-2.878-.82-1.1 0-2.072.277-2.886.82-.81.543-1.453 1.422-1.906 2.611-.47 1.223-.706 2.843-.706 4.82 0 1.944.237 3.531.702 4.712.452 1.148 1.092 1.997 1.902 2.515.81.527 1.781.792 2.89.792Zm23.764-2.93-6.162-17.829H57.09l8.654 25.251h6.195l8.73-25.251h-5.607L68.85 272.15Zm30.312-2.827H88.863v5.206l12.043.016v5.027H83.103v-25.251h17.632l-.016 4.99H88.892v5.089h10.27v4.923Zm22.482-1.529c.685-.613 1.246-1.401 1.678-2.341.419-.933.635-2.081.635-3.419 0-1.497-.311-2.835-.93-3.983-.619-1.169-1.599-2.093-2.919-2.756-1.3-.647-2.973-.974-4.975-.974h-10.738v25.243h5.759v-9.404h4.24l3.991 9.404h6.046l-4.651-10.456c.673-.357 1.3-.8 1.864-1.314Zm-3.513-5.64c0 .999-.336 1.79-1.025 2.428-.69.63-1.649.949-2.857.949h-4.095v-6.606h4.456c1.038 0 1.873.286 2.545.875.657.576.976 1.347.976 2.354Zm15.159-7.833 10.527 15.23v-15.23h5.776v25.251h-5.086l-10.98-15.86v15.86h-5.759v-25.251h5.522Zm33.949 16.461-5.29-16.461h-7.894v25.251h5.809v-16.266l5.124 16.266h4.485l5.162-16.357v16.357h5.826v-25.251h-7.878l-5.344 16.461Zm33.727-1.459h-10.298v5.206l12.046.016v5.027h-17.806v-25.251h17.636l-.021 4.99h-11.818v5.089h10.261v4.923Zm21.494.228-10.523-15.23h-5.527v25.251h5.756v-15.86l10.979 15.86h5.087v-25.251h-5.772v15.23Zm15.586-10.004h-7.388v-5.226h20.402v5.226h-7.217v20.025h-5.797v-20.025Z'\n className='fill-nsw-blue-800 dark:fill-white'\n />\n\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M146.699 209.236c-1.482-2.395-3.717-4.571-6.64-6.465-2.919-1.894-6.897-3.34-11.81-4.297l-13.678-2.814c-4.132-.891-6.981-2.043-8.468-3.419-1.449-1.343-2.184-3.129-2.184-5.309 0-1.388.316-2.652.943-3.759.623-1.111 1.528-2.093 2.687-2.922 1.166-.828 2.616-1.483 4.306-1.943 1.711-.469 3.633-.705 5.714-.705 2.74 0 5.211.361 7.346 1.078 2.109.713 3.857 1.881 5.194 3.481 1.338 1.6 2.16 3.775 2.442 6.465l.038.373h16.971l-.008-.427c-.075-4.575-1.371-8.773-3.85-12.474-2.483-3.705-6.141-6.681-10.879-8.852-4.726-2.164-10.623-3.262-17.528-3.262-5.801 0-11.117 1.011-15.805 3.009-4.7 2.002-8.475 4.89-11.212 8.587-2.749 3.717-4.12 8.164-4.078 13.224.112 6.175 1.99 11.186 5.577 14.903 3.576 3.697 8.476 6.158 14.567 7.306l13.795 2.81c2.529.502 4.825 1.16 6.823 1.96 1.96.784 3.525 1.803 4.651 3.03 1.1 1.197 1.657 2.772 1.657 4.67 0 2.114-.694 3.9-2.06 5.301-1.4 1.434-3.301 2.515-5.643 3.224-2.388.721-5.058 1.086-7.936 1.086-2.807 0-5.394-.435-7.686-1.297-2.28-.85-4.194-2.093-5.689-3.693-1.491-1.591-2.513-3.585-3.04-5.918l-.075-.327H83.846l.045.46c.407 4.045 1.666 7.629 3.738 10.659 2.068 3.009 4.717 5.545 7.873 7.551 3.148 1.993 6.677 3.514 10.494 4.513a46.33 46.33 0 0 0 11.693 1.5c6.466 0 12.2-1.019 17.046-3.034 4.867-2.022 8.717-4.807 11.449-8.276 2.753-3.493 4.148-7.476 4.148-11.848 0-2.064-.232-4.36-.697-6.822-.478-2.482-1.466-4.948-2.936-7.327ZM25.937 191.763l36.916 53.312H77.87v-79.724H61.072v51.282L25.754 165.53l-.125-.179H9.19v79.724h16.748v-53.312Zm196.637 24.577 14.388-50.987h16.457l-23.587 79.724h-13.367l-14.554-50.469-14.659 50.469h-13.147l-23.533-79.724h16.511l14.384 50.979 14.389-50.979h12.167l14.551 50.987Z'\n className='fill-nsw-blue-800 dark:fill-white'\n />\n\n <path\n d='M122.291 145.572c-19.75-2.424-38.934 3.904-72.69-5.263-3.447-.937-4.718 2.694-2.854 5.736 9.07 14.803 54.881 3.203 75.635 1.065.906-.095.814-1.426-.091-1.538ZM208.735 140.309c-33.756 9.167-52.941 2.839-72.691 5.263-.905.112-1 1.447-.091 1.538 20.759 2.138 66.566 13.738 75.635-1.065 1.864-3.042.594-6.673-2.853-5.736ZM59.882 119.132c-6.864-10.058-12.474-21.31-16.818-33.69-13.101 3.826-26.51 9.346-40.16 16.57a5.388 5.388 0 0 0-2.902 4.67 5.38 5.38 0 0 0 2.653 4.812c26.431 15.802 52.273 24.841 76.93 26.933-7.34-4.475-14.072-11.044-19.703-19.295ZM23.059 85.513a201.529 201.529 0 0 1 17.976-6.233c-2.126-6.896-3.87-14.12-5.249-21.658-6.827-.85-13.89-1.4-21.199-1.641-.062 0-.128-.004-.19-.004a5.391 5.391 0 0 0-4.647 2.602 5.383 5.383 0 0 0-.12 5.483c4.243 7.659 8.724 14.808 13.429 21.45ZM88.005 135.572c4.099 1.807 8.293 2.818 12.358 3.029-9.953-7.12-17.773-19.192-22.278-34.58-5.805-19.81-7.745-41.666-5.83-65.247-7.832-4.936-16.32-9.557-25.46-13.85a5.428 5.428 0 0 0-5.402.43 5.396 5.396 0 0 0-2.388 4.841c2.126 34.215 10.95 62.915 26.223 85.298 6.404 9.391 14.281 16.332 22.777 20.079ZM107.488 23.577A253.323 253.323 0 0 0 92.235 6.735c-1.063-1.078-2.433-1.65-3.85-1.65-.506 0-1.017.075-1.523.224-1.923.568-3.314 2.106-3.733 4.115-1.072 5.164-3.11 15.69-4.012 26.101 7.014 4.613 13.492 9.49 19.426 14.621 2.3-8.757 5.29-17.63 8.945-26.569ZM255.42 102.007c-13.65-7.223-27.058-12.744-40.16-16.569-4.343 12.38-9.953 23.631-16.818 33.689-5.63 8.255-12.362 14.82-19.708 19.296 24.658-2.093 50.5-11.132 76.931-26.934 1.715-1.024 2.707-2.822 2.653-4.811-.045-1.99-1.133-3.734-2.898-4.671ZM235.273 85.513c4.705-6.643 9.186-13.796 13.43-21.455.963-1.74.922-3.788-.121-5.483a5.4 5.4 0 0 0-4.837-2.598c-7.309.24-14.377.796-21.199 1.641-1.375 7.539-3.123 14.762-5.249 21.658a203.803 203.803 0 0 1 17.976 6.237ZM180.247 104.025c-4.505 15.384-12.329 27.46-22.278 34.58 4.065-.211 8.263-1.227 12.358-3.034 8.496-3.746 16.373-10.688 22.777-20.075 15.273-22.383 24.097-51.082 26.223-85.297a5.394 5.394 0 0 0-2.388-4.84 5.428 5.428 0 0 0-5.402-.432c-9.14 4.29-17.628 8.91-25.46 13.85 1.915 23.582-.029 45.434-5.83 65.248ZM179.214 35.52c-.901-10.406-2.94-20.932-4.011-26.1-.416-2.01-1.811-3.547-3.733-4.115a5.39 5.39 0 0 0-1.524-.224c-1.416 0-2.787.572-3.85 1.65-5.485 5.549-10.568 11.164-15.252 16.842 3.654 8.939 6.644 17.812 8.949 26.565 5.934-5.127 12.407-10.005 19.421-14.617ZM129.144 87.229c6.64-13.092 17.246-24.829 25.21-32.243-4.372-17.779-11.104-34.55-20.397-52.097C132.998 1.078 131.195 0 129.148 0s-3.845 1.082-4.808 2.889c-9.389 17.604-16.237 35.122-20.377 52.093 8.313 7.688 19.28 20.224 25.181 32.247Z'\n className='fill-nsw-red-600 dark:fill-white'\n />\n\n <path\n d='M153.541 133.686c6.885-4.833 13.77-13.254 18.139-24.97 8.458-22.681 9.334-47.945 8.122-65.823-15.331 10.215-39.665 31.55-47.975 54.36-3.911 10.734-5.734 25.355-2.72 33.511 1.259 3.411 3.401 5.997 6.345 7.227 4.46 1.865 11.312.456 18.089-4.305ZM125.713 95.261c-2.027-4.724-4.261-9.18-7.728-14.186-9.809-14.16-23.026-26.933-39.475-38.185-.17 2.652-2.57 31.297 5.851 59.304 6.408 21.302 17.354 29.98 23.354 33.333 6.038 3.369 11.561 4.165 18.039 2.557-6.565-8.935-5.747-27.27-.041-42.823Z'\n className='fill-nsw-red-600 dark:fill-white'\n />\n </svg>\n ),\n github: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fillRule='evenodd'\n d='M8.977.83C4.549.83.97 4.32.97 8.636c0 3.45 2.293 6.371 5.475 7.405.397.078.543-.168.543-.375 0-.18-.013-.8-.013-1.447-2.227.465-2.691-.93-2.691-.93-.358-.905-.888-1.138-.888-1.138-.73-.478.053-.478.053-.478.808.052 1.233.801 1.233.801.715 1.19 1.869.853 2.333.646.066-.504.278-.853.504-1.046-1.777-.181-3.646-.853-3.646-3.852 0-.853.318-1.55.822-2.093-.08-.194-.358-.995.08-2.068 0 0 .676-.207 2.2.801a7.94 7.94 0 0 1 2.002-.258c.676 0 1.365.09 2.001.258 1.525-1.008 2.2-.801 2.2-.801.438 1.073.16 1.874.08 2.068.517.542.822 1.24.822 2.093 0 2.999-1.869 3.658-3.659 3.852.292.245.544.71.544 1.447 0 1.047-.013 1.887-.013 2.145 0 .207.146.453.543.375 3.182-1.034 5.475-3.955 5.475-7.405C16.983 4.319 13.39.83 8.977.83Z'\n clipRule='evenodd'\n ></path>\n </g>\n </svg>\n ),\n linkedin: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M15.776.83H2.14C1.488.83.96 1.329.96 1.946v13.249c0 .617.528 1.119 1.181 1.119h13.635c.653 0 1.184-.502 1.184-1.116V1.946c0-.617-.531-1.116-1.184-1.116ZM5.706 14.025H3.333V6.633h2.375v7.392ZM4.52 5.626c-.762 0-1.378-.595-1.378-1.33 0-.735.616-1.33 1.378-1.33.76 0 1.375.595 1.375 1.33 0 .732-.615 1.33-1.375 1.33Zm10.075 8.399h-2.371v-3.593c0-.856-.016-1.96-1.235-1.96-1.234 0-1.422.935-1.422 1.9v3.653H7.197V6.633h2.275v1.01h.032c.315-.58 1.09-1.194 2.244-1.194 2.403 0 2.846 1.53 2.846 3.52v4.056Z'\n ></path>\n </g>\n </svg>\n ),\n twitter: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M13.158 2.058h2.248l-4.913 5.435 5.78 7.395h-4.525l-3.545-4.485-4.056 4.485h-2.25l5.255-5.813-5.545-7.017h4.64l3.205 4.1 3.706-4.1Zm-.79 11.527h1.246L5.57 3.293H4.233l8.135 10.292Z'\n ></path>\n </g>\n </svg>\n ),\n youtube: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M16.79 5.475s-.156-1.067-.637-1.536c-.61-.617-1.29-.62-1.603-.656-2.238-.158-5.597-.158-5.597-.158h-.006s-3.36 0-5.597.158c-.313.036-.994.039-1.603.656-.481.469-.635 1.536-.635 1.536S.95 6.73.95 7.982v1.174c0 1.252.16 2.507.16 2.507s.156 1.067.634 1.536c.61.617 1.41.596 1.765.662 1.282.118 5.441.154 5.441.154s3.363-.006 5.6-.16c.313-.036.994-.04 1.603-.656.481-.469.638-1.536.638-1.536s.159-1.252.159-2.507V7.982c0-1.252-.16-2.507-.16-2.507ZM7.298 10.58V6.228l4.322 2.184-4.322 2.168Z'\n ></path>\n </g>\n </svg>\n ),\n account_circle: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M234-276q51-39 114-61.5T480-360q69 0 132 22.5T726-276q35-41 54.5-93T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 59 19.5 111t54.5 93Zm246-164q-59 0-99.5-40.5T340-580q0-59 40.5-99.5T480-720q59 0 99.5 40.5T620-580q0 59-40.5 99.5T480-440Zm0 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q53 0 100-15.5t86-44.5q-39-29-86-44.5T480-280q-53 0-100 15.5T294-220q39 29 86 44.5T480-160Zm0-360q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm0-60Zm0 360Z' />\n </svg>\n ),\n attach_file: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M720-330q0 104-73 177T470-80q-104 0-177-73t-73-177v-370q0-75 52.5-127.5T400-880q75 0 127.5 52.5T580-700v350q0 46-32 78t-78 32q-46 0-78-32t-32-78v-330q0-17 11.5-28.5T400-720q17 0 28.5 11.5T440-680v330q0 13 8.5 21.5T470-320q13 0 21.5-8.5T500-350v-350q-1-42-29.5-71T400-800q-42 0-71 29t-29 71v370q-1 71 49 120.5T470-160q70 0 119-49.5T640-330v-350q0-17 11.5-28.5T680-720q17 0 28.5 11.5T720-680v350Z' />\n </svg>\n ),\n cancel: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m480-424 116 116q11 11 28 11t28-11q11-11 11-28t-11-28L536-480l116-116q11-11 11-28t-11-28q-11-11-28-11t-28 11L480-536 364-652q-11-11-28-11t-28 11q-11 11-11 28t11 28l116 116-116 116q-11 11-11 28t11 28q11 11 28 11t28-11l116-116Zm0 344q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n check_circle: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m424-408-86-86q-11-11-28-11t-28 11q-11 11-11 28t11 28l114 114q12 12 28 12t28-12l226-226q11-11 11-28t-11-28q-11-11-28-11t-28 11L424-408Zm56 328q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n check: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m382-354 339-339q12-12 28-12t28 12q12 12 12 28.5T777-636L410-268q-12 12-28 12t-28-12L182-440q-12-12-11.5-28.5T183-497q12-12 28.5-12t28.5 12l142 143Z' />\n </svg>\n ),\n chevron_down: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-361q-8 0-15-2.5t-13-8.5L268-556q-11-11-11-28t11-28q11-11 28-11t28 11l156 156 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L508-372q-6 6-13 8.5t-15 2.5Z' />\n </svg>\n ),\n chevron_left: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m432-480 156 156q11 11 11 28t-11 28q-11 11-28 11t-28-11L348-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 28-11t28 11q11 11 11 28t-11 28L432-480Z' />\n </svg>\n ),\n chevron_right: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M504-480 348-636q-11-11-11-28t11-28q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L404-268q-11 11-28 11t-28-11q-11-11-11-28t11-28l156-156Z' />\n </svg>\n ),\n chevron_up: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-528 324-372q-11 11-28 11t-28-11q-11-11-11-28t11-28l184-184q12-12 28-12t28 12l184 184q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-528Z' />\n </svg>\n ),\n close: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-424 284-228q-11 11-28 11t-28-11q-11-11-11-28t11-28l196-196-196-196q-11-11-11-28t11-28q11-11 28-11t28 11l196 196 196-196q11-11 28-11t28 11q11 11 11 28t-11 28L536-480l196 196q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-424Z' />\n </svg>\n ),\n collapse_all: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-264 324-108q-11 11-28 11t-28-11q-11-11-11-28t11-28l155-155q23-23 57-23t57 23l155 155q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-264Zm0-432 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L537-641q-23 23-57 23t-57-23L268-796q-11-11-11-28t11-28q11-11 28-11t28 11l156 156Z' />\n </svg>\n ),\n computer: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M80-120q-17 0-28.5-11.5T40-160q0-17 11.5-28.5T80-200h800q17 0 28.5 11.5T920-160q0 17-11.5 28.5T880-120H80Zm80-120q-33 0-56.5-23.5T80-320v-440q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v440q0 33-23.5 56.5T800-240H160Zm0-80h640v-440H160v440Zm0 0v-440 440Z' />\n </svg>\n ),\n copy: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-520q0-17 11.5-28.5T160-720q17 0 28.5 11.5T200-680v520h400q17 0 28.5 11.5T640-120q0 17-11.5 28.5T600-80H200Zm160-240v-480 480Z' />\n </svg>\n ),\n dark_mode: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-120q-151 0-255.5-104.5T120-480q0-138 90-239.5T440-838q13-2 23 3.5t16 14.5q6 9 6.5 21t-7.5 23q-17 26-25.5 55t-8.5 61q0 90 63 153t153 63q31 0 61.5-9t54.5-25q11-7 22.5-6.5T819-479q10 5 15.5 15t3.5 24q-14 138-117.5 229T480-120Zm0-80q88 0 158-48.5T740-375q-20 5-40 8t-40 3q-123 0-209.5-86.5T364-660q0-20 3-40t8-40q-78 32-126.5 102T200-480q0 116 82 198t198 82Zm-10-270Z' />\n </svg>\n ),\n dock_to_left: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm440-80h120v-560H640v560Zm-80 0v-560H200v560h360Zm80 0h120-120Z' />\n </svg>\n ),\n dock_to_right: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm120-80v-560H200v560h120Zm80 0h360v-560H400v560Zm-80 0H200h120Z' />\n </svg>\n ),\n delete: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M280-120q-33 0-56.5-23.5T200-200v-520q-17 0-28.5-11.5T160-760q0-17 11.5-28.5T200-800h160q0-17 11.5-28.5T400-840h160q17 0 28.5 11.5T600-800h160q17 0 28.5 11.5T800-760q0 17-11.5 28.5T760-720v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM400-280q17 0 28.5-11.5T440-320v-280q0-17-11.5-28.5T400-640q-17 0-28.5 11.5T360-600v280q0 17 11.5 28.5T400-280Zm160 0q17 0 28.5-11.5T600-320v-280q0-17-11.5-28.5T560-640q-17 0-28.5 11.5T520-600v280q0 17 11.5 28.5T560-280ZM280-720v520-520Z' />\n </svg>\n ),\n desktop: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M400-200v-80H160q-33 0-56.5-23.5T80-360v-400q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v400q0 33-23.5 56.5T800-280H560v80h40q17 0 28.5 11.5T640-160q0 17-11.5 28.5T600-120H360q-17 0-28.5-11.5T320-160q0-17 11.5-28.5T360-200h40ZM160-360h640v-400H160v400Zm0 0v-400 400Z' />\n </svg>\n ),\n display_settings: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M300-410v20q0 13 8.5 21.5T330-360q13 0 21.5-8.5T360-390v-100q0-13-8.5-21.5T330-520q-13 0-21.5 8.5T300-490v20h-30q-13 0-21.5 8.5T240-440q0 13 8.5 21.5T270-410h30Zm130 0h260q13 0 21.5-8.5T720-440q0-13-8.5-21.5T690-470H430q-13 0-21.5 8.5T400-440q0 13 8.5 21.5T430-410Zm230-160h30q13 0 21.5-8.5T720-600q0-13-8.5-21.5T690-630h-30v-20q0-13-8.5-21.5T630-680q-13 0-21.5 8.5T600-650v100q0 13 8.5 21.5T630-520q13 0 21.5-8.5T660-550v-20Zm-390 0h260q13 0 21.5-8.5T560-600q0-13-8.5-21.5T530-630H270q-13 0-21.5 8.5T240-600q0 13 8.5 21.5T270-570ZM160-200q-33 0-56.5-23.5T80-280v-480q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v480q0 33-23.5 56.5T800-200H640v40q0 17-11.5 28.5T600-120H360q-17 0-28.5-11.5T320-160v-40H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z' />\n </svg>\n ),\n double_arrow_left: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m313-480 155 156q11 11 11.5 27.5T468-268q-11 11-28 11t-28-11L228-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 27.5-11.5T468-692q11 11 11 28t-11 28L313-480Zm264 0 155 156q11 11 11.5 27.5T732-268q-11 11-28 11t-28-11L492-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 27.5-11.5T732-692q11 11 11 28t-11 28L577-480Z' />\n </svg>\n ),\n double_arrow_right: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M383-480 228-636q-11-11-11.5-27.5T228-692q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L284-268q-11 11-27.5 11.5T228-268q-11-11-11-28t11-28l155-156Zm264 0L492-636q-11-11-11.5-27.5T492-692q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L548-268q-11 11-27.5 11.5T492-268q-11-11-11-28t11-28l155-156Z' />\n </svg>\n ),\n download: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-337q-8 0-15-2.5t-13-8.5L308-492q-12-12-11.5-28t11.5-28q12-12 28.5-12.5T365-549l75 75v-286q0-17 11.5-28.5T480-800q17 0 28.5 11.5T520-760v286l75-75q12-12 28.5-11.5T652-548q11 12 11.5 28T652-492L508-348q-6 6-13 8.5t-15 2.5ZM240-160q-33 0-56.5-23.5T160-240v-80q0-17 11.5-28.5T200-360q17 0 28.5 11.5T240-320v80h480v-80q0-17 11.5-28.5T760-360q17 0 28.5 11.5T800-320v80q0 33-23.5 56.5T720-160H240Z' />\n </svg>\n ),\n east: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M727-440H120q-17 0-28.5-11.5T80-480q0-17 11.5-28.5T120-520h607L572-676q-11-11-11.5-27.5T572-732q11-11 28-11t28 11l224 224q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L628-228q-11 11-27.5 11T572-228q-12-12-12-28.5t12-28.5l155-155Z' />\n </svg>\n ),\n error: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-280q17 0 28.5-11.5T520-320q0-17-11.5-28.5T480-360q-17 0-28.5 11.5T440-320q0 17 11.5 28.5T480-280Zm0-160q17 0 28.5-11.5T520-480v-160q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640v160q0 17 11.5 28.5T480-440Zm0 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n exclamation: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-400q-17 0-28.5-11.5T440-440v-280q0-17 11.5-28.5T480-760q17 0 28.5 11.5T520-720v280q0 17-11.5 28.5T480-400Zm0 200q-17 0-28.5-11.5T440-240q0-17 11.5-28.5T480-280q17 0 28.5 11.5T520-240q0 17-11.5 28.5T480-200Z' />\n </svg>\n ),\n help: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M478-240q21 0 35.5-14.5T528-290q0-21-14.5-35.5T478-340q-21 0-35.5 14.5T428-290q0 21 14.5 35.5T478-240Zm2 160q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Zm4-172q25 0 43.5 16t18.5 40q0 22-13.5 39T502-525q-23 20-40.5 44T444-427q0 14 10.5 23.5T479-394q15 0 25.5-10t13.5-25q4-21 18-37.5t30-31.5q23-22 39.5-48t16.5-58q0-51-41.5-83.5T484-720q-38 0-72.5 16T359-655q-7 12-4.5 25.5T368-609q14 8 29 5t25-17q11-15 27.5-23t34.5-8Z' />\n </svg>\n ),\n info: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-280q17 0 28.5-11.5T520-320v-160q0-17-11.5-28.5T480-520q-17 0-28.5 11.5T440-480v160q0 17 11.5 28.5T480-280Zm0-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n light_mode: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-360q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Zm0 80q-83 0-141.5-58.5T280-480q0-83 58.5-141.5T480-680q83 0 141.5 58.5T680-480q0 83-58.5 141.5T480-280ZM80-440q-17 0-28.5-11.5T40-480q0-17 11.5-28.5T80-520h80q17 0 28.5 11.5T200-480q0 17-11.5 28.5T160-440H80Zm720 0q-17 0-28.5-11.5T760-480q0-17 11.5-28.5T800-520h80q17 0 28.5 11.5T920-480q0 17-11.5 28.5T880-440h-80ZM480-760q-17 0-28.5-11.5T440-800v-80q0-17 11.5-28.5T480-920q17 0 28.5 11.5T520-880v80q0 17-11.5 28.5T480-760Zm0 720q-17 0-28.5-11.5T440-80v-80q0-17 11.5-28.5T480-200q17 0 28.5 11.5T520-160v80q0 17-11.5 28.5T480-40ZM226-678l-43-42q-12-11-11.5-28t11.5-29q12-12 29-12t28 12l42 43q11 12 11 28t-11 28q-11 12-27.5 11.5T226-678Zm494 495-42-43q-11-12-11-28.5t11-27.5q11-12 27.5-11.5T734-282l43 42q12 11 11.5 28T777-183q-12 12-29 12t-28-12Zm-42-495q-12-11-11.5-27.5T678-734l42-43q11-12 28-11.5t29 11.5q12 12 12 29t-12 28l-43 42q-12 11-28 11t-28-11ZM183-183q-12-12-12-29t12-28l43-42q12-11 28.5-11t27.5 11q12 11 11.5 27.5T282-226l-42 43q-11 12-28 11.5T183-183Zm297-297Z' />\n </svg>\n ),\n link: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M280-280q-83 0-141.5-58.5T80-480q0-83 58.5-141.5T280-680h120q17 0 28.5 11.5T440-640q0 17-11.5 28.5T400-600H280q-50 0-85 35t-35 85q0 50 35 85t85 35h120q17 0 28.5 11.5T440-320q0 17-11.5 28.5T400-280H280Zm80-160q-17 0-28.5-11.5T320-480q0-17 11.5-28.5T360-520h240q17 0 28.5 11.5T640-480q0 17-11.5 28.5T600-440H360Zm200 160q-17 0-28.5-11.5T520-320q0-17 11.5-28.5T560-360h120q50 0 85-35t35-85q0-50-35-85t-85-35H560q-17 0-28.5-11.5T520-640q0-17 11.5-28.5T560-680h120q83 0 141.5 58.5T880-480q0 83-58.5 141.5T680-280H560Z' />\n </svg>\n ),\n login: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M520-120q-17 0-28.5-11.5T480-160q0-17 11.5-28.5T520-200h240v-560H520q-17 0-28.5-11.5T480-800q0-17 11.5-28.5T520-840h240q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H520Zm-73-320H160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h287l-75-75q-11-11-11-27t11-28q11-12 28-12.5t29 11.5l143 143q12 12 12 28t-12 28L429-309q-12 12-28.5 11.5T372-310q-11-12-10.5-28.5T373-366l74-74Z' />\n </svg>\n ),\n logout: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h240q17 0 28.5 11.5T480-800q0 17-11.5 28.5T440-760H200v560h240q17 0 28.5 11.5T480-160q0 17-11.5 28.5T440-120H200Zm487-320H400q-17 0-28.5-11.5T360-480q0-17 11.5-28.5T400-520h287l-75-75q-11-11-11-27t11-28q11-12 28-12.5t29 11.5l143 143q12 12 12 28t-12 28L669-309q-12 12-28.5 11.5T612-310q-11-12-10.5-28.5T613-366l74-74Z' />\n </svg>\n ),\n menu: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M160-240q-17 0-28.5-11.5T120-280q0-17 11.5-28.5T160-320h640q17 0 28.5 11.5T840-280q0 17-11.5 28.5T800-240H160Zm0-200q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h640q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H160Zm0-200q-17 0-28.5-11.5T120-680q0-17 11.5-28.5T160-720h640q17 0 28.5 11.5T840-680q0 17-11.5 28.5T800-640H160Z' />\n </svg>\n ),\n more_horiz: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400Z' />\n </svg>\n ),\n more_vert: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-160q-33 0-56.5-23.5T400-240q0-33 23.5-56.5T480-320q33 0 56.5 23.5T560-240q0 33-23.5 56.5T480-160Zm0-240q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm0-240q-33 0-56.5-23.5T400-720q0-33 23.5-56.5T480-800q33 0 56.5 23.5T560-720q0 33-23.5 56.5T480-640Z' />\n </svg>\n ),\n north: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-17 0-28.5-11.5T440-120v-607L284-572q-11 11-27.5 11.5T228-572q-11-11-11-28t11-28l224-224q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l224 224q11 11 11 27.5T732-572q-12 12-28.5 12T675-572L520-727v607q0 17-11.5 28.5T480-80Z' />\n </svg>\n ),\n open_in_new: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h240q17 0 28.5 11.5T480-800q0 17-11.5 28.5T440-760H200v560h560v-240q0-17 11.5-28.5T800-480q17 0 28.5 11.5T840-440v240q0 33-23.5 56.5T760-120H200Zm560-584L416-360q-11 11-28 11t-28-11q-11-11-11-28t11-28l344-344H600q-17 0-28.5-11.5T560-800q0-17 11.5-28.5T600-840h200q17 0 28.5 11.5T840-800v200q0 17-11.5 28.5T800-560q-17 0-28.5-11.5T760-600v-104Z' />\n </svg>\n ),\n print: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M320-120q-33 0-56.5-23.5T240-200v-80h-80q-33 0-56.5-23.5T80-360v-160q0-51 35-85.5t85-34.5h560q51 0 85.5 34.5T880-520v160q0 33-23.5 56.5T800-280h-80v80q0 33-23.5 56.5T640-120H320ZM160-360h80q0-33 23.5-56.5T320-440h320q33 0 56.5 23.5T720-360h80v-160q0-17-11.5-28.5T760-560H200q-17 0-28.5 11.5T160-520v160Zm480-280v-120H320v120h-80v-120q0-33 23.5-56.5T320-840h320q33 0 56.5 23.5T720-760v120h-80Zm80 180q17 0 28.5-11.5T760-500q0-17-11.5-28.5T720-540q-17 0-28.5 11.5T680-500q0 17 11.5 28.5T720-460Zm-80 260v-160H320v160h320ZM160-560h640-640Z' />\n </svg>\n ),\n progress_activity: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-155.5t86-127Q252-817 325-848.5T480-880q17 0 28.5 11.5T520-840q0 17-11.5 28.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160q133 0 226.5-93.5T800-480q0-17 11.5-28.5T840-520q17 0 28.5 11.5T880-480q0 82-31.5 155t-86 127.5q-54.5 54.5-127 86T480-80Z' />\n </svg>\n ),\n remove: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M240-440q-17 0-28.5-11.5T200-480q0-17 11.5-28.5T240-520h480q17 0 28.5 11.5T760-480q0 17-11.5 28.5T720-440H240Z' />\n </svg>\n ),\n search: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z' />\n </svg>\n ),\n settings_brightness: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m420-320 46 46q6 6 14 6t14-6l46-46h80q8 0 14-6t6-14v-80l46-46q6-6 6-14t-6-14l-46-46v-80q0-8-6-14t-14-6h-80l-46-46q-6-6-14-6t-14 6l-46 46h-80q-8 0-14 6t-6 14v80l-46 46q-6 6-6 14t6 14l46 46v80q0 8 6 14t14 6h80Zm60-40v-240q50 0 85 35t35 85q0 50-35 85t-85 35ZM160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z' />\n </svg>\n ),\n share: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M680-80q-50 0-85-35t-35-85q0-6 3-28L282-392q-16 15-37 23.5t-45 8.5q-50 0-85-35t-35-85q0-50 35-85t85-35q24 0 45 8.5t37 23.5l281-164q-2-7-2.5-13.5T560-760q0-50 35-85t85-35q50 0 85 35t35 85q0 50-35 85t-85 35q-24 0-45-8.5T598-672L317-508q2 7 2.5 13.5t.5 14.5q0 8-.5 14.5T317-452l281 164q16-15 37-23.5t45-8.5q50 0 85 35t35 85q0 50-35 85t-85 35Zm0-80q17 0 28.5-11.5T720-200q0-17-11.5-28.5T680-240q-17 0-28.5 11.5T640-200q0 17 11.5 28.5T680-160ZM200-440q17 0 28.5-11.5T240-480q0-17-11.5-28.5T200-520q-17 0-28.5 11.5T160-480q0 17 11.5 28.5T200-440Zm480-280q17 0 28.5-11.5T720-760q0-17-11.5-28.5T680-800q-17 0-28.5 11.5T640-760q0 17 11.5 28.5T680-720Zm0 520ZM200-480Zm480-280Z' />\n </svg>\n ),\n side_navigation: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm280-80h280v-560H480v560Z' />\n </svg>\n ),\n south: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-97q-8 0-15-2.5t-13-8.5L228-332q-11-11-11-28t11-28q12-12 28.5-11.5T284-388l156 155v-607q0-17 11.5-28.5T480-880q17 0 28.5 11.5T520-840v607l155-155q12-12 28.5-12t28.5 12q11 12 11 28.5T732-332L508-108q-6 6-13 8.5T480-97Z' />\n </svg>\n ),\n unfold_less: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m480-284-96 96q-11 11-28 11t-28-11q-11-11-11-28t11-28l124-124q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l124 124q11 11 11 28t-11 28q-11 11-28 11t-28-11l-96-96Zm0-392 96-96q11-11 28-11t28 11q11 11 11 28t-11 28L508-592q-6 6-13 8.5t-15 2.5q-8 0-15-2.5t-13-8.5L328-716q-11-11-11-28t11-28q11-11 28-11t28 11l96 96Z' />\n </svg>\n ),\n unfold_more: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m480-236 93-93q12-12 29-12t29 12q12 12 12 29t-12 29L508-148q-6 6-13 8.5t-15 2.5q-8 0-15-2.5t-13-8.5L329-271q-12-12-12-29t12-29q12-12 29-12t29 12l93 93Zm0-484-93 93q-12 12-29 12t-29-12q-12-12-12-29t12-29l123-123q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l123 123q12 12 12 29t-12 29q-12 12-29 12t-29-12l-93-93Z' />\n </svg>\n ),\n upload: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M240-160q-33 0-56.5-23.5T160-240v-80q0-17 11.5-28.5T200-360q17 0 28.5 11.5T240-320v80h480v-80q0-17 11.5-28.5T760-360q17 0 28.5 11.5T800-320v80q0 33-23.5 56.5T720-160H240Zm200-486-75 75q-12 12-28.5 11.5T308-572q-11-12-11.5-28t11.5-28l144-144q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l144 144q12 12 11.5 28T652-572q-12 12-28.5 12.5T595-571l-75-75v286q0 17-11.5 28.5T480-320q-17 0-28.5-11.5T440-360v-286Z' />\n </svg>\n ),\n west: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M233-440h607q17 0 28.5-11.5T880-480q0-17-11.5-28.5T840-520H233l155-156q11-11 11.5-27.5T388-732q-11-11-28-11t-28 11L108-508q-6 6-8.5 13T97-480q0 8 2.5 15t8.5 13l224 224q11 11 27.5 11t28.5-11q12-12 12-28.5T388-285L233-440Z' />\n </svg>\n ),\n}\n","'use client'\n\nimport Link from 'next/link'\nimport { Icons } from '../components/Icons'\n\nfunction SocialLink({\n href,\n icon: Icon,\n children,\n}: {\n href: string\n icon: React.ComponentType<{ className?: string }>\n children: React.ReactNode\n}) {\n return (\n <Link href={href} className='group'>\n <span className='sr-only'>{children}</span>\n <Icon className='h-5 w-5 fill-zinc-700 transition group-hover:fill-zinc-900 dark:group-hover:fill-zinc-500' />\n </Link>\n )\n}\n\nfunction SmallPrint() {\n return (\n <div className='flex flex-col items-center justify-between gap-5 border-t border-zinc-900/5 pt-8 sm:flex-row dark:border-white/5'>\n <p className='text-xs text-zinc-600 dark:text-zinc-400'>\n &copy; Copyright {new Date().getFullYear()}. All rights reserved.\n </p>\n <div className='flex gap-4'>\n <SocialLink href='#' icon={Icons.github}>\n Follow us on GitHub\n </SocialLink>\n </div>\n </div>\n )\n}\n\nexport function Footer() {\n return (\n <footer className='mx-auto w-full max-w-2xl space-y-10 pb-16 lg:max-w-5xl'>\n <SmallPrint />\n </footer>\n )\n}\n","import { slugifyWithCounter } from '@sindresorhus/slugify'\n\nexport type SimpleNode = {\n type: string\n attributes: {\n content?: string\n [key: string]: string | number | boolean | undefined\n }\n children?: SimpleNode[]\n}\n\nexport type HeadingNode = {\n level: number\n id: string\n title: string\n children: HeadingNode[]\n}\n\nexport function getNodeText(node: HTMLElement | SimpleNode): string {\n let text = ''\n\n for (const child of node.children ?? []) {\n if ('type' in child && child.type === 'text') {\n text += child.attributes?.content ?? ''\n } else if (child instanceof HTMLElement) {\n text += getNodeText(child)\n }\n }\n\n return text\n}\n\nexport function domToSimple(node: Node): SimpleNode {\n if (node.nodeType === Node.TEXT_NODE) {\n return {\n type: 'text',\n attributes: {\n content: node.textContent ?? undefined,\n },\n }\n }\n\n if (node.nodeType === Node.ELEMENT_NODE) {\n return {\n type: node.nodeName.toLowerCase(),\n attributes: {},\n children: Array.from(node.childNodes).map(domToSimple),\n }\n }\n\n throw new Error('Unsupported node type')\n}\n\nexport function getHeadings(slugify = slugifyWithCounter()) {\n const content = document.querySelector('article')\n if (!content) {\n return []\n }\n const headings = Array.from(content.querySelectorAll('h2, h3, h4, h5, h6'))\n\n const result: HeadingNode[] = []\n const stack: HeadingNode[] = []\n\n headings.forEach((el) => {\n const simplifiedNode = domToSimple(el)\n const title = getNodeText(simplifiedNode).trim()\n const slugifiedTitle = slugify(title)\n const id = el.id || slugifiedTitle\n\n const level = parseInt(el.tagName[1])\n const node = { level, id, title, children: [] }\n\n if (!el.id) el.id = id\n\n if (level === 2) {\n result.push(node)\n stack.length = 0\n stack.push(node)\n } else {\n while (stack.length && stack[stack.length - 1].level >= level) {\n stack.pop()\n }\n if (stack.length) {\n stack[stack.length - 1].children.push(node)\n }\n stack.push(node)\n }\n })\n\n return result\n}\n","'use client'\nexport function Masthead() {\n return (\n <div className='bg-primary h-[var(--masthead-height)] w-full'>\n <div className='mx-auto flex w-full items-center justify-between px-4 py-2 sm:px-6 lg:px-8'>\n <div className='flex items-center gap-x-12'>\n <p className='text-xs text-white'>A NSW Government website</p>\n </div>\n </div>\n </div>\n )\n}\n","import { Icons } from '../components/Icons'\n\nexport function Logo(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <>\n <span className='sr-only'>NSW Government</span>\n <Icons.logo {...props} />\n </>\n )\n}\n","'use client'\n\nimport React from 'react'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\n\nimport { NavigationSection } from '../types/types.js'\n\nexport function Navigation({\n className,\n onLinkClick,\n navigation,\n}: {\n className?: string\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n navigation: NavigationSection[]\n}) {\n const pathname = usePathname()\n\n return (\n <nav className={clsx('text-base lg:text-sm', className)}>\n <ul role='list' className='flex flex-col gap-9'>\n {navigation.map((section) => (\n <li key={section.title}>\n <h2 className='font-display text-foreground font-medium dark:text-white'>\n {section.title}\n </h2>\n <ul\n role='list'\n className='border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4'\n >\n {section.links.map((link) => (\n <li key={link.href} className='-ml-px flex flex-col items-start gap-2'>\n <Link\n href={link.href}\n onClick={onLinkClick}\n className={clsx(\n 'text-foreground inline-block border-l pl-5 text-base/8 sm:pl-4 sm:text-sm/6',\n 'hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold',\n 'dark:text-nsw-grey-400',\n 'dark:hover:border-nsw-grey-400 dark:hover:text-white',\n link.href === pathname &&\n 'border-primary text-primary border-l font-semibold dark:border-white',\n )}\n >\n {link.title}\n </Link>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </nav>\n )\n}\n","'use client'\n\nimport { useEffect, useState } from 'react'\nimport { useTheme } from 'next-themes'\nimport { Button } from '../components/Button'\nimport { Icons } from '../components/Icons'\n\nexport function ThemeSwitcher() {\n const { resolvedTheme, setTheme } = useTheme()\n const [mounted, setMounted] = useState(false)\n\n const classes = 'fill-nsw-grey-600 dark:fill-nsw-grey-100 size-6'\n\n // Avoid hydration mismatch by only rendering after mount\n useEffect(() => {\n setMounted(true)\n }, [])\n\n if (!mounted) {\n return (\n <Button variant='ghost' size='icon' className='h-10 w-10' disabled>\n <Icons.light_mode className={classes} />\n </Button>\n )\n }\n\n return (\n <Button\n variant='outline'\n size='icon'\n className='h-10 w-10 cursor-pointer'\n onClick={() => setTheme(resolvedTheme === 'dark' ? 'light' : 'dark')}\n aria-label={`Switch to ${resolvedTheme === 'dark' ? 'light' : 'dark'} theme`}\n >\n {resolvedTheme === 'dark' ? (\n <Icons.light_mode className={classes} />\n ) : (\n <Icons.dark_mode className={classes} />\n )}\n <span className='sr-only'>\n {resolvedTheme === 'dark' ? 'Switch to light theme' : 'Switch to dark theme'}\n </span>\n </Button>\n )\n}\n","'use client'\n\nimport { useCallback, useEffect, useState } from 'react'\nimport Link from 'next/link'\nimport clsx from 'clsx'\n\ntype TableOfContentsItem = {\n id: string\n children: TableOfContentsItem[]\n title: string\n}\n\ntype TableOfContentsProps = {\n tableOfContents: TableOfContentsItem[]\n}\n\nexport function TableOfContents({ tableOfContents }: TableOfContentsProps) {\n const [currentSection, setCurrentSection] = useState(tableOfContents[0]?.id)\n\n const getHeadings = useCallback((tableOfContents: TableOfContentsItem[]) => {\n return tableOfContents\n .flatMap((node) => [node.id, ...node.children.map((child) => child.id)])\n .map((id) => {\n const el = document.getElementById(id)\n if (!el) return null\n\n const style = window.getComputedStyle(el)\n const scrollMt = parseFloat(style.scrollMarginTop)\n\n const top = window.scrollY + el.getBoundingClientRect().top - scrollMt\n return { id, top }\n })\n .filter((x): x is { id: string; top: number } => x !== null)\n }, [])\n\n useEffect(() => {\n if (tableOfContents.length === 0) return\n const headings = getHeadings(tableOfContents)\n function onScroll() {\n const top = window.scrollY\n let current = headings[0].id\n for (const heading of headings) {\n if (top >= heading.top - 10) {\n current = heading.id\n } else {\n break\n }\n }\n setCurrentSection(current)\n }\n window.addEventListener('scroll', onScroll, { passive: true })\n onScroll()\n return () => {\n window.removeEventListener('scroll', onScroll)\n }\n }, [getHeadings, tableOfContents])\n\n function isActive(section: TableOfContentsItem) {\n if (section.id === currentSection) {\n return true\n }\n if (!section.children) {\n return false\n }\n return section.children.findIndex(isActive) > -1\n }\n\n return (\n <div className='hidden xl:sticky xl:top-[4.75rem] xl:-mr-6 xl:block xl:h-[calc(100vh-4.75rem)] xl:flex-none xl:overflow-y-auto xl:py-16 xl:pr-6'>\n <nav aria-labelledby='on-this-page-title' className='w-56'>\n {tableOfContents.length > 0 && (\n <>\n <h2\n id='on-this-page-title'\n className='font-display text-sm font-medium text-slate-900 dark:text-white'\n >\n On this page\n </h2>\n <ol role='list' className='mt-4 space-y-3 text-sm'>\n {tableOfContents.map((section) => (\n <li key={section.id}>\n <h3>\n <Link\n href={`#${section.id}`}\n className={clsx(\n isActive(section)\n ? 'text-primary font-semibold'\n : 'font-normal text-slate-500 hover:text-slate-700 dark:text-slate-400 dark:hover:text-slate-300',\n )}\n >\n {section.title}\n </Link>\n </h3>\n {section.children.length > 0 && (\n <ol\n role='list'\n className='mt-2 space-y-3 pl-5 text-slate-500 dark:text-slate-400'\n >\n {section.children.map((subSection) => (\n <li key={subSection.id}>\n <Link\n href={`#${subSection.id}`}\n className={\n isActive(subSection)\n ? 'text-primary-light font-semibold'\n : 'hover:text-slate-600 dark:hover:text-slate-300'\n }\n >\n {subSection.title}\n </Link>\n </li>\n ))}\n </ol>\n )}\n </li>\n ))}\n </ol>\n </>\n )}\n </nav>\n </div>\n )\n}\n","'use client'\n\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\n\nimport { NavigationSection } from '../types/types'\n\nfunction ArrowIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg viewBox='0 0 16 16' aria-hidden='true' {...props}>\n <path d='m9.182 13.423-1.17-1.16 3.505-3.505H3V7.065h8.517l-3.506-3.5L9.181 2.4l5.512 5.511-5.511 5.512Z' />\n </svg>\n )\n}\n\nfunction PageLink({\n title,\n href,\n dir = 'next',\n ...props\n}: Omit<React.ComponentPropsWithoutRef<'div'>, 'dir' | 'title'> & {\n title: string\n href: string\n dir?: 'previous' | 'next'\n}) {\n return (\n <div {...props}>\n <dt className='font-display text-sm font-medium text-slate-900 dark:text-white'>\n {dir === 'next' ? 'Next' : 'Previous'}\n </dt>\n <dd className='mt-1'>\n <Link\n href={href}\n className={clsx(\n 'flex items-center gap-x-1 text-base font-semibold text-slate-500 hover:text-slate-600 dark:text-slate-400 dark:hover:text-slate-300',\n dir === 'previous' && 'flex-row-reverse',\n )}\n >\n {title}\n <ArrowIcon\n className={clsx('h-4 w-4 flex-none fill-current', dir === 'previous' && '-scale-x-100')}\n />\n </Link>\n </dd>\n </div>\n )\n}\n\ninterface PrevNextLinksProps {\n navigation: NavigationSection[]\n}\n\nexport function PrevNextLinks({ navigation }: PrevNextLinksProps) {\n const pathname = usePathname()\n const allLinks = navigation.flatMap((section) => section.links)\n const linkIndex = allLinks.findIndex((link) => link.href === pathname)\n const previousPage = linkIndex > -1 ? allLinks[linkIndex - 1] : null\n const nextPage = linkIndex > -1 ? allLinks[linkIndex + 1] : null\n\n if (!nextPage && !previousPage) {\n return null\n }\n\n return (\n <dl className='mt-12 flex border-t border-slate-200 pt-6 dark:border-slate-800'>\n {previousPage && <PageLink dir='previous' {...previousPage} />}\n {nextPage && <PageLink className='ml-auto text-right' {...nextPage} />}\n </dl>\n )\n}\n","'use client'\n\nimport React from 'react'\nimport { useEffect, useState } from 'react'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\nimport { HeadingNode, getHeadings } from '@/lib/sections'\n\nimport { Footer } from '@/components/Footer'\nimport { Masthead } from '@/components/Masthead'\nimport { Button } from '@/components/Button'\nimport { Logo } from '@/components/Logo'\nimport { Navigation } from '@/components/Navigation'\nimport { ThemeSwitcher } from '@/components/ThemeSwitcher'\nimport { TableOfContents } from '@/components/TableOfContents'\nimport { PrevNextLinks } from '@/components/PrevNextLinks'\nimport { Icons } from '@/components/Icons'\nimport { NavigationSection } from '../types/types.js'\n\nexport const defaultNavigation: NavigationSection[] = [\n {\n title: 'Getting Started',\n links: [\n { title: 'Introduction', href: '/' },\n { title: 'Installation', href: '/installation' },\n ],\n },\n {\n title: 'Components',\n links: [\n { title: 'Button', href: '/components/button' },\n { title: 'Layout', href: '/components/layout' },\n { title: 'Navigation', href: '/components/navigation' },\n ],\n },\n]\n\nfunction usePageHeadings() {\n const [headings, setHeadings] = useState<HeadingNode[]>([])\n\n useEffect(() => {\n const result = getHeadings()\n setHeadings(result)\n }, [])\n\n return headings\n}\n\nfunction Header({ sitename }: { sitename?: string } = {}) {\n const [isScrolled, setIsScrolled] = useState(false)\n\n useEffect(() => {\n function onScroll() {\n setIsScrolled(window.scrollY > 0)\n }\n onScroll()\n window.addEventListener('scroll', onScroll, { passive: true })\n return () => {\n window.removeEventListener('scroll', onScroll)\n }\n }, [])\n\n return (\n <header\n className={clsx(\n 'sticky top-0 z-50 flex flex-none flex-wrap items-center justify-between bg-white px-4 py-5 shadow-md shadow-slate-900/5 transition duration-500 sm:px-6 lg:px-8 dark:shadow-none',\n isScrolled\n ? 'dark:bg-slate-900/95 dark:backdrop-blur-sm dark:[@supports(backdrop-filter:blur(0))]:bg-slate-900/75'\n : 'dark:bg-transparent',\n )}\n >\n <div className='mr-6 flex lg:hidden'>{/* <MobileNavigation /> */}</div>\n <div className='relative flex grow basis-0 items-center'>\n <Link href='/' aria-label='Home page' className='flex items-center justify-between'>\n <Logo className='h-12 w-auto lg:h-14' />\n <h2 className='text-primary ml-6 text-2xl font-semibold dark:text-white'>{sitename}</h2>\n </Link>\n </div>\n <div className='-my-5 mr-6 sm:mr-8 md:mr-0'>{/* <Search /> */}</div>\n <div className='relative flex basis-0 justify-end gap-2 sm:gap-4 md:grow'>\n <ThemeSwitcher />\n <Button variant='outline' size='icon' className='h-10 w-10' asChild>\n <Link href='https://github.com' className='group' aria-label='GitHub'>\n <Icons.github className='fill-nsw-grey-600 dark:fill-nsw-grey-100 size-6' />\n </Link>\n </Button>\n </div>\n </header>\n )\n}\n\nexport interface LayoutProps {\n children: React.ReactNode\n sitename?: string\n navigation?: NavigationSection[]\n}\n\nexport function Layout({ children, sitename, navigation = defaultNavigation }: LayoutProps) {\n const pathname = usePathname()\n const isHomePage = pathname === '/'\n const tableOfContents = usePageHeadings()\n\n return (\n <div className='flex w-full flex-col'>\n <Masthead />\n <Header sitename={sitename} />\n\n {isHomePage && <></>}\n\n <div className='max-w-8xl relative mx-auto flex w-full flex-auto justify-center sm:px-2 lg:px-8 xl:px-12'>\n <div className='hidden lg:relative lg:block lg:flex-none'>\n <div className='bg-nsw-grey-50 absolute inset-y-0 right-0 w-[50vw] dark:hidden' />\n <div className='from-nsw-grey-600 absolute top-16 right-0 bottom-0 hidden h-12 w-px bg-linear-to-t dark:block' />\n <div className='bg-nsw-grey-600 absolute top-28 right-0 bottom-0 hidden w-px dark:block' />\n <div className='sticky top-[4.75rem] -ml-0.5 h-[calc(100vh-4.75rem)] w-64 overflow-x-hidden overflow-y-auto py-16 pr-8 pl-0.5 xl:w-72 xl:pr-16'>\n <Navigation navigation={navigation} />\n </div>\n </div>\n <div className='flex flex-1 flex-col'>\n <div className='flex flex-1'>\n <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'>\n <article>{children}</article>\n <PrevNextLinks navigation={navigation} />\n </div>\n <TableOfContents tableOfContents={tableOfContents} />\n </div>\n <Footer />\n </div>\n </div>\n </div>\n )\n}\n","'use client'\n\nimport { ThemeProvider as NextThemesProvider, type ThemeProviderProps } from 'next-themes'\n\nexport function ThemeProvider({ children, ...props }: ThemeProviderProps) {\n return <NextThemesProvider {...props}>{children}</NextThemesProvider>\n}\n","'use client'\n\nimport { ThemeProvider } from '../components/ThemeProvider'\nimport { DynamicFavicon } from '../components/Favicon'\n\nexport function Providers({ children }: { children: React.ReactNode }) {\n return (\n <ThemeProvider attribute='class' defaultTheme='system' enableSystem disableTransitionOnChange>\n <DynamicFavicon lightModeFavicon='/icon-light.ico' darkModeFavicon='/icon-dark.ico' />\n {children}\n </ThemeProvider>\n )\n}\n","import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function truncate(text: string, maxLength: number): string {\n if (text.length <= maxLength) {\n return text\n }\n return text.slice(0, maxLength) + '...'\n}\n\nexport function kebabCase(str: string) {\n return str\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase()\n}\n\nexport function camelCase(str: string) {\n return str.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (_, chr) => chr.toUpperCase())\n}\n","import { Button } from '../components/Button.js'\nimport { DynamicFavicon } from '../components/Favicon.js'\nimport { Footer } from '../components/Footer.js'\nimport { Icons } from '../components/Icons.js'\nimport { Layout, defaultNavigation } from '../components/Layout.js'\nimport { Logo } from '../components/Logo.js'\nimport { Masthead } from '../components/Masthead.js'\nimport { Navigation } from '../components/Navigation.js'\nimport { PrevNextLinks } from '../components/PrevNextLinks.js'\nimport { TableOfContents } from '../components/TableOfContents.js'\nimport { Providers } from '../components/Providers.js'\nimport { ThemeProvider } from '../components/ThemeProvider.js'\nimport { ThemeSwitcher } from '../components/ThemeSwitcher.js'\nexport * from '../lib/utils.js'\nexport * from '../lib/sections.js'\nexport * from '../types/types.js'\nexport {\n Button,\n DynamicFavicon,\n Footer,\n Icons,\n Layout,\n Logo,\n Masthead,\n Navigation,\n PrevNextLinks,\n TableOfContents,\n Providers,\n ThemeProvider,\n ThemeSwitcher,\n defaultNavigation,\n}\n\nconst nswdsExports = {\n Button,\n DynamicFavicon,\n Footer,\n Icons,\n Layout,\n Logo,\n Masthead,\n Navigation,\n PrevNextLinks,\n TableOfContents,\n Providers,\n ThemeProvider,\n ThemeSwitcher,\n defaultNavigation,\n}\n\nexport default nswdsExports\n"]}
package/dist/index.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import react__default from 'react';
2
4
  import * as class_variance_authority_types from 'class-variance-authority/types';
3
- import * as React$1 from 'react';
4
- import React__default from 'react';
5
5
  import { VariantProps } from 'class-variance-authority';
6
6
  import { ThemeProviderProps } from 'next-themes';
7
7
  import { ClassValue } from 'clsx';
@@ -11,7 +11,7 @@ declare const buttonVariants: (props?: ({
11
11
  variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
12
12
  size?: "default" | "sm" | "lg" | "icon" | null | undefined;
13
13
  } & class_variance_authority_types.ClassProp) | undefined) => string;
14
- declare function Button({ className, variant, size, asChild, ...props }: React$1.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
14
+ declare function Button({ className, variant, size, asChild, ...props }: react.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
15
15
  asChild?: boolean;
16
16
  }): react_jsx_runtime.JSX.Element;
17
17
 
@@ -141,7 +141,7 @@ type NavigationSection = {
141
141
 
142
142
  declare const defaultNavigation: NavigationSection[];
143
143
  interface LayoutProps {
144
- children: React__default.ReactNode;
144
+ children: react__default.ReactNode;
145
145
  sitename?: string;
146
146
  navigation?: NavigationSection[];
147
147
  }
@@ -153,7 +153,7 @@ declare function Masthead(): react_jsx_runtime.JSX.Element;
153
153
 
154
154
  declare function Navigation({ className, onLinkClick, navigation, }: {
155
155
  className?: string;
156
- onLinkClick?: React__default.MouseEventHandler<HTMLAnchorElement>;
156
+ onLinkClick?: react__default.MouseEventHandler<HTMLAnchorElement>;
157
157
  navigation: NavigationSection[];
158
158
  }): react_jsx_runtime.JSX.Element;
159
159
 
@@ -203,4 +203,75 @@ declare function getNodeText(node: HTMLElement | SimpleNode): string;
203
203
  declare function domToSimple(node: Node): SimpleNode;
204
204
  declare function getHeadings(slugify?: _sindresorhus_slugify.CountableSlugify): HeadingNode[];
205
205
 
206
- export { Button, type ColorData, type ColorsDisplayProps, type ColourOutputProps, type DesignTokensShades, type DesignTokensTheme, DynamicFavicon, Footer, type Format, type HeadingNode, Icons, Layout, Logo, Masthead, Navigation, type NavigationSection, type Output, PrevNextLinks, Providers, type SimpleNode, type StructuredColor, TableOfContents, ThemeProvider, ThemeSwitcher, type Variant, camelCase, cn, defaultNavigation, domToSimple, getHeadings, getNodeText, kebabCase, truncate };
206
+ declare const nswdsExports: {
207
+ Button: typeof Button;
208
+ DynamicFavicon: typeof DynamicFavicon;
209
+ Footer: typeof Footer;
210
+ Icons: {
211
+ logo: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
212
+ github: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
213
+ linkedin: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
214
+ twitter: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
215
+ youtube: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
216
+ account_circle: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
217
+ attach_file: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
218
+ cancel: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
219
+ check_circle: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
220
+ check: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
221
+ chevron_down: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
222
+ chevron_left: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
223
+ chevron_right: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
224
+ chevron_up: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
225
+ close: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
226
+ collapse_all: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
227
+ computer: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
228
+ copy: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
229
+ dark_mode: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
230
+ dock_to_left: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
231
+ dock_to_right: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
232
+ delete: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
233
+ desktop: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
234
+ display_settings: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
235
+ double_arrow_left: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
236
+ double_arrow_right: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
237
+ download: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
238
+ east: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
239
+ error: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
240
+ exclamation: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
241
+ help: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
242
+ info: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
243
+ light_mode: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
244
+ link: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
245
+ login: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
246
+ logout: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
247
+ menu: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
248
+ more_horiz: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
249
+ more_vert: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
250
+ north: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
251
+ open_in_new: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
252
+ print: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
253
+ progress_activity: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
254
+ remove: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
255
+ search: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
256
+ settings_brightness: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
257
+ share: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
258
+ side_navigation: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
259
+ south: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
260
+ unfold_less: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
261
+ unfold_more: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
262
+ upload: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
263
+ west: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
264
+ };
265
+ Layout: typeof Layout;
266
+ Logo: typeof Logo;
267
+ Masthead: typeof Masthead;
268
+ Navigation: typeof Navigation;
269
+ PrevNextLinks: typeof PrevNextLinks;
270
+ TableOfContents: typeof TableOfContents;
271
+ Providers: typeof Providers;
272
+ ThemeProvider: typeof ThemeProvider;
273
+ ThemeSwitcher: typeof ThemeSwitcher;
274
+ defaultNavigation: NavigationSection[];
275
+ };
276
+
277
+ export { Button, type ColorData, type ColorsDisplayProps, type ColourOutputProps, type DesignTokensShades, type DesignTokensTheme, DynamicFavicon, Footer, type Format, type HeadingNode, Icons, Layout, Logo, Masthead, Navigation, type NavigationSection, type Output, PrevNextLinks, Providers, type SimpleNode, type StructuredColor, TableOfContents, ThemeProvider, ThemeSwitcher, type Variant, camelCase, cn, nswdsExports as default, defaultNavigation, domToSimple, getHeadings, getNodeText, kebabCase, truncate };
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as react from 'react';
3
+ import react__default from 'react';
2
4
  import * as class_variance_authority_types from 'class-variance-authority/types';
3
- import * as React$1 from 'react';
4
- import React__default from 'react';
5
5
  import { VariantProps } from 'class-variance-authority';
6
6
  import { ThemeProviderProps } from 'next-themes';
7
7
  import { ClassValue } from 'clsx';
@@ -11,7 +11,7 @@ declare const buttonVariants: (props?: ({
11
11
  variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
12
12
  size?: "default" | "sm" | "lg" | "icon" | null | undefined;
13
13
  } & class_variance_authority_types.ClassProp) | undefined) => string;
14
- declare function Button({ className, variant, size, asChild, ...props }: React$1.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
14
+ declare function Button({ className, variant, size, asChild, ...props }: react.ComponentProps<'button'> & VariantProps<typeof buttonVariants> & {
15
15
  asChild?: boolean;
16
16
  }): react_jsx_runtime.JSX.Element;
17
17
 
@@ -141,7 +141,7 @@ type NavigationSection = {
141
141
 
142
142
  declare const defaultNavigation: NavigationSection[];
143
143
  interface LayoutProps {
144
- children: React__default.ReactNode;
144
+ children: react__default.ReactNode;
145
145
  sitename?: string;
146
146
  navigation?: NavigationSection[];
147
147
  }
@@ -153,7 +153,7 @@ declare function Masthead(): react_jsx_runtime.JSX.Element;
153
153
 
154
154
  declare function Navigation({ className, onLinkClick, navigation, }: {
155
155
  className?: string;
156
- onLinkClick?: React__default.MouseEventHandler<HTMLAnchorElement>;
156
+ onLinkClick?: react__default.MouseEventHandler<HTMLAnchorElement>;
157
157
  navigation: NavigationSection[];
158
158
  }): react_jsx_runtime.JSX.Element;
159
159
 
@@ -203,4 +203,75 @@ declare function getNodeText(node: HTMLElement | SimpleNode): string;
203
203
  declare function domToSimple(node: Node): SimpleNode;
204
204
  declare function getHeadings(slugify?: _sindresorhus_slugify.CountableSlugify): HeadingNode[];
205
205
 
206
- export { Button, type ColorData, type ColorsDisplayProps, type ColourOutputProps, type DesignTokensShades, type DesignTokensTheme, DynamicFavicon, Footer, type Format, type HeadingNode, Icons, Layout, Logo, Masthead, Navigation, type NavigationSection, type Output, PrevNextLinks, Providers, type SimpleNode, type StructuredColor, TableOfContents, ThemeProvider, ThemeSwitcher, type Variant, camelCase, cn, defaultNavigation, domToSimple, getHeadings, getNodeText, kebabCase, truncate };
206
+ declare const nswdsExports: {
207
+ Button: typeof Button;
208
+ DynamicFavicon: typeof DynamicFavicon;
209
+ Footer: typeof Footer;
210
+ Icons: {
211
+ logo: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
212
+ github: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
213
+ linkedin: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
214
+ twitter: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
215
+ youtube: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
216
+ account_circle: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
217
+ attach_file: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
218
+ cancel: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
219
+ check_circle: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
220
+ check: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
221
+ chevron_down: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
222
+ chevron_left: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
223
+ chevron_right: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
224
+ chevron_up: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
225
+ close: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
226
+ collapse_all: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
227
+ computer: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
228
+ copy: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
229
+ dark_mode: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
230
+ dock_to_left: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
231
+ dock_to_right: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
232
+ delete: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
233
+ desktop: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
234
+ display_settings: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
235
+ double_arrow_left: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
236
+ double_arrow_right: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
237
+ download: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
238
+ east: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
239
+ error: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
240
+ exclamation: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
241
+ help: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
242
+ info: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
243
+ light_mode: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
244
+ link: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
245
+ login: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
246
+ logout: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
247
+ menu: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
248
+ more_horiz: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
249
+ more_vert: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
250
+ north: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
251
+ open_in_new: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
252
+ print: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
253
+ progress_activity: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
254
+ remove: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
255
+ search: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
256
+ settings_brightness: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
257
+ share: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
258
+ side_navigation: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
259
+ south: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
260
+ unfold_less: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
261
+ unfold_more: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
262
+ upload: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
263
+ west: (props: react.HTMLAttributes<SVGElement>) => react_jsx_runtime.JSX.Element;
264
+ };
265
+ Layout: typeof Layout;
266
+ Logo: typeof Logo;
267
+ Masthead: typeof Masthead;
268
+ Navigation: typeof Navigation;
269
+ PrevNextLinks: typeof PrevNextLinks;
270
+ TableOfContents: typeof TableOfContents;
271
+ Providers: typeof Providers;
272
+ ThemeProvider: typeof ThemeProvider;
273
+ ThemeSwitcher: typeof ThemeSwitcher;
274
+ defaultNavigation: NavigationSection[];
275
+ };
276
+
277
+ export { Button, type ColorData, type ColorsDisplayProps, type ColourOutputProps, type DesignTokensShades, type DesignTokensTheme, DynamicFavicon, Footer, type Format, type HeadingNode, Icons, Layout, Logo, Masthead, Navigation, type NavigationSection, type Output, PrevNextLinks, Providers, type SimpleNode, type StructuredColor, TableOfContents, ThemeProvider, ThemeSwitcher, type Variant, camelCase, cn, nswdsExports as default, defaultNavigation, domToSimple, getHeadings, getNodeText, kebabCase, truncate };
package/dist/index.js CHANGED
@@ -574,6 +574,25 @@ function camelCase(str) {
574
574
  return str.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (_, chr) => chr.toUpperCase());
575
575
  }
576
576
 
577
- export { Button, DynamicFavicon, Footer, Icons, Layout, Logo, Masthead, Navigation, PrevNextLinks, Providers, TableOfContents, ThemeProvider, ThemeSwitcher, camelCase, cn, defaultNavigation, domToSimple, getHeadings, getNodeText, kebabCase, truncate };
577
+ // src/packages/index.ts
578
+ var nswdsExports = {
579
+ Button,
580
+ DynamicFavicon,
581
+ Footer,
582
+ Icons,
583
+ Layout,
584
+ Logo,
585
+ Masthead,
586
+ Navigation,
587
+ PrevNextLinks,
588
+ TableOfContents,
589
+ Providers,
590
+ ThemeProvider,
591
+ ThemeSwitcher,
592
+ defaultNavigation
593
+ };
594
+ var index_default = nswdsExports;
595
+
596
+ export { Button, DynamicFavicon, Footer, Icons, Layout, Logo, Masthead, Navigation, PrevNextLinks, Providers, TableOfContents, ThemeProvider, ThemeSwitcher, camelCase, cn, index_default as default, defaultNavigation, domToSimple, getHeadings, getNodeText, kebabCase, truncate };
578
597
  //# sourceMappingURL=index.js.map
579
598
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Button.tsx","../src/components/Favicon.tsx","../src/components/Icons.tsx","../src/components/Footer.tsx","../src/lib/sections.ts","../src/components/Masthead.tsx","../src/components/Logo.tsx","../src/components/Navigation.tsx","../src/components/ThemeSwitcher.tsx","../src/components/TableOfContents.tsx","../src/components/PrevNextLinks.tsx","../src/components/Layout.tsx","../src/components/ThemeProvider.tsx","../src/components/Providers.tsx","../src/lib/utils.ts"],"names":["jsx","jsxs","Link","useEffect","useState","getHeadings","tableOfContents","Fragment","clsx","usePathname","NextThemesProvider"],"mappings":"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","file":"index.js","sourcesContent":["import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../packages/index.js'\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-zinc-950 focus-visible:ring-zinc-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:focus-visible:border-zinc-300 dark:focus-visible:ring-zinc-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900\",\n {\n variants: {\n variant: {\n default:\n 'bg-zinc-900 text-zinc-50 shadow-xs hover:bg-zinc-900/90 dark:bg-zinc-50 dark:text-zinc-900 dark:hover:bg-zinc-50/90',\n destructive:\n 'bg-red-500 text-white shadow-xs hover:bg-red-500/90 focus-visible:ring-red-500/20 dark:focus-visible:ring-red-500/40 dark:bg-red-500/60 dark:bg-red-900 dark:hover:bg-red-900/90 dark:focus-visible:ring-red-900/20 dark:dark:focus-visible:ring-red-900/40 dark:dark:bg-red-900/60',\n outline:\n 'border bg-white shadow-xs hover:bg-zinc-100 hover:text-zinc-900 dark:bg-zinc-200/30 dark:border-zinc-200 dark:hover:bg-zinc-200/50 dark:bg-zinc-950 dark:hover:bg-zinc-800 dark:hover:text-zinc-50 dark:dark:bg-zinc-800/30 dark:dark:border-zinc-800 dark:dark:hover:bg-zinc-800/50',\n secondary:\n 'bg-zinc-100 text-zinc-900 shadow-xs hover:bg-zinc-100/80 dark:bg-zinc-800 dark:text-zinc-50 dark:hover:bg-zinc-800/80',\n ghost:\n 'hover:bg-zinc-100 hover:text-zinc-900 dark:hover:bg-zinc-100/50 dark:hover:bg-zinc-800 dark:hover:text-zinc-50 dark:dark:hover:bg-zinc-800/50',\n link: 'text-zinc-900 underline-offset-4 hover:underline dark:text-zinc-50',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n data-slot='button'\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","'use client'\n\nimport { useEffect } from 'react'\n\ninterface DynamicFaviconProps {\n lightModeFavicon: string\n darkModeFavicon: string\n}\n\nexport function DynamicFavicon({ lightModeFavicon, darkModeFavicon }: DynamicFaviconProps) {\n useEffect(() => {\n // Function to update favicon based on color scheme\n const updateFavicon = () => {\n const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches\n const favicon = document.querySelector(\"link[rel='icon']\") as HTMLLinkElement\n\n if (favicon) {\n favicon.href = isDarkMode ? darkModeFavicon : lightModeFavicon\n } else {\n // Create favicon link if it doesn't exist\n const newFavicon = document.createElement('link')\n newFavicon.rel = 'icon'\n newFavicon.href = isDarkMode ? darkModeFavicon : lightModeFavicon\n document.head.appendChild(newFavicon)\n }\n }\n\n // Initial update\n updateFavicon()\n\n // Listen for changes in color scheme\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n mediaQuery.addEventListener('change', updateFavicon)\n\n // Clean up\n return () => mediaQuery.removeEventListener('change', updateFavicon)\n }, [lightModeFavicon, darkModeFavicon])\n\n // This component doesn't render anything visible\n return null\n}\n","type IconProps = React.HTMLAttributes<SVGElement>\n\nexport const Icons = {\n logo: (props: IconProps) => (\n <svg viewBox='0 0 259 280' aria-hidden='true' {...props}>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M24.208 270.207h-5.045v-4.277l11.15.054v13.676H26.08v-2.491c-.266.278-.553.556-.86.833-.673.585-1.49 1.07-2.433 1.434-.96.373-2.143.564-3.513.564-2.33 0-4.385-.539-6.109-1.6-1.727-1.065-3.073-2.594-4.007-4.538-.926-1.927-1.395-4.231-1.395-6.85 0-2.657.494-4.994 1.47-6.946.971-1.96 2.363-3.498 4.132-4.571 1.768-1.065 3.849-1.604 6.183-1.604 1.515 0 2.915.245 4.156.725 1.255.485 2.36 1.157 3.273 1.985a9.61 9.61 0 0 1 2.192 2.852 8.196 8.196 0 0 1 .872 3.319l.021.435h-6.038l-.062-.339a5.22 5.22 0 0 0-.814-1.981 4.562 4.562 0 0 0-1.537-1.43c-.614-.352-1.345-.531-2.175-.531-1.005 0-1.931.261-2.741.775-.806.51-1.458 1.351-1.935 2.495-.486 1.169-.731 2.74-.731 4.679 0 1.579.162 2.897.482 3.925.311 1.011.739 1.819 1.266 2.403.523.581 1.117.991 1.773 1.219a6.036 6.036 0 0 0 2.089.369c.669 0 1.27-.112 1.79-.328.523-.224.98-.514 1.354-.866.377-.356.676-.746.884-1.152.216-.41.349-.816.399-1.21l.14-1.028Zm20.878-16.312c2.354 0 4.435.534 6.179 1.587 1.752 1.061 3.13 2.59 4.086 4.546.947 1.935 1.428 4.281 1.428 6.967 0 2.648-.473 4.969-1.412 6.9-.946 1.948-2.317 3.469-4.073 4.521-1.744 1.053-3.837 1.583-6.212 1.583-2.396 0-4.502-.534-6.254-1.583-1.753-1.044-3.135-2.557-4.099-4.505-.947-1.927-1.428-4.252-1.428-6.912 0-2.673.486-5.015 1.449-6.954.968-1.956 2.355-3.486 4.12-4.551 1.764-1.061 3.853-1.599 6.216-1.599Zm0 21.185c1.117 0 2.093-.265 2.898-.787.802-.523 1.433-1.372 1.881-2.516.453-1.185.686-2.772.686-4.712 0-1.993-.237-3.618-.698-4.832-.444-1.181-1.08-2.056-1.885-2.603-.814-.543-1.782-.82-2.878-.82-1.1 0-2.072.277-2.886.82-.81.543-1.453 1.422-1.906 2.611-.47 1.223-.706 2.843-.706 4.82 0 1.944.237 3.531.702 4.712.452 1.148 1.092 1.997 1.902 2.515.81.527 1.781.792 2.89.792Zm23.764-2.93-6.162-17.829H57.09l8.654 25.251h6.195l8.73-25.251h-5.607L68.85 272.15Zm30.312-2.827H88.863v5.206l12.043.016v5.027H83.103v-25.251h17.632l-.016 4.99H88.892v5.089h10.27v4.923Zm22.482-1.529c.685-.613 1.246-1.401 1.678-2.341.419-.933.635-2.081.635-3.419 0-1.497-.311-2.835-.93-3.983-.619-1.169-1.599-2.093-2.919-2.756-1.3-.647-2.973-.974-4.975-.974h-10.738v25.243h5.759v-9.404h4.24l3.991 9.404h6.046l-4.651-10.456c.673-.357 1.3-.8 1.864-1.314Zm-3.513-5.64c0 .999-.336 1.79-1.025 2.428-.69.63-1.649.949-2.857.949h-4.095v-6.606h4.456c1.038 0 1.873.286 2.545.875.657.576.976 1.347.976 2.354Zm15.159-7.833 10.527 15.23v-15.23h5.776v25.251h-5.086l-10.98-15.86v15.86h-5.759v-25.251h5.522Zm33.949 16.461-5.29-16.461h-7.894v25.251h5.809v-16.266l5.124 16.266h4.485l5.162-16.357v16.357h5.826v-25.251h-7.878l-5.344 16.461Zm33.727-1.459h-10.298v5.206l12.046.016v5.027h-17.806v-25.251h17.636l-.021 4.99h-11.818v5.089h10.261v4.923Zm21.494.228-10.523-15.23h-5.527v25.251h5.756v-15.86l10.979 15.86h5.087v-25.251h-5.772v15.23Zm15.586-10.004h-7.388v-5.226h20.402v5.226h-7.217v20.025h-5.797v-20.025Z'\n className='fill-nsw-blue-800 dark:fill-white'\n />\n\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M146.699 209.236c-1.482-2.395-3.717-4.571-6.64-6.465-2.919-1.894-6.897-3.34-11.81-4.297l-13.678-2.814c-4.132-.891-6.981-2.043-8.468-3.419-1.449-1.343-2.184-3.129-2.184-5.309 0-1.388.316-2.652.943-3.759.623-1.111 1.528-2.093 2.687-2.922 1.166-.828 2.616-1.483 4.306-1.943 1.711-.469 3.633-.705 5.714-.705 2.74 0 5.211.361 7.346 1.078 2.109.713 3.857 1.881 5.194 3.481 1.338 1.6 2.16 3.775 2.442 6.465l.038.373h16.971l-.008-.427c-.075-4.575-1.371-8.773-3.85-12.474-2.483-3.705-6.141-6.681-10.879-8.852-4.726-2.164-10.623-3.262-17.528-3.262-5.801 0-11.117 1.011-15.805 3.009-4.7 2.002-8.475 4.89-11.212 8.587-2.749 3.717-4.12 8.164-4.078 13.224.112 6.175 1.99 11.186 5.577 14.903 3.576 3.697 8.476 6.158 14.567 7.306l13.795 2.81c2.529.502 4.825 1.16 6.823 1.96 1.96.784 3.525 1.803 4.651 3.03 1.1 1.197 1.657 2.772 1.657 4.67 0 2.114-.694 3.9-2.06 5.301-1.4 1.434-3.301 2.515-5.643 3.224-2.388.721-5.058 1.086-7.936 1.086-2.807 0-5.394-.435-7.686-1.297-2.28-.85-4.194-2.093-5.689-3.693-1.491-1.591-2.513-3.585-3.04-5.918l-.075-.327H83.846l.045.46c.407 4.045 1.666 7.629 3.738 10.659 2.068 3.009 4.717 5.545 7.873 7.551 3.148 1.993 6.677 3.514 10.494 4.513a46.33 46.33 0 0 0 11.693 1.5c6.466 0 12.2-1.019 17.046-3.034 4.867-2.022 8.717-4.807 11.449-8.276 2.753-3.493 4.148-7.476 4.148-11.848 0-2.064-.232-4.36-.697-6.822-.478-2.482-1.466-4.948-2.936-7.327ZM25.937 191.763l36.916 53.312H77.87v-79.724H61.072v51.282L25.754 165.53l-.125-.179H9.19v79.724h16.748v-53.312Zm196.637 24.577 14.388-50.987h16.457l-23.587 79.724h-13.367l-14.554-50.469-14.659 50.469h-13.147l-23.533-79.724h16.511l14.384 50.979 14.389-50.979h12.167l14.551 50.987Z'\n className='fill-nsw-blue-800 dark:fill-white'\n />\n\n <path\n d='M122.291 145.572c-19.75-2.424-38.934 3.904-72.69-5.263-3.447-.937-4.718 2.694-2.854 5.736 9.07 14.803 54.881 3.203 75.635 1.065.906-.095.814-1.426-.091-1.538ZM208.735 140.309c-33.756 9.167-52.941 2.839-72.691 5.263-.905.112-1 1.447-.091 1.538 20.759 2.138 66.566 13.738 75.635-1.065 1.864-3.042.594-6.673-2.853-5.736ZM59.882 119.132c-6.864-10.058-12.474-21.31-16.818-33.69-13.101 3.826-26.51 9.346-40.16 16.57a5.388 5.388 0 0 0-2.902 4.67 5.38 5.38 0 0 0 2.653 4.812c26.431 15.802 52.273 24.841 76.93 26.933-7.34-4.475-14.072-11.044-19.703-19.295ZM23.059 85.513a201.529 201.529 0 0 1 17.976-6.233c-2.126-6.896-3.87-14.12-5.249-21.658-6.827-.85-13.89-1.4-21.199-1.641-.062 0-.128-.004-.19-.004a5.391 5.391 0 0 0-4.647 2.602 5.383 5.383 0 0 0-.12 5.483c4.243 7.659 8.724 14.808 13.429 21.45ZM88.005 135.572c4.099 1.807 8.293 2.818 12.358 3.029-9.953-7.12-17.773-19.192-22.278-34.58-5.805-19.81-7.745-41.666-5.83-65.247-7.832-4.936-16.32-9.557-25.46-13.85a5.428 5.428 0 0 0-5.402.43 5.396 5.396 0 0 0-2.388 4.841c2.126 34.215 10.95 62.915 26.223 85.298 6.404 9.391 14.281 16.332 22.777 20.079ZM107.488 23.577A253.323 253.323 0 0 0 92.235 6.735c-1.063-1.078-2.433-1.65-3.85-1.65-.506 0-1.017.075-1.523.224-1.923.568-3.314 2.106-3.733 4.115-1.072 5.164-3.11 15.69-4.012 26.101 7.014 4.613 13.492 9.49 19.426 14.621 2.3-8.757 5.29-17.63 8.945-26.569ZM255.42 102.007c-13.65-7.223-27.058-12.744-40.16-16.569-4.343 12.38-9.953 23.631-16.818 33.689-5.63 8.255-12.362 14.82-19.708 19.296 24.658-2.093 50.5-11.132 76.931-26.934 1.715-1.024 2.707-2.822 2.653-4.811-.045-1.99-1.133-3.734-2.898-4.671ZM235.273 85.513c4.705-6.643 9.186-13.796 13.43-21.455.963-1.74.922-3.788-.121-5.483a5.4 5.4 0 0 0-4.837-2.598c-7.309.24-14.377.796-21.199 1.641-1.375 7.539-3.123 14.762-5.249 21.658a203.803 203.803 0 0 1 17.976 6.237ZM180.247 104.025c-4.505 15.384-12.329 27.46-22.278 34.58 4.065-.211 8.263-1.227 12.358-3.034 8.496-3.746 16.373-10.688 22.777-20.075 15.273-22.383 24.097-51.082 26.223-85.297a5.394 5.394 0 0 0-2.388-4.84 5.428 5.428 0 0 0-5.402-.432c-9.14 4.29-17.628 8.91-25.46 13.85 1.915 23.582-.029 45.434-5.83 65.248ZM179.214 35.52c-.901-10.406-2.94-20.932-4.011-26.1-.416-2.01-1.811-3.547-3.733-4.115a5.39 5.39 0 0 0-1.524-.224c-1.416 0-2.787.572-3.85 1.65-5.485 5.549-10.568 11.164-15.252 16.842 3.654 8.939 6.644 17.812 8.949 26.565 5.934-5.127 12.407-10.005 19.421-14.617ZM129.144 87.229c6.64-13.092 17.246-24.829 25.21-32.243-4.372-17.779-11.104-34.55-20.397-52.097C132.998 1.078 131.195 0 129.148 0s-3.845 1.082-4.808 2.889c-9.389 17.604-16.237 35.122-20.377 52.093 8.313 7.688 19.28 20.224 25.181 32.247Z'\n className='fill-nsw-red-600 dark:fill-white'\n />\n\n <path\n d='M153.541 133.686c6.885-4.833 13.77-13.254 18.139-24.97 8.458-22.681 9.334-47.945 8.122-65.823-15.331 10.215-39.665 31.55-47.975 54.36-3.911 10.734-5.734 25.355-2.72 33.511 1.259 3.411 3.401 5.997 6.345 7.227 4.46 1.865 11.312.456 18.089-4.305ZM125.713 95.261c-2.027-4.724-4.261-9.18-7.728-14.186-9.809-14.16-23.026-26.933-39.475-38.185-.17 2.652-2.57 31.297 5.851 59.304 6.408 21.302 17.354 29.98 23.354 33.333 6.038 3.369 11.561 4.165 18.039 2.557-6.565-8.935-5.747-27.27-.041-42.823Z'\n className='fill-nsw-red-600 dark:fill-white'\n />\n </svg>\n ),\n github: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fillRule='evenodd'\n d='M8.977.83C4.549.83.97 4.32.97 8.636c0 3.45 2.293 6.371 5.475 7.405.397.078.543-.168.543-.375 0-.18-.013-.8-.013-1.447-2.227.465-2.691-.93-2.691-.93-.358-.905-.888-1.138-.888-1.138-.73-.478.053-.478.053-.478.808.052 1.233.801 1.233.801.715 1.19 1.869.853 2.333.646.066-.504.278-.853.504-1.046-1.777-.181-3.646-.853-3.646-3.852 0-.853.318-1.55.822-2.093-.08-.194-.358-.995.08-2.068 0 0 .676-.207 2.2.801a7.94 7.94 0 0 1 2.002-.258c.676 0 1.365.09 2.001.258 1.525-1.008 2.2-.801 2.2-.801.438 1.073.16 1.874.08 2.068.517.542.822 1.24.822 2.093 0 2.999-1.869 3.658-3.659 3.852.292.245.544.71.544 1.447 0 1.047-.013 1.887-.013 2.145 0 .207.146.453.543.375 3.182-1.034 5.475-3.955 5.475-7.405C16.983 4.319 13.39.83 8.977.83Z'\n clipRule='evenodd'\n ></path>\n </g>\n </svg>\n ),\n linkedin: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M15.776.83H2.14C1.488.83.96 1.329.96 1.946v13.249c0 .617.528 1.119 1.181 1.119h13.635c.653 0 1.184-.502 1.184-1.116V1.946c0-.617-.531-1.116-1.184-1.116ZM5.706 14.025H3.333V6.633h2.375v7.392ZM4.52 5.626c-.762 0-1.378-.595-1.378-1.33 0-.735.616-1.33 1.378-1.33.76 0 1.375.595 1.375 1.33 0 .732-.615 1.33-1.375 1.33Zm10.075 8.399h-2.371v-3.593c0-.856-.016-1.96-1.235-1.96-1.234 0-1.422.935-1.422 1.9v3.653H7.197V6.633h2.275v1.01h.032c.315-.58 1.09-1.194 2.244-1.194 2.403 0 2.846 1.53 2.846 3.52v4.056Z'\n ></path>\n </g>\n </svg>\n ),\n twitter: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M13.158 2.058h2.248l-4.913 5.435 5.78 7.395h-4.525l-3.545-4.485-4.056 4.485h-2.25l5.255-5.813-5.545-7.017h4.64l3.205 4.1 3.706-4.1Zm-.79 11.527h1.246L5.57 3.293H4.233l8.135 10.292Z'\n ></path>\n </g>\n </svg>\n ),\n youtube: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M16.79 5.475s-.156-1.067-.637-1.536c-.61-.617-1.29-.62-1.603-.656-2.238-.158-5.597-.158-5.597-.158h-.006s-3.36 0-5.597.158c-.313.036-.994.039-1.603.656-.481.469-.635 1.536-.635 1.536S.95 6.73.95 7.982v1.174c0 1.252.16 2.507.16 2.507s.156 1.067.634 1.536c.61.617 1.41.596 1.765.662 1.282.118 5.441.154 5.441.154s3.363-.006 5.6-.16c.313-.036.994-.04 1.603-.656.481-.469.638-1.536.638-1.536s.159-1.252.159-2.507V7.982c0-1.252-.16-2.507-.16-2.507ZM7.298 10.58V6.228l4.322 2.184-4.322 2.168Z'\n ></path>\n </g>\n </svg>\n ),\n account_circle: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M234-276q51-39 114-61.5T480-360q69 0 132 22.5T726-276q35-41 54.5-93T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 59 19.5 111t54.5 93Zm246-164q-59 0-99.5-40.5T340-580q0-59 40.5-99.5T480-720q59 0 99.5 40.5T620-580q0 59-40.5 99.5T480-440Zm0 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q53 0 100-15.5t86-44.5q-39-29-86-44.5T480-280q-53 0-100 15.5T294-220q39 29 86 44.5T480-160Zm0-360q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm0-60Zm0 360Z' />\n </svg>\n ),\n attach_file: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M720-330q0 104-73 177T470-80q-104 0-177-73t-73-177v-370q0-75 52.5-127.5T400-880q75 0 127.5 52.5T580-700v350q0 46-32 78t-78 32q-46 0-78-32t-32-78v-330q0-17 11.5-28.5T400-720q17 0 28.5 11.5T440-680v330q0 13 8.5 21.5T470-320q13 0 21.5-8.5T500-350v-350q-1-42-29.5-71T400-800q-42 0-71 29t-29 71v370q-1 71 49 120.5T470-160q70 0 119-49.5T640-330v-350q0-17 11.5-28.5T680-720q17 0 28.5 11.5T720-680v350Z' />\n </svg>\n ),\n cancel: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m480-424 116 116q11 11 28 11t28-11q11-11 11-28t-11-28L536-480l116-116q11-11 11-28t-11-28q-11-11-28-11t-28 11L480-536 364-652q-11-11-28-11t-28 11q-11 11-11 28t11 28l116 116-116 116q-11 11-11 28t11 28q11 11 28 11t28-11l116-116Zm0 344q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n check_circle: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m424-408-86-86q-11-11-28-11t-28 11q-11 11-11 28t11 28l114 114q12 12 28 12t28-12l226-226q11-11 11-28t-11-28q-11-11-28-11t-28 11L424-408Zm56 328q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n check: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m382-354 339-339q12-12 28-12t28 12q12 12 12 28.5T777-636L410-268q-12 12-28 12t-28-12L182-440q-12-12-11.5-28.5T183-497q12-12 28.5-12t28.5 12l142 143Z' />\n </svg>\n ),\n chevron_down: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-361q-8 0-15-2.5t-13-8.5L268-556q-11-11-11-28t11-28q11-11 28-11t28 11l156 156 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L508-372q-6 6-13 8.5t-15 2.5Z' />\n </svg>\n ),\n chevron_left: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m432-480 156 156q11 11 11 28t-11 28q-11 11-28 11t-28-11L348-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 28-11t28 11q11 11 11 28t-11 28L432-480Z' />\n </svg>\n ),\n chevron_right: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M504-480 348-636q-11-11-11-28t11-28q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L404-268q-11 11-28 11t-28-11q-11-11-11-28t11-28l156-156Z' />\n </svg>\n ),\n chevron_up: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-528 324-372q-11 11-28 11t-28-11q-11-11-11-28t11-28l184-184q12-12 28-12t28 12l184 184q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-528Z' />\n </svg>\n ),\n close: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-424 284-228q-11 11-28 11t-28-11q-11-11-11-28t11-28l196-196-196-196q-11-11-11-28t11-28q11-11 28-11t28 11l196 196 196-196q11-11 28-11t28 11q11 11 11 28t-11 28L536-480l196 196q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-424Z' />\n </svg>\n ),\n collapse_all: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-264 324-108q-11 11-28 11t-28-11q-11-11-11-28t11-28l155-155q23-23 57-23t57 23l155 155q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-264Zm0-432 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L537-641q-23 23-57 23t-57-23L268-796q-11-11-11-28t11-28q11-11 28-11t28 11l156 156Z' />\n </svg>\n ),\n computer: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M80-120q-17 0-28.5-11.5T40-160q0-17 11.5-28.5T80-200h800q17 0 28.5 11.5T920-160q0 17-11.5 28.5T880-120H80Zm80-120q-33 0-56.5-23.5T80-320v-440q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v440q0 33-23.5 56.5T800-240H160Zm0-80h640v-440H160v440Zm0 0v-440 440Z' />\n </svg>\n ),\n copy: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-520q0-17 11.5-28.5T160-720q17 0 28.5 11.5T200-680v520h400q17 0 28.5 11.5T640-120q0 17-11.5 28.5T600-80H200Zm160-240v-480 480Z' />\n </svg>\n ),\n dark_mode: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-120q-151 0-255.5-104.5T120-480q0-138 90-239.5T440-838q13-2 23 3.5t16 14.5q6 9 6.5 21t-7.5 23q-17 26-25.5 55t-8.5 61q0 90 63 153t153 63q31 0 61.5-9t54.5-25q11-7 22.5-6.5T819-479q10 5 15.5 15t3.5 24q-14 138-117.5 229T480-120Zm0-80q88 0 158-48.5T740-375q-20 5-40 8t-40 3q-123 0-209.5-86.5T364-660q0-20 3-40t8-40q-78 32-126.5 102T200-480q0 116 82 198t198 82Zm-10-270Z' />\n </svg>\n ),\n dock_to_left: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm440-80h120v-560H640v560Zm-80 0v-560H200v560h360Zm80 0h120-120Z' />\n </svg>\n ),\n dock_to_right: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm120-80v-560H200v560h120Zm80 0h360v-560H400v560Zm-80 0H200h120Z' />\n </svg>\n ),\n delete: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M280-120q-33 0-56.5-23.5T200-200v-520q-17 0-28.5-11.5T160-760q0-17 11.5-28.5T200-800h160q0-17 11.5-28.5T400-840h160q17 0 28.5 11.5T600-800h160q17 0 28.5 11.5T800-760q0 17-11.5 28.5T760-720v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM400-280q17 0 28.5-11.5T440-320v-280q0-17-11.5-28.5T400-640q-17 0-28.5 11.5T360-600v280q0 17 11.5 28.5T400-280Zm160 0q17 0 28.5-11.5T600-320v-280q0-17-11.5-28.5T560-640q-17 0-28.5 11.5T520-600v280q0 17 11.5 28.5T560-280ZM280-720v520-520Z' />\n </svg>\n ),\n desktop: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M400-200v-80H160q-33 0-56.5-23.5T80-360v-400q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v400q0 33-23.5 56.5T800-280H560v80h40q17 0 28.5 11.5T640-160q0 17-11.5 28.5T600-120H360q-17 0-28.5-11.5T320-160q0-17 11.5-28.5T360-200h40ZM160-360h640v-400H160v400Zm0 0v-400 400Z' />\n </svg>\n ),\n display_settings: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M300-410v20q0 13 8.5 21.5T330-360q13 0 21.5-8.5T360-390v-100q0-13-8.5-21.5T330-520q-13 0-21.5 8.5T300-490v20h-30q-13 0-21.5 8.5T240-440q0 13 8.5 21.5T270-410h30Zm130 0h260q13 0 21.5-8.5T720-440q0-13-8.5-21.5T690-470H430q-13 0-21.5 8.5T400-440q0 13 8.5 21.5T430-410Zm230-160h30q13 0 21.5-8.5T720-600q0-13-8.5-21.5T690-630h-30v-20q0-13-8.5-21.5T630-680q-13 0-21.5 8.5T600-650v100q0 13 8.5 21.5T630-520q13 0 21.5-8.5T660-550v-20Zm-390 0h260q13 0 21.5-8.5T560-600q0-13-8.5-21.5T530-630H270q-13 0-21.5 8.5T240-600q0 13 8.5 21.5T270-570ZM160-200q-33 0-56.5-23.5T80-280v-480q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v480q0 33-23.5 56.5T800-200H640v40q0 17-11.5 28.5T600-120H360q-17 0-28.5-11.5T320-160v-40H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z' />\n </svg>\n ),\n double_arrow_left: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m313-480 155 156q11 11 11.5 27.5T468-268q-11 11-28 11t-28-11L228-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 27.5-11.5T468-692q11 11 11 28t-11 28L313-480Zm264 0 155 156q11 11 11.5 27.5T732-268q-11 11-28 11t-28-11L492-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 27.5-11.5T732-692q11 11 11 28t-11 28L577-480Z' />\n </svg>\n ),\n double_arrow_right: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M383-480 228-636q-11-11-11.5-27.5T228-692q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L284-268q-11 11-27.5 11.5T228-268q-11-11-11-28t11-28l155-156Zm264 0L492-636q-11-11-11.5-27.5T492-692q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L548-268q-11 11-27.5 11.5T492-268q-11-11-11-28t11-28l155-156Z' />\n </svg>\n ),\n download: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-337q-8 0-15-2.5t-13-8.5L308-492q-12-12-11.5-28t11.5-28q12-12 28.5-12.5T365-549l75 75v-286q0-17 11.5-28.5T480-800q17 0 28.5 11.5T520-760v286l75-75q12-12 28.5-11.5T652-548q11 12 11.5 28T652-492L508-348q-6 6-13 8.5t-15 2.5ZM240-160q-33 0-56.5-23.5T160-240v-80q0-17 11.5-28.5T200-360q17 0 28.5 11.5T240-320v80h480v-80q0-17 11.5-28.5T760-360q17 0 28.5 11.5T800-320v80q0 33-23.5 56.5T720-160H240Z' />\n </svg>\n ),\n east: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M727-440H120q-17 0-28.5-11.5T80-480q0-17 11.5-28.5T120-520h607L572-676q-11-11-11.5-27.5T572-732q11-11 28-11t28 11l224 224q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L628-228q-11 11-27.5 11T572-228q-12-12-12-28.5t12-28.5l155-155Z' />\n </svg>\n ),\n error: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-280q17 0 28.5-11.5T520-320q0-17-11.5-28.5T480-360q-17 0-28.5 11.5T440-320q0 17 11.5 28.5T480-280Zm0-160q17 0 28.5-11.5T520-480v-160q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640v160q0 17 11.5 28.5T480-440Zm0 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n exclamation: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-400q-17 0-28.5-11.5T440-440v-280q0-17 11.5-28.5T480-760q17 0 28.5 11.5T520-720v280q0 17-11.5 28.5T480-400Zm0 200q-17 0-28.5-11.5T440-240q0-17 11.5-28.5T480-280q17 0 28.5 11.5T520-240q0 17-11.5 28.5T480-200Z' />\n </svg>\n ),\n help: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M478-240q21 0 35.5-14.5T528-290q0-21-14.5-35.5T478-340q-21 0-35.5 14.5T428-290q0 21 14.5 35.5T478-240Zm2 160q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Zm4-172q25 0 43.5 16t18.5 40q0 22-13.5 39T502-525q-23 20-40.5 44T444-427q0 14 10.5 23.5T479-394q15 0 25.5-10t13.5-25q4-21 18-37.5t30-31.5q23-22 39.5-48t16.5-58q0-51-41.5-83.5T484-720q-38 0-72.5 16T359-655q-7 12-4.5 25.5T368-609q14 8 29 5t25-17q11-15 27.5-23t34.5-8Z' />\n </svg>\n ),\n info: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-280q17 0 28.5-11.5T520-320v-160q0-17-11.5-28.5T480-520q-17 0-28.5 11.5T440-480v160q0 17 11.5 28.5T480-280Zm0-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n light_mode: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-360q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Zm0 80q-83 0-141.5-58.5T280-480q0-83 58.5-141.5T480-680q83 0 141.5 58.5T680-480q0 83-58.5 141.5T480-280ZM80-440q-17 0-28.5-11.5T40-480q0-17 11.5-28.5T80-520h80q17 0 28.5 11.5T200-480q0 17-11.5 28.5T160-440H80Zm720 0q-17 0-28.5-11.5T760-480q0-17 11.5-28.5T800-520h80q17 0 28.5 11.5T920-480q0 17-11.5 28.5T880-440h-80ZM480-760q-17 0-28.5-11.5T440-800v-80q0-17 11.5-28.5T480-920q17 0 28.5 11.5T520-880v80q0 17-11.5 28.5T480-760Zm0 720q-17 0-28.5-11.5T440-80v-80q0-17 11.5-28.5T480-200q17 0 28.5 11.5T520-160v80q0 17-11.5 28.5T480-40ZM226-678l-43-42q-12-11-11.5-28t11.5-29q12-12 29-12t28 12l42 43q11 12 11 28t-11 28q-11 12-27.5 11.5T226-678Zm494 495-42-43q-11-12-11-28.5t11-27.5q11-12 27.5-11.5T734-282l43 42q12 11 11.5 28T777-183q-12 12-29 12t-28-12Zm-42-495q-12-11-11.5-27.5T678-734l42-43q11-12 28-11.5t29 11.5q12 12 12 29t-12 28l-43 42q-12 11-28 11t-28-11ZM183-183q-12-12-12-29t12-28l43-42q12-11 28.5-11t27.5 11q12 11 11.5 27.5T282-226l-42 43q-11 12-28 11.5T183-183Zm297-297Z' />\n </svg>\n ),\n link: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M280-280q-83 0-141.5-58.5T80-480q0-83 58.5-141.5T280-680h120q17 0 28.5 11.5T440-640q0 17-11.5 28.5T400-600H280q-50 0-85 35t-35 85q0 50 35 85t85 35h120q17 0 28.5 11.5T440-320q0 17-11.5 28.5T400-280H280Zm80-160q-17 0-28.5-11.5T320-480q0-17 11.5-28.5T360-520h240q17 0 28.5 11.5T640-480q0 17-11.5 28.5T600-440H360Zm200 160q-17 0-28.5-11.5T520-320q0-17 11.5-28.5T560-360h120q50 0 85-35t35-85q0-50-35-85t-85-35H560q-17 0-28.5-11.5T520-640q0-17 11.5-28.5T560-680h120q83 0 141.5 58.5T880-480q0 83-58.5 141.5T680-280H560Z' />\n </svg>\n ),\n login: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M520-120q-17 0-28.5-11.5T480-160q0-17 11.5-28.5T520-200h240v-560H520q-17 0-28.5-11.5T480-800q0-17 11.5-28.5T520-840h240q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H520Zm-73-320H160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h287l-75-75q-11-11-11-27t11-28q11-12 28-12.5t29 11.5l143 143q12 12 12 28t-12 28L429-309q-12 12-28.5 11.5T372-310q-11-12-10.5-28.5T373-366l74-74Z' />\n </svg>\n ),\n logout: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h240q17 0 28.5 11.5T480-800q0 17-11.5 28.5T440-760H200v560h240q17 0 28.5 11.5T480-160q0 17-11.5 28.5T440-120H200Zm487-320H400q-17 0-28.5-11.5T360-480q0-17 11.5-28.5T400-520h287l-75-75q-11-11-11-27t11-28q11-12 28-12.5t29 11.5l143 143q12 12 12 28t-12 28L669-309q-12 12-28.5 11.5T612-310q-11-12-10.5-28.5T613-366l74-74Z' />\n </svg>\n ),\n menu: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M160-240q-17 0-28.5-11.5T120-280q0-17 11.5-28.5T160-320h640q17 0 28.5 11.5T840-280q0 17-11.5 28.5T800-240H160Zm0-200q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h640q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H160Zm0-200q-17 0-28.5-11.5T120-680q0-17 11.5-28.5T160-720h640q17 0 28.5 11.5T840-680q0 17-11.5 28.5T800-640H160Z' />\n </svg>\n ),\n more_horiz: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400Z' />\n </svg>\n ),\n more_vert: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-160q-33 0-56.5-23.5T400-240q0-33 23.5-56.5T480-320q33 0 56.5 23.5T560-240q0 33-23.5 56.5T480-160Zm0-240q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm0-240q-33 0-56.5-23.5T400-720q0-33 23.5-56.5T480-800q33 0 56.5 23.5T560-720q0 33-23.5 56.5T480-640Z' />\n </svg>\n ),\n north: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-17 0-28.5-11.5T440-120v-607L284-572q-11 11-27.5 11.5T228-572q-11-11-11-28t11-28l224-224q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l224 224q11 11 11 27.5T732-572q-12 12-28.5 12T675-572L520-727v607q0 17-11.5 28.5T480-80Z' />\n </svg>\n ),\n open_in_new: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h240q17 0 28.5 11.5T480-800q0 17-11.5 28.5T440-760H200v560h560v-240q0-17 11.5-28.5T800-480q17 0 28.5 11.5T840-440v240q0 33-23.5 56.5T760-120H200Zm560-584L416-360q-11 11-28 11t-28-11q-11-11-11-28t11-28l344-344H600q-17 0-28.5-11.5T560-800q0-17 11.5-28.5T600-840h200q17 0 28.5 11.5T840-800v200q0 17-11.5 28.5T800-560q-17 0-28.5-11.5T760-600v-104Z' />\n </svg>\n ),\n print: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M320-120q-33 0-56.5-23.5T240-200v-80h-80q-33 0-56.5-23.5T80-360v-160q0-51 35-85.5t85-34.5h560q51 0 85.5 34.5T880-520v160q0 33-23.5 56.5T800-280h-80v80q0 33-23.5 56.5T640-120H320ZM160-360h80q0-33 23.5-56.5T320-440h320q33 0 56.5 23.5T720-360h80v-160q0-17-11.5-28.5T760-560H200q-17 0-28.5 11.5T160-520v160Zm480-280v-120H320v120h-80v-120q0-33 23.5-56.5T320-840h320q33 0 56.5 23.5T720-760v120h-80Zm80 180q17 0 28.5-11.5T760-500q0-17-11.5-28.5T720-540q-17 0-28.5 11.5T680-500q0 17 11.5 28.5T720-460Zm-80 260v-160H320v160h320ZM160-560h640-640Z' />\n </svg>\n ),\n progress_activity: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-155.5t86-127Q252-817 325-848.5T480-880q17 0 28.5 11.5T520-840q0 17-11.5 28.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160q133 0 226.5-93.5T800-480q0-17 11.5-28.5T840-520q17 0 28.5 11.5T880-480q0 82-31.5 155t-86 127.5q-54.5 54.5-127 86T480-80Z' />\n </svg>\n ),\n remove: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M240-440q-17 0-28.5-11.5T200-480q0-17 11.5-28.5T240-520h480q17 0 28.5 11.5T760-480q0 17-11.5 28.5T720-440H240Z' />\n </svg>\n ),\n search: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z' />\n </svg>\n ),\n settings_brightness: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m420-320 46 46q6 6 14 6t14-6l46-46h80q8 0 14-6t6-14v-80l46-46q6-6 6-14t-6-14l-46-46v-80q0-8-6-14t-14-6h-80l-46-46q-6-6-14-6t-14 6l-46 46h-80q-8 0-14 6t-6 14v80l-46 46q-6 6-6 14t6 14l46 46v80q0 8 6 14t14 6h80Zm60-40v-240q50 0 85 35t35 85q0 50-35 85t-85 35ZM160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z' />\n </svg>\n ),\n share: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M680-80q-50 0-85-35t-35-85q0-6 3-28L282-392q-16 15-37 23.5t-45 8.5q-50 0-85-35t-35-85q0-50 35-85t85-35q24 0 45 8.5t37 23.5l281-164q-2-7-2.5-13.5T560-760q0-50 35-85t85-35q50 0 85 35t35 85q0 50-35 85t-85 35q-24 0-45-8.5T598-672L317-508q2 7 2.5 13.5t.5 14.5q0 8-.5 14.5T317-452l281 164q16-15 37-23.5t45-8.5q50 0 85 35t35 85q0 50-35 85t-85 35Zm0-80q17 0 28.5-11.5T720-200q0-17-11.5-28.5T680-240q-17 0-28.5 11.5T640-200q0 17 11.5 28.5T680-160ZM200-440q17 0 28.5-11.5T240-480q0-17-11.5-28.5T200-520q-17 0-28.5 11.5T160-480q0 17 11.5 28.5T200-440Zm480-280q17 0 28.5-11.5T720-760q0-17-11.5-28.5T680-800q-17 0-28.5 11.5T640-760q0 17 11.5 28.5T680-720Zm0 520ZM200-480Zm480-280Z' />\n </svg>\n ),\n side_navigation: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm280-80h280v-560H480v560Z' />\n </svg>\n ),\n south: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-97q-8 0-15-2.5t-13-8.5L228-332q-11-11-11-28t11-28q12-12 28.5-11.5T284-388l156 155v-607q0-17 11.5-28.5T480-880q17 0 28.5 11.5T520-840v607l155-155q12-12 28.5-12t28.5 12q11 12 11 28.5T732-332L508-108q-6 6-13 8.5T480-97Z' />\n </svg>\n ),\n unfold_less: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m480-284-96 96q-11 11-28 11t-28-11q-11-11-11-28t11-28l124-124q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l124 124q11 11 11 28t-11 28q-11 11-28 11t-28-11l-96-96Zm0-392 96-96q11-11 28-11t28 11q11 11 11 28t-11 28L508-592q-6 6-13 8.5t-15 2.5q-8 0-15-2.5t-13-8.5L328-716q-11-11-11-28t11-28q11-11 28-11t28 11l96 96Z' />\n </svg>\n ),\n unfold_more: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m480-236 93-93q12-12 29-12t29 12q12 12 12 29t-12 29L508-148q-6 6-13 8.5t-15 2.5q-8 0-15-2.5t-13-8.5L329-271q-12-12-12-29t12-29q12-12 29-12t29 12l93 93Zm0-484-93 93q-12 12-29 12t-29-12q-12-12-12-29t12-29l123-123q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l123 123q12 12 12 29t-12 29q-12 12-29 12t-29-12l-93-93Z' />\n </svg>\n ),\n upload: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M240-160q-33 0-56.5-23.5T160-240v-80q0-17 11.5-28.5T200-360q17 0 28.5 11.5T240-320v80h480v-80q0-17 11.5-28.5T760-360q17 0 28.5 11.5T800-320v80q0 33-23.5 56.5T720-160H240Zm200-486-75 75q-12 12-28.5 11.5T308-572q-11-12-11.5-28t11.5-28l144-144q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l144 144q12 12 11.5 28T652-572q-12 12-28.5 12.5T595-571l-75-75v286q0 17-11.5 28.5T480-320q-17 0-28.5-11.5T440-360v-286Z' />\n </svg>\n ),\n west: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M233-440h607q17 0 28.5-11.5T880-480q0-17-11.5-28.5T840-520H233l155-156q11-11 11.5-27.5T388-732q-11-11-28-11t-28 11L108-508q-6 6-8.5 13T97-480q0 8 2.5 15t8.5 13l224 224q11 11 27.5 11t28.5-11q12-12 12-28.5T388-285L233-440Z' />\n </svg>\n ),\n}\n","'use client'\n\nimport Link from 'next/link'\nimport { Icons } from '../components/Icons'\n\nfunction SocialLink({\n href,\n icon: Icon,\n children,\n}: {\n href: string\n icon: React.ComponentType<{ className?: string }>\n children: React.ReactNode\n}) {\n return (\n <Link href={href} className='group'>\n <span className='sr-only'>{children}</span>\n <Icon className='h-5 w-5 fill-zinc-700 transition group-hover:fill-zinc-900 dark:group-hover:fill-zinc-500' />\n </Link>\n )\n}\n\nfunction SmallPrint() {\n return (\n <div className='flex flex-col items-center justify-between gap-5 border-t border-zinc-900/5 pt-8 sm:flex-row dark:border-white/5'>\n <p className='text-xs text-zinc-600 dark:text-zinc-400'>\n &copy; Copyright {new Date().getFullYear()}. All rights reserved.\n </p>\n <div className='flex gap-4'>\n <SocialLink href='#' icon={Icons.github}>\n Follow us on GitHub\n </SocialLink>\n </div>\n </div>\n )\n}\n\nexport function Footer() {\n return (\n <footer className='mx-auto w-full max-w-2xl space-y-10 pb-16 lg:max-w-5xl'>\n <SmallPrint />\n </footer>\n )\n}\n","import { slugifyWithCounter } from '@sindresorhus/slugify'\n\nexport type SimpleNode = {\n type: string\n attributes: {\n content?: string\n [key: string]: string | number | boolean | undefined\n }\n children?: SimpleNode[]\n}\n\nexport type HeadingNode = {\n level: number\n id: string\n title: string\n children: HeadingNode[]\n}\n\nexport function getNodeText(node: HTMLElement | SimpleNode): string {\n let text = ''\n\n for (const child of node.children ?? []) {\n if ('type' in child && child.type === 'text') {\n text += child.attributes?.content ?? ''\n } else if (child instanceof HTMLElement) {\n text += getNodeText(child)\n }\n }\n\n return text\n}\n\nexport function domToSimple(node: Node): SimpleNode {\n if (node.nodeType === Node.TEXT_NODE) {\n return {\n type: 'text',\n attributes: {\n content: node.textContent ?? undefined,\n },\n }\n }\n\n if (node.nodeType === Node.ELEMENT_NODE) {\n return {\n type: node.nodeName.toLowerCase(),\n attributes: {},\n children: Array.from(node.childNodes).map(domToSimple),\n }\n }\n\n throw new Error('Unsupported node type')\n}\n\nexport function getHeadings(slugify = slugifyWithCounter()) {\n const content = document.querySelector('article')\n if (!content) {\n return []\n }\n const headings = Array.from(content.querySelectorAll('h2, h3, h4, h5, h6'))\n\n const result: HeadingNode[] = []\n const stack: HeadingNode[] = []\n\n headings.forEach((el) => {\n const simplifiedNode = domToSimple(el)\n const title = getNodeText(simplifiedNode).trim()\n const slugifiedTitle = slugify(title)\n const id = el.id || slugifiedTitle\n\n const level = parseInt(el.tagName[1])\n const node = { level, id, title, children: [] }\n\n if (!el.id) el.id = id\n\n if (level === 2) {\n result.push(node)\n stack.length = 0\n stack.push(node)\n } else {\n while (stack.length && stack[stack.length - 1].level >= level) {\n stack.pop()\n }\n if (stack.length) {\n stack[stack.length - 1].children.push(node)\n }\n stack.push(node)\n }\n })\n\n return result\n}\n","'use client'\nexport function Masthead() {\n return (\n <div className='bg-primary h-[var(--masthead-height)] w-full'>\n <div className='mx-auto flex w-full items-center justify-between px-4 py-2 sm:px-6 lg:px-8'>\n <div className='flex items-center gap-x-12'>\n <p className='text-xs text-white'>A NSW Government website</p>\n </div>\n </div>\n </div>\n )\n}\n","import { Icons } from '../components/Icons'\n\nexport function Logo(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <>\n <span className='sr-only'>NSW Government</span>\n <Icons.logo {...props} />\n </>\n )\n}\n","'use client'\n\nimport React from 'react'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\n\nimport { NavigationSection } from '../types/types.js'\n\nexport function Navigation({\n className,\n onLinkClick,\n navigation,\n}: {\n className?: string\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n navigation: NavigationSection[]\n}) {\n const pathname = usePathname()\n\n return (\n <nav className={clsx('text-base lg:text-sm', className)}>\n <ul role='list' className='flex flex-col gap-9'>\n {navigation.map((section) => (\n <li key={section.title}>\n <h2 className='font-display text-foreground font-medium dark:text-white'>\n {section.title}\n </h2>\n <ul\n role='list'\n className='border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4'\n >\n {section.links.map((link) => (\n <li key={link.href} className='-ml-px flex flex-col items-start gap-2'>\n <Link\n href={link.href}\n onClick={onLinkClick}\n className={clsx(\n 'text-foreground inline-block border-l pl-5 text-base/8 sm:pl-4 sm:text-sm/6',\n 'hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold',\n 'dark:text-nsw-grey-400',\n 'dark:hover:border-nsw-grey-400 dark:hover:text-white',\n link.href === pathname &&\n 'border-primary text-primary border-l font-semibold dark:border-white',\n )}\n >\n {link.title}\n </Link>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </nav>\n )\n}\n","'use client'\n\nimport { useEffect, useState } from 'react'\nimport { useTheme } from 'next-themes'\nimport { Button } from '../components/Button'\nimport { Icons } from '../components/Icons'\n\nexport function ThemeSwitcher() {\n const { resolvedTheme, setTheme } = useTheme()\n const [mounted, setMounted] = useState(false)\n\n const classes = 'fill-nsw-grey-600 dark:fill-nsw-grey-100 size-6'\n\n // Avoid hydration mismatch by only rendering after mount\n useEffect(() => {\n setMounted(true)\n }, [])\n\n if (!mounted) {\n return (\n <Button variant='ghost' size='icon' className='h-10 w-10' disabled>\n <Icons.light_mode className={classes} />\n </Button>\n )\n }\n\n return (\n <Button\n variant='outline'\n size='icon'\n className='h-10 w-10 cursor-pointer'\n onClick={() => setTheme(resolvedTheme === 'dark' ? 'light' : 'dark')}\n aria-label={`Switch to ${resolvedTheme === 'dark' ? 'light' : 'dark'} theme`}\n >\n {resolvedTheme === 'dark' ? (\n <Icons.light_mode className={classes} />\n ) : (\n <Icons.dark_mode className={classes} />\n )}\n <span className='sr-only'>\n {resolvedTheme === 'dark' ? 'Switch to light theme' : 'Switch to dark theme'}\n </span>\n </Button>\n )\n}\n","'use client'\n\nimport { useCallback, useEffect, useState } from 'react'\nimport Link from 'next/link'\nimport clsx from 'clsx'\n\ntype TableOfContentsItem = {\n id: string\n children: TableOfContentsItem[]\n title: string\n}\n\ntype TableOfContentsProps = {\n tableOfContents: TableOfContentsItem[]\n}\n\nexport function TableOfContents({ tableOfContents }: TableOfContentsProps) {\n const [currentSection, setCurrentSection] = useState(tableOfContents[0]?.id)\n\n const getHeadings = useCallback((tableOfContents: TableOfContentsItem[]) => {\n return tableOfContents\n .flatMap((node) => [node.id, ...node.children.map((child) => child.id)])\n .map((id) => {\n const el = document.getElementById(id)\n if (!el) return null\n\n const style = window.getComputedStyle(el)\n const scrollMt = parseFloat(style.scrollMarginTop)\n\n const top = window.scrollY + el.getBoundingClientRect().top - scrollMt\n return { id, top }\n })\n .filter((x): x is { id: string; top: number } => x !== null)\n }, [])\n\n useEffect(() => {\n if (tableOfContents.length === 0) return\n const headings = getHeadings(tableOfContents)\n function onScroll() {\n const top = window.scrollY\n let current = headings[0].id\n for (const heading of headings) {\n if (top >= heading.top - 10) {\n current = heading.id\n } else {\n break\n }\n }\n setCurrentSection(current)\n }\n window.addEventListener('scroll', onScroll, { passive: true })\n onScroll()\n return () => {\n window.removeEventListener('scroll', onScroll)\n }\n }, [getHeadings, tableOfContents])\n\n function isActive(section: TableOfContentsItem) {\n if (section.id === currentSection) {\n return true\n }\n if (!section.children) {\n return false\n }\n return section.children.findIndex(isActive) > -1\n }\n\n return (\n <div className='hidden xl:sticky xl:top-[4.75rem] xl:-mr-6 xl:block xl:h-[calc(100vh-4.75rem)] xl:flex-none xl:overflow-y-auto xl:py-16 xl:pr-6'>\n <nav aria-labelledby='on-this-page-title' className='w-56'>\n {tableOfContents.length > 0 && (\n <>\n <h2\n id='on-this-page-title'\n className='font-display text-sm font-medium text-slate-900 dark:text-white'\n >\n On this page\n </h2>\n <ol role='list' className='mt-4 space-y-3 text-sm'>\n {tableOfContents.map((section) => (\n <li key={section.id}>\n <h3>\n <Link\n href={`#${section.id}`}\n className={clsx(\n isActive(section)\n ? 'text-primary font-semibold'\n : 'font-normal text-slate-500 hover:text-slate-700 dark:text-slate-400 dark:hover:text-slate-300',\n )}\n >\n {section.title}\n </Link>\n </h3>\n {section.children.length > 0 && (\n <ol\n role='list'\n className='mt-2 space-y-3 pl-5 text-slate-500 dark:text-slate-400'\n >\n {section.children.map((subSection) => (\n <li key={subSection.id}>\n <Link\n href={`#${subSection.id}`}\n className={\n isActive(subSection)\n ? 'text-primary-light font-semibold'\n : 'hover:text-slate-600 dark:hover:text-slate-300'\n }\n >\n {subSection.title}\n </Link>\n </li>\n ))}\n </ol>\n )}\n </li>\n ))}\n </ol>\n </>\n )}\n </nav>\n </div>\n )\n}\n","'use client'\n\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\n\nimport { NavigationSection } from '../types/types'\n\nfunction ArrowIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg viewBox='0 0 16 16' aria-hidden='true' {...props}>\n <path d='m9.182 13.423-1.17-1.16 3.505-3.505H3V7.065h8.517l-3.506-3.5L9.181 2.4l5.512 5.511-5.511 5.512Z' />\n </svg>\n )\n}\n\nfunction PageLink({\n title,\n href,\n dir = 'next',\n ...props\n}: Omit<React.ComponentPropsWithoutRef<'div'>, 'dir' | 'title'> & {\n title: string\n href: string\n dir?: 'previous' | 'next'\n}) {\n return (\n <div {...props}>\n <dt className='font-display text-sm font-medium text-slate-900 dark:text-white'>\n {dir === 'next' ? 'Next' : 'Previous'}\n </dt>\n <dd className='mt-1'>\n <Link\n href={href}\n className={clsx(\n 'flex items-center gap-x-1 text-base font-semibold text-slate-500 hover:text-slate-600 dark:text-slate-400 dark:hover:text-slate-300',\n dir === 'previous' && 'flex-row-reverse',\n )}\n >\n {title}\n <ArrowIcon\n className={clsx('h-4 w-4 flex-none fill-current', dir === 'previous' && '-scale-x-100')}\n />\n </Link>\n </dd>\n </div>\n )\n}\n\ninterface PrevNextLinksProps {\n navigation: NavigationSection[]\n}\n\nexport function PrevNextLinks({ navigation }: PrevNextLinksProps) {\n const pathname = usePathname()\n const allLinks = navigation.flatMap((section) => section.links)\n const linkIndex = allLinks.findIndex((link) => link.href === pathname)\n const previousPage = linkIndex > -1 ? allLinks[linkIndex - 1] : null\n const nextPage = linkIndex > -1 ? allLinks[linkIndex + 1] : null\n\n if (!nextPage && !previousPage) {\n return null\n }\n\n return (\n <dl className='mt-12 flex border-t border-slate-200 pt-6 dark:border-slate-800'>\n {previousPage && <PageLink dir='previous' {...previousPage} />}\n {nextPage && <PageLink className='ml-auto text-right' {...nextPage} />}\n </dl>\n )\n}\n","'use client'\n\nimport React from 'react'\nimport { useEffect, useState } from 'react'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\nimport { HeadingNode, getHeadings } from '@/lib/sections'\n\nimport { Footer } from '@/components/Footer'\nimport { Masthead } from '@/components/Masthead'\nimport { Button } from '@/components/Button'\nimport { Logo } from '@/components/Logo'\nimport { Navigation } from '@/components/Navigation'\nimport { ThemeSwitcher } from '@/components/ThemeSwitcher'\nimport { TableOfContents } from '@/components/TableOfContents'\nimport { PrevNextLinks } from '@/components/PrevNextLinks'\nimport { Icons } from '@/components/Icons'\nimport { NavigationSection } from '../types/types.js'\n\nexport const defaultNavigation: NavigationSection[] = [\n {\n title: 'Getting Started',\n links: [\n { title: 'Introduction', href: '/' },\n { title: 'Installation', href: '/installation' },\n ],\n },\n {\n title: 'Components',\n links: [\n { title: 'Button', href: '/components/button' },\n { title: 'Layout', href: '/components/layout' },\n { title: 'Navigation', href: '/components/navigation' },\n ],\n },\n]\n\nfunction usePageHeadings() {\n const [headings, setHeadings] = useState<HeadingNode[]>([])\n\n useEffect(() => {\n const result = getHeadings()\n setHeadings(result)\n }, [])\n\n return headings\n}\n\nfunction Header({ sitename }: { sitename?: string } = {}) {\n const [isScrolled, setIsScrolled] = useState(false)\n\n useEffect(() => {\n function onScroll() {\n setIsScrolled(window.scrollY > 0)\n }\n onScroll()\n window.addEventListener('scroll', onScroll, { passive: true })\n return () => {\n window.removeEventListener('scroll', onScroll)\n }\n }, [])\n\n return (\n <header\n className={clsx(\n 'sticky top-0 z-50 flex flex-none flex-wrap items-center justify-between bg-white px-4 py-5 shadow-md shadow-slate-900/5 transition duration-500 sm:px-6 lg:px-8 dark:shadow-none',\n isScrolled\n ? 'dark:bg-slate-900/95 dark:backdrop-blur-sm dark:[@supports(backdrop-filter:blur(0))]:bg-slate-900/75'\n : 'dark:bg-transparent',\n )}\n >\n <div className='mr-6 flex lg:hidden'>{/* <MobileNavigation /> */}</div>\n <div className='relative flex grow basis-0 items-center'>\n <Link href='/' aria-label='Home page' className='flex items-center justify-between'>\n <Logo className='h-12 w-auto lg:h-14' />\n <h2 className='text-primary ml-6 text-2xl font-semibold dark:text-white'>{sitename}</h2>\n </Link>\n </div>\n <div className='-my-5 mr-6 sm:mr-8 md:mr-0'>{/* <Search /> */}</div>\n <div className='relative flex basis-0 justify-end gap-2 sm:gap-4 md:grow'>\n <ThemeSwitcher />\n <Button variant='outline' size='icon' className='h-10 w-10' asChild>\n <Link href='https://github.com' className='group' aria-label='GitHub'>\n <Icons.github className='fill-nsw-grey-600 dark:fill-nsw-grey-100 size-6' />\n </Link>\n </Button>\n </div>\n </header>\n )\n}\n\nexport interface LayoutProps {\n children: React.ReactNode\n sitename?: string\n navigation?: NavigationSection[]\n}\n\nexport function Layout({ children, sitename, navigation = defaultNavigation }: LayoutProps) {\n const pathname = usePathname()\n const isHomePage = pathname === '/'\n const tableOfContents = usePageHeadings()\n\n return (\n <div className='flex w-full flex-col'>\n <Masthead />\n <Header sitename={sitename} />\n\n {isHomePage && <></>}\n\n <div className='max-w-8xl relative mx-auto flex w-full flex-auto justify-center sm:px-2 lg:px-8 xl:px-12'>\n <div className='hidden lg:relative lg:block lg:flex-none'>\n <div className='bg-nsw-grey-50 absolute inset-y-0 right-0 w-[50vw] dark:hidden' />\n <div className='from-nsw-grey-600 absolute top-16 right-0 bottom-0 hidden h-12 w-px bg-linear-to-t dark:block' />\n <div className='bg-nsw-grey-600 absolute top-28 right-0 bottom-0 hidden w-px dark:block' />\n <div className='sticky top-[4.75rem] -ml-0.5 h-[calc(100vh-4.75rem)] w-64 overflow-x-hidden overflow-y-auto py-16 pr-8 pl-0.5 xl:w-72 xl:pr-16'>\n <Navigation navigation={navigation} />\n </div>\n </div>\n <div className='flex flex-1 flex-col'>\n <div className='flex flex-1'>\n <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'>\n <article>{children}</article>\n <PrevNextLinks navigation={navigation} />\n </div>\n <TableOfContents tableOfContents={tableOfContents} />\n </div>\n <Footer />\n </div>\n </div>\n </div>\n )\n}\n","'use client'\n\nimport { ThemeProvider as NextThemesProvider, type ThemeProviderProps } from 'next-themes'\n\nexport function ThemeProvider({ children, ...props }: ThemeProviderProps) {\n return <NextThemesProvider {...props}>{children}</NextThemesProvider>\n}\n","'use client'\n\nimport { ThemeProvider } from '../components/ThemeProvider'\nimport { DynamicFavicon } from '../components/Favicon'\n\nexport function Providers({ children }: { children: React.ReactNode }) {\n return (\n <ThemeProvider attribute='class' defaultTheme='system' enableSystem disableTransitionOnChange>\n <DynamicFavicon lightModeFavicon='/icon-light.ico' darkModeFavicon='/icon-dark.ico' />\n {children}\n </ThemeProvider>\n )\n}\n","import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function truncate(text: string, maxLength: number): string {\n if (text.length <= maxLength) {\n return text\n }\n return text.slice(0, maxLength) + '...'\n}\n\nexport function kebabCase(str: string) {\n return str\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase()\n}\n\nexport function camelCase(str: string) {\n return str.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (_, chr) => chr.toUpperCase())\n}\n"]}
1
+ {"version":3,"sources":["../src/components/Button.tsx","../src/components/Favicon.tsx","../src/components/Icons.tsx","../src/components/Footer.tsx","../src/lib/sections.ts","../src/components/Masthead.tsx","../src/components/Logo.tsx","../src/components/Navigation.tsx","../src/components/ThemeSwitcher.tsx","../src/components/TableOfContents.tsx","../src/components/PrevNextLinks.tsx","../src/components/Layout.tsx","../src/components/ThemeProvider.tsx","../src/components/Providers.tsx","../src/lib/utils.ts","../src/packages/index.ts"],"names":["jsx","jsxs","Link","useEffect","useState","getHeadings","tableOfContents","Fragment","clsx","usePathname","NextThemesProvider"],"mappings":"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","file":"index.js","sourcesContent":["import * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\nimport { cn } from '../packages/index.js'\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-zinc-950 focus-visible:ring-zinc-950/50 focus-visible:ring-[3px] aria-invalid:ring-red-500/20 dark:aria-invalid:ring-red-500/40 aria-invalid:border-red-500 dark:focus-visible:border-zinc-300 dark:focus-visible:ring-zinc-300/50 dark:aria-invalid:ring-red-900/20 dark:dark:aria-invalid:ring-red-900/40 dark:aria-invalid:border-red-900\",\n {\n variants: {\n variant: {\n default:\n 'bg-zinc-900 text-zinc-50 shadow-xs hover:bg-zinc-900/90 dark:bg-zinc-50 dark:text-zinc-900 dark:hover:bg-zinc-50/90',\n destructive:\n 'bg-red-500 text-white shadow-xs hover:bg-red-500/90 focus-visible:ring-red-500/20 dark:focus-visible:ring-red-500/40 dark:bg-red-500/60 dark:bg-red-900 dark:hover:bg-red-900/90 dark:focus-visible:ring-red-900/20 dark:dark:focus-visible:ring-red-900/40 dark:dark:bg-red-900/60',\n outline:\n 'border bg-white shadow-xs hover:bg-zinc-100 hover:text-zinc-900 dark:bg-zinc-200/30 dark:border-zinc-200 dark:hover:bg-zinc-200/50 dark:bg-zinc-950 dark:hover:bg-zinc-800 dark:hover:text-zinc-50 dark:dark:bg-zinc-800/30 dark:dark:border-zinc-800 dark:dark:hover:bg-zinc-800/50',\n secondary:\n 'bg-zinc-100 text-zinc-900 shadow-xs hover:bg-zinc-100/80 dark:bg-zinc-800 dark:text-zinc-50 dark:hover:bg-zinc-800/80',\n ghost:\n 'hover:bg-zinc-100 hover:text-zinc-900 dark:hover:bg-zinc-100/50 dark:hover:bg-zinc-800 dark:hover:text-zinc-50 dark:dark:hover:bg-zinc-800/50',\n link: 'text-zinc-900 underline-offset-4 hover:underline dark:text-zinc-50',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n)\n\nfunction Button({\n className,\n variant,\n size,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot : 'button'\n\n return (\n <Comp\n data-slot='button'\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","'use client'\n\nimport { useEffect } from 'react'\n\ninterface DynamicFaviconProps {\n lightModeFavicon: string\n darkModeFavicon: string\n}\n\nexport function DynamicFavicon({ lightModeFavicon, darkModeFavicon }: DynamicFaviconProps) {\n useEffect(() => {\n // Function to update favicon based on color scheme\n const updateFavicon = () => {\n const isDarkMode = window.matchMedia('(prefers-color-scheme: dark)').matches\n const favicon = document.querySelector(\"link[rel='icon']\") as HTMLLinkElement\n\n if (favicon) {\n favicon.href = isDarkMode ? darkModeFavicon : lightModeFavicon\n } else {\n // Create favicon link if it doesn't exist\n const newFavicon = document.createElement('link')\n newFavicon.rel = 'icon'\n newFavicon.href = isDarkMode ? darkModeFavicon : lightModeFavicon\n document.head.appendChild(newFavicon)\n }\n }\n\n // Initial update\n updateFavicon()\n\n // Listen for changes in color scheme\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n mediaQuery.addEventListener('change', updateFavicon)\n\n // Clean up\n return () => mediaQuery.removeEventListener('change', updateFavicon)\n }, [lightModeFavicon, darkModeFavicon])\n\n // This component doesn't render anything visible\n return null\n}\n","type IconProps = React.HTMLAttributes<SVGElement>\n\nexport const Icons = {\n logo: (props: IconProps) => (\n <svg viewBox='0 0 259 280' aria-hidden='true' {...props}>\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M24.208 270.207h-5.045v-4.277l11.15.054v13.676H26.08v-2.491c-.266.278-.553.556-.86.833-.673.585-1.49 1.07-2.433 1.434-.96.373-2.143.564-3.513.564-2.33 0-4.385-.539-6.109-1.6-1.727-1.065-3.073-2.594-4.007-4.538-.926-1.927-1.395-4.231-1.395-6.85 0-2.657.494-4.994 1.47-6.946.971-1.96 2.363-3.498 4.132-4.571 1.768-1.065 3.849-1.604 6.183-1.604 1.515 0 2.915.245 4.156.725 1.255.485 2.36 1.157 3.273 1.985a9.61 9.61 0 0 1 2.192 2.852 8.196 8.196 0 0 1 .872 3.319l.021.435h-6.038l-.062-.339a5.22 5.22 0 0 0-.814-1.981 4.562 4.562 0 0 0-1.537-1.43c-.614-.352-1.345-.531-2.175-.531-1.005 0-1.931.261-2.741.775-.806.51-1.458 1.351-1.935 2.495-.486 1.169-.731 2.74-.731 4.679 0 1.579.162 2.897.482 3.925.311 1.011.739 1.819 1.266 2.403.523.581 1.117.991 1.773 1.219a6.036 6.036 0 0 0 2.089.369c.669 0 1.27-.112 1.79-.328.523-.224.98-.514 1.354-.866.377-.356.676-.746.884-1.152.216-.41.349-.816.399-1.21l.14-1.028Zm20.878-16.312c2.354 0 4.435.534 6.179 1.587 1.752 1.061 3.13 2.59 4.086 4.546.947 1.935 1.428 4.281 1.428 6.967 0 2.648-.473 4.969-1.412 6.9-.946 1.948-2.317 3.469-4.073 4.521-1.744 1.053-3.837 1.583-6.212 1.583-2.396 0-4.502-.534-6.254-1.583-1.753-1.044-3.135-2.557-4.099-4.505-.947-1.927-1.428-4.252-1.428-6.912 0-2.673.486-5.015 1.449-6.954.968-1.956 2.355-3.486 4.12-4.551 1.764-1.061 3.853-1.599 6.216-1.599Zm0 21.185c1.117 0 2.093-.265 2.898-.787.802-.523 1.433-1.372 1.881-2.516.453-1.185.686-2.772.686-4.712 0-1.993-.237-3.618-.698-4.832-.444-1.181-1.08-2.056-1.885-2.603-.814-.543-1.782-.82-2.878-.82-1.1 0-2.072.277-2.886.82-.81.543-1.453 1.422-1.906 2.611-.47 1.223-.706 2.843-.706 4.82 0 1.944.237 3.531.702 4.712.452 1.148 1.092 1.997 1.902 2.515.81.527 1.781.792 2.89.792Zm23.764-2.93-6.162-17.829H57.09l8.654 25.251h6.195l8.73-25.251h-5.607L68.85 272.15Zm30.312-2.827H88.863v5.206l12.043.016v5.027H83.103v-25.251h17.632l-.016 4.99H88.892v5.089h10.27v4.923Zm22.482-1.529c.685-.613 1.246-1.401 1.678-2.341.419-.933.635-2.081.635-3.419 0-1.497-.311-2.835-.93-3.983-.619-1.169-1.599-2.093-2.919-2.756-1.3-.647-2.973-.974-4.975-.974h-10.738v25.243h5.759v-9.404h4.24l3.991 9.404h6.046l-4.651-10.456c.673-.357 1.3-.8 1.864-1.314Zm-3.513-5.64c0 .999-.336 1.79-1.025 2.428-.69.63-1.649.949-2.857.949h-4.095v-6.606h4.456c1.038 0 1.873.286 2.545.875.657.576.976 1.347.976 2.354Zm15.159-7.833 10.527 15.23v-15.23h5.776v25.251h-5.086l-10.98-15.86v15.86h-5.759v-25.251h5.522Zm33.949 16.461-5.29-16.461h-7.894v25.251h5.809v-16.266l5.124 16.266h4.485l5.162-16.357v16.357h5.826v-25.251h-7.878l-5.344 16.461Zm33.727-1.459h-10.298v5.206l12.046.016v5.027h-17.806v-25.251h17.636l-.021 4.99h-11.818v5.089h10.261v4.923Zm21.494.228-10.523-15.23h-5.527v25.251h5.756v-15.86l10.979 15.86h5.087v-25.251h-5.772v15.23Zm15.586-10.004h-7.388v-5.226h20.402v5.226h-7.217v20.025h-5.797v-20.025Z'\n className='fill-nsw-blue-800 dark:fill-white'\n />\n\n <path\n fillRule='evenodd'\n clipRule='evenodd'\n d='M146.699 209.236c-1.482-2.395-3.717-4.571-6.64-6.465-2.919-1.894-6.897-3.34-11.81-4.297l-13.678-2.814c-4.132-.891-6.981-2.043-8.468-3.419-1.449-1.343-2.184-3.129-2.184-5.309 0-1.388.316-2.652.943-3.759.623-1.111 1.528-2.093 2.687-2.922 1.166-.828 2.616-1.483 4.306-1.943 1.711-.469 3.633-.705 5.714-.705 2.74 0 5.211.361 7.346 1.078 2.109.713 3.857 1.881 5.194 3.481 1.338 1.6 2.16 3.775 2.442 6.465l.038.373h16.971l-.008-.427c-.075-4.575-1.371-8.773-3.85-12.474-2.483-3.705-6.141-6.681-10.879-8.852-4.726-2.164-10.623-3.262-17.528-3.262-5.801 0-11.117 1.011-15.805 3.009-4.7 2.002-8.475 4.89-11.212 8.587-2.749 3.717-4.12 8.164-4.078 13.224.112 6.175 1.99 11.186 5.577 14.903 3.576 3.697 8.476 6.158 14.567 7.306l13.795 2.81c2.529.502 4.825 1.16 6.823 1.96 1.96.784 3.525 1.803 4.651 3.03 1.1 1.197 1.657 2.772 1.657 4.67 0 2.114-.694 3.9-2.06 5.301-1.4 1.434-3.301 2.515-5.643 3.224-2.388.721-5.058 1.086-7.936 1.086-2.807 0-5.394-.435-7.686-1.297-2.28-.85-4.194-2.093-5.689-3.693-1.491-1.591-2.513-3.585-3.04-5.918l-.075-.327H83.846l.045.46c.407 4.045 1.666 7.629 3.738 10.659 2.068 3.009 4.717 5.545 7.873 7.551 3.148 1.993 6.677 3.514 10.494 4.513a46.33 46.33 0 0 0 11.693 1.5c6.466 0 12.2-1.019 17.046-3.034 4.867-2.022 8.717-4.807 11.449-8.276 2.753-3.493 4.148-7.476 4.148-11.848 0-2.064-.232-4.36-.697-6.822-.478-2.482-1.466-4.948-2.936-7.327ZM25.937 191.763l36.916 53.312H77.87v-79.724H61.072v51.282L25.754 165.53l-.125-.179H9.19v79.724h16.748v-53.312Zm196.637 24.577 14.388-50.987h16.457l-23.587 79.724h-13.367l-14.554-50.469-14.659 50.469h-13.147l-23.533-79.724h16.511l14.384 50.979 14.389-50.979h12.167l14.551 50.987Z'\n className='fill-nsw-blue-800 dark:fill-white'\n />\n\n <path\n d='M122.291 145.572c-19.75-2.424-38.934 3.904-72.69-5.263-3.447-.937-4.718 2.694-2.854 5.736 9.07 14.803 54.881 3.203 75.635 1.065.906-.095.814-1.426-.091-1.538ZM208.735 140.309c-33.756 9.167-52.941 2.839-72.691 5.263-.905.112-1 1.447-.091 1.538 20.759 2.138 66.566 13.738 75.635-1.065 1.864-3.042.594-6.673-2.853-5.736ZM59.882 119.132c-6.864-10.058-12.474-21.31-16.818-33.69-13.101 3.826-26.51 9.346-40.16 16.57a5.388 5.388 0 0 0-2.902 4.67 5.38 5.38 0 0 0 2.653 4.812c26.431 15.802 52.273 24.841 76.93 26.933-7.34-4.475-14.072-11.044-19.703-19.295ZM23.059 85.513a201.529 201.529 0 0 1 17.976-6.233c-2.126-6.896-3.87-14.12-5.249-21.658-6.827-.85-13.89-1.4-21.199-1.641-.062 0-.128-.004-.19-.004a5.391 5.391 0 0 0-4.647 2.602 5.383 5.383 0 0 0-.12 5.483c4.243 7.659 8.724 14.808 13.429 21.45ZM88.005 135.572c4.099 1.807 8.293 2.818 12.358 3.029-9.953-7.12-17.773-19.192-22.278-34.58-5.805-19.81-7.745-41.666-5.83-65.247-7.832-4.936-16.32-9.557-25.46-13.85a5.428 5.428 0 0 0-5.402.43 5.396 5.396 0 0 0-2.388 4.841c2.126 34.215 10.95 62.915 26.223 85.298 6.404 9.391 14.281 16.332 22.777 20.079ZM107.488 23.577A253.323 253.323 0 0 0 92.235 6.735c-1.063-1.078-2.433-1.65-3.85-1.65-.506 0-1.017.075-1.523.224-1.923.568-3.314 2.106-3.733 4.115-1.072 5.164-3.11 15.69-4.012 26.101 7.014 4.613 13.492 9.49 19.426 14.621 2.3-8.757 5.29-17.63 8.945-26.569ZM255.42 102.007c-13.65-7.223-27.058-12.744-40.16-16.569-4.343 12.38-9.953 23.631-16.818 33.689-5.63 8.255-12.362 14.82-19.708 19.296 24.658-2.093 50.5-11.132 76.931-26.934 1.715-1.024 2.707-2.822 2.653-4.811-.045-1.99-1.133-3.734-2.898-4.671ZM235.273 85.513c4.705-6.643 9.186-13.796 13.43-21.455.963-1.74.922-3.788-.121-5.483a5.4 5.4 0 0 0-4.837-2.598c-7.309.24-14.377.796-21.199 1.641-1.375 7.539-3.123 14.762-5.249 21.658a203.803 203.803 0 0 1 17.976 6.237ZM180.247 104.025c-4.505 15.384-12.329 27.46-22.278 34.58 4.065-.211 8.263-1.227 12.358-3.034 8.496-3.746 16.373-10.688 22.777-20.075 15.273-22.383 24.097-51.082 26.223-85.297a5.394 5.394 0 0 0-2.388-4.84 5.428 5.428 0 0 0-5.402-.432c-9.14 4.29-17.628 8.91-25.46 13.85 1.915 23.582-.029 45.434-5.83 65.248ZM179.214 35.52c-.901-10.406-2.94-20.932-4.011-26.1-.416-2.01-1.811-3.547-3.733-4.115a5.39 5.39 0 0 0-1.524-.224c-1.416 0-2.787.572-3.85 1.65-5.485 5.549-10.568 11.164-15.252 16.842 3.654 8.939 6.644 17.812 8.949 26.565 5.934-5.127 12.407-10.005 19.421-14.617ZM129.144 87.229c6.64-13.092 17.246-24.829 25.21-32.243-4.372-17.779-11.104-34.55-20.397-52.097C132.998 1.078 131.195 0 129.148 0s-3.845 1.082-4.808 2.889c-9.389 17.604-16.237 35.122-20.377 52.093 8.313 7.688 19.28 20.224 25.181 32.247Z'\n className='fill-nsw-red-600 dark:fill-white'\n />\n\n <path\n d='M153.541 133.686c6.885-4.833 13.77-13.254 18.139-24.97 8.458-22.681 9.334-47.945 8.122-65.823-15.331 10.215-39.665 31.55-47.975 54.36-3.911 10.734-5.734 25.355-2.72 33.511 1.259 3.411 3.401 5.997 6.345 7.227 4.46 1.865 11.312.456 18.089-4.305ZM125.713 95.261c-2.027-4.724-4.261-9.18-7.728-14.186-9.809-14.16-23.026-26.933-39.475-38.185-.17 2.652-2.57 31.297 5.851 59.304 6.408 21.302 17.354 29.98 23.354 33.333 6.038 3.369 11.561 4.165 18.039 2.557-6.565-8.935-5.747-27.27-.041-42.823Z'\n className='fill-nsw-red-600 dark:fill-white'\n />\n </svg>\n ),\n github: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fillRule='evenodd'\n d='M8.977.83C4.549.83.97 4.32.97 8.636c0 3.45 2.293 6.371 5.475 7.405.397.078.543-.168.543-.375 0-.18-.013-.8-.013-1.447-2.227.465-2.691-.93-2.691-.93-.358-.905-.888-1.138-.888-1.138-.73-.478.053-.478.053-.478.808.052 1.233.801 1.233.801.715 1.19 1.869.853 2.333.646.066-.504.278-.853.504-1.046-1.777-.181-3.646-.853-3.646-3.852 0-.853.318-1.55.822-2.093-.08-.194-.358-.995.08-2.068 0 0 .676-.207 2.2.801a7.94 7.94 0 0 1 2.002-.258c.676 0 1.365.09 2.001.258 1.525-1.008 2.2-.801 2.2-.801.438 1.073.16 1.874.08 2.068.517.542.822 1.24.822 2.093 0 2.999-1.869 3.658-3.659 3.852.292.245.544.71.544 1.447 0 1.047-.013 1.887-.013 2.145 0 .207.146.453.543.375 3.182-1.034 5.475-3.955 5.475-7.405C16.983 4.319 13.39.83 8.977.83Z'\n clipRule='evenodd'\n ></path>\n </g>\n </svg>\n ),\n linkedin: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M15.776.83H2.14C1.488.83.96 1.329.96 1.946v13.249c0 .617.528 1.119 1.181 1.119h13.635c.653 0 1.184-.502 1.184-1.116V1.946c0-.617-.531-1.116-1.184-1.116ZM5.706 14.025H3.333V6.633h2.375v7.392ZM4.52 5.626c-.762 0-1.378-.595-1.378-1.33 0-.735.616-1.33 1.378-1.33.76 0 1.375.595 1.375 1.33 0 .732-.615 1.33-1.375 1.33Zm10.075 8.399h-2.371v-3.593c0-.856-.016-1.96-1.235-1.96-1.234 0-1.422.935-1.422 1.9v3.653H7.197V6.633h2.275v1.01h.032c.315-.58 1.09-1.194 2.244-1.194 2.403 0 2.846 1.53 2.846 3.52v4.056Z'\n ></path>\n </g>\n </svg>\n ),\n twitter: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M13.158 2.058h2.248l-4.913 5.435 5.78 7.395h-4.525l-3.545-4.485-4.056 4.485h-2.25l5.255-5.813-5.545-7.017h4.64l3.205 4.1 3.706-4.1Zm-.79 11.527h1.246L5.57 3.293H4.233l8.135 10.292Z'\n ></path>\n </g>\n </svg>\n ),\n youtube: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 0 17 17' {...props}>\n <g clipPath='url(#a)'>\n <path\n fill='currentColor'\n d='M16.79 5.475s-.156-1.067-.637-1.536c-.61-.617-1.29-.62-1.603-.656-2.238-.158-5.597-.158-5.597-.158h-.006s-3.36 0-5.597.158c-.313.036-.994.039-1.603.656-.481.469-.635 1.536-.635 1.536S.95 6.73.95 7.982v1.174c0 1.252.16 2.507.16 2.507s.156 1.067.634 1.536c.61.617 1.41.596 1.765.662 1.282.118 5.441.154 5.441.154s3.363-.006 5.6-.16c.313-.036.994-.04 1.603-.656.481-.469.638-1.536.638-1.536s.159-1.252.159-2.507V7.982c0-1.252-.16-2.507-.16-2.507ZM7.298 10.58V6.228l4.322 2.184-4.322 2.168Z'\n ></path>\n </g>\n </svg>\n ),\n account_circle: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M234-276q51-39 114-61.5T480-360q69 0 132 22.5T726-276q35-41 54.5-93T800-480q0-133-93.5-226.5T480-800q-133 0-226.5 93.5T160-480q0 59 19.5 111t54.5 93Zm246-164q-59 0-99.5-40.5T340-580q0-59 40.5-99.5T480-720q59 0 99.5 40.5T620-580q0 59-40.5 99.5T480-440Zm0 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q53 0 100-15.5t86-44.5q-39-29-86-44.5T480-280q-53 0-100 15.5T294-220q39 29 86 44.5T480-160Zm0-360q26 0 43-17t17-43q0-26-17-43t-43-17q-26 0-43 17t-17 43q0 26 17 43t43 17Zm0-60Zm0 360Z' />\n </svg>\n ),\n attach_file: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M720-330q0 104-73 177T470-80q-104 0-177-73t-73-177v-370q0-75 52.5-127.5T400-880q75 0 127.5 52.5T580-700v350q0 46-32 78t-78 32q-46 0-78-32t-32-78v-330q0-17 11.5-28.5T400-720q17 0 28.5 11.5T440-680v330q0 13 8.5 21.5T470-320q13 0 21.5-8.5T500-350v-350q-1-42-29.5-71T400-800q-42 0-71 29t-29 71v370q-1 71 49 120.5T470-160q70 0 119-49.5T640-330v-350q0-17 11.5-28.5T680-720q17 0 28.5 11.5T720-680v350Z' />\n </svg>\n ),\n cancel: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m480-424 116 116q11 11 28 11t28-11q11-11 11-28t-11-28L536-480l116-116q11-11 11-28t-11-28q-11-11-28-11t-28 11L480-536 364-652q-11-11-28-11t-28 11q-11 11-11 28t11 28l116 116-116 116q-11 11-11 28t11 28q11 11 28 11t28-11l116-116Zm0 344q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n check_circle: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m424-408-86-86q-11-11-28-11t-28 11q-11 11-11 28t11 28l114 114q12 12 28 12t28-12l226-226q11-11 11-28t-11-28q-11-11-28-11t-28 11L424-408Zm56 328q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n check: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m382-354 339-339q12-12 28-12t28 12q12 12 12 28.5T777-636L410-268q-12 12-28 12t-28-12L182-440q-12-12-11.5-28.5T183-497q12-12 28.5-12t28.5 12l142 143Z' />\n </svg>\n ),\n chevron_down: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-361q-8 0-15-2.5t-13-8.5L268-556q-11-11-11-28t11-28q11-11 28-11t28 11l156 156 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L508-372q-6 6-13 8.5t-15 2.5Z' />\n </svg>\n ),\n chevron_left: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m432-480 156 156q11 11 11 28t-11 28q-11 11-28 11t-28-11L348-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 28-11t28 11q11 11 11 28t-11 28L432-480Z' />\n </svg>\n ),\n chevron_right: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M504-480 348-636q-11-11-11-28t11-28q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L404-268q-11 11-28 11t-28-11q-11-11-11-28t11-28l156-156Z' />\n </svg>\n ),\n chevron_up: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-528 324-372q-11 11-28 11t-28-11q-11-11-11-28t11-28l184-184q12-12 28-12t28 12l184 184q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-528Z' />\n </svg>\n ),\n close: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-424 284-228q-11 11-28 11t-28-11q-11-11-11-28t11-28l196-196-196-196q-11-11-11-28t11-28q11-11 28-11t28 11l196 196 196-196q11-11 28-11t28 11q11 11 11 28t-11 28L536-480l196 196q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-424Z' />\n </svg>\n ),\n collapse_all: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-264 324-108q-11 11-28 11t-28-11q-11-11-11-28t11-28l155-155q23-23 57-23t57 23l155 155q11 11 11 28t-11 28q-11 11-28 11t-28-11L480-264Zm0-432 156-156q11-11 28-11t28 11q11 11 11 28t-11 28L537-641q-23 23-57 23t-57-23L268-796q-11-11-11-28t11-28q11-11 28-11t28 11l156 156Z' />\n </svg>\n ),\n computer: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M80-120q-17 0-28.5-11.5T40-160q0-17 11.5-28.5T80-200h800q17 0 28.5 11.5T920-160q0 17-11.5 28.5T880-120H80Zm80-120q-33 0-56.5-23.5T80-320v-440q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v440q0 33-23.5 56.5T800-240H160Zm0-80h640v-440H160v440Zm0 0v-440 440Z' />\n </svg>\n ),\n copy: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M360-240q-33 0-56.5-23.5T280-320v-480q0-33 23.5-56.5T360-880h360q33 0 56.5 23.5T800-800v480q0 33-23.5 56.5T720-240H360Zm0-80h360v-480H360v480ZM200-80q-33 0-56.5-23.5T120-160v-520q0-17 11.5-28.5T160-720q17 0 28.5 11.5T200-680v520h400q17 0 28.5 11.5T640-120q0 17-11.5 28.5T600-80H200Zm160-240v-480 480Z' />\n </svg>\n ),\n dark_mode: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-120q-151 0-255.5-104.5T120-480q0-138 90-239.5T440-838q13-2 23 3.5t16 14.5q6 9 6.5 21t-7.5 23q-17 26-25.5 55t-8.5 61q0 90 63 153t153 63q31 0 61.5-9t54.5-25q11-7 22.5-6.5T819-479q10 5 15.5 15t3.5 24q-14 138-117.5 229T480-120Zm0-80q88 0 158-48.5T740-375q-20 5-40 8t-40 3q-123 0-209.5-86.5T364-660q0-20 3-40t8-40q-78 32-126.5 102T200-480q0 116 82 198t198 82Zm-10-270Z' />\n </svg>\n ),\n dock_to_left: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm440-80h120v-560H640v560Zm-80 0v-560H200v560h360Zm80 0h120-120Z' />\n </svg>\n ),\n dock_to_right: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm120-80v-560H200v560h120Zm80 0h360v-560H400v560Zm-80 0H200h120Z' />\n </svg>\n ),\n delete: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M280-120q-33 0-56.5-23.5T200-200v-520q-17 0-28.5-11.5T160-760q0-17 11.5-28.5T200-800h160q0-17 11.5-28.5T400-840h160q17 0 28.5 11.5T600-800h160q17 0 28.5 11.5T800-760q0 17-11.5 28.5T760-720v520q0 33-23.5 56.5T680-120H280Zm400-600H280v520h400v-520ZM400-280q17 0 28.5-11.5T440-320v-280q0-17-11.5-28.5T400-640q-17 0-28.5 11.5T360-600v280q0 17 11.5 28.5T400-280Zm160 0q17 0 28.5-11.5T600-320v-280q0-17-11.5-28.5T560-640q-17 0-28.5 11.5T520-600v280q0 17 11.5 28.5T560-280ZM280-720v520-520Z' />\n </svg>\n ),\n desktop: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M400-200v-80H160q-33 0-56.5-23.5T80-360v-400q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v400q0 33-23.5 56.5T800-280H560v80h40q17 0 28.5 11.5T640-160q0 17-11.5 28.5T600-120H360q-17 0-28.5-11.5T320-160q0-17 11.5-28.5T360-200h40ZM160-360h640v-400H160v400Zm0 0v-400 400Z' />\n </svg>\n ),\n display_settings: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M300-410v20q0 13 8.5 21.5T330-360q13 0 21.5-8.5T360-390v-100q0-13-8.5-21.5T330-520q-13 0-21.5 8.5T300-490v20h-30q-13 0-21.5 8.5T240-440q0 13 8.5 21.5T270-410h30Zm130 0h260q13 0 21.5-8.5T720-440q0-13-8.5-21.5T690-470H430q-13 0-21.5 8.5T400-440q0 13 8.5 21.5T430-410Zm230-160h30q13 0 21.5-8.5T720-600q0-13-8.5-21.5T690-630h-30v-20q0-13-8.5-21.5T630-680q-13 0-21.5 8.5T600-650v100q0 13 8.5 21.5T630-520q13 0 21.5-8.5T660-550v-20Zm-390 0h260q13 0 21.5-8.5T560-600q0-13-8.5-21.5T530-630H270q-13 0-21.5 8.5T240-600q0 13 8.5 21.5T270-570ZM160-200q-33 0-56.5-23.5T80-280v-480q0-33 23.5-56.5T160-840h640q33 0 56.5 23.5T880-760v480q0 33-23.5 56.5T800-200H640v40q0 17-11.5 28.5T600-120H360q-17 0-28.5-11.5T320-160v-40H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z' />\n </svg>\n ),\n double_arrow_left: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m313-480 155 156q11 11 11.5 27.5T468-268q-11 11-28 11t-28-11L228-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 27.5-11.5T468-692q11 11 11 28t-11 28L313-480Zm264 0 155 156q11 11 11.5 27.5T732-268q-11 11-28 11t-28-11L492-452q-6-6-8.5-13t-2.5-15q0-8 2.5-15t8.5-13l184-184q11-11 27.5-11.5T732-692q11 11 11 28t-11 28L577-480Z' />\n </svg>\n ),\n double_arrow_right: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M383-480 228-636q-11-11-11.5-27.5T228-692q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L284-268q-11 11-27.5 11.5T228-268q-11-11-11-28t11-28l155-156Zm264 0L492-636q-11-11-11.5-27.5T492-692q11-11 28-11t28 11l184 184q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L548-268q-11 11-27.5 11.5T492-268q-11-11-11-28t11-28l155-156Z' />\n </svg>\n ),\n download: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-337q-8 0-15-2.5t-13-8.5L308-492q-12-12-11.5-28t11.5-28q12-12 28.5-12.5T365-549l75 75v-286q0-17 11.5-28.5T480-800q17 0 28.5 11.5T520-760v286l75-75q12-12 28.5-11.5T652-548q11 12 11.5 28T652-492L508-348q-6 6-13 8.5t-15 2.5ZM240-160q-33 0-56.5-23.5T160-240v-80q0-17 11.5-28.5T200-360q17 0 28.5 11.5T240-320v80h480v-80q0-17 11.5-28.5T760-360q17 0 28.5 11.5T800-320v80q0 33-23.5 56.5T720-160H240Z' />\n </svg>\n ),\n east: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M727-440H120q-17 0-28.5-11.5T80-480q0-17 11.5-28.5T120-520h607L572-676q-11-11-11.5-27.5T572-732q11-11 28-11t28 11l224 224q6 6 8.5 13t2.5 15q0 8-2.5 15t-8.5 13L628-228q-11 11-27.5 11T572-228q-12-12-12-28.5t12-28.5l155-155Z' />\n </svg>\n ),\n error: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-280q17 0 28.5-11.5T520-320q0-17-11.5-28.5T480-360q-17 0-28.5 11.5T440-320q0 17 11.5 28.5T480-280Zm0-160q17 0 28.5-11.5T520-480v-160q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640v160q0 17 11.5 28.5T480-440Zm0 360q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n exclamation: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-400q-17 0-28.5-11.5T440-440v-280q0-17 11.5-28.5T480-760q17 0 28.5 11.5T520-720v280q0 17-11.5 28.5T480-400Zm0 200q-17 0-28.5-11.5T440-240q0-17 11.5-28.5T480-280q17 0 28.5 11.5T520-240q0 17-11.5 28.5T480-200Z' />\n </svg>\n ),\n help: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M478-240q21 0 35.5-14.5T528-290q0-21-14.5-35.5T478-340q-21 0-35.5 14.5T428-290q0 21 14.5 35.5T478-240Zm2 160q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Zm4-172q25 0 43.5 16t18.5 40q0 22-13.5 39T502-525q-23 20-40.5 44T444-427q0 14 10.5 23.5T479-394q15 0 25.5-10t13.5-25q4-21 18-37.5t30-31.5q23-22 39.5-48t16.5-58q0-51-41.5-83.5T484-720q-38 0-72.5 16T359-655q-7 12-4.5 25.5T368-609q14 8 29 5t25-17q11-15 27.5-23t34.5-8Z' />\n </svg>\n ),\n info: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-280q17 0 28.5-11.5T520-320v-160q0-17-11.5-28.5T480-520q-17 0-28.5 11.5T440-480v160q0 17 11.5 28.5T480-280Zm0-320q17 0 28.5-11.5T520-640q0-17-11.5-28.5T480-680q-17 0-28.5 11.5T440-640q0 17 11.5 28.5T480-600Zm0 520q-83 0-156-31.5T197-197q-54-54-85.5-127T80-480q0-83 31.5-156T197-763q54-54 127-85.5T480-880q83 0 156 31.5T763-763q54 54 85.5 127T880-480q0 83-31.5 156T763-197q-54 54-127 85.5T480-80Zm0-80q134 0 227-93t93-227q0-134-93-227t-227-93q-134 0-227 93t-93 227q0 134 93 227t227 93Zm0-320Z' />\n </svg>\n ),\n light_mode: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-360q50 0 85-35t35-85q0-50-35-85t-85-35q-50 0-85 35t-35 85q0 50 35 85t85 35Zm0 80q-83 0-141.5-58.5T280-480q0-83 58.5-141.5T480-680q83 0 141.5 58.5T680-480q0 83-58.5 141.5T480-280ZM80-440q-17 0-28.5-11.5T40-480q0-17 11.5-28.5T80-520h80q17 0 28.5 11.5T200-480q0 17-11.5 28.5T160-440H80Zm720 0q-17 0-28.5-11.5T760-480q0-17 11.5-28.5T800-520h80q17 0 28.5 11.5T920-480q0 17-11.5 28.5T880-440h-80ZM480-760q-17 0-28.5-11.5T440-800v-80q0-17 11.5-28.5T480-920q17 0 28.5 11.5T520-880v80q0 17-11.5 28.5T480-760Zm0 720q-17 0-28.5-11.5T440-80v-80q0-17 11.5-28.5T480-200q17 0 28.5 11.5T520-160v80q0 17-11.5 28.5T480-40ZM226-678l-43-42q-12-11-11.5-28t11.5-29q12-12 29-12t28 12l42 43q11 12 11 28t-11 28q-11 12-27.5 11.5T226-678Zm494 495-42-43q-11-12-11-28.5t11-27.5q11-12 27.5-11.5T734-282l43 42q12 11 11.5 28T777-183q-12 12-29 12t-28-12Zm-42-495q-12-11-11.5-27.5T678-734l42-43q11-12 28-11.5t29 11.5q12 12 12 29t-12 28l-43 42q-12 11-28 11t-28-11ZM183-183q-12-12-12-29t12-28l43-42q12-11 28.5-11t27.5 11q12 11 11.5 27.5T282-226l-42 43q-11 12-28 11.5T183-183Zm297-297Z' />\n </svg>\n ),\n link: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M280-280q-83 0-141.5-58.5T80-480q0-83 58.5-141.5T280-680h120q17 0 28.5 11.5T440-640q0 17-11.5 28.5T400-600H280q-50 0-85 35t-35 85q0 50 35 85t85 35h120q17 0 28.5 11.5T440-320q0 17-11.5 28.5T400-280H280Zm80-160q-17 0-28.5-11.5T320-480q0-17 11.5-28.5T360-520h240q17 0 28.5 11.5T640-480q0 17-11.5 28.5T600-440H360Zm200 160q-17 0-28.5-11.5T520-320q0-17 11.5-28.5T560-360h120q50 0 85-35t35-85q0-50-35-85t-85-35H560q-17 0-28.5-11.5T520-640q0-17 11.5-28.5T560-680h120q83 0 141.5 58.5T880-480q0 83-58.5 141.5T680-280H560Z' />\n </svg>\n ),\n login: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M520-120q-17 0-28.5-11.5T480-160q0-17 11.5-28.5T520-200h240v-560H520q-17 0-28.5-11.5T480-800q0-17 11.5-28.5T520-840h240q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H520Zm-73-320H160q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h287l-75-75q-11-11-11-27t11-28q11-12 28-12.5t29 11.5l143 143q12 12 12 28t-12 28L429-309q-12 12-28.5 11.5T372-310q-11-12-10.5-28.5T373-366l74-74Z' />\n </svg>\n ),\n logout: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h240q17 0 28.5 11.5T480-800q0 17-11.5 28.5T440-760H200v560h240q17 0 28.5 11.5T480-160q0 17-11.5 28.5T440-120H200Zm487-320H400q-17 0-28.5-11.5T360-480q0-17 11.5-28.5T400-520h287l-75-75q-11-11-11-27t11-28q11-12 28-12.5t29 11.5l143 143q12 12 12 28t-12 28L669-309q-12 12-28.5 11.5T612-310q-11-12-10.5-28.5T613-366l74-74Z' />\n </svg>\n ),\n menu: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M160-240q-17 0-28.5-11.5T120-280q0-17 11.5-28.5T160-320h640q17 0 28.5 11.5T840-280q0 17-11.5 28.5T800-240H160Zm0-200q-17 0-28.5-11.5T120-480q0-17 11.5-28.5T160-520h640q17 0 28.5 11.5T840-480q0 17-11.5 28.5T800-440H160Zm0-200q-17 0-28.5-11.5T120-680q0-17 11.5-28.5T160-720h640q17 0 28.5 11.5T840-680q0 17-11.5 28.5T800-640H160Z' />\n </svg>\n ),\n more_horiz: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M240-400q-33 0-56.5-23.5T160-480q0-33 23.5-56.5T240-560q33 0 56.5 23.5T320-480q0 33-23.5 56.5T240-400Zm240 0q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm240 0q-33 0-56.5-23.5T640-480q0-33 23.5-56.5T720-560q33 0 56.5 23.5T800-480q0 33-23.5 56.5T720-400Z' />\n </svg>\n ),\n more_vert: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-160q-33 0-56.5-23.5T400-240q0-33 23.5-56.5T480-320q33 0 56.5 23.5T560-240q0 33-23.5 56.5T480-160Zm0-240q-33 0-56.5-23.5T400-480q0-33 23.5-56.5T480-560q33 0 56.5 23.5T560-480q0 33-23.5 56.5T480-400Zm0-240q-33 0-56.5-23.5T400-720q0-33 23.5-56.5T480-800q33 0 56.5 23.5T560-720q0 33-23.5 56.5T480-640Z' />\n </svg>\n ),\n north: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-17 0-28.5-11.5T440-120v-607L284-572q-11 11-27.5 11.5T228-572q-11-11-11-28t11-28l224-224q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l224 224q11 11 11 27.5T732-572q-12 12-28.5 12T675-572L520-727v607q0 17-11.5 28.5T480-80Z' />\n </svg>\n ),\n open_in_new: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h240q17 0 28.5 11.5T480-800q0 17-11.5 28.5T440-760H200v560h560v-240q0-17 11.5-28.5T800-480q17 0 28.5 11.5T840-440v240q0 33-23.5 56.5T760-120H200Zm560-584L416-360q-11 11-28 11t-28-11q-11-11-11-28t11-28l344-344H600q-17 0-28.5-11.5T560-800q0-17 11.5-28.5T600-840h200q17 0 28.5 11.5T840-800v200q0 17-11.5 28.5T800-560q-17 0-28.5-11.5T760-600v-104Z' />\n </svg>\n ),\n print: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M320-120q-33 0-56.5-23.5T240-200v-80h-80q-33 0-56.5-23.5T80-360v-160q0-51 35-85.5t85-34.5h560q51 0 85.5 34.5T880-520v160q0 33-23.5 56.5T800-280h-80v80q0 33-23.5 56.5T640-120H320ZM160-360h80q0-33 23.5-56.5T320-440h320q33 0 56.5 23.5T720-360h80v-160q0-17-11.5-28.5T760-560H200q-17 0-28.5 11.5T160-520v160Zm480-280v-120H320v120h-80v-120q0-33 23.5-56.5T320-840h320q33 0 56.5 23.5T720-760v120h-80Zm80 180q17 0 28.5-11.5T760-500q0-17-11.5-28.5T720-540q-17 0-28.5 11.5T680-500q0 17 11.5 28.5T720-460Zm-80 260v-160H320v160h320ZM160-560h640-640Z' />\n </svg>\n ),\n progress_activity: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-80q-82 0-155-31.5t-127.5-86Q143-252 111.5-325T80-480q0-83 31.5-155.5t86-127Q252-817 325-848.5T480-880q17 0 28.5 11.5T520-840q0 17-11.5 28.5T480-800q-133 0-226.5 93.5T160-480q0 133 93.5 226.5T480-160q133 0 226.5-93.5T800-480q0-17 11.5-28.5T840-520q17 0 28.5 11.5T880-480q0 82-31.5 155t-86 127.5q-54.5 54.5-127 86T480-80Z' />\n </svg>\n ),\n remove: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M240-440q-17 0-28.5-11.5T200-480q0-17 11.5-28.5T240-520h480q17 0 28.5 11.5T760-480q0 17-11.5 28.5T720-440H240Z' />\n </svg>\n ),\n search: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M380-320q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l224 224q11 11 11 28t-11 28q-11 11-28 11t-28-11L532-372q-30 24-69 38t-83 14Zm0-80q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z' />\n </svg>\n ),\n settings_brightness: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m420-320 46 46q6 6 14 6t14-6l46-46h80q8 0 14-6t6-14v-80l46-46q6-6 6-14t-6-14l-46-46v-80q0-8-6-14t-14-6h-80l-46-46q-6-6-14-6t-14 6l-46 46h-80q-8 0-14 6t-6 14v80l-46 46q-6 6-6 14t6 14l46 46v80q0 8 6 14t14 6h80Zm60-40v-240q50 0 85 35t35 85q0 50-35 85t-85 35ZM160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h640q33 0 56.5 23.5T880-720v480q0 33-23.5 56.5T800-160H160Zm0-80h640v-480H160v480Zm0 0v-480 480Z' />\n </svg>\n ),\n share: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M680-80q-50 0-85-35t-35-85q0-6 3-28L282-392q-16 15-37 23.5t-45 8.5q-50 0-85-35t-35-85q0-50 35-85t85-35q24 0 45 8.5t37 23.5l281-164q-2-7-2.5-13.5T560-760q0-50 35-85t85-35q50 0 85 35t35 85q0 50-35 85t-85 35q-24 0-45-8.5T598-672L317-508q2 7 2.5 13.5t.5 14.5q0 8-.5 14.5T317-452l281 164q16-15 37-23.5t45-8.5q50 0 85 35t35 85q0 50-35 85t-85 35Zm0-80q17 0 28.5-11.5T720-200q0-17-11.5-28.5T680-240q-17 0-28.5 11.5T640-200q0 17 11.5 28.5T680-160ZM200-440q17 0 28.5-11.5T240-480q0-17-11.5-28.5T200-520q-17 0-28.5 11.5T160-480q0 17 11.5 28.5T200-440Zm480-280q17 0 28.5-11.5T720-760q0-17-11.5-28.5T680-800q-17 0-28.5 11.5T640-760q0 17 11.5 28.5T680-720Zm0 520ZM200-480Zm480-280Z' />\n </svg>\n ),\n side_navigation: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h560q33 0 56.5 23.5T840-760v560q0 33-23.5 56.5T760-120H200Zm280-80h280v-560H480v560Z' />\n </svg>\n ),\n south: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M480-97q-8 0-15-2.5t-13-8.5L228-332q-11-11-11-28t11-28q12-12 28.5-11.5T284-388l156 155v-607q0-17 11.5-28.5T480-880q17 0 28.5 11.5T520-840v607l155-155q12-12 28.5-12t28.5 12q11 12 11 28.5T732-332L508-108q-6 6-13 8.5T480-97Z' />\n </svg>\n ),\n unfold_less: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m480-284-96 96q-11 11-28 11t-28-11q-11-11-11-28t11-28l124-124q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l124 124q11 11 11 28t-11 28q-11 11-28 11t-28-11l-96-96Zm0-392 96-96q11-11 28-11t28 11q11 11 11 28t-11 28L508-592q-6 6-13 8.5t-15 2.5q-8 0-15-2.5t-13-8.5L328-716q-11-11-11-28t11-28q11-11 28-11t28 11l96 96Z' />\n </svg>\n ),\n unfold_more: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='m480-236 93-93q12-12 29-12t29 12q12 12 12 29t-12 29L508-148q-6 6-13 8.5t-15 2.5q-8 0-15-2.5t-13-8.5L329-271q-12-12-12-29t12-29q12-12 29-12t29 12l93 93Zm0-484-93 93q-12 12-29 12t-29-12q-12-12-12-29t12-29l123-123q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l123 123q12 12 12 29t-12 29q-12 12-29 12t-29-12l-93-93Z' />\n </svg>\n ),\n upload: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M240-160q-33 0-56.5-23.5T160-240v-80q0-17 11.5-28.5T200-360q17 0 28.5 11.5T240-320v80h480v-80q0-17 11.5-28.5T760-360q17 0 28.5 11.5T800-320v80q0 33-23.5 56.5T720-160H240Zm200-486-75 75q-12 12-28.5 11.5T308-572q-11-12-11.5-28t11.5-28l144-144q6-6 13-8.5t15-2.5q8 0 15 2.5t13 8.5l144 144q12 12 11.5 28T652-572q-12 12-28.5 12.5T595-571l-75-75v286q0 17-11.5 28.5T480-320q-17 0-28.5-11.5T440-360v-286Z' />\n </svg>\n ),\n west: (props: IconProps) => (\n <svg fill='currentColor' viewBox='0 -960 960 960' {...props}>\n <path d='M233-440h607q17 0 28.5-11.5T880-480q0-17-11.5-28.5T840-520H233l155-156q11-11 11.5-27.5T388-732q-11-11-28-11t-28 11L108-508q-6 6-8.5 13T97-480q0 8 2.5 15t8.5 13l224 224q11 11 27.5 11t28.5-11q12-12 12-28.5T388-285L233-440Z' />\n </svg>\n ),\n}\n","'use client'\n\nimport Link from 'next/link'\nimport { Icons } from '../components/Icons'\n\nfunction SocialLink({\n href,\n icon: Icon,\n children,\n}: {\n href: string\n icon: React.ComponentType<{ className?: string }>\n children: React.ReactNode\n}) {\n return (\n <Link href={href} className='group'>\n <span className='sr-only'>{children}</span>\n <Icon className='h-5 w-5 fill-zinc-700 transition group-hover:fill-zinc-900 dark:group-hover:fill-zinc-500' />\n </Link>\n )\n}\n\nfunction SmallPrint() {\n return (\n <div className='flex flex-col items-center justify-between gap-5 border-t border-zinc-900/5 pt-8 sm:flex-row dark:border-white/5'>\n <p className='text-xs text-zinc-600 dark:text-zinc-400'>\n &copy; Copyright {new Date().getFullYear()}. All rights reserved.\n </p>\n <div className='flex gap-4'>\n <SocialLink href='#' icon={Icons.github}>\n Follow us on GitHub\n </SocialLink>\n </div>\n </div>\n )\n}\n\nexport function Footer() {\n return (\n <footer className='mx-auto w-full max-w-2xl space-y-10 pb-16 lg:max-w-5xl'>\n <SmallPrint />\n </footer>\n )\n}\n","import { slugifyWithCounter } from '@sindresorhus/slugify'\n\nexport type SimpleNode = {\n type: string\n attributes: {\n content?: string\n [key: string]: string | number | boolean | undefined\n }\n children?: SimpleNode[]\n}\n\nexport type HeadingNode = {\n level: number\n id: string\n title: string\n children: HeadingNode[]\n}\n\nexport function getNodeText(node: HTMLElement | SimpleNode): string {\n let text = ''\n\n for (const child of node.children ?? []) {\n if ('type' in child && child.type === 'text') {\n text += child.attributes?.content ?? ''\n } else if (child instanceof HTMLElement) {\n text += getNodeText(child)\n }\n }\n\n return text\n}\n\nexport function domToSimple(node: Node): SimpleNode {\n if (node.nodeType === Node.TEXT_NODE) {\n return {\n type: 'text',\n attributes: {\n content: node.textContent ?? undefined,\n },\n }\n }\n\n if (node.nodeType === Node.ELEMENT_NODE) {\n return {\n type: node.nodeName.toLowerCase(),\n attributes: {},\n children: Array.from(node.childNodes).map(domToSimple),\n }\n }\n\n throw new Error('Unsupported node type')\n}\n\nexport function getHeadings(slugify = slugifyWithCounter()) {\n const content = document.querySelector('article')\n if (!content) {\n return []\n }\n const headings = Array.from(content.querySelectorAll('h2, h3, h4, h5, h6'))\n\n const result: HeadingNode[] = []\n const stack: HeadingNode[] = []\n\n headings.forEach((el) => {\n const simplifiedNode = domToSimple(el)\n const title = getNodeText(simplifiedNode).trim()\n const slugifiedTitle = slugify(title)\n const id = el.id || slugifiedTitle\n\n const level = parseInt(el.tagName[1])\n const node = { level, id, title, children: [] }\n\n if (!el.id) el.id = id\n\n if (level === 2) {\n result.push(node)\n stack.length = 0\n stack.push(node)\n } else {\n while (stack.length && stack[stack.length - 1].level >= level) {\n stack.pop()\n }\n if (stack.length) {\n stack[stack.length - 1].children.push(node)\n }\n stack.push(node)\n }\n })\n\n return result\n}\n","'use client'\nexport function Masthead() {\n return (\n <div className='bg-primary h-[var(--masthead-height)] w-full'>\n <div className='mx-auto flex w-full items-center justify-between px-4 py-2 sm:px-6 lg:px-8'>\n <div className='flex items-center gap-x-12'>\n <p className='text-xs text-white'>A NSW Government website</p>\n </div>\n </div>\n </div>\n )\n}\n","import { Icons } from '../components/Icons'\n\nexport function Logo(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <>\n <span className='sr-only'>NSW Government</span>\n <Icons.logo {...props} />\n </>\n )\n}\n","'use client'\n\nimport React from 'react'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\n\nimport { NavigationSection } from '../types/types.js'\n\nexport function Navigation({\n className,\n onLinkClick,\n navigation,\n}: {\n className?: string\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n navigation: NavigationSection[]\n}) {\n const pathname = usePathname()\n\n return (\n <nav className={clsx('text-base lg:text-sm', className)}>\n <ul role='list' className='flex flex-col gap-9'>\n {navigation.map((section) => (\n <li key={section.title}>\n <h2 className='font-display text-foreground font-medium dark:text-white'>\n {section.title}\n </h2>\n <ul\n role='list'\n className='border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 flex flex-col gap-2 border-l lg:mt-4'\n >\n {section.links.map((link) => (\n <li key={link.href} className='-ml-px flex flex-col items-start gap-2'>\n <Link\n href={link.href}\n onClick={onLinkClick}\n className={clsx(\n 'text-foreground inline-block border-l pl-5 text-base/8 sm:pl-4 sm:text-sm/6',\n 'hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold',\n 'dark:text-nsw-grey-400',\n 'dark:hover:border-nsw-grey-400 dark:hover:text-white',\n link.href === pathname &&\n 'border-primary text-primary border-l font-semibold dark:border-white',\n )}\n >\n {link.title}\n </Link>\n </li>\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </nav>\n )\n}\n","'use client'\n\nimport { useEffect, useState } from 'react'\nimport { useTheme } from 'next-themes'\nimport { Button } from '../components/Button'\nimport { Icons } from '../components/Icons'\n\nexport function ThemeSwitcher() {\n const { resolvedTheme, setTheme } = useTheme()\n const [mounted, setMounted] = useState(false)\n\n const classes = 'fill-nsw-grey-600 dark:fill-nsw-grey-100 size-6'\n\n // Avoid hydration mismatch by only rendering after mount\n useEffect(() => {\n setMounted(true)\n }, [])\n\n if (!mounted) {\n return (\n <Button variant='ghost' size='icon' className='h-10 w-10' disabled>\n <Icons.light_mode className={classes} />\n </Button>\n )\n }\n\n return (\n <Button\n variant='outline'\n size='icon'\n className='h-10 w-10 cursor-pointer'\n onClick={() => setTheme(resolvedTheme === 'dark' ? 'light' : 'dark')}\n aria-label={`Switch to ${resolvedTheme === 'dark' ? 'light' : 'dark'} theme`}\n >\n {resolvedTheme === 'dark' ? (\n <Icons.light_mode className={classes} />\n ) : (\n <Icons.dark_mode className={classes} />\n )}\n <span className='sr-only'>\n {resolvedTheme === 'dark' ? 'Switch to light theme' : 'Switch to dark theme'}\n </span>\n </Button>\n )\n}\n","'use client'\n\nimport { useCallback, useEffect, useState } from 'react'\nimport Link from 'next/link'\nimport clsx from 'clsx'\n\ntype TableOfContentsItem = {\n id: string\n children: TableOfContentsItem[]\n title: string\n}\n\ntype TableOfContentsProps = {\n tableOfContents: TableOfContentsItem[]\n}\n\nexport function TableOfContents({ tableOfContents }: TableOfContentsProps) {\n const [currentSection, setCurrentSection] = useState(tableOfContents[0]?.id)\n\n const getHeadings = useCallback((tableOfContents: TableOfContentsItem[]) => {\n return tableOfContents\n .flatMap((node) => [node.id, ...node.children.map((child) => child.id)])\n .map((id) => {\n const el = document.getElementById(id)\n if (!el) return null\n\n const style = window.getComputedStyle(el)\n const scrollMt = parseFloat(style.scrollMarginTop)\n\n const top = window.scrollY + el.getBoundingClientRect().top - scrollMt\n return { id, top }\n })\n .filter((x): x is { id: string; top: number } => x !== null)\n }, [])\n\n useEffect(() => {\n if (tableOfContents.length === 0) return\n const headings = getHeadings(tableOfContents)\n function onScroll() {\n const top = window.scrollY\n let current = headings[0].id\n for (const heading of headings) {\n if (top >= heading.top - 10) {\n current = heading.id\n } else {\n break\n }\n }\n setCurrentSection(current)\n }\n window.addEventListener('scroll', onScroll, { passive: true })\n onScroll()\n return () => {\n window.removeEventListener('scroll', onScroll)\n }\n }, [getHeadings, tableOfContents])\n\n function isActive(section: TableOfContentsItem) {\n if (section.id === currentSection) {\n return true\n }\n if (!section.children) {\n return false\n }\n return section.children.findIndex(isActive) > -1\n }\n\n return (\n <div className='hidden xl:sticky xl:top-[4.75rem] xl:-mr-6 xl:block xl:h-[calc(100vh-4.75rem)] xl:flex-none xl:overflow-y-auto xl:py-16 xl:pr-6'>\n <nav aria-labelledby='on-this-page-title' className='w-56'>\n {tableOfContents.length > 0 && (\n <>\n <h2\n id='on-this-page-title'\n className='font-display text-sm font-medium text-slate-900 dark:text-white'\n >\n On this page\n </h2>\n <ol role='list' className='mt-4 space-y-3 text-sm'>\n {tableOfContents.map((section) => (\n <li key={section.id}>\n <h3>\n <Link\n href={`#${section.id}`}\n className={clsx(\n isActive(section)\n ? 'text-primary font-semibold'\n : 'font-normal text-slate-500 hover:text-slate-700 dark:text-slate-400 dark:hover:text-slate-300',\n )}\n >\n {section.title}\n </Link>\n </h3>\n {section.children.length > 0 && (\n <ol\n role='list'\n className='mt-2 space-y-3 pl-5 text-slate-500 dark:text-slate-400'\n >\n {section.children.map((subSection) => (\n <li key={subSection.id}>\n <Link\n href={`#${subSection.id}`}\n className={\n isActive(subSection)\n ? 'text-primary-light font-semibold'\n : 'hover:text-slate-600 dark:hover:text-slate-300'\n }\n >\n {subSection.title}\n </Link>\n </li>\n ))}\n </ol>\n )}\n </li>\n ))}\n </ol>\n </>\n )}\n </nav>\n </div>\n )\n}\n","'use client'\n\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\n\nimport { NavigationSection } from '../types/types'\n\nfunction ArrowIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg viewBox='0 0 16 16' aria-hidden='true' {...props}>\n <path d='m9.182 13.423-1.17-1.16 3.505-3.505H3V7.065h8.517l-3.506-3.5L9.181 2.4l5.512 5.511-5.511 5.512Z' />\n </svg>\n )\n}\n\nfunction PageLink({\n title,\n href,\n dir = 'next',\n ...props\n}: Omit<React.ComponentPropsWithoutRef<'div'>, 'dir' | 'title'> & {\n title: string\n href: string\n dir?: 'previous' | 'next'\n}) {\n return (\n <div {...props}>\n <dt className='font-display text-sm font-medium text-slate-900 dark:text-white'>\n {dir === 'next' ? 'Next' : 'Previous'}\n </dt>\n <dd className='mt-1'>\n <Link\n href={href}\n className={clsx(\n 'flex items-center gap-x-1 text-base font-semibold text-slate-500 hover:text-slate-600 dark:text-slate-400 dark:hover:text-slate-300',\n dir === 'previous' && 'flex-row-reverse',\n )}\n >\n {title}\n <ArrowIcon\n className={clsx('h-4 w-4 flex-none fill-current', dir === 'previous' && '-scale-x-100')}\n />\n </Link>\n </dd>\n </div>\n )\n}\n\ninterface PrevNextLinksProps {\n navigation: NavigationSection[]\n}\n\nexport function PrevNextLinks({ navigation }: PrevNextLinksProps) {\n const pathname = usePathname()\n const allLinks = navigation.flatMap((section) => section.links)\n const linkIndex = allLinks.findIndex((link) => link.href === pathname)\n const previousPage = linkIndex > -1 ? allLinks[linkIndex - 1] : null\n const nextPage = linkIndex > -1 ? allLinks[linkIndex + 1] : null\n\n if (!nextPage && !previousPage) {\n return null\n }\n\n return (\n <dl className='mt-12 flex border-t border-slate-200 pt-6 dark:border-slate-800'>\n {previousPage && <PageLink dir='previous' {...previousPage} />}\n {nextPage && <PageLink className='ml-auto text-right' {...nextPage} />}\n </dl>\n )\n}\n","'use client'\n\nimport React from 'react'\nimport { useEffect, useState } from 'react'\nimport Link from 'next/link'\nimport { usePathname } from 'next/navigation'\nimport clsx from 'clsx'\nimport { HeadingNode, getHeadings } from '@/lib/sections'\n\nimport { Footer } from '@/components/Footer'\nimport { Masthead } from '@/components/Masthead'\nimport { Button } from '@/components/Button'\nimport { Logo } from '@/components/Logo'\nimport { Navigation } from '@/components/Navigation'\nimport { ThemeSwitcher } from '@/components/ThemeSwitcher'\nimport { TableOfContents } from '@/components/TableOfContents'\nimport { PrevNextLinks } from '@/components/PrevNextLinks'\nimport { Icons } from '@/components/Icons'\nimport { NavigationSection } from '../types/types.js'\n\nexport const defaultNavigation: NavigationSection[] = [\n {\n title: 'Getting Started',\n links: [\n { title: 'Introduction', href: '/' },\n { title: 'Installation', href: '/installation' },\n ],\n },\n {\n title: 'Components',\n links: [\n { title: 'Button', href: '/components/button' },\n { title: 'Layout', href: '/components/layout' },\n { title: 'Navigation', href: '/components/navigation' },\n ],\n },\n]\n\nfunction usePageHeadings() {\n const [headings, setHeadings] = useState<HeadingNode[]>([])\n\n useEffect(() => {\n const result = getHeadings()\n setHeadings(result)\n }, [])\n\n return headings\n}\n\nfunction Header({ sitename }: { sitename?: string } = {}) {\n const [isScrolled, setIsScrolled] = useState(false)\n\n useEffect(() => {\n function onScroll() {\n setIsScrolled(window.scrollY > 0)\n }\n onScroll()\n window.addEventListener('scroll', onScroll, { passive: true })\n return () => {\n window.removeEventListener('scroll', onScroll)\n }\n }, [])\n\n return (\n <header\n className={clsx(\n 'sticky top-0 z-50 flex flex-none flex-wrap items-center justify-between bg-white px-4 py-5 shadow-md shadow-slate-900/5 transition duration-500 sm:px-6 lg:px-8 dark:shadow-none',\n isScrolled\n ? 'dark:bg-slate-900/95 dark:backdrop-blur-sm dark:[@supports(backdrop-filter:blur(0))]:bg-slate-900/75'\n : 'dark:bg-transparent',\n )}\n >\n <div className='mr-6 flex lg:hidden'>{/* <MobileNavigation /> */}</div>\n <div className='relative flex grow basis-0 items-center'>\n <Link href='/' aria-label='Home page' className='flex items-center justify-between'>\n <Logo className='h-12 w-auto lg:h-14' />\n <h2 className='text-primary ml-6 text-2xl font-semibold dark:text-white'>{sitename}</h2>\n </Link>\n </div>\n <div className='-my-5 mr-6 sm:mr-8 md:mr-0'>{/* <Search /> */}</div>\n <div className='relative flex basis-0 justify-end gap-2 sm:gap-4 md:grow'>\n <ThemeSwitcher />\n <Button variant='outline' size='icon' className='h-10 w-10' asChild>\n <Link href='https://github.com' className='group' aria-label='GitHub'>\n <Icons.github className='fill-nsw-grey-600 dark:fill-nsw-grey-100 size-6' />\n </Link>\n </Button>\n </div>\n </header>\n )\n}\n\nexport interface LayoutProps {\n children: React.ReactNode\n sitename?: string\n navigation?: NavigationSection[]\n}\n\nexport function Layout({ children, sitename, navigation = defaultNavigation }: LayoutProps) {\n const pathname = usePathname()\n const isHomePage = pathname === '/'\n const tableOfContents = usePageHeadings()\n\n return (\n <div className='flex w-full flex-col'>\n <Masthead />\n <Header sitename={sitename} />\n\n {isHomePage && <></>}\n\n <div className='max-w-8xl relative mx-auto flex w-full flex-auto justify-center sm:px-2 lg:px-8 xl:px-12'>\n <div className='hidden lg:relative lg:block lg:flex-none'>\n <div className='bg-nsw-grey-50 absolute inset-y-0 right-0 w-[50vw] dark:hidden' />\n <div className='from-nsw-grey-600 absolute top-16 right-0 bottom-0 hidden h-12 w-px bg-linear-to-t dark:block' />\n <div className='bg-nsw-grey-600 absolute top-28 right-0 bottom-0 hidden w-px dark:block' />\n <div className='sticky top-[4.75rem] -ml-0.5 h-[calc(100vh-4.75rem)] w-64 overflow-x-hidden overflow-y-auto py-16 pr-8 pl-0.5 xl:w-72 xl:pr-16'>\n <Navigation navigation={navigation} />\n </div>\n </div>\n <div className='flex flex-1 flex-col'>\n <div className='flex flex-1'>\n <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'>\n <article>{children}</article>\n <PrevNextLinks navigation={navigation} />\n </div>\n <TableOfContents tableOfContents={tableOfContents} />\n </div>\n <Footer />\n </div>\n </div>\n </div>\n )\n}\n","'use client'\n\nimport { ThemeProvider as NextThemesProvider, type ThemeProviderProps } from 'next-themes'\n\nexport function ThemeProvider({ children, ...props }: ThemeProviderProps) {\n return <NextThemesProvider {...props}>{children}</NextThemesProvider>\n}\n","'use client'\n\nimport { ThemeProvider } from '../components/ThemeProvider'\nimport { DynamicFavicon } from '../components/Favicon'\n\nexport function Providers({ children }: { children: React.ReactNode }) {\n return (\n <ThemeProvider attribute='class' defaultTheme='system' enableSystem disableTransitionOnChange>\n <DynamicFavicon lightModeFavicon='/icon-light.ico' darkModeFavicon='/icon-dark.ico' />\n {children}\n </ThemeProvider>\n )\n}\n","import { clsx, type ClassValue } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function truncate(text: string, maxLength: number): string {\n if (text.length <= maxLength) {\n return text\n }\n return text.slice(0, maxLength) + '...'\n}\n\nexport function kebabCase(str: string) {\n return str\n .replace(/([a-z])([A-Z])/g, '$1-$2')\n .replace(/[\\s_]+/g, '-')\n .toLowerCase()\n}\n\nexport function camelCase(str: string) {\n return str.toLowerCase().replace(/[^a-zA-Z0-9]+(.)/g, (_, chr) => chr.toUpperCase())\n}\n","import { Button } from '../components/Button.js'\nimport { DynamicFavicon } from '../components/Favicon.js'\nimport { Footer } from '../components/Footer.js'\nimport { Icons } from '../components/Icons.js'\nimport { Layout, defaultNavigation } from '../components/Layout.js'\nimport { Logo } from '../components/Logo.js'\nimport { Masthead } from '../components/Masthead.js'\nimport { Navigation } from '../components/Navigation.js'\nimport { PrevNextLinks } from '../components/PrevNextLinks.js'\nimport { TableOfContents } from '../components/TableOfContents.js'\nimport { Providers } from '../components/Providers.js'\nimport { ThemeProvider } from '../components/ThemeProvider.js'\nimport { ThemeSwitcher } from '../components/ThemeSwitcher.js'\nexport * from '../lib/utils.js'\nexport * from '../lib/sections.js'\nexport * from '../types/types.js'\nexport {\n Button,\n DynamicFavicon,\n Footer,\n Icons,\n Layout,\n Logo,\n Masthead,\n Navigation,\n PrevNextLinks,\n TableOfContents,\n Providers,\n ThemeProvider,\n ThemeSwitcher,\n defaultNavigation,\n}\n\nconst nswdsExports = {\n Button,\n DynamicFavicon,\n Footer,\n Icons,\n Layout,\n Logo,\n Masthead,\n Navigation,\n PrevNextLinks,\n TableOfContents,\n Providers,\n ThemeProvider,\n ThemeSwitcher,\n defaultNavigation,\n}\n\nexport default nswdsExports\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nswds/app",
3
- "version": "0.1.13",
3
+ "version": "0.1.14",
4
4
  "main": "dist/index.cjs",
5
5
  "module": "dist/index.js",
6
6
  "types": "dist/index.d.ts",