@nswds/app 1.6.0 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/lib/utils.ts","../src/components/Button.tsx","../src/components/DynamicFavicon.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"],"names":["twMerge","clsx","cva","Slot","jsx","useEffect","jsxs","Link","slugify","slugifyWithCounter","Fragment","navigation","usePathname","useTheme","useState","getHeadings","useCallback","tableOfContents"],"mappings":"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","file":"index.cjs","sourcesContent":["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","'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\n// import { cn } from '../packages/index.js'\nimport { cn } from '../lib/utils'\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"]}
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/Button.tsx","../src/components/DynamicFavicon.tsx","../src/components/Icons.tsx","../src/components/Footer.tsx","../src/components/Logo.tsx","../src/components/Masthead.tsx","../src/components/Navigation.tsx","../src/components/PrevNextLinks.tsx","../src/components/TableOfContents.tsx","../src/components/ThemeSwitcher.tsx","../src/components/Collapsible.tsx","../src/components/SidebarNavigation.tsx","../src/components/Tabs.tsx","../src/components/ThemeProvider.tsx","../src/components/TocProvider.tsx","../src/lib/sections.ts"],"names":["twMerge","clsx","cva","Slot","jsx","useEffect","jsxs","Link","Fragment","navigation","usePathname","useState","getHeadings","useCallback","tableOfContents","useTheme","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent","NextLink","TabsPrimitive","NextThemesProvider","createContext","slugify","slugifyWithCounter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGO,SAAS,MAAM,MAAsB,EAAA;AAC1C,EAAO,OAAAA,qBAAA,CAAQC,UAAK,CAAA,MAAM,CAAC,CAAA;AAC7B;AAEO,SAAS,QAAA,CAAS,MAAc,SAA2B,EAAA;AAChE,EAAI,IAAA,IAAA,CAAK,UAAU,SAAW,EAAA;AAC5B,IAAO,OAAA,IAAA;AAAA;AAET,EAAA,OAAO,IAAK,CAAA,KAAA,CAAM,CAAG,EAAA,SAAS,CAAI,GAAA,KAAA;AACpC;AAEO,SAAS,UAAU,GAAa,EAAA;AACrC,EAAO,OAAA,GAAA,CACJ,QAAQ,iBAAmB,EAAA,OAAO,EAClC,OAAQ,CAAA,SAAA,EAAW,GAAG,CAAA,CACtB,WAAY,EAAA;AACjB;AAEO,SAAS,UAAU,GAAa,EAAA;AACrC,EAAO,OAAA,GAAA,CAAI,WAAY,EAAA,CAAE,OAAQ,CAAA,mBAAA,EAAqB,CAAC,CAAG,EAAA,GAAA,KAAQ,GAAI,CAAA,WAAA,EAAa,CAAA;AACrF;ACfA,IAAM,cAAiB,GAAAC,0BAAA;AAAA,EACrB,6bAAA;AAAA,EACA;AAAA,IACE,QAAU,EAAA;AAAA,MACR,OAAS,EAAA;AAAA,QACP,OAAS,EAAA,kEAAA;AAAA,QACT,WACE,EAAA,6JAAA;AAAA,QACF,OACE,EAAA,uIAAA;AAAA,QACF,SAAW,EAAA,wEAAA;AAAA,QACX,KAAO,EAAA,sEAAA;AAAA,QACP,IAAM,EAAA;AAAA,OACR;AAAA,MACA,IAAM,EAAA;AAAA,QACJ,OAAS,EAAA,+BAAA;AAAA,QACT,EAAI,EAAA,+CAAA;AAAA,QACJ,EAAI,EAAA,sCAAA;AAAA,QACJ,IAAM,EAAA;AAAA;AACR,KACF;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,OAAS,EAAA,SAAA;AAAA,MACT,IAAM,EAAA;AAAA;AACR;AAEJ,CAAA;AAEA,SAAS,MAAO,CAAA;AAAA,EACd,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAU,GAAA,KAAA;AAAA,EACV,GAAG;AACL,CAGK,EAAA;AACH,EAAM,MAAA,IAAA,GAAO,UAAUC,cAAO,GAAA,QAAA;AAE9B,EACE,uBAAAC,cAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,WAAU,EAAA,QAAA;AAAA,MACV,SAAA,EAAW,GAAG,cAAe,CAAA,EAAE,SAAS,IAAM,EAAA,SAAA,EAAW,CAAC,CAAA;AAAA,MACzD,GAAG;AAAA;AAAA,GACN;AAEJ;AC9CO,SAAS,cAAe,CAAA,EAAE,gBAAkB,EAAA,eAAA,EAAwC,EAAA;AACzF,EAAAC,eAAA,CAAU,MAAM;AAEd,IAAA,MAAM,gBAAgB,MAAM;AAC1B,MAAA,MAAM,UAAa,GAAA,MAAA,CAAO,UAAW,CAAA,8BAA8B,CAAE,CAAA,OAAA;AACrE,MAAM,MAAA,OAAA,GAAU,QAAS,CAAA,aAAA,CAAc,kBAAkB,CAAA;AAEzD,MAAA,IAAI,OAAS,EAAA;AACX,QAAQ,OAAA,CAAA,IAAA,GAAO,aAAa,eAAkB,GAAA,gBAAA;AAAA,OACzC,MAAA;AAEL,QAAM,MAAA,UAAA,GAAa,QAAS,CAAA,aAAA,CAAc,MAAM,CAAA;AAChD,QAAA,UAAA,CAAW,GAAM,GAAA,MAAA;AACjB,QAAW,UAAA,CAAA,IAAA,GAAO,aAAa,eAAkB,GAAA,gBAAA;AACjD,QAAS,QAAA,CAAA,IAAA,CAAK,YAAY,UAAU,CAAA;AAAA;AACtC,KACF;AAGA,IAAc,aAAA,EAAA;AAGd,IAAM,MAAA,UAAA,GAAa,MAAO,CAAA,UAAA,CAAW,8BAA8B,CAAA;AACnE,IAAW,UAAA,CAAA,gBAAA,CAAiB,UAAU,aAAa,CAAA;AAGnD,IAAA,OAAO,MAAM,UAAA,CAAW,mBAAoB,CAAA,QAAA,EAAU,aAAa,CAAA;AAAA,GAClE,EAAA,CAAC,gBAAkB,EAAA,eAAe,CAAC,CAAA;AAGtC,EAAO,OAAA,IAAA;AACT;ACtCO,IAAM,KAAQ,GAAA;AAAA,EACnB,IAAA,EAAM,CAAC,KAAA,qBACJC,eAAA,CAAA,KAAA,EAAA,EAAI,SAAQ,aAAc,EAAA,aAAA,EAAY,MAAQ,EAAA,GAAG,KAChD,EAAA,QAAA,EAAA;AAAA,oBAAAF,cAAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,QAAS,EAAA,SAAA;AAAA,QACT,QAAS,EAAA,SAAA;AAAA,QACT,CAAE,EAAA,8tFAAA;AAAA,QACF,SAAU,EAAA;AAAA;AAAA,KACZ;AAAA,oBAEAA,cAAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,QAAS,EAAA,SAAA;AAAA,QACT,QAAS,EAAA,SAAA;AAAA,QACT,CAAE,EAAA,gmDAAA;AAAA,QACF,SAAU,EAAA;AAAA;AAAA,KACZ;AAAA,oBAEAA,cAAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,CAAE,EAAA,4iFAAA;AAAA,QACF,SAAU,EAAA;AAAA;AAAA,KACZ;AAAA,oBAEAA,cAAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,CAAE,EAAA,ueAAA;AAAA,QACF,SAAU,EAAA;AAAA;AAAA;AACZ,GACF,EAAA,CAAA;AAAA,EAEF,QAAQ,CAAC,KAAA,qBACPA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,WAAA,EAAa,GAAG,KAC/C,EAAA,QAAA,kBAAAA,eAAC,GAAE,EAAA,EAAA,QAAA,EAAS,WACV,QAAAA,kBAAAA,cAAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,QAAS,EAAA,SAAA;AAAA,MACT,CAAE,EAAA,+sBAAA;AAAA,MACF,QAAS,EAAA;AAAA;AAAA,KAEb,CACF,EAAA,CAAA;AAAA,EAEF,UAAU,CAAC,KAAA,qBACTA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,WAAA,EAAa,GAAG,KAC/C,EAAA,QAAA,kBAAAA,eAAC,GAAE,EAAA,EAAA,QAAA,EAAS,WACV,QAAAA,kBAAAA,cAAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,cAAA;AAAA,MACL,CAAE,EAAA;AAAA;AAAA,KAEN,CACF,EAAA,CAAA;AAAA,EAEF,SAAS,CAAC,KAAA,qBACRA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,WAAA,EAAa,GAAG,KAC/C,EAAA,QAAA,kBAAAA,eAAC,GAAE,EAAA,EAAA,QAAA,EAAS,WACV,QAAAA,kBAAAA,cAAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,cAAA;AAAA,MACL,CAAE,EAAA;AAAA;AAAA,KAEN,CACF,EAAA,CAAA;AAAA,EAEF,SAAS,CAAC,KAAA,qBACRA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,WAAA,EAAa,GAAG,KAC/C,EAAA,QAAA,kBAAAA,eAAC,GAAE,EAAA,EAAA,QAAA,EAAS,WACV,QAAAA,kBAAAA,cAAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,IAAK,EAAA,cAAA;AAAA,MACL,CAAE,EAAA;AAAA;AAAA,KAEN,CACF,EAAA,CAAA;AAAA,EAEF,gBAAgB,CAAC,KAAA,qBACfA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,snBAAqnB,CAC/nB,EAAA,CAAA;AAAA,EAEF,aAAa,CAAC,KAAA,qBACZA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,8YAA6Y,CACvZ,EAAA,CAAA;AAAA,EAEF,QAAQ,CAAC,KAAA,qBACPA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,igBAAggB,CAC1gB,EAAA,CAAA;AAAA,EAEF,cAAc,CAAC,KAAA,qBACbA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,waAAua,CACjb,EAAA,CAAA;AAAA,EAEF,OAAO,CAAC,KAAA,qBACNA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,wJAAuJ,CACjK,EAAA,CAAA;AAAA,EAEF,cAAc,CAAC,KAAA,qBACbA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,+JAA8J,CACxK,EAAA,CAAA;AAAA,EAEF,cAAc,CAAC,KAAA,qBACbA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,+JAA8J,CACxK,EAAA,CAAA;AAAA,EAEF,eAAe,CAAC,KAAA,qBACdA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,8JAA6J,CACvK,EAAA,CAAA;AAAA,EAEF,YAAY,CAAC,KAAA,qBACXA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,6IAA4I,CACtJ,EAAA,CAAA;AAAA,EAEF,OAAO,CAAC,KAAA,qBACNA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,qOAAoO,CAC9O,EAAA,CAAA;AAAA,EAEF,cAAc,CAAC,KAAA,qBACbA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,kRAAiR,CAC3R,EAAA,CAAA;AAAA,EAEF,UAAU,CAAC,KAAA,qBACTA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,wQAAuQ,CACjR,EAAA,CAAA;AAAA,EAEF,MAAM,CAAC,KAAA,qBACLA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,gTAA+S,CACzT,EAAA,CAAA;AAAA,EAEF,WAAW,CAAC,KAAA,qBACVA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,oXAAmX,CAC7X,EAAA,CAAA;AAAA,EAEF,cAAc,CAAC,KAAA,qBACbA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,0LAAyL,CACnM,EAAA,CAAA;AAAA,EAEF,eAAe,CAAC,KAAA,qBACdA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,0LAAyL,CACnM,EAAA,CAAA;AAAA,EAEF,QAAQ,CAAC,KAAA,qBACPA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,ueAAse,CAChf,EAAA,CAAA;AAAA,EAEF,SAAS,CAAC,KAAA,qBACRA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,oRAAmR,CAC7R,EAAA,CAAA;AAAA,EAEF,kBAAkB,CAAC,KAAA,qBACjBA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,gvBAA+uB,CACzvB,EAAA,CAAA;AAAA,EAEF,mBAAmB,CAAC,KAAA,qBAClBA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,8UAA6U,CACvV,EAAA,CAAA;AAAA,EAEF,oBAAoB,CAAC,KAAA,qBACnBA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,4UAA2U,CACrV,EAAA,CAAA;AAAA,EAEF,UAAU,CAAC,KAAA,qBACTA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,+YAA8Y,CACxZ,EAAA,CAAA;AAAA,EAEF,MAAM,CAAC,KAAA,qBACLA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,iOAAgO,CAC1O,EAAA,CAAA;AAAA,EAEF,OAAO,CAAC,KAAA,qBACNA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,mfAAkf,CAC5f,EAAA,CAAA;AAAA,EAEF,aAAa,CAAC,KAAA,qBACZA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,uNAAsN,CAChO,EAAA,CAAA;AAAA,EAEF,MAAM,CAAC,KAAA,qBACLA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,8oBAA6oB,CACvpB,EAAA,CAAA;AAAA,EAEF,MAAM,CAAC,KAAA,qBACLA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,mfAAkf,CAC5f,EAAA,CAAA;AAAA,EAEF,YAAY,CAAC,KAAA,qBACXA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,iiCAAgiC,CAC1iC,EAAA,CAAA;AAAA,EAEF,MAAM,CAAC,KAAA,qBACLA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,ogBAAmgB,CAC7gB,EAAA,CAAA;AAAA,EAEF,OAAO,CAAC,KAAA,qBACNA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,6XAA4X,CACtY,EAAA,CAAA;AAAA,EAEF,QAAQ,CAAC,KAAA,qBACPA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,4XAA2X,CACrY,EAAA,CAAA;AAAA,EAEF,MAAM,CAAC,KAAA,qBACLA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,0UAAyU,CACnV,EAAA,CAAA;AAAA,EAEF,YAAY,CAAC,KAAA,qBACXA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,kTAAiT,CAC3T,EAAA,CAAA;AAAA,EAEF,WAAW,CAAC,KAAA,qBACVA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,kTAAiT,CAC3T,EAAA,CAAA;AAAA,EAEF,OAAO,CAAC,KAAA,qBACNA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,gOAA+N,CACzO,EAAA,CAAA;AAAA,EAEF,aAAa,CAAC,KAAA,qBACZA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,uZAAsZ,CACha,EAAA,CAAA;AAAA,EAEF,OAAO,CAAC,KAAA,qBACNA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,4hBAA2hB,CACriB,EAAA,CAAA;AAAA,EAEF,mBAAmB,CAAC,KAAA,qBAClBA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,wUAAuU,CACjV,EAAA,CAAA;AAAA,EAEF,QAAQ,CAAC,KAAA,qBACPA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,kHAAiH,CAC3H,EAAA,CAAA;AAAA,EAEF,QAAQ,CAAC,KAAA,qBACPA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,6RAA4R,CACtS,EAAA,CAAA;AAAA,EAEF,qBAAqB,CAAC,KAAA,qBACpBA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,8ZAA6Z,CACva,EAAA,CAAA;AAAA,EAEF,OAAO,CAAC,KAAA,qBACNA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,+pBAA8pB,CACxqB,EAAA,CAAA;AAAA,EAEF,iBAAiB,CAAC,KAAA,qBAChBA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,oJAAmJ,CAC7J,EAAA,CAAA;AAAA,EAEF,OAAO,CAAC,KAAA,qBACNA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,iOAAgO,CAC1O,EAAA,CAAA;AAAA,EAEF,aAAa,CAAC,KAAA,qBACZA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,iTAAgT,CAC1T,EAAA,CAAA;AAAA,EAEF,aAAa,CAAC,KAAA,qBACZA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,iTAAgT,CAC1T,EAAA,CAAA;AAAA,EAEF,QAAQ,CAAC,KAAA,qBACPA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,+YAA8Y,CACxZ,EAAA,CAAA;AAAA,EAEF,MAAM,CAAC,KAAA,qBACLA,cAAAA,CAAC,SAAI,IAAK,EAAA,cAAA,EAAe,OAAQ,EAAA,gBAAA,EAAkB,GAAG,KACpD,EAAA,QAAA,kBAAAA,eAAC,MAAK,EAAA,EAAA,CAAA,EAAE,gOAA+N,CACzO,EAAA;AAEJ;AClTA,SAAS,UAAW,CAAA;AAAA,EAClB,IAAA;AAAA,EACA,IAAM,EAAA,IAAA;AAAA,EACN;AACF,CAIG,EAAA;AACD,EAAA,uBACEE,eAAAA,CAACC,sBAAK,EAAA,EAAA,IAAA,EAAY,WAAU,OAC1B,EAAA,QAAA,EAAA;AAAA,oBAAAH,cAAC,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,SAAA,EAAW,QAAS,EAAA,CAAA;AAAA,oBACpCA,cAAAA,CAAC,IAAK,EAAA,EAAA,SAAA,EAAU,2FAA4F,EAAA;AAAA,GAC9G,EAAA,CAAA;AAEJ;AAEA,SAAS,UAAa,GAAA;AACpB,EAAA,uBACEE,eAAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,kHACb,EAAA,QAAA,EAAA;AAAA,oBAAAA,eAAAA,CAAC,GAAE,EAAA,EAAA,SAAA,EAAU,0CAA2C,EAAA,QAAA,EAAA;AAAA,MAAA,iBAAA;AAAA,MACpC,iBAAA,IAAI,IAAK,EAAA,EAAE,WAAY,EAAA;AAAA,MAAE;AAAA,KAC7C,EAAA,CAAA;AAAA,oBACAF,cAAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,cACb,QAAAA,kBAAAA,cAAAA,CAAC,UAAW,EAAA,EAAA,IAAA,EAAK,GAAI,EAAA,IAAA,EAAM,KAAM,CAAA,MAAA,EAAQ,iCAEzC,CACF,EAAA;AAAA,GACF,EAAA,CAAA;AAEJ;AAEO,SAAS,MAAS,GAAA;AACvB,EACE,uBAAAA,eAAC,QAAO,EAAA,EAAA,SAAA,EAAU,0DAChB,QAAAA,kBAAAA,cAAAA,CAAC,cAAW,CACd,EAAA,CAAA;AAEJ;ACzCO,SAAS,KAAK,KAA8C,EAAA;AACjE,EACE,uBAAAE,gBAAAE,mBACE,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAJ,cAAC,CAAA,MAAA,EAAA,EAAK,SAAU,EAAA,SAAA,EAAU,QAAc,EAAA,gBAAA,EAAA,CAAA;AAAA,oBACxCA,cAAC,CAAA,KAAA,CAAM,IAAN,EAAA,EAAY,GAAG,KAAO,EAAA;AAAA,GACzB,EAAA,CAAA;AAEJ;ACRO,SAAS,QAAW,GAAA;AACzB,EACE,uBAAAA,eAAC,KAAI,EAAA,EAAA,SAAA,EAAU,gDACb,QAAAA,kBAAAA,cAAAA,CAAC,KAAI,EAAA,EAAA,SAAA,EAAU,4EACb,EAAA,QAAA,kBAAAA,eAAC,KAAI,EAAA,EAAA,SAAA,EAAU,4BACb,EAAA,QAAA,kBAAAA,cAAC,CAAA,GAAA,EAAA,EAAE,WAAU,oBAAqB,EAAA,QAAA,EAAA,0BAAA,EAAwB,CAC5D,EAAA,CAAA,EACF,CACF,EAAA,CAAA;AAEJ;ACFO,SAAS,UAAW,CAAA;AAAA,EACzB,SAAA;AAAA,EACA,WAAA;AAAA,cACAK;AACF,CAIG,EAAA;AACD,EAAA,MAAM,WAAWC,sBAAY,EAAA;AAE7B,EACE,uBAAAN,eAAC,KAAI,EAAA,EAAA,SAAA,EAAWH,uBAAK,sBAAwB,EAAA,SAAS,GACpD,QAAAG,kBAAAA,cAAAA,CAAC,QAAG,IAAK,EAAA,MAAA,EAAO,WAAU,qBACvB,EAAA,QAAA,EAAAK,YAAA,CAAW,IAAI,CAAC,OAAA,qBACfH,eAAAA,CAAC,IACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAF,cAAC,CAAA,IAAA,EAAA,EAAG,SAAU,EAAA,0DAAA,EACX,kBAAQ,KACX,EAAA,CAAA;AAAA,oBACAA,cAAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,IAAK,EAAA,MAAA;AAAA,QACL,SAAU,EAAA,2FAAA;AAAA,QAET,QAAA,EAAA,OAAA,CAAQ,KAAM,CAAA,GAAA,CAAI,CAAC,IAAA,qBAClBA,cAAC,CAAA,IAAA,EAAA,EAAmB,SAAU,EAAA,wCAAA,EAC5B,QAAAA,kBAAAA,cAAAA;AAAA,UAACG,sBAAAA;AAAA,UAAA;AAAA,YACC,MAAM,IAAK,CAAA,IAAA;AAAA,YACX,OAAS,EAAA,WAAA;AAAA,YACT,SAAWN,EAAAA,sBAAAA;AAAA,cACT,6EAAA;AAAA,cACA,uEAAA;AAAA,cACA,wBAAA;AAAA,cACA,sDAAA;AAAA,cACA,IAAA,CAAK,SAAS,QACZ,IAAA;AAAA,aACJ;AAAA,YAEC,QAAK,EAAA,IAAA,CAAA;AAAA;AAAA,SACR,EAAA,EAdO,IAAK,CAAA,IAed,CACD;AAAA;AAAA;AACH,GAAA,EAAA,EA1BO,OAAQ,CAAA,KA2BjB,CACD,CAAA,EACH,CACF,EAAA,CAAA;AAEJ;AChDA,SAAS,UAAU,KAA8C,EAAA;AAC/D,EAAA,uBACEG,cAAAA,CAAC,KAAI,EAAA,EAAA,OAAA,EAAQ,aAAY,aAAY,EAAA,MAAA,EAAQ,GAAG,KAAA,EAC9C,QAAAA,kBAAAA,cAAAA,CAAC,MAAK,EAAA,EAAA,CAAA,EAAE,mGAAkG,CAC5G,EAAA,CAAA;AAEJ;AAEA,SAAS,QAAS,CAAA;AAAA,EAChB,KAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAM,GAAA,MAAA;AAAA,EACN,GAAG;AACL,CAIG,EAAA;AACD,EAAA,uBACEE,eAAAA,CAAC,KAAK,EAAA,EAAA,GAAG,KACP,EAAA,QAAA,EAAA;AAAA,oBAAAF,eAAC,IAAG,EAAA,EAAA,SAAA,EAAU,mEACX,QAAQ,EAAA,GAAA,KAAA,MAAA,GAAS,SAAS,UAC7B,EAAA,CAAA;AAAA,oBACAA,cAAAA,CAAC,IAAG,EAAA,EAAA,SAAA,EAAU,QACZ,QAAAE,kBAAAA,eAAAA;AAAA,MAACC,sBAAAA;AAAA,MAAA;AAAA,QACC,IAAA;AAAA,QACA,SAAWN,EAAAA,sBAAAA;AAAA,UACT,qIAAA;AAAA,UACA,QAAQ,UAAc,IAAA;AAAA,SACxB;AAAA,QAEC,QAAA,EAAA;AAAA,UAAA,KAAA;AAAA,0BACDG,cAAAA;AAAA,YAAC,SAAA;AAAA,YAAA;AAAA,cACC,SAAWH,EAAAA,sBAAAA,CAAK,gCAAkC,EAAA,GAAA,KAAQ,cAAc,cAAc;AAAA;AAAA;AACxF;AAAA;AAAA,KAEJ,EAAA;AAAA,GACF,EAAA,CAAA;AAEJ;AAMO,SAAS,aAAA,CAAc,cAAEQ,YAAA,EAAkC,EAAA;AAChE,EAAA,MAAM,WAAWC,sBAAY,EAAA;AAC7B,EAAA,MAAM,WAAWD,YAAW,CAAA,OAAA,CAAQ,CAAC,OAAA,KAAY,QAAQ,KAAK,CAAA;AAC9D,EAAA,MAAM,YAAY,QAAS,CAAA,SAAA,CAAU,CAAC,IAAS,KAAA,IAAA,CAAK,SAAS,QAAQ,CAAA;AACrE,EAAA,MAAM,eAAe,SAAY,GAAA,EAAA,GAAK,QAAS,CAAA,SAAA,GAAY,CAAC,CAAI,GAAA,IAAA;AAChE,EAAA,MAAM,WAAW,SAAY,GAAA,EAAA,GAAK,QAAS,CAAA,SAAA,GAAY,CAAC,CAAI,GAAA,IAAA;AAE5D,EAAI,IAAA,CAAC,QAAY,IAAA,CAAC,YAAc,EAAA;AAC9B,IAAO,OAAA,IAAA;AAAA;AAGT,EAAA,uBACEH,eAAAA,CAAC,IAAG,EAAA,EAAA,SAAA,EAAU,iEACX,EAAA,QAAA,EAAA;AAAA,IAAA,YAAA,oBAAgBF,cAAC,CAAA,QAAA,EAAA,EAAS,GAAI,EAAA,UAAA,EAAY,GAAG,YAAc,EAAA,CAAA;AAAA,IAC3D,4BAAYA,cAAAA,CAAC,YAAS,SAAU,EAAA,oBAAA,EAAsB,GAAG,QAAU,EAAA;AAAA,GACtE,EAAA,CAAA;AAEJ;ACtDO,SAAS,eAAA,CAAgB,EAAE,eAAA,EAAyC,EAAA;AACzE,EAAM,MAAA,CAAC,gBAAgB,iBAAiB,CAAA,GAAIO,eAAS,eAAgB,CAAA,CAAC,GAAG,EAAE,CAAA;AAE3E,EAAMC,MAAAA,YAAAA,GAAcC,iBAAY,CAAA,CAACC,gBAA2C,KAAA;AAC1E,IAAOA,OAAAA,gBAAAA,CACJ,QAAQ,CAAC,IAAA,KAAS,CAAC,IAAK,CAAA,EAAA,EAAI,GAAG,IAAK,CAAA,QAAA,CAAS,IAAI,CAAC,KAAA,KAAU,MAAM,EAAE,CAAC,CAAC,CACtE,CAAA,GAAA,CAAI,CAAC,EAAO,KAAA;AACX,MAAM,MAAA,EAAA,GAAK,QAAS,CAAA,cAAA,CAAe,EAAE,CAAA;AACrC,MAAI,IAAA,CAAC,IAAW,OAAA,IAAA;AAEhB,MAAM,MAAA,KAAA,GAAQ,MAAO,CAAA,gBAAA,CAAiB,EAAE,CAAA;AACxC,MAAM,MAAA,QAAA,GAAW,UAAW,CAAA,KAAA,CAAM,eAAe,CAAA;AAEjD,MAAA,MAAM,MAAM,MAAO,CAAA,OAAA,GAAU,EAAG,CAAA,qBAAA,GAAwB,GAAM,GAAA,QAAA;AAC9D,MAAO,OAAA,EAAE,IAAI,GAAI,EAAA;AAAA,KAClB,CACA,CAAA,MAAA,CAAO,CAAC,CAAA,KAAwC,MAAM,IAAI,CAAA;AAAA,GAC/D,EAAG,EAAE,CAAA;AAEL,EAAAT,gBAAU,MAAM;AACd,IAAI,IAAA,eAAA,CAAgB,WAAW,CAAG,EAAA;AAClC,IAAM,MAAA,QAAA,GAAWO,aAAY,eAAe,CAAA;AAC5C,IAAA,SAAS,QAAW,GAAA;AAClB,MAAA,MAAM,MAAM,MAAO,CAAA,OAAA;AACnB,MAAI,IAAA,OAAA,GAAU,QAAS,CAAA,CAAC,CAAE,CAAA,EAAA;AAC1B,MAAA,KAAA,MAAW,WAAW,QAAU,EAAA;AAC9B,QAAI,IAAA,GAAA,IAAO,OAAQ,CAAA,GAAA,GAAM,EAAI,EAAA;AAC3B,UAAA,OAAA,GAAU,OAAQ,CAAA,EAAA;AAAA,SACb,MAAA;AACL,UAAA;AAAA;AACF;AAEF,MAAA,iBAAA,CAAkB,OAAO,CAAA;AAAA;AAE3B,IAAA,MAAA,CAAO,iBAAiB,QAAU,EAAA,QAAA,EAAU,EAAE,OAAA,EAAS,MAAM,CAAA;AAC7D,IAAS,QAAA,EAAA;AACT,IAAA,OAAO,MAAM;AACX,MAAO,MAAA,CAAA,mBAAA,CAAoB,UAAU,QAAQ,CAAA;AAAA,KAC/C;AAAA,GACC,EAAA,CAACA,YAAa,EAAA,eAAe,CAAC,CAAA;AAEjC,EAAA,SAAS,SAAS,OAA8B,EAAA;AAC9C,IAAI,IAAA,OAAA,CAAQ,OAAO,cAAgB,EAAA;AACjC,MAAO,OAAA,IAAA;AAAA;AAET,IAAI,IAAA,CAAC,QAAQ,QAAU,EAAA;AACrB,MAAO,OAAA,KAAA;AAAA;AAET,IAAA,OAAO,OAAQ,CAAA,QAAA,CAAS,SAAU,CAAA,QAAQ,CAAI,GAAA,EAAA;AAAA;AAGhD,EAAA,uBACER,cAAC,CAAA,KAAA,EAAA,EAAI,WAAU,iIACb,EAAA,QAAA,kBAAAA,eAAC,KAAI,EAAA,EAAA,iBAAA,EAAgB,oBAAqB,EAAA,SAAA,EAAU,QACjD,QAAgB,EAAA,eAAA,CAAA,MAAA,GAAS,qBACxBE,eAAAA,CAAAE,qBAAA,EACE,QAAA,EAAA;AAAA,oBAAAJ,cAAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,EAAG,EAAA,oBAAA;AAAA,QACH,SAAU,EAAA,iEAAA;AAAA,QACX,QAAA,EAAA;AAAA;AAAA,KAED;AAAA,oBACAA,cAAAA,CAAC,IAAG,EAAA,EAAA,IAAA,EAAK,MAAO,EAAA,SAAA,EAAU,wBACvB,EAAA,QAAA,EAAA,eAAA,CAAgB,GAAI,CAAA,CAAC,OACpB,qBAAAE,gBAAC,IACC,EAAA,EAAA,QAAA,EAAA;AAAA,sBAAAF,cAAAA,CAAC,QACC,QAAAA,kBAAAA,cAAAA;AAAA,QAACG,sBAAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAM,CAAI,CAAA,EAAA,OAAA,CAAQ,EAAE,CAAA,CAAA;AAAA,UACpB,SAAWN,EAAAA,sBAAAA;AAAA,YACT,QAAA,CAAS,OAAO,CAAA,GACZ,4BACA,GAAA;AAAA,WACN;AAAA,UAEC,QAAQ,EAAA,OAAA,CAAA;AAAA;AAAA,OAEb,EAAA,CAAA;AAAA,MACC,OAAQ,CAAA,QAAA,CAAS,MAAS,GAAA,CAAA,oBACzBG,cAAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,IAAK,EAAA,MAAA;AAAA,UACL,SAAU,EAAA,wDAAA;AAAA,UAET,QAAA,EAAA,OAAA,CAAQ,SAAS,GAAI,CAAA,CAAC,+BACrBA,cAAAA,CAAC,QACC,QAAAA,kBAAAA,cAAAA;AAAA,YAACG,sBAAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAM,CAAI,CAAA,EAAA,UAAA,CAAW,EAAE,CAAA,CAAA;AAAA,cACvB,SACE,EAAA,QAAA,CAAS,UAAU,CAAA,GACf,kCACA,GAAA,gDAAA;AAAA,cAGL,QAAW,EAAA,UAAA,CAAA;AAAA;AAAA,WACd,EAAA,EAVO,UAAW,CAAA,EAWpB,CACD;AAAA;AAAA;AACH,KAhCK,EAAA,EAAA,OAAA,CAAQ,EAkCjB,CACD,CACH,EAAA;AAAA,GAAA,EACF,GAEJ,CACF,EAAA,CAAA;AAEJ;ACnHO,SAAS,aAAgB,GAAA;AAC9B,EAAA,MAAM,EAAE,aAAA,EAAe,QAAS,EAAA,GAAIQ,mBAAS,EAAA;AAC7C,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAIJ,eAAS,KAAK,CAAA;AAE5C,EAAA,MAAM,OAAU,GAAA,iDAAA;AAGhB,EAAAN,gBAAU,MAAM;AACd,IAAA,UAAA,CAAW,IAAI,CAAA;AAAA,GACjB,EAAG,EAAE,CAAA;AAEL,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAA,uBACED,cAAC,CAAA,MAAA,EAAA,EAAO,SAAQ,OAAQ,EAAA,IAAA,EAAK,QAAO,SAAU,EAAA,WAAA,EAAY,QAAQ,EAAA,IAAA,EAChE,0BAAAA,cAAC,CAAA,KAAA,CAAM,YAAN,EAAiB,SAAA,EAAW,SAAS,CACxC,EAAA,CAAA;AAAA;AAIJ,EAAA,uBACEE,eAAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,OAAQ,EAAA,SAAA;AAAA,MACR,IAAK,EAAA,MAAA;AAAA,MACL,SAAU,EAAA,0BAAA;AAAA,MACV,SAAS,MAAM,QAAA,CAAS,aAAkB,KAAA,MAAA,GAAS,UAAU,MAAM,CAAA;AAAA,MACnE,YAAY,EAAA,CAAA,UAAA,EAAa,aAAkB,KAAA,MAAA,GAAS,UAAU,MAAM,CAAA,MAAA,CAAA;AAAA,MAEnE,QAAA,EAAA;AAAA,QAAA,aAAA,KAAkB,MACjB,mBAAAF,cAAC,CAAA,KAAA,CAAM,YAAN,EAAiB,SAAA,EAAW,OAAS,EAAA,CAAA,mBAEtCA,cAAC,CAAA,KAAA,CAAM,SAAN,EAAA,EAAgB,WAAW,OAAS,EAAA,CAAA;AAAA,wBAEvCA,eAAC,MAAK,EAAA,EAAA,SAAA,EAAU,WACb,QAAkB,EAAA,aAAA,KAAA,MAAA,GAAS,0BAA0B,sBACxD,EAAA;AAAA;AAAA;AAAA,GACF;AAEJ;ACxCA,SAAS,WAAY,CAAA,EAAE,GAAG,KAAA,EAAiE,EAAA;AACzF,EAAA,uBAAOA,cAAsB,CAAAY,+BAAA,CAAA,IAAA,EAArB,EAA0B,WAAU,EAAA,aAAA,EAAe,GAAG,KAAO,EAAA,CAAA;AACvE;AAEA,SAASC,mBAAmB,CAAA;AAAA,EAC1B,GAAG;AACL,CAAyE,EAAA;AACvE,EAAA,uBAAOb,cAAsB,CAAAY,+BAAA,CAAA,kBAAA,EAArB,EAAwC,WAAU,EAAA,qBAAA,EAAuB,GAAG,KAAO,EAAA,CAAA;AAC7F;AAEA,SAASE,mBAAmB,CAAA;AAAA,EAC1B,GAAG;AACL,CAAyE,EAAA;AACvE,EAAA,uBAAOd,cAAsB,CAAAY,+BAAA,CAAA,kBAAA,EAArB,EAAwC,WAAU,EAAA,qBAAA,EAAuB,GAAG,KAAO,EAAA,CAAA;AAC7F;ACAO,SAAS,iBAAkB,CAAA;AAAA,EAChC,SAAA;AAAA,EACA,WAAA;AAAA,cACAP;AACF,CAIG,EAAA;AACD,EAAA,MAAM,WAAWC,sBAAY,EAAA;AAE7B,EACE,uBAAAN,eAAC,KAAI,EAAA,EAAA,SAAA,EAAWH,uBAAK,sBAAwB,EAAA,SAAS,CACpD,EAAA,QAAA,kBAAAG,cAAC,CAAA,IAAA,EAAA,EAAG,MAAK,MAAO,EAAA,SAAA,EAAU,uBACvB,QAAW,EAAAK,YAAA,CAAA,GAAA,CAAI,CAAC,OAAS,EAAA,YAAA,qBACxBH,eAAAA,CAAC,IACC,EAAA,EAAA,QAAA,EAAA;AAAA,oBAAAF,cAAC,CAAA,IAAA,EAAA,EAAG,SAAU,EAAA,0DAAA,EACX,kBAAQ,KACX,EAAA,CAAA;AAAA,oBACAA,cAAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,IAAK,EAAA,MAAA;AAAA,QACL,SAAU,EAAA,2FAAA;AAAA,QAET,QAAQ,EAAA,OAAA,CAAA,KAAA,CAAM,GAAI,CAAA,CAAC,yBAClBA,cAAAA;AAAA,UAAC,WAAA;AAAA,UAAA;AAAA,YAEC,IAAA;AAAA,YACA,QAAA;AAAA,YACA,WAAA,EAAa,gBAAgB,MAAM;AAAA,aAAC,CAAA;AAAA,YACpC,KAAO,EAAA;AAAA,WAAA;AAAA,UAJF,IAAK,CAAA;AAAA,SAMb;AAAA;AAAA;AACH,GAjBO,EAAA,EAAA,YAkBT,CACD,CAAA,EACH,CACF,EAAA,CAAA;AAEJ;AAEA,SAAS,YAAY,EAAE,IAAA,EAAM,QAAU,EAAA,WAAA,EAAa,OAA2B,EAAA;AAC7E,EAAM,MAAA,WAAA,GAAc,MAAM,OAAQ,CAAA,IAAA,CAAK,KAAK,CAAK,IAAA,IAAA,CAAK,MAAM,MAAS,GAAA,CAAA;AACrE,EAAM,MAAA,QAAA,GAAW,aAAa,IAAK,CAAA,IAAA;AAEnC,EAAA,MAAM,eAAkBH,GAAAA,sBAAAA;AAAA,IACtB,gGAAA;AAAA,IACA,2FAAA;AAAA,IACA,6EAAA;AAAA,IACA,QACE,IAAA;AAAA,GACJ;AAEA,EAAA,uBACEG,cAAAA,CAAC,IAAG,EAAA,EAAA,SAAA,EAAU,wCACX,EAAA,QAAA,EAAA,WAAA,mBACCE,eAAAA,CAAC,WAAY,EAAA,EAAA,SAAA,EAAU,QAAS,EAAA,WAAA,EAAa,QAC3C,EAAA,QAAA,EAAA;AAAA,oBAAAF,cAACa,CAAAA,mBAAAA,EAAA,EAAmB,OAAA,EAAO,MACzB,QAAAX,kBAAAA,eAAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAWL,sBAAK,CAAA,eAAA,EAAiB,+CAA+C,CAAA;AAAA,QAEhF,QAAA,EAAA;AAAA,0BAAAG,cAAAA,CAAC,MAAM,EAAA,EAAA,QAAA,EAAA,IAAA,CAAK,KAAM,EAAA,CAAA;AAAA,0BAClBA,cAAAA;AAAA,YAAC,KAAM,CAAA,aAAA;AAAA,YAAN;AAAA,cACC,SAAWH,EAAAA,sBAAAA;AAAA,gBACT,+CAAA;AAAA,gBACA;AAAA;AACF;AAAA;AACF;AAAA;AAAA,KAEJ,EAAA,CAAA;AAAA,oBACAG,cAAAA,CAACc,mBAAA,EAAA,EACC,QAAAd,kBAAAA,cAAAA;AAAA,MAAC,IAAA;AAAA,MAAA;AAAA,QACC,SAAWH,EAAAA,sBAAAA;AAAA,UACT;AAAA,SACF;AAAA,QAEC,eAAK,KACJ,IAAA,IAAA,CAAK,MAAM,GAAI,CAAA,CAAC,8BACdG,cAAAA;AAAA,UAAC,WAAA;AAAA,UAAA;AAAA,YAEC,IAAM,EAAA,SAAA;AAAA,YACN,QAAA;AAAA,YACA,WAAA;AAAA,YACA,OAAO,KAAQ,GAAA;AAAA,WAAA;AAAA,UAJV,SAAU,CAAA;AAAA,SAMlB;AAAA;AAAA,KAEP,EAAA;AAAA,GAAA,EACF,CAEA,mBAAAA,cAAC,CAAAe,sBAAA,EAAA,EAAS,IAAM,EAAA,IAAA,CAAK,IAAM,EAAA,OAAA,EAAS,WAAa,EAAA,SAAA,EAAW,eACzD,EAAA,QAAA,EAAA,IAAA,CAAK,OACR,CAEJ,EAAA,CAAA;AAEJ;AC1GA,SAAS,IAAK,CAAA,EAAE,SAAW,EAAA,GAAG,OAA0D,EAAA;AACtF,EAAA,uBACEf,cAAAA;AAAA,IAAegB,wBAAA,CAAA,IAAA;AAAA,IAAd;AAAA,MACC,WAAU,EAAA,MAAA;AAAA,MACV,SAAA,EAAW,EAAG,CAAA,qBAAA,EAAuB,SAAS,CAAA;AAAA,MAC7C,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,QAAS,CAAA,EAAE,SAAW,EAAA,GAAG,OAA0D,EAAA;AAC1F,EAAA,uBACEhB,cAAAA;AAAA,IAAegB,wBAAA,CAAA,IAAA;AAAA,IAAd;AAAA,MACC,WAAU,EAAA,WAAA;AAAA,MACV,SAAW,EAAA,EAAA;AAAA,QACT,qGAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAY,CAAA,EAAE,SAAW,EAAA,GAAG,OAA6D,EAAA;AAChG,EAAA,uBACEhB,cAAAA;AAAA,IAAegB,wBAAA,CAAA,OAAA;AAAA,IAAd;AAAA,MACC,WAAU,EAAA,cAAA;AAAA,MACV,SAAW,EAAA,EAAA;AAAA,QACT,iqBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAY,CAAA,EAAE,SAAW,EAAA,GAAG,OAA6D,EAAA;AAChG,EAAA,uBACEhB,cAAAA;AAAA,IAAegB,wBAAA,CAAA,OAAA;AAAA,IAAd;AAAA,MACC,WAAU,EAAA,cAAA;AAAA,MACV,SAAA,EAAW,EAAG,CAAA,qBAAA,EAAuB,SAAS,CAAA;AAAA,MAC7C,GAAG;AAAA;AAAA,GACN;AAEJ;AC/CO,SAAS,aAAc,CAAA,EAAE,QAAU,EAAA,GAAG,OAA6B,EAAA;AACxE,EAAA,uBAAOhB,cAAAA,CAACiB,wBAAoB,EAAA,EAAA,GAAG,OAAQ,QAAS,EAAA,CAAA;AAClD;ACIA,IAAM,aAAaC,mBAA8B,CAAA;AAAA,EAC/C,GAAK,EAAA,IAAA;AAAA,EACL,QAAQ,MAAM;AAAA;AAChB,CAAC,CAAA;AAEM,SAAS,WAAA,CAAY,EAAE,QAAA,EAAqC,EAAA;AACjE,EAAA,MAAM,CAAC,GAAA,EAAK,MAAM,CAAA,GAAIX,eAAS,IAAI,CAAA;AACnC,EAAO,uBAAAP,cAAC,CAAA,UAAA,CAAW,QAAX,EAAA,EAAoB,OAAO,EAAE,GAAA,EAAK,MAAO,EAAA,EAAI,QAAS,EAAA,CAAA;AAChE;ACAO,SAAS,YAAY,IAAwC,EAAA;AAClE,EAAA,IAAI,IAAO,GAAA,EAAA;AAEX,EAAA,KAAA,MAAW,KAAS,IAAA,IAAA,CAAK,QAAY,IAAA,EAAI,EAAA;AACvC,IAAA,IAAI,MAAU,IAAA,KAAA,IAAS,KAAM,CAAA,IAAA,KAAS,MAAQ,EAAA;AAC5C,MAAQ,IAAA,IAAA,KAAA,CAAM,YAAY,OAAW,IAAA,EAAA;AAAA,KACvC,MAAA,IAAW,iBAAiB,WAAa,EAAA;AACvC,MAAA,IAAA,IAAQ,YAAY,KAAK,CAAA;AAAA;AAC3B;AAGF,EAAO,OAAA,IAAA;AACT;AAEO,SAAS,YAAY,IAAwB,EAAA;AAClD,EAAI,IAAA,IAAA,CAAK,QAAa,KAAA,IAAA,CAAK,SAAW,EAAA;AACpC,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,MAAA;AAAA,MACN,UAAY,EAAA;AAAA,QACV,OAAA,EAAS,KAAK,WAAe,IAAA;AAAA;AAC/B,KACF;AAAA;AAGF,EAAI,IAAA,IAAA,CAAK,QAAa,KAAA,IAAA,CAAK,YAAc,EAAA;AACvC,IAAO,OAAA;AAAA,MACL,IAAA,EAAM,IAAK,CAAA,QAAA,CAAS,WAAY,EAAA;AAAA,MAChC,YAAY,EAAC;AAAA,MACb,UAAU,KAAM,CAAA,IAAA,CAAK,KAAK,UAAU,CAAA,CAAE,IAAI,WAAW;AAAA,KACvD;AAAA;AAGF,EAAI,IAAA,IAAA,CAAK,QAAa,KAAA,IAAA,CAAK,YAAc,EAAA;AACvC,IAAO,OAAA;AAAA,MACL,IAAM,EAAA,SAAA;AAAA,MACN,YAAY;AAAC,KACf;AAAA;AAGF,EAAM,MAAA,IAAI,MAAM,uBAAuB,CAAA;AACzC;AAEO,SAAS,WAAA,CAAYmB,SAAU,GAAAC,0BAAA,EAAsB,EAAA;AAC1D,EAAM,MAAA,OAAA,GAAU,QAAS,CAAA,aAAA,CAAc,SAAS,CAAA;AAChD,EAAA,IAAI,CAAC,OAAS,EAAA;AACZ,IAAA,OAAO,EAAC;AAAA;AAEV,EAAA,MAAM,WAAW,KAAM,CAAA,IAAA,CAAK,OAAQ,CAAA,gBAAA,CAAiB,oBAAoB,CAAC,CAAA;AAE1E,EAAA,MAAM,SAAwB,EAAC;AAC/B,EAAA,MAAM,QAAuB,EAAC;AAE9B,EAAS,QAAA,CAAA,OAAA,CAAQ,CAAC,EAAO,KAAA;AACvB,IAAM,MAAA,cAAA,GAAiB,YAAY,EAAE,CAAA;AACrC,IAAA,MAAM,KAAQ,GAAA,WAAA,CAAY,cAAc,CAAA,CAAE,IAAK,EAAA;AAC/C,IAAM,MAAA,cAAA,GAAiBD,UAAQ,KAAK,CAAA;AACpC,IAAM,MAAA,EAAA,GAAK,GAAG,EAAM,IAAA,cAAA;AAEpB,IAAA,MAAM,KAAQ,GAAA,QAAA,CAAS,EAAG,CAAA,OAAA,CAAQ,CAAC,CAAC,CAAA;AACpC,IAAA,MAAM,OAAO,EAAE,KAAA,EAAO,IAAI,KAAO,EAAA,QAAA,EAAU,EAAG,EAAA;AAE9C,IAAA,IAAI,CAAC,EAAA,CAAG,EAAI,EAAA,EAAA,CAAG,EAAK,GAAA,EAAA;AAEpB,IAAA,IAAI,UAAU,CAAG,EAAA;AACf,MAAA,MAAA,CAAO,KAAK,IAAI,CAAA;AAChB,MAAA,KAAA,CAAM,MAAS,GAAA,CAAA;AACf,MAAA,KAAA,CAAM,KAAK,IAAI,CAAA;AAAA,KACV,MAAA;AACL,MAAO,OAAA,KAAA,CAAM,UAAU,KAAM,CAAA,KAAA,CAAM,SAAS,CAAC,CAAA,CAAE,SAAS,KAAO,EAAA;AAC7D,QAAA,KAAA,CAAM,GAAI,EAAA;AAAA;AAEZ,MAAA,IAAI,MAAM,MAAQ,EAAA;AAChB,QAAA,KAAA,CAAM,MAAM,MAAS,GAAA,CAAC,CAAE,CAAA,QAAA,CAAS,KAAK,IAAI,CAAA;AAAA;AAE5C,MAAA,KAAA,CAAM,KAAK,IAAI,CAAA;AAAA;AACjB,GACD,CAAA;AAED,EAAO,OAAA,MAAA;AACT","file":"index.cjs","sourcesContent":["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","'use client'\n\nimport * as React from 'react'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'class-variance-authority'\n\nimport { cn } from '../lib/utils'\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-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\n destructive:\n 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline:\n 'border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50',\n secondary: 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',\n link: 'text-primary underline-offset-4 hover:underline',\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 { 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'\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","'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 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 { 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 { 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 * as CollapsiblePrimitive from '@radix-ui/react-collapsible'\n\nfunction Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot='collapsible' {...props} />\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n return <CollapsiblePrimitive.CollapsibleTrigger data-slot='collapsible-trigger' {...props} />\n}\n\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n return <CollapsiblePrimitive.CollapsibleContent data-slot='collapsible-content' {...props} />\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n","'use client'\n\nimport * as React from 'react'\nimport clsx from 'clsx'\nimport { usePathname } from 'next/navigation'\nimport NextLink from 'next/link'\n\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../components/Collapsible'\nimport { Icons } from '../components/Icons'\nimport { Link, NavigationSection } from '../types/types'\n\ntype SidebarLinkProps = {\n link: Link\n pathname: string\n onLinkClick?: React.MouseEventHandler<HTMLAnchorElement>\n depth: number\n}\n\nexport function SidebarNavigation({\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, sectionIndex) => (\n <li key={sectionIndex}>\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 <SidebarLink\n key={link.href}\n link={link}\n pathname={pathname}\n onLinkClick={onLinkClick || (() => {})}\n depth={1}\n />\n ))}\n </ul>\n </li>\n ))}\n </ul>\n </nav>\n )\n}\n\nfunction SidebarLink({ link, pathname, onLinkClick, depth }: SidebarLinkProps) {\n const hasChildren = Array.isArray(link.links) && link.links.length > 0\n const isActive = pathname === link.href\n\n const baseLinkClasses = clsx(\n 'border-l pl-4 pr-2 text-base/8 sm:text-sm/6 w-full text-left py-1 rounded-r-md cursor-pointer',\n 'hover:border-nsw-grey-950 hover:text-nsw-gray-950 hover:font-semibold hover:bg-primary/10',\n 'dark:text-nsw-grey-400 dark:hover:border-nsw-grey-400 dark:hover:text-white',\n isActive &&\n 'border-primary text-primary font-bold dark:border-white bg-nsw-sky-100 dark:bg-nsw-sky-900/20',\n )\n\n return (\n <li className='-ml-px flex flex-col items-start gap-1'>\n {hasChildren ? (\n <Collapsible className='w-full' defaultOpen={isActive}>\n <CollapsibleTrigger asChild>\n <button\n className={clsx(baseLinkClasses, 'group flex items-center justify-between gap-1')}\n >\n <span>{link.title}</span>\n <Icons.chevron_right\n className={clsx(\n 'ml-2 size-5 transition-transform duration-200',\n 'group-data-[state=open]:rotate-90',\n )}\n />\n </button>\n </CollapsibleTrigger>\n <CollapsibleContent>\n <ul\n className={clsx(\n 'border-nsw-grey-400 dark:border-nsw-grey-200/15 mt-2 ml-5 flex flex-col gap-1 border-l pl-0',\n )}\n >\n {link.links &&\n link.links.map((childLink: Link) => (\n <SidebarLink\n key={childLink.href}\n link={childLink}\n pathname={pathname}\n onLinkClick={onLinkClick}\n depth={depth + 1}\n />\n ))}\n </ul>\n </CollapsibleContent>\n </Collapsible>\n ) : (\n <NextLink href={link.href} onClick={onLinkClick} className={baseLinkClasses}>\n {link.title}\n </NextLink>\n )}\n </li>\n )\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as TabsPrimitive from '@radix-ui/react-tabs'\n\nimport { cn } from '../lib/utils'\n\nfunction Tabs({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Root>) {\n return (\n <TabsPrimitive.Root\n data-slot='tabs'\n className={cn('flex flex-col gap-2', className)}\n {...props}\n />\n )\n}\n\nfunction TabsList({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.List>) {\n return (\n <TabsPrimitive.List\n data-slot='tabs-list'\n className={cn(\n 'bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]',\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TabsTrigger({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Trigger>) {\n return (\n <TabsPrimitive.Trigger\n data-slot='tabs-trigger'\n className={cn(\n \"data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n )\n}\n\nfunction TabsContent({ className, ...props }: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot='tabs-content'\n className={cn('flex-1 outline-none', className)}\n {...props}\n />\n )\n}\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\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","// context/TocContext.tsx\n'use client'\n\nimport { createContext, useContext, useState, ReactNode, Dispatch, SetStateAction } from 'react'\n\ninterface TocContextType {\n toc: boolean\n setToc: Dispatch<SetStateAction<boolean>>\n}\n\nconst TocContext = createContext<TocContextType>({\n toc: true,\n setToc: () => {},\n})\n\nexport function TocProvider({ children }: { children: ReactNode }) {\n const [toc, setToc] = useState(true)\n return <TocContext.Provider value={{ toc, setToc }}>{children}</TocContext.Provider>\n}\n\nexport function useToc() {\n return useContext(TocContext)\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 if (node.nodeType === Node.COMMENT_NODE) {\n return {\n type: 'comment',\n attributes: {},\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"]}
package/dist/index.d.cts CHANGED
@@ -1,8 +1,11 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime'
2
2
  import * as class_variance_authority_types from 'class-variance-authority/types'
3
3
  import * as React$1 from 'react'
4
- import React__default from 'react'
4
+ import React__default, { ReactNode } from 'react'
5
5
  import { VariantProps } from 'class-variance-authority'
6
+ import * as CollapsiblePrimitive from '@radix-ui/react-collapsible'
7
+ import * as TabsPrimitive from '@radix-ui/react-tabs'
8
+ import { ThemeProviderProps } from 'next-themes'
6
9
  import { ClassValue } from 'clsx'
7
10
  import * as _sindresorhus_slugify from '@sindresorhus/slugify'
8
11
 
@@ -98,6 +101,15 @@ declare const Icons: {
98
101
  west: (props: IconProps) => react_jsx_runtime.JSX.Element
99
102
  }
100
103
 
104
+ declare function Logo(props: React.ComponentPropsWithoutRef<'svg'>): react_jsx_runtime.JSX.Element
105
+
106
+ declare function Masthead(): react_jsx_runtime.JSX.Element
107
+
108
+ type Link = {
109
+ href: string
110
+ title: string
111
+ links?: Link[]
112
+ }
101
113
  interface ColorData {
102
114
  oklch: string
103
115
  hex: string
@@ -162,22 +174,6 @@ type NavigationSection = {
162
174
  }[]
163
175
  }
164
176
 
165
- declare const defaultNavigation: NavigationSection[]
166
- interface LayoutProps {
167
- children: React__default.ReactNode
168
- sitename?: string
169
- navigation?: NavigationSection[]
170
- }
171
- declare function Layout({
172
- children,
173
- sitename,
174
- navigation,
175
- }: LayoutProps): react_jsx_runtime.JSX.Element
176
-
177
- declare function Logo(props: React.ComponentPropsWithoutRef<'svg'>): react_jsx_runtime.JSX.Element
178
-
179
- declare function Masthead(): react_jsx_runtime.JSX.Element
180
-
181
177
  declare function Navigation({
182
178
  className,
183
179
  onLinkClick,
@@ -209,6 +205,44 @@ declare function TableOfContents({
209
205
 
210
206
  declare function ThemeSwitcher(): react_jsx_runtime.JSX.Element
211
207
 
208
+ declare function Collapsible({
209
+ ...props
210
+ }: React.ComponentProps<typeof CollapsiblePrimitive.Root>): react_jsx_runtime.JSX.Element
211
+
212
+ declare function SidebarNavigation({
213
+ className,
214
+ onLinkClick,
215
+ navigation,
216
+ }: {
217
+ className?: string
218
+ onLinkClick?: React$1.MouseEventHandler<HTMLAnchorElement>
219
+ navigation: NavigationSection[]
220
+ }): react_jsx_runtime.JSX.Element
221
+
222
+ declare function Tabs({
223
+ className,
224
+ ...props
225
+ }: React$1.ComponentProps<typeof TabsPrimitive.Root>): react_jsx_runtime.JSX.Element
226
+ declare function TabsList({
227
+ className,
228
+ ...props
229
+ }: React$1.ComponentProps<typeof TabsPrimitive.List>): react_jsx_runtime.JSX.Element
230
+ declare function TabsTrigger({
231
+ className,
232
+ ...props
233
+ }: React$1.ComponentProps<typeof TabsPrimitive.Trigger>): react_jsx_runtime.JSX.Element
234
+ declare function TabsContent({
235
+ className,
236
+ ...props
237
+ }: React$1.ComponentProps<typeof TabsPrimitive.Content>): react_jsx_runtime.JSX.Element
238
+
239
+ declare function ThemeProvider({
240
+ children,
241
+ ...props
242
+ }: ThemeProviderProps): react_jsx_runtime.JSX.Element
243
+
244
+ declare function TocProvider({ children }: { children: ReactNode }): react_jsx_runtime.JSX.Element
245
+
212
246
  declare function cn(...inputs: ClassValue[]): string
213
247
  declare function truncate(text: string, maxLength: number): string
214
248
  declare function kebabCase(str: string): string
@@ -234,6 +268,7 @@ declare function getHeadings(slugify?: _sindresorhus_slugify.CountableSlugify):
234
268
 
235
269
  export {
236
270
  Button,
271
+ Collapsible,
237
272
  type ColorData,
238
273
  type ColorsDisplayProps,
239
274
  type ColourOutputProps,
@@ -244,21 +279,27 @@ export {
244
279
  type Format,
245
280
  type HeadingNode,
246
281
  Icons,
247
- Layout,
282
+ type Link,
248
283
  Logo,
249
284
  Masthead,
250
285
  Navigation,
251
286
  type NavigationSection,
252
287
  type Output,
253
288
  PrevNextLinks,
289
+ SidebarNavigation,
254
290
  type SimpleNode,
255
291
  type StructuredColor,
256
292
  TableOfContents,
293
+ Tabs,
294
+ TabsContent,
295
+ TabsList,
296
+ TabsTrigger,
297
+ ThemeProvider,
257
298
  ThemeSwitcher,
299
+ TocProvider,
258
300
  type Variant,
259
301
  camelCase,
260
302
  cn,
261
- defaultNavigation,
262
303
  domToSimple,
263
304
  getHeadings,
264
305
  getNodeText,