@popgrids/ui 0.0.31 → 0.0.33

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/banner-notification/banner-notification.tsx","../src/components/loader/loader.tsx","../src/components/button/button.tsx","../src/components/button-link/button-link.tsx","../src/components/content-block/content-block.tsx","../src/components/checkbox/checkbox.tsx","../src/components/default-header/default-header.tsx","../src/components/dialog/dialog.tsx","../src/components/dropdown-menu/dropdown-menu.tsx","../src/components/footer/footer.tsx","../src/components/input/input.tsx","../src/components/textarea/textarea.tsx","../src/components/input-group/input-group.tsx","../src/components/label/label.tsx","../src/components/logo/logo.tsx","../src/components/notification-badge/notification-badge.tsx","../src/components/section-flourish/section-flourish.tsx","../src/components/tooltip/tooltip.tsx","../src/components/section-header/section-header.tsx","../src/components/tag/tag.tsx","../src/components/template-header/template-header.tsx"],"names":["twMerge","clsx","cva","jsxs","jsx","loaderVariants","Fragment","ButtonPrimitive","CheckboxPrimitive","Check","DialogPrimitive","XClose","MenuPrimitive","ChevronRight","InputPrimitive","useRender","mergeProps","TooltipPrimitive","InfoCircle"],"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","import { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { BannerNotificationProps } from \"./types\";\n\nconst bannerNotificationVariants = cva(\n \"flex items-start gap-3 rounded-[6px] px-4 py-3 w-full w-[360px] border-border border\",\n {\n variants: {\n variant: {\n info: \"\",\n },\n theme: {\n error: \"bg-warning-100 dark:bg-warning-200/16\",\n highlight: \"bg-success-50 dark:bg-white/0\",\n },\n },\n defaultVariants: {\n variant: \"info\",\n theme: \"highlight\",\n },\n },\n);\n\nfunction BannerNotification({\n className,\n children,\n variant = \"info\",\n theme = \"highlight\",\n image,\n ...props\n}: BannerNotificationProps & VariantProps<typeof bannerNotificationVariants>) {\n return (\n <div\n data-slot=\"banner-notification\"\n className={cn(bannerNotificationVariants({ variant, theme }), className)}\n {...props}\n >\n {image && <div className=\"flex shrink-0 items-start [&>svg]:size-5\">{image}</div>}\n {children != null && <div className=\"min-w-0 flex-1 text-sm\">{children}</div>}\n </div>\n );\n}\n\nexport { BannerNotification };\n","\"use client\";\n\nimport { cva } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { LoaderProps } from \"./types\";\n\nconst loaderVariants = cva(\"flex shrink-0 items-center justify-center\", {\n variants: {\n theme: {\n default: \"[--loader-foreground:var(--foreground)] [--loader-background:var(--foreground)]\",\n reversed: \"[--loader-foreground:var(--background)] [--loader-background:var(--foreground)]\",\n black:\n \"[--loader-foreground:var(--color-brand-midnight-900)] [--loader-background:var(--color-grayscale-300)]\",\n white:\n \"[--loader-foreground:var(--color-grayscale-300)] [--loader-background:var(--color-brand-midnight-900)]\",\n },\n variant: {\n spinner: \"size-5 motion-reduce:animate-none\",\n loader: \"relative flex h-[13px] w-[23px] motion-reduce:animate-none\",\n },\n },\n defaultVariants: {\n theme: \"default\",\n variant: \"spinner\",\n },\n});\n\nconst spinnerFgVariants = cva(\"\", {\n variants: {\n theme: {\n default: \"fill-foreground opacity-[0.06]\",\n reversed: \"fill-white opacity-10\",\n black: \"fill-black opacity-[0.04]\",\n white: \"fill-white opacity-[0.04]\",\n },\n },\n});\n\nconst spinnerBgVariants = cva(\"\", {\n variants: {\n theme: {\n default: \"fill-foreground\",\n reversed: \"fill-background\",\n black: \"fill-black opacity-[0.98]\",\n white: \"fill-white opacity-[0.98]\",\n },\n },\n});\n\nfunction Loader({\n theme = \"default\",\n variant = \"spinner\",\n className,\n style,\n ...props\n}: LoaderProps) {\n const dotCount = 21;\n\n return (\n <div\n data-slot=\"loader\"\n className={cn(\n loaderVariants({ theme, variant }),\n variant === \"spinner\" && \"animate-spin\",\n className,\n )}\n {...props}\n >\n {variant === \"spinner\" ? (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <title>Loading spinner</title>\n <g clipPath=\"url(#pop_loader_clip_path)\">\n <path\n className={spinnerFgVariants({ theme })}\n d=\"M20 10C20 15.5137 15.5137 20 10 20C4.48628 20 6.78126e-07 15.5137 4.37114e-07 10C1.96101e-07 4.48627 4.48627 3.50301e-07 10 1.09288e-07C15.5137 -1.31724e-07 20 4.48627 20 10ZM2.35294 10C2.35294 14.2196 5.78039 17.6471 10 17.6471C14.2196 17.6471 17.6471 14.2196 17.6471 10C17.6471 5.78039 14.2196 2.35294 10 2.35294C5.78039 2.35294 2.35294 5.78039 2.35294 10Z\"\n />\n <path\n className={spinnerBgVariants({ theme })}\n d=\"M20 10L17.6471 10C17.6471 5.78039 14.2196 2.35294 10 2.35294L10 7.10315e-07C15.5137 4.69302e-07 20 4.48627 20 10Z\"\n />\n </g>\n <defs>\n <clipPath id=\"pop_loader_clip_path\">\n <rect\n width=\"20\"\n height=\"20\"\n fill=\"white\"\n transform=\"translate(8.74228e-07 20) rotate(-90)\"\n />\n </clipPath>\n </defs>\n </svg>\n ) : (\n Array.from({ length: dotCount }, (_, index) => {\n const delaySeconds = index * 0.035;\n return (\n <div\n // biome-ignore lint/suspicious/noArrayIndexKey: static ordered list\n key={index}\n className=\"absolute top-0 size-[3px] animate-loader-wave rounded-full bg-grayscale-200 motion-reduce:animate-none dark:bg-grayscale-700\"\n style={{\n left: `${index}px`,\n animationDelay: `${delaySeconds}s`,\n }}\n />\n );\n })\n )}\n </div>\n );\n}\n\nexport { Loader };\n","\"use client\";\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport { cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Loader, type LoaderProps } from \"../loader\";\nimport type { ButtonProps } from \"./types\";\n\nconst buttonVariants = cva(\n \"inline-flex relative items-center gap-1.5 whitespace-nowrap font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 text-foreground bg-background group/button outline-none focus-visible:border-ring-3 focus-visible:ring-ring/60 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n align: {\n left: \"justify-start\",\n center: \"justify-center\",\n right: \"justify-end\",\n },\n collapsed: {\n false: null,\n true: \"min-w-10 max-w-10 justify-center\",\n },\n outline: {\n false: null,\n true: \"\",\n },\n hasLeading: {\n false: null,\n },\n theme: {\n base: \"bg-foreground text-background\",\n brand: \"bg-primary text-primary-foreground\",\n error: \"\",\n },\n hasTrailing: {\n false: null,\n },\n variant: {\n default: \"hover:bg-background/90\",\n outline: \"backdrop-blur-lg \",\n primary: \"bg-primary/0 backdrop-blur-lg text-primary-foreground\",\n secondary: \"bg-secondary-foreground/0 backdrop-blur-lg text-secondary\",\n tertiary: \"bg-background/0 backdrop-blur-lg [--foreground:var(--color-text-text-default)]\",\n },\n pill: {\n false: \"rounded-xs\",\n true: \"rounded-full\",\n },\n size: {\n default: \"h-10 min-h-10 px-3 py-2 text-sm [&_svg:not([class*='size-'])]:size-[18px]\",\n lg: \"h-12 min-h-12 text-base [&_svg:not([class*='size-'])]:size-[20px]\",\n },\n },\n defaultVariants: {\n align: \"center\",\n outline: false,\n pill: false,\n size: \"default\",\n theme: \"brand\",\n variant: \"default\",\n },\n compoundVariants: [\n {\n pill: true,\n size: \"default\",\n class: \"min-w-10 min-h-10 px-4\",\n },\n {\n pill: true,\n collapsed: true,\n class: \"max-w-10\",\n },\n {\n pill: true,\n size: \"lg\",\n class: \"min-w-12 min-h-12 px-4\",\n },\n {\n pill: true,\n size: \"lg\",\n collapsed: true,\n class: \"max-w-[54px] max-h-12\",\n },\n {\n collapsed: false,\n size: \"default\",\n align: \"left\",\n pill: false,\n class: \"pr-3 pl-2\",\n },\n {\n align: \"center\",\n collapsed: false,\n size: \"default\",\n pill: false,\n class: \"px-3\",\n },\n {\n hasLeading: true,\n pill: false,\n align: \"left\",\n size: \"default\",\n class: \"pr-3 pl-2\",\n },\n {\n collapsed: false,\n size: \"default\",\n pill: true,\n class: \"px-4\",\n },\n {\n size: \"lg\",\n pill: true,\n collapsed: false,\n class: \"px-4\",\n },\n {\n variant: \"primary\",\n outline: false,\n theme: \"base\",\n class:\n \"bg-foreground text-background hover:ring-2 active:ring active:bg-background disabled:outline-none disabled:bg-black/0 disabled:text-black-alpha-600 focus-visible:ring-3 focus-visible:ring-ring focus-visible:outline-background focus-visible:bg-foreground focus-visible:text-background\",\n },\n {\n variant: \"primary\",\n outline: true,\n theme: \"base\",\n class:\n \"ring ring-foreground bg-background/0 text-foreground hover:ring-2 active:ring active:bg-background/1 disabled:outline-none disabled:bg-background/0 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-background focus-visible:bg-background/1\",\n },\n {\n variant: \"primary\",\n outline: true,\n theme: \"brand\",\n class:\n \"ring ring-primary-foreground bg-background/0 text-primary-foreground hover:ring-2 active:ring active:bg-background/1 disabled:outline-none disabled:bg-background/0 focus-visible:ring focus-visible:ring-ring focus-visible:outline-background focus-visible:bg-background/1\",\n },\n {\n variant: \"primary\",\n theme: \"brand\",\n outline: false,\n class:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground active:bg-primary active:text-primary-foreground focus-visible:bg-primary focus-visible:text-primary-foreground\",\n },\n {\n variant: \"primary\",\n theme: \"error\",\n class: \"bg-destructive text-white\",\n },\n {\n variant: \"secondary\",\n outline: false,\n theme: \"base\",\n class: \"bg-background/0 text-foreground backdrop-blur-lg focus-visible:backdrop-blur-md\",\n },\n {\n variant: \"secondary\",\n outline: true,\n theme: \"base\",\n class:\n \"bg-background/0 text-foreground ring ring-foreground/0 hover:ring-foreground active:ring-foreground/0 disabled:ring-foreground/0 backdrop-blur-lg focus-visible:backdrop-blur-md\",\n },\n {\n variant: \"tertiary\",\n outline: false,\n theme: \"base\",\n class:\n \"bg-background/0 text-foreground backdrop-blur-lg focus-visible:backdrop-blur-md dark:text-white\",\n },\n {\n variant: \"tertiary\",\n theme: \"error\",\n class: \"bg-transparent backdrop-blur-lg text-error-600\",\n },\n ],\n },\n);\n\nconst tintVariants = cva(\n \"before:content-[''] before:absolute before:inset-0 before:transition-all before:rounded-[inherit] before:pointer-events-none\",\n {\n variants: {\n outline: {\n false: null,\n },\n variant: {\n default: \"\",\n outline: \"\",\n primary:\n \"before:bg-tint-700-reversed/0 hover:before:bg-tint-700-reversed active:before:bg-tint-700-reversed/0 disabled:before:bg-tint-900-default focus-visible:before:bg-tint-700-reversed/0\",\n secondary:\n \"before:bg-tint-900-default hover:before:bg-tint-800-default active:before:bg-tint-900-default disabled:before:bg-tint-900-default focus-visible:before:bg-tint-800-default\",\n tertiary:\n \"before:bg-tint-950-reversed hover:before:bg-tint-900-default active:before:bg-tint-950-reversed disabled:before:bg-tint-950-reversed focus-visible:before:bg-tint-950-reversed\",\n },\n },\n defaultVariants: {\n outline: false,\n variant: \"default\",\n },\n compoundVariants: [\n {\n outline: true,\n variant: \"primary\",\n class:\n \"before:bg-tint-950-reversed hover:before:bg-tint-950-reversed active:before:bg-tint-950-reversed disabled:before:bg-tint-900-default focus-visible:before:bg-tint-950-reversed\",\n },\n {\n outline: true,\n variant: \"secondary\",\n class:\n \"before:bg-tint-950-reversed hover:before:bg-tint-950-reversed active:before:bg-tint-950-reversed disabled:before:bg-tint-900-default focus-visible:before:bg-tint-950-reversed\",\n },\n ],\n },\n);\n\nconst loaderCompoundVariants: Array<{\n theme: \"base\" | \"brand\" | \"error\";\n variant: string;\n loaderTheme: LoaderProps[\"theme\"];\n}> = [\n { theme: \"base\", variant: \"default\", loaderTheme: \"reversed\" },\n { theme: \"base\", variant: \"primary\", loaderTheme: \"reversed\" },\n { theme: \"base\", variant: \"tertiary\", loaderTheme: \"black\" },\n { theme: \"base\", variant: \"outline\", loaderTheme: \"white\" },\n { theme: \"brand\", variant: \"secondary\", loaderTheme: \"default\" },\n { theme: \"brand\", variant: \"default\", loaderTheme: \"reversed\" },\n { theme: \"brand\", variant: \"primary\", loaderTheme: \"reversed\" },\n { theme: \"brand\", variant: \"tertiary\", loaderTheme: \"black\" },\n { theme: \"brand\", variant: \"outline\", loaderTheme: \"reversed\" },\n];\n\nfunction loaderVariants({\n theme,\n variant,\n}: {\n theme: \"base\" | \"brand\" | \"error\";\n variant: string;\n}): LoaderProps[\"theme\"] {\n const match = loaderCompoundVariants.find((c) => c.theme === theme && c.variant === variant);\n return match?.loaderTheme ?? \"default\";\n}\n\nfunction Button({\n align = \"center\",\n children,\n className,\n collapsed = false,\n focusableWhenDisabled,\n leading,\n outline = false,\n pill = false,\n loading = false,\n loadingElement,\n nativeButton,\n render,\n size = \"default\",\n theme = \"brand\",\n trailing,\n variant = \"default\",\n href,\n ...props\n}: ButtonProps) {\n const sharedClassName = cn(\n buttonVariants({\n variant,\n size,\n align,\n outline,\n collapsed,\n pill,\n hasLeading: !!leading,\n theme,\n hasTrailing: !!trailing,\n }),\n tintVariants({ variant, outline }),\n className,\n );\n\n const content = (\n <>\n {loading &&\n (loadingElement || (\n <Loader\n className=\"absolute inset-0 m-auto\"\n variant=\"spinner\"\n theme={loaderVariants({ theme, variant })}\n />\n ))}\n {leading && (\n <div\n className={cn(\"transition-opacity group-aria-busy/button:opacity-0\", {\n \"opacity-0\": loading,\n })}\n >\n {leading}\n </div>\n )}\n {children && (\n <span\n className={cn(\"relative min-w-[18px] truncate transition-opacity\", {\n \"opacity-0\": loading,\n })}\n >\n {children}\n </span>\n )}\n {trailing && (\n <div\n className={cn(\"transition-opacity group-aria-busy/button:opacity-0\", {\n \"opacity-0\": loading,\n \"absolute top-1/2 right-0 translate-x-1/2 -translate-y-1/2\": collapsed,\n })}\n >\n {trailing}\n </div>\n )}\n </>\n );\n\n if (href != null) {\n return (\n <a\n data-slot=\"button\"\n className={sharedClassName}\n href={href}\n {...(props as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\n >\n {content}\n </a>\n );\n }\n\n const buttonProps = props as React.ComponentProps<typeof ButtonPrimitive>;\n\n return (\n <ButtonPrimitive\n data-slot=\"button\"\n className={sharedClassName}\n nativeButton={nativeButton}\n focusableWhenDisabled={focusableWhenDisabled}\n render={render}\n {...buttonProps}\n >\n {content}\n </ButtonPrimitive>\n );\n}\n\nexport { Button };\n","\"use client\";\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport { cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { ButtonLinkProps } from \"./types\";\n\nconst buttonLinkVariants = cva(\n \"inline-flex relative items-center gap-1.5 whitespace-nowrap font-medium transition-all rounded-xs -translate-y-px border-y border-x-4 border-transparent [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none no-underline cursor-pointer\",\n {\n variants: {\n hasLeading: {\n false: null,\n true: null,\n },\n hasTrailing: {\n false: null,\n true: null,\n },\n primary: {\n false: null,\n true: null,\n },\n size: {\n sm: \"text-sm [&_svg:not([class*='size-'])]:size-4\",\n md: \"text-sm [&_svg:not([class*='size-'])]:size-[18px]\",\n lg: \"text-base [&_svg:not([class*='size-'])]:size-5\",\n },\n theme: {\n default: \"\",\n white:\n \"text-white hover:bg-white/16 focus-visible:bg-blue-dark-600 focus-visible:text-white\",\n black:\n \"text-black hover:bg-foreground/10 focus-visible:bg-blue-dark-600 focus-visible:text-black focus-visible:text-white\",\n },\n },\n defaultVariants: {\n primary: false,\n size: \"md\",\n theme: \"default\",\n },\n compoundVariants: [\n {\n theme: \"default\",\n primary: false,\n class:\n \"text-grayscale-500 hover:bg-foreground/10 focus-visible:bg-blue-dark-600 focus-visible:text-white\",\n },\n {\n theme: \"default\",\n primary: true,\n class:\n \"text-foreground hover:bg-foreground/10 focus-visible:bg-blue-dark-600 focus-visible:text-white\",\n },\n ],\n },\n);\n\nfunction ButtonLink({\n children,\n className,\n focusableWhenDisabled,\n leading,\n nativeButton,\n primary = false,\n render,\n size = \"md\",\n theme = \"default\",\n trailing,\n href,\n ...props\n}: ButtonLinkProps) {\n const sharedClassName = cn(\n buttonLinkVariants({\n hasLeading: !!leading,\n hasTrailing: !!trailing,\n primary,\n size,\n theme,\n }),\n className,\n );\n\n const content = (\n <>\n {leading && (\n <div className=\"flex items-center justify-center text-inherit [&_svg]:size-inherit\">\n {leading}\n </div>\n )}\n {children != null && <span className=\"relative min-w-0 truncate\">{children}</span>}\n {trailing && (\n <div className=\"flex items-center justify-center text-inherit [&_svg]:size-inherit\">\n {trailing}\n </div>\n )}\n </>\n );\n\n if (href != null) {\n return (\n <a\n data-slot=\"button-link\"\n className={sharedClassName}\n href={href}\n {...(props as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\n >\n {content}\n </a>\n );\n }\n\n const buttonProps = props as React.ComponentProps<typeof ButtonPrimitive>;\n\n return (\n <ButtonPrimitive\n data-slot=\"button-link\"\n className={sharedClassName}\n focusableWhenDisabled={focusableWhenDisabled}\n nativeButton={nativeButton}\n render={render}\n {...buttonProps}\n >\n {content}\n </ButtonPrimitive>\n );\n}\n\nexport { ButtonLink };\n","import { cn } from \"../../lib/utils\";\n\nimport type { ContentBlockProps } from \"./types\";\n\nexport function ContentBlock({ className, children, title, subhead, cta }: ContentBlockProps) {\n return (\n <div className={cn(\"flex max-w-xl flex-col items-start gap-3 self-stretch\", className)}>\n {(title || subhead || cta) && (\n <div className=\"flex min-h-10 items-start justify-between self-stretch\">\n {/* Text Group */}\n {(title || subhead) && (\n <div className=\"flex min-h-10 shrink-0 grow basis-0 flex-col items-start justify-center\">\n {title && (\n <h2 className=\"self-stretch font-bold font-decor text-decor-xs\">{title}</h2>\n )}\n {subhead && <p className=\"font-semibold text-base\">{subhead}</p>}\n </div>\n )}\n {/* CTA */}\n <div>{cta}</div>\n </div>\n )}\n {children && <div className=\"prose prose-base max-w-(--width-xl) pb-3\">{children}</div>}\n </div>\n );\n}\n","\"use client\";\n\nimport { Checkbox as CheckboxPrimitive } from \"@base-ui/react/checkbox\";\nimport { Check } from \"@untitledui/icons\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { CheckboxProps } from \"./types\";\n\nfunction Checkbox({ className, ...props }: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-foreground shadow-xs outline-none transition-shadow after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 group-has-disabled/field:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary data-disabled:cursor-not-allowed data-checked:border-foreground data-checked:bg-foreground data-checked:text-background data-disabled:opacity-50 dark:bg-input/30 dark:data-checked:bg-primary dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none [&>svg]:size-3.5\"\n >\n <Check />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n","import { cva } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { DefaultHeaderProps } from \"./types\";\n\nconst defaultHeaderVariants = cva(\n \"relative mx-auto flex w-full max-w-4xl flex-col items-center justify-center gap-4\",\n {\n variants: {\n hasImage: {\n false: \"px-4 pt-16 pb-6 lg:px-8 lg:pt-20 lg:pb-8\",\n true: \"min-h-[384px] px-4 pt-16 pb-0 lg:min-h-[480px] lg:px-8 lg:pt-20 lg:pb-0\",\n },\n },\n defaultVariants: {\n hasImage: false,\n },\n },\n);\n\nexport function DefaultHeader({ className, cta, headline, image, subhead }: DefaultHeaderProps) {\n const hasImage = !!image;\n\n return (\n <header\n data-slot=\"default-header\"\n className={cn(defaultHeaderVariants({ hasImage }), className)}\n >\n {hasImage && (\n <div className=\"pointer-events-none absolute inset-0 z-0 overflow-hidden\">\n <div className=\"absolute inset-0 [&>img]:absolute [&>img]:inset-0 [&>img]:size-full [&>img]:object-cover [&>img]:object-center [&>picture>img]:size-full [&>picture>img]:object-cover [&>picture>img]:object-center [&>picture]:absolute [&>picture]:inset-0 [&>picture]:size-full\">\n {image}\n </div>\n <div className=\"absolute inset-0 bg-linear-to-b from-transparent to-black/30\" />\n </div>\n )}\n {(headline != null || subhead != null) && (\n <div\n className={cn(\n \"relative z-10 mx-auto flex w-full max-w-xl flex-col items-start gap-4 self-stretch\",\n hasImage ? \"text-white\" : null,\n )}\n >\n {headline != null && (\n <span className=\"self-stretch text-center font-bold font-decor text-decor-md lg:text-decor-xl\">\n {headline}\n </span>\n )}\n {subhead != null && (\n <div className=\"mx-auto w-full max-w-xl text-center text-lg\">{subhead}</div>\n )}\n </div>\n )}\n {cta != null && (\n <div className=\"relative z-10 mx-auto flex max-w-xl items-center justify-center gap-3 self-stretch py-1\">\n {cta}\n </div>\n )}\n </header>\n );\n}\n","\"use client\";\n\nimport { Dialog as DialogPrimitive } from \"@base-ui/react/dialog\";\nimport { XClose } from \"@untitledui/icons\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../button\";\n\n/* ---------------------------------------------\n * Root\n * --------------------------------------------- */\n\nfunction DialogRoot(props: DialogPrimitive.Root.Props) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\n/* ---------------------------------------------\n * Portal\n * --------------------------------------------- */\n\nfunction DialogPortal(props: DialogPrimitive.Portal.Props) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\n/* ---------------------------------------------\n * Trigger\n * --------------------------------------------- */\n\nfunction DialogTrigger(props: DialogPrimitive.Trigger.Props) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\n/* ---------------------------------------------\n * Close\n * --------------------------------------------- */\n\nfunction DialogClose(props: DialogPrimitive.Close.Props) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\n/* ---------------------------------------------\n * Overlay\n * --------------------------------------------- */\n\nfunction DialogOverlay({ className, ...props }: DialogPrimitive.Backdrop.Props) {\n return (\n <DialogPrimitive.Backdrop\n data-slot=\"dialog-overlay\"\n className={cn(\n \"fixed inset-0 min-h-dvh bg-[rgb(0_0_32/0.01)] opacity-0 backdrop-blur-sm transition-[opacity,backdrop-filter] duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-[-webkit-touch-callout:none]:absolute dark:bg-[rgb(255_255_255/0.01)] dark:opacity-70\",\n \"data-closed:opacity-0 data-open:opacity-100\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogViewport({ className, ...props }: DialogPrimitive.Viewport.Props) {\n return (\n <DialogPrimitive.Viewport\n data-slot=\"dialog-viewport\"\n className={cn(\n \"fixed inset-0 flex items-center justify-center overflow-hidden py-6 [@media(min-height:600px)]:pt-8 [@media(min-height:600px)]:pb-12\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/* ---------------------------------------------\n * Content (shadcn: Portal + Overlay + Popup)\n * --------------------------------------------- */\n\nfunction DialogContent({\n className,\n children,\n bottom = false,\n showCloseButton = true,\n closePosition = \"top-left\",\n ...props\n}: DialogPrimitive.Popup.Props & {\n bottom?: boolean;\n showCloseButton?: boolean;\n closePosition?: \"top-left\" | \"top-right\";\n}) {\n return (\n <DialogPrimitive.Portal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Popup\n data-slot=\"dialog-content\"\n className=\"group/popup pointer-events-none fixed inset-0 flex h-auto max-h-full min-h-0 w-full max-w-full justify-center overflow-hidden transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0\"\n >\n <div\n className={cn(\n \"pointer-events-auto fixed top-1/2 left-1/2 flex h-auto max-h-[calc(100%-2rem)] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 flex-col rounded-xl bg-background shadow-2xl transition-all\",\n {\n \"group-data-ending-style/popup:scale-[0.96] group-data-starting-style/popup:scale-[0.96] group-data-ending-style/popup:opacity-0 group-data-starting-style/popup:opacity-0 group-data-closed/popup:duration-pop-hover group-data-open/popup:duration-pop-hover group-data-closed/popup:ease-out group-data-open/popup:ease-pop-hover\":\n !bottom,\n \"group-data-open/popup:slide-in-from-bottom group-data-closed/popup:slide-out-to-bottom group-data-closed/popup:zoom-out-95 group-data-starting-style/popup-scale-100 group-data-ending-style/popup-scale-100 group-data-open/popup:zoom-in-95 top-auto bottom-0 h-full translate-y-0 rounded-b-none ease-[cubic-bezier(0.32,0.72,0,1)] group-data-ending-style/popup:translate-y-full group-data-starting-style/popup:translate-y-full group-data-closed/popup:animate-out group-data-open/popup:animate-in group-data-closed/popup:duration-1000 group-data-open/popup:duration-500 group-data-open/popup:ease-[cubic-bezier(0.32,0.72,0,1)]\":\n bottom,\n },\n className,\n )}\n {...props}\n >\n {children}\n </div>\n {showCloseButton && (\n <DialogClose\n className={cn(\"pointer-events-auto fixed top-[7px] z-50 transition-all\", {\n \"left-4\": closePosition === \"top-left\",\n \"right-4\": closePosition === \"top-right\",\n \"group-data-ending-style/popup:scale-[0.96] group-data-starting-style/popup:scale-[0.96] group-data-ending-style/popup:opacity-0 group-data-starting-style/popup:opacity-0 group-data-closed/popup:duration-pop-hover group-data-open/popup:duration-pop-hover group-data-closed/popup:ease-out group-data-open/popup:ease-pop-hover\":\n !bottom,\n \"group-data-starting-style/popup-scale-[0.96] group-data-ending-style/popup-scale-100 group-data-closed/popup:animate-out group-data-open/popup:animate-in group-data-closed/popup:duration-1000 group-data-open/popup:duration-500 group-data-closed/popup:ease-[cubic-bezier(0.32,0.72,0,1)] group-data-open/popup:ease-[cubic-bezier(0.32,0.72,0,1)]\":\n bottom,\n })}\n aria-label=\"Close\"\n >\n <span className=\"sr-only\">Close</span>\n <span className=\"relative block before:absolute before:-inset-1.5 before:rounded-full before:bg-tint-700-reversed before:backdrop-blur-sm\">\n <span className=\"relative z-10 flex size-10 items-center justify-center rounded-full bg-primary text-primary-foreground\">\n <XClose className=\"size-[18px]\" />\n </span>\n </span>\n </DialogClose>\n )}\n </DialogPrimitive.Popup>\n </DialogPrimitive.Portal>\n );\n}\n\n/* ---------------------------------------------\n * Header / Footer\n * --------------------------------------------- */\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({\n className,\n showCloseButton = false,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showCloseButton?: boolean;\n}) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\"mt-auto flex flex-col-reverse gap-2 sm:flex-row\", className)}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogClose render={<Button variant=\"tertiary\" theme=\"base\" />}>Close</DialogClose>\n )}\n </div>\n );\n}\n\n/* ---------------------------------------------\n * Title / Description\n * --------------------------------------------- */\n\nfunction DialogTitle({ className, ...props }: DialogPrimitive.Title.Props) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"font-semibold text-lg leading-none\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({ className, ...props }: DialogPrimitive.Description.Props) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogBody({ className, children, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-body\"\n className={cn(\"flex flex-col items-start self-stretch overflow-auto\", className)}\n {...props}\n >\n <div className=\"flex flex-col items-stretch gap-10 self-stretch overflow-auto p-4\">\n {children}\n </div>\n </div>\n );\n}\n\n/* ---------------------------------------------\n * Exports (shadcn-compatible API)\n * --------------------------------------------- */\n\nexport {\n DialogRoot as Dialog,\n DialogBody,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n DialogViewport,\n};\n","\"use client\";\n\nimport { Menu as MenuPrimitive } from \"@base-ui/react/menu\";\nimport type * as React from \"react\";\n\nimport { Check, ChevronRight } from \"@untitledui/icons\";\nimport { cn } from \"../../lib/utils\";\n\nfunction DropdownMenu({ ...props }: MenuPrimitive.Root.Props) {\n return <MenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({ ...props }: MenuPrimitive.Portal.Props) {\n return <MenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({ ...props }: MenuPrimitive.Trigger.Props) {\n return <MenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n align = \"start\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n className,\n ...props\n}: MenuPrimitive.Popup.Props &\n Pick<MenuPrimitive.Positioner.Props, \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\">) {\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner\n className=\"isolate z-50 outline-none\"\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <MenuPrimitive.Popup\n data-slot=\"dropdown-menu-content\"\n className={cn(\n \"data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-y-auto overflow-x-hidden rounded-xs bg-popover p-1 text-popover-foreground shadow-xl outline-none ring-1 ring-white duration-100 data-closed:animate-out data-open:animate-in data-closed:overflow-hidden dark:ring-gray-700\",\n className,\n )}\n {...props}\n />\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props) {\n return <MenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: MenuPrimitive.GroupLabel.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.GroupLabel\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 font-medium text-muted-foreground text-xs data-inset:pl-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: MenuPrimitive.Item.Props & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <MenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default select-none items-center gap-2 rounded-xs px-2 py-1.5 font-medium text-sm outline-hidden focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-[variant=destructive]:text-destructive data-disabled:opacity-50 data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=destructive]:*:[svg]:text-destructive\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props) {\n return <MenuPrimitive.SubmenuRoot data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: MenuPrimitive.SubmenuTrigger.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.SubmenuTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default select-none items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-open:bg-accent data-popup-open:bg-accent data-inset:pl-8 data-open:text-accent-foreground data-popup-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto\" />\n </MenuPrimitive.SubmenuTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n align = \"start\",\n alignOffset = -3,\n side = \"right\",\n sideOffset = 0,\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuContent>) {\n return (\n <DropdownMenuContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 w-auto min-w-[96px] rounded-sm bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-white duration-100 data-closed:animate-out data-open:animate-in dark:ring-gray-700\",\n className,\n )}\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: MenuPrimitive.CheckboxItem.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default select-none items-center gap-2 rounded-xs py-1.5 pr-8 pl-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <MenuPrimitive.CheckboxItemIndicator>\n <Check />\n </MenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </MenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) {\n return <MenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: MenuPrimitive.RadioItem.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default select-none items-center gap-2 rounded-xs py-1.5 pr-8 pl-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <MenuPrimitive.RadioItemIndicator>\n <Check />\n </MenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </MenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuSeparator({ className, ...props }: MenuPrimitive.Separator.Props) {\n return (\n <MenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"ml-auto text-muted-foreground text-xs tracking-widest group-focus/dropdown-menu-item:text-accent-foreground\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n","import type { FooterProps } from \"./types\";\n\nconst popgridsLogoSm = (\n <svg\n fill=\"none\"\n className=\"block size-full\"\n preserveAspectRatio=\"none\"\n viewBox=\"0 0 90 15\"\n aria-hidden=\"true\"\n >\n <path\n id=\"popgrids\"\n fill=\"currentColor\"\n d=\"M5.5 0C1.256 0 0 2.882 0 6.514c0 1.345.139 2.668.3 3.997.061.52.039 1.093.139 1.612.261 1.366 1.594 1.998 2.889 1.998 1.772 0 2.95-1.076 2.95-2.801 0-.997-.34-1.65-1.317-2.036-.061-.022-.122-.038-.122-.118 0-.134.222-.23.361-.23.478 0 1.233.46 1.894.46 2.59 0 4.023-2.4 4.023-4.65C11.117 1.48 8.622 0 5.5 0m-.022 7.066a.3.3 0 0 1-.3-.29c0-.208.3-.364.4-.535.216-.386.278-1.04.278-1.478 0-.52-.14-1.48-.478-1.865-.1-.112-.24-.171-.24-.327 0-.155.162-.289.318-.289.677 0 1.016 1.923 1.016 2.422 0 .535-.178 2.362-.994 2.362M17.911.327c-4.222 0-6.755 2.882-6.755 6.835 0 3.954 2.527 6.836 6.755 6.836s6.733-2.92 6.733-6.836S22.095.327 17.912.327m.183 11.716c-.066.08-.2.23-.36.23-.162 0-.317-.134-.317-.29 0-.058.516-.808.6-1.038.316-.906.378-1.886.378-2.845 0-1.286-.24-2.941-1.056-3.996-.161-.193-.656-.558-.656-.767a.3.3 0 0 1 .3-.289c.14 0 .278.118.378.193 1.272 1.018 1.656 3.343 1.656 4.859 0 1.19-.05 2.925-.917 3.938zM30.45 0c-4.244 0-5.5 2.882-5.5 6.514 0 1.345.139 2.668.3 3.997.061.52.039 1.093.139 1.612.261 1.366 1.594 1.998 2.889 1.998 1.772 0 2.95-1.076 2.95-2.801 0-.997-.34-1.65-1.317-2.036-.061-.022-.122-.038-.122-.118 0-.134.222-.23.361-.23.478 0 1.233.46 1.894.46 2.59 0 4.023-2.4 4.023-4.65C36.067 1.48 33.577 0 30.45 0m-.017 7.066a.3.3 0 0 1-.3-.29c0-.208.3-.364.4-.535.217-.386.278-1.04.278-1.478 0-.52-.139-1.48-.478-1.865-.1-.112-.239-.171-.239-.327 0-.155.162-.289.317-.289.678 0 1.017 1.923 1.017 2.422 0 .535-.178 2.362-.995 2.362m14.428-1.382c-1.433 0-3.428.632-3.428 2.287 0 .943.717 2.342 1.856 2.342.717 0 1.178-.536 1.417-.536.06 0 .116.037.116.096 0 .557-1.116.81-1.555.81-1.534 0-2.35-1.27-2.35-2.615 0-1.65 1.61-2.92 3.244-2.92.478 0 .978.134 1.456.134 1.416 0 2.428-1.227 2.428-2.534C48.045.578 45.378.08 43.6.08c-4.722 0-7.472 2.958-7.472 7.452 0 4.152 2.233 6.798 6.655 6.798 2.867 0 5.995-1.189 5.995-4.42 0-2.206-1.495-4.226-3.922-4.226zm13.172 3.268c-.36 0-.655.134-.955.134-.061 0-.078-.06-.078-.097 0-.134.061-.193.161-.23.339-.113.7-.193 1.033-.348 1.517-.691 2.411-1.923 2.411-3.552 0-2.941-2.61-4.725-5.477-4.725-1.04 0-2.05.29-2.928.75-2.389 1.248-2.85 3.037-2.989 5.475-.061.959-.061 1.923-.061 2.882v2.325c0 1.457.994 2.63 2.567 2.63 1.133 0 2.15-.787 2.41-1.826.14-.616.062-1.345.062-1.94 0-.059.022-.075.078-.075a.4.4 0 0 1 .16.06c.7 1.633 1.656 3.706 3.823 3.706 1.494 0 2.728-1.017 2.728-2.496s-1.434-2.668-2.95-2.668zM54.79 7.066a.3.3 0 0 1-.3-.29c0-.208.3-.364.4-.535.216-.386.278-1.04.278-1.478 0-.52-.14-1.48-.478-1.865-.1-.112-.217-.171-.217-.327a.3.3 0 0 1 .3-.289c.678 0 1.017 1.923 1.017 2.422 0 .535-.161 2.362-.995 2.362zM65.767.75C65.289.445 64.61.29 64.033.29c-1.255 0-2.333.958-2.472 2.153-.039.348-.022.675-.022 1.04v3.262l-.061 3.439v1.709c0 1.345 1.194 2.4 2.572 2.4 1.017 0 2.133-.616 2.511-1.538.217-.52.239-1.248.239-1.805v-1.5l.022-2.995V3.461c0-1.115-.022-1.999-1.055-2.711m4.966-.579c-2.033 0-3.05.922-3.05 2.899v.787l.023 1.554v.787c0 .595 0 1.152-.023 1.747-.039.712-.139 1.42-.139 2.153 0 2.69 1.434 3.997 4.206 3.997 4.261 0 7.15-1.768 7.15-6.166 0-5.304-2.65-7.763-8.167-7.763zm1.911 10.624a.3.3 0 0 1-.3-.29c0-.059.023-.096.062-.155.516-.825.655-1.977.655-2.92 0-.884-.1-2.19-.678-2.882-.1-.155-.3-.268-.3-.46a.3.3 0 0 1 .3-.29c.3 0 .717.729.84.98.377.847.438 1.768.438 2.668 0 .558-.3 3.343-1.017 3.343zm15.562-3.804c-1.156-.096-2.812-.482-3.706-1.21-.117-.097-.317-.231-.317-.402 0-.06.023-.156.1-.156.217 0 1.611 1.077 2.811 1.077C88.611 6.3 90 5.164 90 3.67 90 1.21 86.617.214 84.561.214c-3.05 0-5.317 1.902-5.317 4.918 0 .654.1 1.554.6 2.057.24.252.64.252.956.252 1.194 0 2.711.364 3.344 1.42a.8.8 0 0 1 .117.364c0 .038 0 .096-.039.075-.116-.037-.216-.134-.3-.209-.7-.653-1.655-1.307-2.666-1.307-1.517 0-2.05 1.404-2.05 2.63 0 2.475 2.31 3.841 4.66 3.841 2.79 0 6.134-1.767 6.134-4.784 0-1.114-.5-2.362-1.794-2.475z\"\n className=\"text-foreground\"\n />\n </svg>\n);\n\nconst popgridsLogoLg = (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"139\" height=\"24\" fill=\"none\" viewBox=\"0 0 139 24\">\n <title>PopGrids logo</title>\n <path\n fill=\"currentColor\"\n d=\"M8.494.531C1.94.531 0 5.143 0 10.954c0 2.152.215 4.269.463 6.395.095.831.06 1.748.215 2.58.403 2.185 2.462 3.197 4.462 3.197 2.737 0 4.556-1.723 4.556-4.483 0-1.594-.524-2.64-2.034-3.257-.094-.034-.189-.06-.189-.189 0-.214.344-.368.558-.368.738 0 1.905.737 2.926.737 3.998 0 6.212-3.84 6.212-7.44C17.17 2.897 13.316.53 8.494.53M8.46 11.837a.47.47 0 0 1-.463-.463c0-.334.463-.583.618-.857.334-.617.429-1.663.429-2.366 0-.83-.215-2.365-.738-2.982-.155-.18-.37-.275-.37-.523 0-.249.25-.463.49-.463 1.047 0 1.57 3.077 1.57 3.874 0 .857-.275 3.78-1.536 3.78M27.663 1.054c-6.521 0-10.434 4.612-10.434 10.938 0 6.325 3.904 10.937 10.434 10.937s10.399-4.672 10.399-10.937c0-6.266-3.938-10.938-10.4-10.938m.283 18.746c-.103.129-.309.369-.558.369s-.489-.215-.489-.463c0-.095.798-1.294.927-1.663.489-1.449.583-3.017.583-4.551 0-2.058-.369-4.706-1.63-6.395-.249-.308-1.012-.891-1.012-1.226 0-.248.214-.462.463-.462.214 0 .429.188.583.308 1.965 1.629 2.557 5.349 2.557 7.775 0 1.902-.077 4.68-1.416 6.3zM47.028.531c-6.555 0-8.494 4.612-8.494 10.423 0 2.152.214 4.269.463 6.395.095.831.06 1.748.215 2.58.403 2.185 2.462 3.197 4.461 3.197 2.737 0 4.557-1.723 4.557-4.483 0-1.594-.524-2.64-2.034-3.257-.094-.034-.189-.06-.189-.189 0-.214.343-.368.558-.368.738 0 1.905.737 2.926.737 3.998 0 6.212-3.84 6.212-7.44 0-5.229-3.844-7.595-8.675-7.595m-.025 11.306a.47.47 0 0 1-.464-.463c0-.334.464-.583.618-.857.335-.617.429-1.663.429-2.366 0-.83-.215-2.365-.738-2.982-.154-.18-.369-.275-.369-.523 0-.249.249-.463.49-.463 1.046 0 1.57 3.077 1.57 3.874 0 .857-.275 3.78-1.536 3.78m22.283-2.211c-2.214 0-5.294 1.011-5.294 3.66 0 1.508 1.106 3.746 2.865 3.746 1.107 0 1.82-.858 2.188-.858.095 0 .18.06.18.155 0 .891-1.724 1.294-2.402 1.294-2.368 0-3.63-2.032-3.63-4.183 0-2.64 2.489-4.671 5.011-4.671.738 0 1.51.214 2.248.214 2.188 0 3.75-1.963 3.75-4.054 0-3.472-4.118-4.269-6.864-4.269-7.293 0-11.54 4.732-11.54 11.923 0 6.643 3.449 10.877 10.278 10.877 4.428 0 9.259-1.903 9.259-7.071 0-3.532-2.308-6.763-6.058-6.763zm20.344 5.228c-.558 0-1.013.215-1.477.215-.094 0-.12-.095-.12-.155 0-.214.095-.308.25-.368.522-.18 1.08-.309 1.595-.557 2.343-1.106 3.724-3.078 3.724-5.683 0-4.706-4.033-7.56-8.46-7.56-1.605 0-3.166.463-4.522 1.2-3.69 1.997-4.402 4.86-4.616 8.76-.095 1.534-.095 3.077-.095 4.611v3.72c0 2.332 1.536 4.209 3.965 4.209 1.75 0 3.32-1.26 3.723-2.923.215-.986.095-2.151.095-3.103 0-.094.034-.12.12-.12s.189.06.249.094c1.08 2.615 2.557 5.932 5.903 5.932 2.308 0 4.213-1.629 4.213-3.995s-2.214-4.268-4.556-4.268zm-5.012-3.017a.47.47 0 0 1-.463-.463c0-.334.463-.583.618-.857.334-.617.429-1.663.429-2.366 0-.83-.215-2.365-.738-2.982-.154-.18-.335-.275-.335-.523 0-.249.215-.463.464-.463 1.046 0 1.57 3.077 1.57 3.874 0 .857-.249 3.78-1.536 3.78zm16.955-10.106c-.738-.488-1.785-.737-2.677-.737-1.94 0-3.604 1.535-3.818 3.446-.06.557-.035 1.08-.035 1.663v5.22l-.094 5.503v2.734c0 2.152 1.845 3.84 3.973 3.84 1.57 0 3.294-.986 3.878-2.46.335-.831.369-1.997.369-2.889v-2.4l.034-4.791V6.069c0-1.783-.034-3.198-1.63-4.338m7.671-.925c-3.141 0-4.711 1.474-4.711 4.637v1.26l.034 2.486v1.26c0 .951 0 1.842-.034 2.794-.06 1.14-.214 2.271-.214 3.446 0 4.302 2.213 6.394 6.495 6.394 6.581 0 11.043-2.829 11.043-9.866 0-8.486-4.093-12.42-12.613-12.42zm2.951 16.997a.47.47 0 0 1-.463-.463c0-.094.034-.154.094-.248.798-1.32 1.013-3.163 1.013-4.672 0-1.414-.155-3.506-1.047-4.611-.154-.249-.463-.429-.463-.738 0-.248.214-.462.463-.462.463 0 1.107 1.165 1.296 1.568.583 1.354.678 2.829.678 4.269 0 .891-.464 5.348-1.571 5.348zm24.034-6.086c-1.785-.154-4.342-.771-5.723-1.937-.181-.154-.49-.368-.49-.643 0-.094.035-.248.155-.248.335 0 2.488 1.723 4.342 1.723 2.342 0 4.487-1.818 4.487-4.21 0-3.933-5.225-5.528-8.4-5.528-4.711 0-8.211 3.043-8.211 7.869 0 1.046.154 2.486.926 3.291.369.403.987.403 1.476.403 1.845 0 4.187.583 5.165 2.272.095.154.181.402.181.582 0 .06 0 .155-.06.12-.181-.06-.335-.214-.464-.334-1.081-1.046-2.557-2.091-4.118-2.091-2.343 0-3.166 2.246-3.166 4.208 0 3.96 3.569 6.146 7.198 6.146 4.308 0 9.473-2.828 9.473-7.654 0-1.783-.772-3.78-2.771-3.96z\"\n />\n </svg>\n);\n\nexport function Footer({ theme = \"template\", logo, tagline, children }: FooterProps) {\n return (\n <div className=\"mx-auto flex w-full flex-col items-center gap-8 self-stretch border-t border-t-foreground/10 px-10 py-20 lg:px-8\">\n {/* Head */}\n <div className=\"mx-auto flex max-w-[480px] flex-col items-center gap-4 self-stretch\">\n {theme === \"branding\" ? popgridsLogoLg : logo != null && logo}\n\n {tagline != null && (\n <div className=\"text-center text-lg text-primary-foreground\">{tagline}</div>\n )}\n </div>\n {/* Links */}\n <div className=\"mx-auto flex max-w-[320px] flex-col items-center justify-center gap-1.5 self-stretch lg:max-w-none lg:flex-row lg:gap-1 lg:space-x-1\">\n {children}\n </div>\n\n {/* Info */}\n {theme === \"branding\" && (\n <div\n className=\"relative box-border flex w-full shrink-0 flex-row content-stretch items-center justify-center gap-2 px-0 py-1\"\n data-name=\"Footer Info\"\n >\n <div className=\"relative flex shrink-0 flex-col justify-center text-nowrap text-center font-display font-normal text-base text-foreground not-italic leading-0\">\n <p className=\"block whitespace-pre text-sm leading-6\">Powered by</p>\n </div>\n <div\n className=\"relative box-border flex h-[15px] w-[90px] shrink-0 flex-col content-stretch items-center justify-center rounded-full p-0\"\n data-name=\"logo\"\n >\n <div\n className=\"absolute top-[2.214%] right-0 bottom-[2.25%] left-0\"\n data-name=\"popgrids\"\n >\n {popgridsLogoSm}\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n","\"use client\";\n\nimport { Input as InputPrimitive } from \"@base-ui/react/input\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { InputProps } from \"./types\";\n\nfunction Input({ className, type, ...props }: InputProps) {\n return (\n <InputPrimitive\n type={type}\n data-slot=\"input\"\n className={cn(\n \"h-9 w-full min-w-0 rounded-sm border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none transition-[color,box-shadow] selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30\",\n \"focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring\",\n \"aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","import { cn } from \"../../lib/utils\";\nimport type { TextareaProps } from \"./types\";\n\nfunction Textarea({ className, ...props }: TextareaProps) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n \"field-sizing-content flex min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs outline-none transition-[color,box-shadow] placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n","\"use client\";\n\nimport { cva } from \"class-variance-authority\";\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Input } from \"../input\";\nimport { Textarea } from \"../textarea\";\nimport type {\n InputGroupAddonProps,\n InputGroupButtonProps,\n InputGroupInputProps,\n InputGroupProps,\n InputGroupTextareaProps,\n InputGroupTextProps,\n} from \"./types\";\n\nfunction InputGroup({ className, ...props }: InputGroupProps) {\n return (\n // biome-ignore lint/a11y/useSemanticElements: <fieldset> breaks flex layout\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"group/input-group relative flex h-9 w-full min-w-0 items-center rounded-sm border border-input shadow-xs outline-none transition-[color,box-shadow] in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-start]]:h-auto has-[>textarea]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:flex-col has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot=input-group-control]:focus-visible]:ring-ring has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:bg-input/30 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-start]]:[&>input]:pl-1.5\",\n className,\n )}\n {...props}\n />\n );\n}\n\nconst inputGroupAddonVariants = cva(\n \"flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n align: {\n \"inline-start\": \"order-first pl-2 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem]\",\n \"inline-end\": \"order-last pr-2 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem]\",\n \"block-start\":\n \"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2\",\n \"block-end\":\n \"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n },\n);\n\nfunction InputGroupAddon({ className, align = \"inline-start\", ...props }: InputGroupAddonProps) {\n const focusSiblingInput = (currentTarget: HTMLElement) => {\n if (!currentTarget.closest(\"button\")) {\n currentTarget.parentElement?.querySelector(\"input\")?.focus();\n }\n };\n\n return (\n // biome-ignore lint/a11y/useSemanticElements: <fieldset> breaks flex layout\n // biome-ignore lint/a11y/noNoninteractiveElementInteractions: click-to-focus is an intentional UX enhancement\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => focusSiblingInput(e.currentTarget)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n focusSiblingInput(e.currentTarget);\n }\n }}\n {...props}\n />\n );\n}\n\nconst inputGroupButtonVariants = cva(\"flex items-center gap-2 text-sm shadow-none\", {\n variants: {\n size: {\n xs: \"h-5 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: \"\",\n \"icon-xs\": \"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n});\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n size = \"xs\",\n ...props\n}: InputGroupButtonProps) {\n return (\n <ButtonPrimitive\n type={type}\n data-size={size}\n className={cn(\n \"inline-flex cursor-pointer items-center justify-center text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50\",\n inputGroupButtonVariants({ size }),\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupText({ className, ...props }: InputGroupTextProps) {\n return (\n <span\n className={cn(\n \"flex items-center gap-2 text-muted-foreground text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupInput({ className, ...props }: InputGroupInputProps) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupTextarea({ className, ...props }: InputGroupTextareaProps) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n InputGroupText,\n InputGroupTextarea,\n};\n","\"use client\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { LabelProps } from \"./types\";\n\nfunction Label({ className, render, ...props }: LabelProps) {\n const defaultProps: Record<string, unknown> = {\n \"data-slot\": \"label\",\n className: cn(\n \"flex select-none items-center gap-2 font-medium text-sm leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50\",\n className,\n ),\n };\n\n return useRender({\n defaultTagName: \"label\",\n render,\n props: mergeProps<\"label\">(defaultProps, props),\n });\n}\n\nexport { Label };\n","import { cn } from \"../../lib/utils\";\nimport type { LogoProps, LogoTheme } from \"./types\";\n\n// ─── CDN assets ───────────────────────────────────────────────────────────────\n\nconst CDN_LETTER_P = \"https://cdn.popgrids.io/logos/popgrids-letter-p.png\";\nconst CDN_ANIMATED_BG = \"https://cdn.popgrids.io/logos/popgrids-animated-logo-background.gif\";\n\n// ─── Wordmark SVGs (module-scope constants) ───────────────────────────────────\n\n/** Full POPGRIDS wordmark — 185 × 32 px (standard). */\nconst wordmarkFull = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"185\"\n height=\"32\"\n viewBox=\"0 0 185 32\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"currentColor\"\n d=\"M11.3056 0.708572C2.58086 0.708572 0 6.85714 0 14.6057C0 17.4743 0.285494 20.2971 0.616667 23.1314C0.742284 24.24 0.696605 25.4629 0.902161 26.5714C1.43889 29.4857 4.17963 30.8343 6.84043 30.8343C10.4833 30.8343 12.9043 28.5371 12.9043 24.8571C12.9043 22.7314 12.2077 21.3371 10.1978 20.5143C10.0722 20.4686 9.9466 20.4343 9.9466 20.2629C9.9466 19.9771 10.4034 19.7714 10.6889 19.7714C11.671 19.7714 13.2241 20.7543 14.583 20.7543C19.9046 20.7543 22.8509 15.6343 22.8509 10.8343C22.8509 3.86286 17.7235 0.708572 11.3056 0.708572ZM11.2599 15.7829C10.9287 15.7829 10.6432 15.4971 10.6432 15.1657C10.6432 14.72 11.2599 14.3886 11.4654 14.0229C11.9108 13.2 12.0364 11.8057 12.0364 10.8686C12.0364 9.76 11.7509 7.71429 11.0543 6.89143C10.8488 6.65143 10.5633 6.52572 10.5633 6.19429C10.5633 5.86286 10.8944 5.57714 11.2142 5.57714C12.6074 5.57714 13.304 9.68 13.304 10.7429C13.304 11.8857 12.9386 15.7829 11.2599 15.7829Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M36.8173 1.4057C28.1383 1.4057 22.9309 7.55427 22.9309 15.9886C22.9309 24.4228 28.1269 30.5714 36.8173 30.5714C45.5077 30.5714 50.658 24.3428 50.658 15.9886C50.658 7.63427 45.4164 1.4057 36.8173 1.4057ZM37.1942 26.4C37.0571 26.5714 36.783 26.8914 36.4519 26.8914C36.1207 26.8914 35.8009 26.6057 35.8009 26.2743C35.8009 26.1486 36.863 24.5486 37.0343 24.0571C37.6852 22.1257 37.8108 20.0343 37.8108 17.9886C37.8108 15.2457 37.3198 11.7143 35.6411 9.46284C35.3099 9.05141 34.2935 8.27427 34.2935 7.82856C34.2935 7.49713 34.579 7.21141 34.9102 7.21141C35.1957 7.21141 35.4812 7.46284 35.6867 7.62284C38.3019 9.79427 39.0898 14.7543 39.0898 17.9886C39.0898 20.5257 38.9871 24.2286 37.2056 26.3886L37.1942 26.4Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M62.5916 0.708572C53.8669 0.708572 51.2861 6.85714 51.2861 14.6057C51.2861 17.4743 51.5716 20.2971 51.9027 23.1314C52.0284 24.24 51.9827 25.4629 52.1882 26.5714C52.725 29.4857 55.4657 30.8343 58.1265 30.8343C61.7694 30.8343 64.1904 28.5371 64.1904 24.8571C64.1904 22.7314 63.4938 21.3371 61.4839 20.5143C61.3583 20.4686 61.2327 20.4343 61.2327 20.2629C61.2327 19.9771 61.6895 19.7714 61.975 19.7714C62.9571 19.7714 64.5102 20.7543 65.8691 20.7543C71.1907 20.7543 74.137 15.6343 74.137 10.8343C74.137 3.86286 69.021 0.708572 62.5916 0.708572ZM62.5574 15.7829C62.2262 15.7829 61.9407 15.4971 61.9407 15.1657C61.9407 14.72 62.5574 14.3886 62.7629 14.0229C63.2083 13.2 63.3339 11.8057 63.3339 10.8686C63.3339 9.76 63.0484 7.71429 62.3518 6.89143C62.1463 6.65143 61.8608 6.52572 61.8608 6.19429C61.8608 5.86286 62.1919 5.57714 62.5117 5.57714C63.9049 5.57714 64.6015 9.68 64.6015 10.7429C64.6015 11.8857 64.2361 15.7829 62.5574 15.7829Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M92.2145 12.8343C89.2682 12.8343 85.1686 14.1829 85.1686 17.7143C85.1686 19.7257 86.6417 22.7086 88.9827 22.7086C90.4559 22.7086 91.4037 21.5657 91.8948 21.5657C92.0204 21.5657 92.1346 21.6457 92.1346 21.7715C92.1346 22.96 89.8392 23.4972 88.9371 23.4972C85.7852 23.4972 84.1065 20.7886 84.1065 17.92C84.1065 14.4 87.4182 11.6915 90.7757 11.6915C91.7577 11.6915 92.7855 11.9772 93.7676 11.9772C96.6797 11.9772 98.7581 9.36003 98.7581 6.57146C98.7581 1.94289 93.2766 0.880029 89.6223 0.880029C79.9155 0.880029 74.2627 7.1886 74.2627 16.7772C74.2627 25.6343 78.8534 31.28 87.9436 31.28C93.8361 31.28 100.265 28.7429 100.265 21.8515C100.265 17.1429 97.1935 12.8343 92.2031 12.8343H92.2145Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M119.291 19.8057C118.548 19.8057 117.943 20.0914 117.326 20.0914C117.201 20.0914 117.167 19.9657 117.167 19.8857C117.167 19.6 117.292 19.4743 117.498 19.3943C118.194 19.1543 118.937 18.9829 119.622 18.6514C122.739 17.1771 124.578 14.5486 124.578 11.0743C124.578 4.8 119.211 0.994287 113.318 0.994287C111.183 0.994287 109.104 1.61143 107.3 2.59429C102.389 5.25714 101.442 9.07429 101.156 14.2743C101.031 16.32 101.031 18.3771 101.031 20.4229V25.3829C101.031 28.4914 103.075 30.9943 106.306 30.9943C108.636 30.9943 110.726 29.3143 111.263 27.0971C111.548 25.7829 111.388 24.2286 111.388 22.96C111.388 22.8343 111.434 22.8 111.548 22.8C111.662 22.8 111.799 22.88 111.879 22.9257C113.318 26.4114 115.282 30.8343 119.736 30.8343C122.808 30.8343 125.343 28.6629 125.343 25.5086C125.343 22.3543 122.397 19.8171 119.279 19.8171L119.291 19.8057ZM112.622 15.7829C112.29 15.7829 112.005 15.4971 112.005 15.1657C112.005 14.72 112.622 14.3886 112.827 14.0229C113.272 13.2 113.398 11.8057 113.398 10.8686C113.398 9.76 113.113 7.71429 112.416 6.89143C112.21 6.65143 111.971 6.52572 111.971 6.19429C111.971 5.86286 112.256 5.57714 112.587 5.57714C113.981 5.57714 114.677 9.68 114.677 10.7429C114.677 11.8857 114.346 15.7829 112.633 15.7829H112.622Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M135.187 2.30855C134.205 1.65712 132.812 1.32569 131.624 1.32569C129.043 1.32569 126.828 3.3714 126.542 5.91998C126.462 6.66283 126.497 7.35998 126.497 8.13712V15.0971L126.371 22.4343V26.08C126.371 28.9485 128.826 31.2 131.658 31.2C133.748 31.2 136.044 29.8857 136.82 27.92C137.265 26.8114 137.311 25.2571 137.311 24.0685V20.8685L137.357 14.48V8.0914C137.357 5.71426 137.311 3.82855 135.187 2.30855Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M145.396 1.07428C141.217 1.07428 139.127 3.04 139.127 7.25714V8.93714L139.173 12.2514V13.9314C139.173 15.2 139.173 16.3886 139.127 17.6571C139.047 19.1771 138.841 20.6857 138.841 22.2514C138.841 27.9886 141.788 30.7771 147.486 30.7771C156.245 30.7771 162.183 27.0057 162.183 17.6229C162.183 6.30857 156.736 1.06286 145.396 1.06286V1.07428ZM149.325 23.7371C148.994 23.7371 148.708 23.4514 148.708 23.12C148.708 22.9943 148.754 22.9143 148.834 22.7886C149.896 21.0286 150.181 18.5714 150.181 16.56C150.181 14.6743 149.976 11.8857 148.788 10.4114C148.582 10.08 148.171 9.84 148.171 9.42857C148.171 9.09714 148.457 8.81143 148.788 8.81143C149.405 8.81143 150.261 10.3657 150.512 10.9029C151.289 12.7086 151.415 14.6743 151.415 16.5943C151.415 17.7829 150.798 23.7257 149.325 23.7257V23.7371Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M181.311 15.6229C178.936 15.4172 175.533 14.5943 173.694 13.04C173.455 12.8343 173.044 12.5486 173.044 12.1829C173.044 12.0572 173.089 11.8515 173.249 11.8515C173.694 11.8515 176.561 14.1486 179.027 14.1486C182.145 14.1486 185 11.7257 185 8.53717C185 3.29146 178.045 1.16574 173.82 1.16574C167.551 1.16574 162.891 5.22289 162.891 11.6572C162.891 13.0515 163.097 14.9715 164.125 16.0457C164.616 16.5829 165.438 16.5829 166.089 16.5829C168.544 16.5829 171.662 17.36 172.964 19.6115C173.089 19.8172 173.203 20.1486 173.203 20.3886C173.203 20.4686 173.203 20.5943 173.123 20.5486C172.884 20.4686 172.678 20.2629 172.507 20.1029C171.068 18.7086 169.104 17.3143 167.025 17.3143C163.908 17.3143 162.811 20.3086 162.811 22.9257C162.811 28.2057 167.562 31.12 172.393 31.12C178.125 31.12 185 27.3486 185 20.9143C185 18.5372 183.972 15.8743 181.311 15.6343V15.6229Z\"\n />\n </svg>\n);\n\n/**\n * Abbreviated \"POPS\" wordmark — 97 × 32 px.\n * Used for mini + default/reversed: shows first three letters (POP) plus the last (S).\n */\nconst wordmarkMiniPops = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"97\"\n height=\"32\"\n viewBox=\"0 0 97 32\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"currentColor\"\n d=\"M11.3056 0.708496C2.58086 0.708496 0 6.85707 0 14.6056C0 17.4742 0.285494 20.2971 0.616667 23.1314C0.742284 24.2399 0.696605 25.4628 0.902161 26.5714C1.43889 29.4856 4.17963 30.8342 6.84043 30.8342C10.4833 30.8342 12.9043 28.5371 12.9043 24.8571C12.9043 22.7314 12.2077 21.3371 10.1978 20.5142C10.0722 20.4685 9.9466 20.4342 9.9466 20.2628C9.9466 19.9771 10.4034 19.7714 10.6889 19.7714C11.671 19.7714 13.2241 20.7542 14.583 20.7542C19.9046 20.7542 22.8509 15.6342 22.8509 10.8342C22.8509 3.86278 17.7235 0.708496 11.3056 0.708496ZM11.2599 15.7828C10.9287 15.7828 10.6432 15.4971 10.6432 15.1656C10.6432 14.7199 11.2599 14.3885 11.4654 14.0228C11.9108 13.1999 12.0364 11.8056 12.0364 10.8685C12.0364 9.75992 11.7509 7.71421 11.0543 6.89135C10.8488 6.65135 10.5633 6.52564 10.5633 6.19421C10.5633 5.86278 10.8944 5.57707 11.2142 5.57707C12.6074 5.57707 13.304 9.67992 13.304 10.7428C13.304 11.8856 12.9386 15.7828 11.2599 15.7828Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M36.8173 1.40562C28.1383 1.40562 22.9309 7.55419 22.9309 15.9885C22.9309 24.4228 28.1269 30.5713 36.8173 30.5713C45.5077 30.5713 50.658 24.3428 50.658 15.9885C50.658 7.63419 45.4164 1.40562 36.8173 1.40562ZM37.1942 26.3999C37.0571 26.5713 36.783 26.8913 36.4519 26.8913C36.1207 26.8913 35.8009 26.6056 35.8009 26.2742C35.8009 26.1485 36.863 24.5485 37.0343 24.057C37.6852 22.1256 37.8108 20.0342 37.8108 17.9885C37.8108 15.2456 37.3198 11.7142 35.6411 9.46276C35.3099 9.05134 34.2935 8.27419 34.2935 7.82848C34.2935 7.49705 34.579 7.21134 34.9102 7.21134C35.1957 7.21134 35.4812 7.46277 35.6867 7.62277C38.3019 9.79419 39.0898 14.7542 39.0898 17.9885C39.0898 20.5256 38.9871 24.2285 37.2056 26.3885L37.1942 26.3999Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M62.5916 0.708496C53.8669 0.708496 51.2861 6.85707 51.2861 14.6056C51.2861 17.4742 51.5716 20.2971 51.9027 23.1314C52.0284 24.2399 51.9827 25.4628 52.1882 26.5714C52.725 29.4856 55.4657 30.8342 58.1265 30.8342C61.7694 30.8342 64.1904 28.5371 64.1904 24.8571C64.1904 22.7314 63.4938 21.3371 61.4839 20.5142C61.3583 20.4685 61.2327 20.4342 61.2327 20.2628C61.2327 19.9771 61.6895 19.7714 61.975 19.7714C62.9571 19.7714 64.5102 20.7542 65.8691 20.7542C71.1907 20.7542 74.137 15.6342 74.137 10.8342C74.137 3.86278 69.021 0.708496 62.5916 0.708496ZM62.5574 15.7828C62.2262 15.7828 61.9407 15.4971 61.9407 15.1656C61.9407 14.7199 62.5574 14.3885 62.7629 14.0228C63.2083 13.1999 63.3339 11.8056 63.3339 10.8685C63.3339 9.75992 63.0484 7.71421 62.3518 6.89135C62.1463 6.65135 61.8608 6.52564 61.8608 6.19421C61.8608 5.86278 62.1919 5.57707 62.5117 5.57707C63.9049 5.57707 64.6015 9.67992 64.6015 10.7428C64.6015 11.8856 64.2361 15.7828 62.5574 15.7828Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M93 15.6228C90.6247 15.4171 87.2216 14.5942 85.383 13.04C85.1432 12.8342 84.7321 12.5485 84.7321 12.1828C84.7321 12.0571 84.7778 11.8514 84.9377 11.8514C85.383 11.8514 88.2494 14.1485 90.716 14.1485C93.8336 14.1485 96.6886 11.7257 96.6886 8.5371C96.6886 3.29138 89.7339 1.16567 85.5086 1.16567C79.2392 1.16567 74.5799 5.22281 74.5799 11.6571C74.5799 13.0514 74.7855 14.9714 75.8133 16.0457C76.3043 16.5828 77.1265 16.5828 77.7775 16.5828C80.2327 16.5828 83.3503 17.36 84.6521 19.6114C84.7778 19.8171 84.892 20.1485 84.892 20.3885C84.892 20.4685 84.892 20.5942 84.812 20.5485C84.5722 20.4685 84.3667 20.2628 84.1954 20.1028C82.7565 18.7085 80.7923 17.3142 78.7139 17.3142C75.5963 17.3142 74.5 20.3085 74.5 22.9257C74.5 28.2057 79.2506 31.12 84.0812 31.12C89.8139 31.12 96.6886 27.3485 96.6886 20.9142C96.6886 18.5371 95.6608 15.8742 93 15.6342V15.6228Z\"\n />\n </svg>\n);\n\n/**\n * Full POPGRIDS wordmark at compact size — 163 × 28 px.\n * Used for mini + black/white themes.\n */\nconst wordmarkMiniSmall = (\n <svg width=\"97\" height=\"31\" viewBox=\"0 0 97 31\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <title>PopGrids logo</title>\n <path\n d=\"M11.3056 0C2.58086 0 0 6.14857 0 13.8971C0 16.7657 0.285494 19.5886 0.616667 22.4229C0.742284 23.5314 0.696605 24.7543 0.902161 25.8629C1.43889 28.7771 4.17963 30.1257 6.84043 30.1257C10.4833 30.1257 12.9043 27.8286 12.9043 24.1486C12.9043 22.0229 12.2077 20.6286 10.1978 19.8057C10.0722 19.76 9.9466 19.7257 9.9466 19.5543C9.9466 19.2686 10.4034 19.0629 10.6889 19.0629C11.671 19.0629 13.2241 20.0457 14.583 20.0457C19.9046 20.0457 22.8509 14.9257 22.8509 10.1257C22.8509 3.15428 17.7235 0 11.3056 0ZM11.2599 15.0743C10.9287 15.0743 10.6432 14.7886 10.6432 14.4571C10.6432 14.0114 11.2599 13.68 11.4654 13.3143C11.9108 12.4914 12.0364 11.0971 12.0364 10.16C12.0364 9.05143 11.7509 7.00571 11.0543 6.18286C10.8488 5.94286 10.5633 5.81714 10.5633 5.48571C10.5633 5.15429 10.8944 4.86857 11.2142 4.86857C12.6074 4.86857 13.304 8.97143 13.304 10.0343C13.304 11.1771 12.9386 15.0743 11.2599 15.0743Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M36.8173 0.697126C28.1383 0.697126 22.9309 6.8457 22.9309 15.28C22.9309 23.7143 28.1269 29.8628 36.8173 29.8628C45.5077 29.8628 50.658 23.6343 50.658 15.28C50.658 6.9257 45.4164 0.697126 36.8173 0.697126ZM37.1942 25.6914C37.0571 25.8628 36.783 26.1828 36.4519 26.1828C36.1207 26.1828 35.8009 25.8971 35.8009 25.5657C35.8009 25.44 36.863 23.84 37.0343 23.3486C37.6852 21.4171 37.8108 19.3257 37.8108 17.28C37.8108 14.5371 37.3198 11.0057 35.6411 8.75427C35.3099 8.34284 34.2935 7.5657 34.2935 7.11998C34.2935 6.78855 34.579 6.50284 34.9102 6.50284C35.1957 6.50284 35.4812 6.75427 35.6867 6.91427C38.3019 9.0857 39.0898 14.0457 39.0898 17.28C39.0898 19.8171 38.9871 23.52 37.2056 25.68L37.1942 25.6914Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M62.5916 0C53.8669 0 51.2861 6.14857 51.2861 13.8971C51.2861 16.7657 51.5716 19.5886 51.9027 22.4229C52.0284 23.5314 51.9827 24.7543 52.1882 25.8629C52.725 28.7771 55.4657 30.1257 58.1265 30.1257C61.7694 30.1257 64.1904 27.8286 64.1904 24.1486C64.1904 22.0229 63.4938 20.6286 61.4839 19.8057C61.3583 19.76 61.2327 19.7257 61.2327 19.5543C61.2327 19.2686 61.6895 19.0629 61.975 19.0629C62.9571 19.0629 64.5102 20.0457 65.8691 20.0457C71.1907 20.0457 74.137 14.9257 74.137 10.1257C74.137 3.15428 69.021 0 62.5916 0ZM62.5574 15.0743C62.2262 15.0743 61.9407 14.7886 61.9407 14.4571C61.9407 14.0114 62.5574 13.68 62.7629 13.3143C63.2083 12.4914 63.3339 11.0971 63.3339 10.16C63.3339 9.05143 63.0484 7.00571 62.3518 6.18286C62.1463 5.94286 61.8608 5.81714 61.8608 5.48571C61.8608 5.15429 62.1919 4.86857 62.5117 4.86857C63.9049 4.86857 64.6015 8.97143 64.6015 10.0343C64.6015 11.1771 64.2361 15.0743 62.5574 15.0743Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M93 14.9143C90.6247 14.7086 87.2216 13.8857 85.383 12.3315C85.1432 12.1257 84.7321 11.84 84.7321 11.4743C84.7321 11.3486 84.7778 11.1429 84.9377 11.1429C85.383 11.1429 88.2494 13.44 90.716 13.44C93.8336 13.44 96.6886 11.0172 96.6886 7.8286C96.6886 2.58288 89.7339 0.457171 85.5086 0.457171C79.2392 0.457171 74.5799 4.51431 74.5799 10.9486C74.5799 12.3429 74.7855 14.2629 75.8133 15.3372C76.3043 15.8743 77.1265 15.8743 77.7775 15.8743C80.2327 15.8743 83.3503 16.6515 84.6521 18.9029C84.7778 19.1086 84.892 19.44 84.892 19.68C84.892 19.76 84.892 19.8857 84.812 19.84C84.5722 19.76 84.3667 19.5543 84.1954 19.3943C82.7565 18 80.7923 16.6057 78.7139 16.6057C75.5963 16.6057 74.5 19.6 74.5 22.2172C74.5 27.4972 79.2506 30.4115 84.0812 30.4115C89.8139 30.4115 96.6886 26.64 96.6886 20.2057C96.6886 17.8286 95.6608 15.1657 93 14.9257V14.9143Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\n/**\n * Outlined/hollow POPGRIDS letterforms — 163 × 28 px.\n * Used when outline=true on the wordmark variant.\n */\nconst wordmarkOutline = (\n <svg width=\"185\" height=\"31\" viewBox=\"0 0 185 31\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <title>PopGrids logo</title>\n <path\n d=\"M14.07 23.2586C14.07 27.2817 11.3291 29.8761 7.38907 29.8761C4.56822 29.8761 1.49612 28.4132 0.856573 25.0644C0.628164 23.9786 0.673845 22.8814 0.559641 21.7956C0.296971 19.1669 3.87117e-05 16.5382 3.87117e-05 13.8751C-0.0113817 6.57183 2.50112 0 11.4776 0C17.7474 0 23.195 3.15448 23.195 10.4121C23.195 15.1095 20.2713 20.6298 14.4812 20.6298C14.1386 20.6298 13.8416 20.5955 13.5447 20.5155C13.9216 21.2699 14.07 22.1728 14.07 23.2586ZM10.918 18.5954C11.8202 18.5954 13.2478 19.4983 14.4812 19.4983C19.3577 19.4983 22.0644 14.8009 22.0644 10.4121C22.0644 4.0231 17.3705 1.1315 11.4776 1.1315C3.48328 1.1315 1.11924 6.76613 1.11924 13.8637C1.11924 16.4924 1.38191 19.0869 1.67885 21.6813C1.79305 22.6985 1.75879 23.8186 1.94152 24.8358C2.4326 27.4988 4.9451 28.7446 7.38907 28.7446C10.7353 28.7446 12.9394 26.6416 12.9394 23.2586C12.9394 21.3042 12.2999 20.0241 10.4612 19.2812C10.347 19.2469 10.2328 19.2012 10.2328 19.0526C10.2328 18.7897 10.6439 18.6069 10.9066 18.6069L10.918 18.5954ZM11.2492 6.80042C11.0665 6.57183 10.8038 6.45754 10.8038 6.16038C10.8038 5.86322 11.1007 5.60034 11.4091 5.60034C12.6882 5.60034 13.3277 9.36057 13.3277 10.3321C13.3277 11.3836 12.9851 14.9495 11.4548 14.9495C11.1578 14.9495 10.8952 14.6866 10.8952 14.3895C10.8952 13.978 11.4548 13.6808 11.6489 13.338C12.06 12.5836 12.1742 11.3036 12.1742 10.4464C12.1742 9.42915 11.9116 7.55475 11.272 6.80042H11.2492Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M50.5698 15.1438C50.5698 23.3386 45.3507 29.6475 36.7511 29.6475C28.1515 29.6475 22.8981 23.4071 22.8981 15.1438C22.8981 6.88042 28.1172 0.640036 36.7511 0.640036C45.3849 0.640036 50.5698 6.94899 50.5698 15.1438ZM36.7511 28.516C44.6312 28.516 49.4392 22.8014 49.4392 15.1438C49.4392 7.48617 44.6312 1.77153 36.7511 1.77153C28.871 1.77153 24.0287 7.40616 24.0287 15.1438C24.0287 22.8814 28.8024 28.516 36.7511 28.516ZM35.6661 9.16627C35.3692 8.78911 34.4213 8.08049 34.4213 7.66904C34.4213 7.37188 34.684 7.109 34.9809 7.109C35.2436 7.109 35.5062 7.33759 35.689 7.48617C38.0873 9.47486 38.8068 14.0237 38.8068 16.9953C38.8068 19.3269 38.5783 22.8128 37.0823 24.6987C36.9338 24.9272 36.7054 25.1444 36.4085 25.1444C36.1115 25.1444 35.8032 24.8815 35.8032 24.5844C35.8032 24.4701 36.7853 23.0071 36.9338 22.5614C37.5391 20.7898 37.6419 18.8812 37.6419 16.9953C37.6419 14.4809 37.1965 11.2464 35.6547 9.1777L35.6661 9.16627Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M64.8454 23.2586C64.8454 27.2817 62.1044 29.8761 58.1644 29.8761C55.3435 29.8761 52.2714 28.4132 51.6319 25.0644C51.4035 23.9786 51.4492 22.8814 51.335 21.7956C51.0723 19.1669 50.7754 16.5382 50.7754 13.8751C50.7754 6.58327 53.2879 0.0114404 62.2643 0.0114404C68.5342 0.0114404 73.9817 3.16592 73.9817 10.4235C73.9817 15.1209 71.0581 20.6413 65.2679 20.6413C64.9253 20.6413 64.6284 20.607 64.3314 20.527C64.7083 21.2813 64.8568 22.1842 64.8568 23.27L64.8454 23.2586ZM61.6933 18.5954C62.5955 18.5954 64.0231 19.4983 65.2565 19.4983C70.133 19.4983 72.8397 14.8009 72.8397 10.4121C72.8397 4.02311 68.1459 1.13151 62.2529 1.13151C54.2586 1.13151 51.8946 6.76614 51.8946 13.8637C51.8946 16.4925 52.1572 19.0869 52.4542 21.6813C52.5684 22.6985 52.5341 23.8186 52.7168 24.8358C53.2079 27.4988 55.7204 28.7446 58.1644 28.7446C61.5106 28.7446 63.7147 26.6416 63.7147 23.2586C63.7147 21.3042 63.0752 20.0241 61.2365 19.2812C61.1223 19.2469 61.0081 19.2012 61.0081 19.0526C61.0081 18.7897 61.4192 18.6069 61.6819 18.6069L61.6933 18.5954ZM62.0359 6.80043C61.8532 6.57184 61.5905 6.45755 61.5905 6.16039C61.5905 5.86323 61.8875 5.60035 62.1958 5.60035C63.4749 5.60035 64.1145 9.36058 64.1145 10.3321C64.1145 11.3836 63.7718 14.9495 62.2415 14.9495C61.9446 14.9495 61.6819 14.6866 61.6819 14.3895C61.6819 13.978 62.2415 13.6808 62.4356 13.338C62.8468 12.5836 62.961 11.3036 62.961 10.4464C62.961 9.42916 62.6983 7.55476 62.0588 6.80043H62.0359Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M99.8148 20.5156C99.8148 27.8417 92.9054 30.2876 87.3894 30.2876C78.3101 30.2876 73.7191 24.4701 73.7191 15.8638C73.7191 6.54899 79.3494 0.160027 88.9197 0.160027C92.9397 0.160027 98.4215 1.47439 98.4215 6.5147C98.4215 8.76627 97.1881 11.0293 95.121 12.035C98.1246 13.6466 99.8148 17.0639 99.8148 20.527V20.5156ZM91.2152 20.4356C91.2152 21.5213 89.1139 22.0128 88.2916 22.0128C85.4022 22.0128 83.8605 19.5326 83.8605 16.9039C83.8605 13.6694 86.8983 11.1893 89.9818 11.1893C90.884 11.1893 91.8205 11.4521 92.7227 11.4521C95.3837 11.4521 97.3023 9.052 97.3023 6.49184C97.3023 2.25158 92.2773 1.26867 88.9311 1.26867C80.0346 1.26867 74.8497 7.05188 74.8497 15.841C74.8497 23.9558 79.0524 29.1447 87.3894 29.1447C92.7912 29.1447 98.6842 26.8131 98.6842 20.5041C98.6842 16.1839 95.8634 12.2408 91.2837 12.2408C88.5771 12.2408 84.8312 13.4866 84.8312 16.7096C84.8312 18.5497 86.1788 21.2927 88.3258 21.2927C89.6735 21.2927 90.5414 20.2413 90.9868 20.2413C91.101 20.2413 91.2152 20.3213 91.2152 20.4241V20.4356Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M106.096 30.0132C102.419 30.0132 100.123 27.1216 100.123 23.7386V19.1897C100.123 17.6125 100.089 16.001 100.123 14.458C100.237 9.23483 101.471 4.6174 106.427 1.87438C108.266 0.857173 110.367 0.262851 112.503 0.262851C118.316 0.262851 123.946 4.09166 123.946 10.6292C123.946 13.7151 122.519 16.2638 120.075 17.8754C122.587 18.6983 124.654 20.9155 124.654 23.8529C124.654 27.4645 121.731 29.8647 118.385 29.8647C115.301 29.8647 113.131 27.8417 111.704 25.3158C111.144 27.8303 109.305 30.0132 106.073 30.0132H106.096ZM110.904 21.3727C111.018 21.3727 111.133 21.4527 111.201 21.487C112.514 24.6758 114.319 28.7332 118.407 28.7332C121.228 28.7332 123.547 26.7445 123.547 23.8529C123.547 20.9613 120.84 18.6297 117.996 18.6297C117.322 18.6297 116.751 18.8926 116.192 18.8926C116.078 18.8926 116.043 18.7783 116.043 18.7097C116.043 18.4468 116.158 18.3325 116.34 18.264C116.98 18.0354 117.654 17.8868 118.293 17.5896C121.148 16.241 122.838 13.8294 122.838 10.6406C122.838 4.89171 117.916 1.39435 112.514 1.39435C110.561 1.39435 108.643 1.95438 106.998 2.8573C102.499 5.30316 101.631 8.78909 101.368 13.5665C101.254 15.4409 101.254 17.3268 101.254 19.2012V23.75C101.254 26.6073 103.127 28.8932 106.096 28.8932C108.232 28.8932 110.15 27.3502 110.641 25.3272C110.904 24.1272 110.756 22.6985 110.756 21.5327C110.756 21.4184 110.79 21.3841 110.904 21.3841V21.3727ZM111.692 6.80039C111.509 6.57181 111.281 6.45752 111.281 6.16035C111.281 5.86319 111.544 5.60032 111.841 5.60032C113.12 5.60032 113.759 9.36055 113.759 10.332C113.759 11.3835 113.462 14.9495 111.886 14.9495C111.589 14.9495 111.327 14.6866 111.327 14.3894C111.327 13.978 111.886 13.6808 112.08 13.3379C112.492 12.5836 112.606 11.3035 112.606 10.4463C112.606 9.42913 112.343 7.55473 111.704 6.80039H111.692Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M125.248 21.0413C125.248 16.3096 125.362 11.6121 125.362 6.9147C125.362 3.68021 127.429 0.560023 131.175 0.560023C132.42 0.560023 133.951 0.857184 135.081 1.68009C137.525 3.37162 137.559 5.73748 137.559 7.87476V13.738C137.559 15.6924 137.525 17.6468 137.525 19.6012C137.525 20.3898 137.559 21.6242 137.525 22.87C137.491 24.07 137.411 25.4644 137 26.4816C136.098 28.7675 133.505 30.1961 131.221 30.1961C128.069 30.1961 125.248 27.6817 125.248 24.3786V21.0298V21.0413ZM131.221 29.0761C133.14 29.0761 135.241 27.876 135.949 26.0702C136.36 25.053 136.395 23.6243 136.395 22.5385V19.6126L136.429 13.7494V7.88619C136.429 5.7032 136.395 3.97738 134.442 2.59443C133.539 1.98868 132.26 1.69152 131.175 1.69152C128.811 1.69152 126.79 3.56592 126.516 5.89749C126.436 6.57182 126.482 7.21186 126.482 7.9319V14.3209L126.367 21.0413V24.3901C126.367 27.0188 128.617 29.0875 131.21 29.0875L131.221 29.0761Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M138.816 7.14328C138.816 2.67444 141.26 0.342864 145.691 0.342864C156.574 0.342864 162.205 5.56604 162.205 16.6524C162.205 26.0473 156.049 29.8418 147.598 29.8418C141.785 29.8418 138.553 26.7559 138.553 20.9041C138.553 19.4755 138.736 18.0468 138.816 16.6181C138.964 13.498 138.816 10.3092 138.816 7.15471V7.14328ZM147.598 28.6989C155.638 28.6989 161.074 25.2472 161.074 16.641C161.074 6.27466 156.083 1.46293 145.679 1.46293C141.854 1.46293 139.935 3.26876 139.935 7.13185V8.6748L139.969 11.715V13.2579C139.969 14.4237 139.969 15.5095 139.935 16.6753C139.855 18.0697 139.672 19.4526 139.672 20.8813C139.672 26.1387 142.379 28.6989 147.587 28.6989H147.598ZM148.797 10.0349C148.614 9.73773 148.238 9.50914 148.238 9.13197C148.238 8.83481 148.5 8.57194 148.797 8.57194C149.357 8.57194 150.145 10.0006 150.373 10.4921C151.081 12.1493 151.195 13.9437 151.195 15.7152C151.195 16.801 150.636 22.2528 149.277 22.2528C148.98 22.2528 148.717 21.9899 148.717 21.6927C148.717 21.5785 148.751 21.5099 148.831 21.3956C149.802 19.7841 150.065 17.5211 150.065 15.6809C150.065 13.9551 149.882 11.395 148.786 10.0463L148.797 10.0349Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M163.941 16.001C162.742 14.8695 162.479 12.7322 162.479 11.155C162.479 4.61741 167.321 0.411437 173.625 0.411437C177.417 0.411437 185 2.33156 185 8.29763C185 10.8121 183.504 12.8122 181.437 13.8637C184.143 14.6523 185 17.4296 185 19.6469C185 26.4816 177.828 30.1275 172.312 30.1275C167.55 30.1275 162.399 27.2016 162.399 21.487C162.399 19.7955 162.89 17.5782 164.352 16.2981C164.203 16.2181 164.089 16.1153 163.941 16.001ZM172.837 18.4468C172.951 18.6297 173.066 18.9383 173.066 19.1554C173.066 19.2354 173.066 19.3383 172.986 19.304C172.757 19.224 172.575 19.0411 172.426 18.8926C171.113 17.6125 169.308 16.3438 167.401 16.3438C164.546 16.3438 163.53 19.0869 163.53 21.487C163.53 26.333 167.881 28.996 172.312 28.996C177.565 28.996 183.881 25.5444 183.881 19.6469C183.881 17.4639 182.944 15.0295 180.5 14.8009C178.319 14.618 175.213 13.8637 173.522 12.435C173.294 12.2522 172.917 11.9893 172.917 11.6464C172.917 11.5321 172.951 11.3493 173.1 11.3493C173.511 11.3493 176.138 13.4522 178.388 13.4522C181.243 13.4522 183.869 11.235 183.869 8.30906C183.869 3.49734 177.485 1.54293 173.625 1.54293C167.881 1.54293 163.598 5.25745 163.598 11.1664C163.598 12.4465 163.781 14.2066 164.729 15.1895C165.174 15.6809 165.928 15.6809 166.533 15.6809C168.783 15.6809 171.638 16.3896 172.837 18.4583V18.4468Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\n// ─── Theme lookup maps ─────────────────────────────────────────────────────────\n\n/** Text color class for wordmark and icon-outline themes. */\nconst textColor: Record<LogoTheme, string> = {\n default: \"text-foreground\",\n reversed: \"text-white\",\n black: \"text-black\",\n white: \"text-white\",\n};\n\n/**\n * Solid background for the filled squircle icon.\n * `black` and `white` themes use the animated GIF instead (handled inline).\n */\nconst iconBg: Record<LogoTheme, string | null> = {\n default: \"bg-primary\",\n reversed: \"bg-brand-pumpkin-500\",\n black: null,\n white: null,\n};\n\n// ─── Component ─────────────────────────────────────────────────────────────────\n\nexport function Logo({\n variant = \"logo\",\n theme = \"default\",\n outline = false,\n mini = false,\n className = \"\",\n}: LogoProps) {\n // ── Icon variant ──────────────────────────────────────────────────────────────\n if (variant === \"icon\") {\n const sizeClass = mini ? \"size-8\" : \"size-12\";\n const useGif = theme === \"black\" || theme === \"white\";\n\n return (\n <div\n data-slot=\"logo\"\n role=\"img\"\n aria-label=\"PopGrids\"\n className={cn(\"mask mask-squircle relative shrink-0\", sizeClass, className)}\n >\n {useGif ? (\n <img\n src={CDN_ANIMATED_BG}\n alt=\"\"\n aria-hidden=\"true\"\n width={96}\n height={96}\n className=\"absolute inset-0 size-full object-cover\"\n />\n ) : (\n <div className={cn(\"absolute inset-0\", iconBg[theme])} />\n )}\n <img\n src={CDN_LETTER_P}\n alt=\"\"\n aria-hidden=\"true\"\n width={96}\n height={96}\n className={cn(\"absolute left-0 h-auto w-full scale-[0.67]\", {\n \"bottom-[-3px]\": mini,\n \"bottom-[-5px]\": !mini,\n })}\n />\n </div>\n );\n }\n\n // ── Wordmark variant ──────────────────────────────────────────────────────────\n\n if (outline) {\n return (\n <div\n data-slot=\"logo\"\n role=\"img\"\n aria-label=\"PopGrids\"\n className={cn(\"inline-flex shrink-0 items-center\", textColor[theme], className)}\n >\n {wordmarkOutline}\n </div>\n );\n }\n\n if (!mini) {\n return (\n <div\n data-slot=\"logo\"\n role=\"img\"\n aria-label=\"PopGrids\"\n className={cn(\"inline-flex shrink-0 items-center\", textColor[theme], className)}\n >\n {wordmarkFull}\n </div>\n );\n }\n\n // Mini wordmark: POPS abbreviated form for default/reversed, compact full mark for black/white.\n const miniSvg =\n theme === \"default\" || theme === \"reversed\" ? wordmarkMiniPops : wordmarkMiniSmall;\n\n return (\n <div\n data-slot=\"logo\"\n role=\"img\"\n aria-label=\"PopGrids\"\n className={cn(\"inline-flex shrink-0 items-center\", textColor[theme], className)}\n >\n {miniSvg}\n </div>\n );\n}\n","\"use client\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { NotificationBadgeProps } from \"./types\";\n\nconst notificationBadgeVariants = cva(\n \"inline-flex items-center justify-center rounded-full box-border shrink-0 whitespace-nowrap text-xs font-medium leading-[18px] min-w-[18px] h-[18px] px-[5px] py-0 transition-[color,background-color,border-color]\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground\",\n reversed: \"bg-background text-foreground\",\n disabled:\n \"bg-tint-950-reversed border border-black-alpha-600 text-black-alpha-600 backdrop-blur-lg\",\n white: \"bg-white text-black\",\n black: \"bg-brand-midnight-900 text-white\",\n },\n pulse: {\n true: \"relative\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n pulse: true,\n class:\n \"before:content-[''] before:absolute before:inset-[-4px] before:rounded-full before:border-4 before:border-solid before:border-(--notification-badge-pulse-color,var(--color-surface-alpha-alpha-brand-light-30)) before:pointer-events-none before:animate-notification-badge-ping motion-reduce:before:animate-none\",\n },\n ],\n defaultVariants: {\n variant: \"default\",\n pulse: false,\n },\n },\n);\n\nfunction NotificationBadge({\n className,\n variant,\n pulse = false,\n count,\n children,\n render,\n ...props\n}: NotificationBadgeProps & VariantProps<typeof notificationBadgeVariants>) {\n const displayContent = count !== undefined ? String(count) : children;\n\n const defaultProps: Record<string, unknown> = {\n \"data-slot\": \"notification-badge\",\n className: cn(notificationBadgeVariants({ variant, pulse }), className),\n children: <span className=\"text-center\">{displayContent}</span>,\n };\n\n return useRender({\n defaultTagName: \"div\",\n render,\n props: mergeProps<\"div\">(defaultProps, props),\n });\n}\n\nexport { NotificationBadge };\n","export const SectionFlourish = () => (\n <div className=\"flex items-center justify-center self-stretch py-8 text-xl\">✦</div>\n);\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\n\nimport { cn } from \"../../lib/utils\";\n\nfunction TooltipProvider({ delay = 0, ...props }: TooltipPrimitive.Provider.Props) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delay={delay} {...props} />;\n}\n\nfunction Tooltip({ ...props }: TooltipPrimitive.Root.Props) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />;\n}\n\nfunction TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n side = \"top\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipPrimitive.Popup.Props &\n Pick<TooltipPrimitive.Positioner.Props, \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\">) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n className={cn(\n \"data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 z-50 w-fit max-w-xs origin-(--transform-origin) rounded-md bg-foreground px-3 py-1.5 text-background text-xs data-[state=delayed-open]:animate-in data-closed:animate-out data-open:animate-in\",\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"flex data-[side=bottom]:-top-[6px] data-[side=left]:right-[-13px] data-[side=top]:-bottom-[6px] data-[side=right]:left-[-13px] data-[side=bottom]:rotate-0 data-[side=left]:rotate-90 data-[side=right]:-rotate-90 data-[side=top]:rotate-180\">\n <TooltipArrow />\n </TooltipPrimitive.Arrow>\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport const TooltipArrow = (_props: React.ComponentProps<\"svg\">) => {\n return (\n <svg\n width=\"20\"\n height=\"6\"\n viewBox=\"382.134 241.548 20 6\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <title>Tooltip Arrow</title>\n <path\n className=\"fill-foreground\"\n d=\"M 382.134 247.548 C 390.116 247.548 389.506 241.548 392.134 241.548 C 394.762 241.548 394.152 247.548 402.134 247.548\"\n />\n </svg>\n );\n};\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n","\"use client\";\n\nimport { Check, InfoCircle } from \"@untitledui/icons\";\nimport { cn } from \"../../lib/utils\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../tooltip/tooltip\";\nimport type { SectionHeaderProps } from \"./types\";\n\nfunction computeLabelText(\n required: boolean,\n numberChecked: number,\n min: number | undefined,\n max: number | undefined,\n): string {\n if (required) {\n if (numberChecked === 0) {\n return `${min}–${max} Required`;\n }\n return `${numberChecked} selected of ${max}`;\n }\n if (max === 0 && min === 0) {\n return \"1 Optional\";\n }\n if (numberChecked === 0) {\n return `Up to ${max}`;\n }\n return `${numberChecked} selected of ${max}`;\n}\n\nexport function SectionHeader({\n className = undefined,\n flourish = undefined,\n heading = undefined,\n icon = undefined,\n label: _label = undefined,\n min = undefined,\n max = undefined,\n required = false,\n description = undefined,\n numberChecked = 0,\n}: SectionHeaderProps) {\n const labelText = computeLabelText(required, numberChecked, min, max);\n\n return (\n <div\n className={cn(\n \"flex w-full items-center\",\n {\n \"justify-center py-8\": flourish,\n \"h-[30px] shrink-0 flex-wrap content-center justify-between gap-y-3 pb-1.5\": !flourish,\n \"border-foreground border-b-[0.3px]\": !flourish,\n },\n className,\n )}\n >\n {flourish ? (\n <span className=\"font-normal text-xl\">{flourish}</span>\n ) : (\n <>\n <div className=\"flex items-center gap-1 font-semibold text-sm uppercase\">\n {heading != null && (\n <>\n {icon != null && icon}\n {heading}\n </>\n )}\n </div>\n {min != null && (\n <div className=\"flex items-center gap-1.5\">\n <div className=\"font-normal text-sm\">{labelText}</div>\n {(required && numberChecked >= min) || (!required && numberChecked > 0) ? (\n <Check className=\"size-5\" />\n ) : (\n description && (\n <Tooltip>\n <TooltipTrigger render={<InfoCircle className=\"size-5\" />} />\n <TooltipContent sideOffset={2} alignOffset={5}>\n <p>{description}</p>\n </TooltipContent>\n </Tooltip>\n )\n )}\n </div>\n )}\n </>\n )}\n </div>\n );\n}\n","\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport type { KeyboardEvent } from \"react\";\nimport { cn } from \"../../lib/utils\";\nimport type { TagProps } from \"./types\";\n\nconst tagVariants = cva(\n // Base styles\n \"inline-flex items-center justify-center rounded-full box-border relative font-medium text-sm leading-5 text-center whitespace-nowrap appearance-none focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/60 focus-visible:ring-offset-0\",\n {\n variants: {\n selected: {\n false:\n \"text-primary ring ring-primary ring-offset-0 focus-visible:bg-primary focus-visible:text-primary\",\n true: \"bg-primary text-primary-foreground dark:text-primary-foreground focus-visible:bg-primary focus-visible:text-primary-foreground dark:focus-visible:bg-primary dark:focus-visible:text-primary-foreground\",\n },\n interactive: {\n false: null,\n true: \"cursor-pointer\",\n },\n size: {\n md: null,\n lg: null,\n },\n collapsed: {\n false: null,\n true: null,\n },\n },\n defaultVariants: {\n selected: false,\n interactive: false,\n size: \"md\",\n collapsed: false,\n },\n compoundVariants: [\n // Interactive hover states\n {\n interactive: true,\n selected: false,\n class: \"hover:ring-2 hover:ring-primary active:ring-1\",\n },\n {\n interactive: true,\n selected: true,\n class: \"hover:bg-primary/90\",\n },\n // Interactive active states\n {\n interactive: true,\n selected: false,\n class: \"active:ring active:ring-primary\",\n },\n {\n interactive: true,\n selected: true,\n class: \"active:bg-primary\",\n },\n // Size variants (non-collapsed)\n {\n size: \"md\",\n collapsed: false,\n class: \"px-2 py-1.5 gap-0.5\",\n },\n {\n size: \"lg\",\n collapsed: false,\n class: \"px-3 py-2.5 gap-1\",\n },\n // Collapsed size adjustments\n {\n size: \"md\",\n collapsed: true,\n class: \"p-1.5 w-8 h-8\",\n },\n {\n size: \"lg\",\n collapsed: true,\n class: \"p-2.5 w-10 h-10\",\n },\n ],\n },\n);\n\nexport function Tag({\n size = \"md\",\n selected = false,\n collapsed = false,\n children,\n leading,\n trailing,\n interactive,\n type,\n onClick,\n className = \"\",\n}: TagProps) {\n const handleClick = () => {\n if (onClick) {\n onClick();\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => {\n if (onClick && (event.key === \"Enter\" || event.key === \" \")) {\n event.preventDefault();\n onClick();\n }\n };\n\n const showLeading = leading && !collapsed;\n const showTrailing = trailing && !collapsed;\n\n // Explicit interactive prop takes precedence; otherwise detect from onClick\n const isInteractive = interactive ?? typeof onClick === \"function\";\n const TagElement = isInteractive ? \"button\" : \"div\";\n\n return (\n <TagElement\n className={cn(\n tagVariants({\n size,\n selected,\n collapsed,\n interactive: isInteractive,\n }),\n className,\n )}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n type={isInteractive ? (type ?? \"button\") : undefined}\n >\n {!collapsed && (\n <>\n {showLeading && (\n <div className=\"flex h-5 w-5 shrink-0 items-center justify-center overflow-hidden text-inherit\">\n {leading}\n </div>\n )}\n <div className=\"flex items-center justify-center px-1 first:pl-0 last:pr-0\">\n {children}\n </div>\n {showTrailing && (\n <div className=\"flex h-5 w-5 shrink-0 items-center justify-center overflow-hidden text-inherit\">\n {trailing}\n </div>\n )}\n </>\n )}\n\n {collapsed && (\n <div className=\"flex h-5 w-5 shrink-0 items-center justify-center overflow-hidden text-inherit\">\n {leading || trailing}\n </div>\n )}\n </TagElement>\n );\n}\n","import { cva } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { TemplateHeaderProps } from \"./types\";\n\nconst templateHeaderVariants = cva(\n \"mx-auto flex w-full max-w-2xl flex-col items-center justify-center gap-2.5 py-12\",\n);\n\nexport function TemplateHeader({ className, image }: TemplateHeaderProps) {\n return (\n <header\n data-slot=\"template-header\"\n className={cn(\"drop-shadow-3xl drop-shadow-primary/30\", templateHeaderVariants(), className)}\n >\n <div className=\"mx-auto flex aspect-146/85 max-h-[596px] max-w-2xl shrink-0 items-center justify-between self-stretch\">\n {image}\n </div>\n </header>\n );\n}\n"]}
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/notification-badge/notification-badge.tsx","../src/components/avatar/avatar.tsx","../src/components/banner-notification/banner-notification.tsx","../src/components/loader/loader.tsx","../src/components/button/button.tsx","../src/components/button-link/button-link.tsx","../src/components/content-block/content-block.tsx","../src/components/checkbox/checkbox.tsx","../src/components/default-header/default-header.tsx","../src/components/dialog/dialog.tsx","../src/components/dropdown-menu/dropdown-menu.tsx","../src/components/footer/footer.tsx","../src/components/input/input.tsx","../src/components/textarea/textarea.tsx","../src/components/input-group/input-group.tsx","../src/components/label/label.tsx","../src/components/logo/logo.tsx","../src/components/section-flourish/section-flourish.tsx","../src/components/tooltip/tooltip.tsx","../src/components/section-header/section-header.tsx","../src/components/tag/tag.tsx","../src/components/template-header/template-header.tsx"],"names":["twMerge","clsx","cva","jsx","useRender","mergeProps","AvatarPrimitive","jsxs","loaderVariants","Fragment","ButtonPrimitive","CheckboxPrimitive","Check","DialogPrimitive","XClose","MenuPrimitive","ChevronRight","InputPrimitive","TooltipPrimitive","InfoCircle"],"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","\"use client\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\nimport { type VariantProps, cva } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { NotificationBadgeProps } from \"./types\";\n\nconst notificationBadgeVariants = cva(\n \"inline-flex items-center justify-center rounded-full box-border shrink-0 whitespace-nowrap text-xs font-medium leading-[18px] min-w-[18px] h-[18px] px-[5px] py-0 transition-[color,background-color,border-color]\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground\",\n reversed: \"bg-background text-foreground\",\n disabled:\n \"bg-tint-950-reversed border border-black-alpha-600 text-black-alpha-600 backdrop-blur-lg\",\n white: \"bg-white text-black\",\n black: \"bg-brand-midnight-900 text-white\",\n },\n pulse: {\n true: \"relative\",\n false: \"\",\n },\n },\n compoundVariants: [\n {\n pulse: true,\n class:\n \"before:content-[''] before:absolute before:inset-[-4px] before:rounded-full before:border-4 before:border-solid before:border-(--notification-badge-pulse-color,var(--color-surface-alpha-alpha-brand-light-30)) before:pointer-events-none before:animate-notification-badge-ping motion-reduce:before:animate-none\",\n },\n ],\n defaultVariants: {\n variant: \"default\",\n pulse: false,\n },\n },\n);\n\nfunction NotificationBadge({\n className,\n variant,\n pulse = false,\n count,\n children,\n render,\n ...props\n}: NotificationBadgeProps & VariantProps<typeof notificationBadgeVariants>) {\n const displayContent = count !== undefined ? String(count) : children;\n\n const defaultProps: Record<string, unknown> = {\n \"data-slot\": \"notification-badge\",\n className: cn(notificationBadgeVariants({ variant, pulse }), className),\n children: <span className=\"text-center\">{displayContent}</span>,\n };\n\n return useRender({\n defaultTagName: \"div\",\n render,\n props: mergeProps<\"div\">(defaultProps, props),\n });\n}\n\nexport { NotificationBadge };\n","\"use client\";\n\nimport { Avatar as AvatarPrimitive } from \"@base-ui/react/avatar\";\nimport { cva } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport { NotificationBadge } from \"../notification-badge\";\nimport type {\n AvatarBadgeProps,\n AvatarFallbackProps,\n AvatarGroupCountProps,\n AvatarGroupProps,\n AvatarImageProps,\n AvatarProps,\n} from \"./types\";\n\nconst avatarVariants = cva(\n \"group/avatar relative flex shrink-0 select-none after:absolute after:inset-0 after:mix-blend-darken dark:after:mix-blend-lighten\",\n {\n variants: {\n size: {\n xs: \"size-6\", // 24px\n sm: \"size-8\", // 32px\n md: \"size-14\", // 56px\n lg: \"size-20\", // 80px\n xl: \"size-[120px]\",\n xxl: \"size-[140px]\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n },\n);\n\nfunction Avatar({ className = \"\", size = \"md\", ...props }: AvatarProps) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n data-size={size}\n className={cn(avatarVariants({ size }), className)}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({ className = \"\", ...props }: AvatarImageProps) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full mask mask-squircle object-cover\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({ className = \"\", ...props }: AvatarFallbackProps) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"mask mask-squircle flex size-full items-center justify-center bg-muted text-muted-foreground text-sm group-data-[size=sm]/avatar:text-xs\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarBadge({ className = \"\", ...props }: AvatarBadgeProps) {\n return (\n <NotificationBadge\n data-slot=\"avatar-badge\"\n className={cn(\n \"absolute h-[18px] min-w-[18px] z-10 select-none\",\n \"leading-none\",\n \"group-data-[size=xs]/avatar:right-[-4px] group-data-[size=xs]/avatar:bottom-[-4px]\",\n \"group-data-[size=sm]/avatar:right-[-4px] group-data-[size=sm]/avatar:bottom-[-4px]\",\n \"group-data-[size=md]/avatar:right-[-4px] group-data-[size=md]/avatar:bottom-[-4px]\",\n \"group-data-[size=lg]/avatar:right-[-2px] group-data-[size=lg]/avatar:bottom-[-2px]\",\n \"group-data-[size=xl]/avatar:right-[3px] group-data-[size=xl]/avatar:bottom-[3px]\",\n \"group-data-[size=xxl]/avatar:right-[11px] group-data-[size=xxl]/avatar:bottom-px\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarGroup({ className = \"\", ...props }: AvatarGroupProps) {\n return (\n <div\n data-slot=\"avatar-group\"\n className={cn(\n \"group/avatar-group flex -space-x-2 *:data-[slot=avatar]:ring-2 *:data-[slot=avatar]:ring-background\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AvatarGroupCount({ className = \"\", ...props }: AvatarGroupCountProps) {\n return (\n <div\n data-slot=\"avatar-group-count\"\n className={cn(\n \"relative flex size-8 shrink-0 items-center justify-center rounded-full bg-muted text-muted-foreground text-sm ring-2 ring-background group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>svg]:size-4 group-has-data-[size=lg]/avatar-group:[&>svg]:size-5 group-has-data-[size=sm]/avatar-group:[&>svg]:size-3\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage };\n","import { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { BannerNotificationProps } from \"./types\";\n\nconst bannerNotificationVariants = cva(\n \"flex items-start gap-3 rounded-[6px] px-4 py-3 w-full w-[360px] border-border border\",\n {\n variants: {\n variant: {\n info: \"\",\n },\n theme: {\n error: \"bg-warning-100 dark:bg-warning-200/16\",\n highlight: \"bg-success-50 dark:bg-white/0\",\n },\n },\n defaultVariants: {\n variant: \"info\",\n theme: \"highlight\",\n },\n },\n);\n\nfunction BannerNotification({\n className,\n children,\n variant = \"info\",\n theme = \"highlight\",\n image,\n ...props\n}: BannerNotificationProps & VariantProps<typeof bannerNotificationVariants>) {\n return (\n <div\n data-slot=\"banner-notification\"\n className={cn(bannerNotificationVariants({ variant, theme }), className)}\n {...props}\n >\n {image && <div className=\"flex shrink-0 items-start [&>svg]:size-5\">{image}</div>}\n {children != null && <div className=\"min-w-0 flex-1 text-sm\">{children}</div>}\n </div>\n );\n}\n\nexport { BannerNotification };\n","\"use client\";\n\nimport { cva } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { LoaderProps } from \"./types\";\n\nconst loaderVariants = cva(\"flex shrink-0 items-center justify-center\", {\n variants: {\n theme: {\n default: \"[--loader-foreground:var(--foreground)] [--loader-background:var(--foreground)]\",\n reversed: \"[--loader-foreground:var(--background)] [--loader-background:var(--foreground)]\",\n black:\n \"[--loader-foreground:var(--color-brand-midnight-900)] [--loader-background:var(--color-grayscale-300)]\",\n white:\n \"[--loader-foreground:var(--color-grayscale-300)] [--loader-background:var(--color-brand-midnight-900)]\",\n },\n variant: {\n spinner: \"size-5 motion-reduce:animate-none\",\n loader: \"relative flex h-[13px] w-[23px] motion-reduce:animate-none\",\n },\n },\n defaultVariants: {\n theme: \"default\",\n variant: \"spinner\",\n },\n});\n\nconst spinnerFgVariants = cva(\"\", {\n variants: {\n theme: {\n default: \"fill-foreground opacity-[0.06]\",\n reversed: \"fill-white opacity-10\",\n black: \"fill-black opacity-[0.04]\",\n white: \"fill-white opacity-[0.04]\",\n },\n },\n});\n\nconst spinnerBgVariants = cva(\"\", {\n variants: {\n theme: {\n default: \"fill-foreground\",\n reversed: \"fill-background\",\n black: \"fill-black opacity-[0.98]\",\n white: \"fill-white opacity-[0.98]\",\n },\n },\n});\n\nfunction Loader({\n theme = \"default\",\n variant = \"spinner\",\n className,\n style,\n ...props\n}: LoaderProps) {\n const dotCount = 21;\n\n return (\n <div\n data-slot=\"loader\"\n className={cn(\n loaderVariants({ theme, variant }),\n variant === \"spinner\" && \"animate-spin\",\n className,\n )}\n {...props}\n >\n {variant === \"spinner\" ? (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 20 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <title>Loading spinner</title>\n <g clipPath=\"url(#pop_loader_clip_path)\">\n <path\n className={spinnerFgVariants({ theme })}\n d=\"M20 10C20 15.5137 15.5137 20 10 20C4.48628 20 6.78126e-07 15.5137 4.37114e-07 10C1.96101e-07 4.48627 4.48627 3.50301e-07 10 1.09288e-07C15.5137 -1.31724e-07 20 4.48627 20 10ZM2.35294 10C2.35294 14.2196 5.78039 17.6471 10 17.6471C14.2196 17.6471 17.6471 14.2196 17.6471 10C17.6471 5.78039 14.2196 2.35294 10 2.35294C5.78039 2.35294 2.35294 5.78039 2.35294 10Z\"\n />\n <path\n className={spinnerBgVariants({ theme })}\n d=\"M20 10L17.6471 10C17.6471 5.78039 14.2196 2.35294 10 2.35294L10 7.10315e-07C15.5137 4.69302e-07 20 4.48627 20 10Z\"\n />\n </g>\n <defs>\n <clipPath id=\"pop_loader_clip_path\">\n <rect\n width=\"20\"\n height=\"20\"\n fill=\"white\"\n transform=\"translate(8.74228e-07 20) rotate(-90)\"\n />\n </clipPath>\n </defs>\n </svg>\n ) : (\n Array.from({ length: dotCount }, (_, index) => {\n const delaySeconds = index * 0.035;\n return (\n <div\n // biome-ignore lint/suspicious/noArrayIndexKey: static ordered list\n key={index}\n className=\"absolute top-0 size-[3px] animate-loader-wave rounded-full bg-grayscale-200 motion-reduce:animate-none dark:bg-grayscale-700\"\n style={{\n left: `${index}px`,\n animationDelay: `${delaySeconds}s`,\n }}\n />\n );\n })\n )}\n </div>\n );\n}\n\nexport { Loader };\n","\"use client\";\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport { cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Loader, type LoaderProps } from \"../loader\";\nimport type { ButtonProps } from \"./types\";\n\nconst buttonVariants = cva(\n \"inline-flex relative items-center gap-1.5 whitespace-nowrap font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 text-foreground bg-background group/button outline-none focus-visible:border-ring-3 focus-visible:ring-ring/60 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n align: {\n left: \"justify-start\",\n center: \"justify-center\",\n right: \"justify-end\",\n },\n collapsed: {\n false: null,\n true: \"min-w-10 max-w-10 justify-center\",\n },\n outline: {\n false: null,\n true: \"\",\n },\n hasLeading: {\n false: null,\n },\n theme: {\n base: \"bg-foreground text-background\",\n brand: \"bg-primary text-primary-foreground\",\n error: \"\",\n },\n hasTrailing: {\n false: null,\n },\n variant: {\n default: \"hover:bg-background/90\",\n outline: \"backdrop-blur-lg \",\n primary: \"bg-primary/0 backdrop-blur-lg text-primary-foreground\",\n secondary: \"bg-secondary-foreground/0 backdrop-blur-lg text-secondary\",\n tertiary: \"bg-background/0 backdrop-blur-lg [--foreground:var(--color-text-text-default)]\",\n },\n pill: {\n false: \"rounded-xs\",\n true: \"rounded-full\",\n },\n size: {\n default: \"h-10 min-h-10 px-3 py-2 text-sm [&_svg:not([class*='size-'])]:size-[18px]\",\n lg: \"h-12 min-h-12 text-base [&_svg:not([class*='size-'])]:size-[20px]\",\n },\n },\n defaultVariants: {\n align: \"center\",\n outline: false,\n pill: false,\n size: \"default\",\n theme: \"brand\",\n variant: \"default\",\n },\n compoundVariants: [\n {\n pill: true,\n size: \"default\",\n class: \"min-w-10 min-h-10 px-4\",\n },\n {\n pill: true,\n collapsed: true,\n class: \"max-w-10\",\n },\n {\n pill: true,\n size: \"lg\",\n class: \"min-w-12 min-h-12 px-4\",\n },\n {\n pill: true,\n size: \"lg\",\n collapsed: true,\n class: \"max-w-[54px] max-h-12\",\n },\n {\n collapsed: false,\n size: \"default\",\n align: \"left\",\n pill: false,\n class: \"pr-3 pl-2\",\n },\n {\n align: \"center\",\n collapsed: false,\n size: \"default\",\n pill: false,\n class: \"px-3\",\n },\n {\n hasLeading: true,\n pill: false,\n align: \"left\",\n size: \"default\",\n class: \"pr-3 pl-2\",\n },\n {\n collapsed: false,\n size: \"default\",\n pill: true,\n class: \"px-4\",\n },\n {\n size: \"lg\",\n pill: true,\n collapsed: false,\n class: \"px-4\",\n },\n {\n variant: \"primary\",\n outline: false,\n theme: \"base\",\n class:\n \"bg-foreground text-background hover:ring-2 active:ring active:bg-background disabled:outline-none disabled:bg-black/0 disabled:text-black-alpha-600 focus-visible:ring-3 focus-visible:ring-ring focus-visible:outline-background focus-visible:bg-foreground focus-visible:text-background\",\n },\n {\n variant: \"primary\",\n outline: true,\n theme: \"base\",\n class:\n \"ring ring-foreground bg-background/0 text-foreground hover:ring-2 active:ring active:bg-background/1 disabled:outline-none disabled:bg-background/0 focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-background focus-visible:bg-background/1\",\n },\n {\n variant: \"primary\",\n outline: true,\n theme: \"brand\",\n class:\n \"ring ring-primary-foreground bg-background/0 text-primary-foreground hover:ring-2 active:ring active:bg-background/1 disabled:outline-none disabled:bg-background/0 focus-visible:ring focus-visible:ring-ring focus-visible:outline-background focus-visible:bg-background/1\",\n },\n {\n variant: \"primary\",\n theme: \"brand\",\n outline: false,\n class:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground active:bg-primary active:text-primary-foreground focus-visible:bg-primary focus-visible:text-primary-foreground\",\n },\n {\n variant: \"primary\",\n theme: \"error\",\n class: \"bg-destructive text-white\",\n },\n {\n variant: \"secondary\",\n outline: false,\n theme: \"base\",\n class: \"bg-background/0 text-foreground backdrop-blur-lg focus-visible:backdrop-blur-md\",\n },\n {\n variant: \"secondary\",\n outline: true,\n theme: \"base\",\n class:\n \"bg-background/0 text-foreground ring ring-foreground/0 hover:ring-foreground active:ring-foreground/0 disabled:ring-foreground/0 backdrop-blur-lg focus-visible:backdrop-blur-md\",\n },\n {\n variant: \"tertiary\",\n outline: false,\n theme: \"base\",\n class:\n \"bg-background/0 text-foreground backdrop-blur-lg focus-visible:backdrop-blur-md dark:text-white\",\n },\n {\n variant: \"tertiary\",\n theme: \"error\",\n class: \"bg-transparent backdrop-blur-lg text-error-600\",\n },\n ],\n },\n);\n\nconst tintVariants = cva(\n \"before:content-[''] before:absolute before:inset-0 before:transition-all before:rounded-[inherit] before:pointer-events-none\",\n {\n variants: {\n outline: {\n false: null,\n },\n variant: {\n default: \"\",\n outline: \"\",\n primary:\n \"before:bg-tint-700-reversed/0 hover:before:bg-tint-700-reversed active:before:bg-tint-700-reversed/0 disabled:before:bg-tint-900-default focus-visible:before:bg-tint-700-reversed/0\",\n secondary:\n \"before:bg-tint-900-default hover:before:bg-tint-800-default active:before:bg-tint-900-default disabled:before:bg-tint-900-default focus-visible:before:bg-tint-800-default\",\n tertiary:\n \"before:bg-tint-950-reversed hover:before:bg-tint-900-default active:before:bg-tint-950-reversed disabled:before:bg-tint-950-reversed focus-visible:before:bg-tint-950-reversed\",\n },\n },\n defaultVariants: {\n outline: false,\n variant: \"default\",\n },\n compoundVariants: [\n {\n outline: true,\n variant: \"primary\",\n class:\n \"before:bg-tint-950-reversed hover:before:bg-tint-950-reversed active:before:bg-tint-950-reversed disabled:before:bg-tint-900-default focus-visible:before:bg-tint-950-reversed\",\n },\n {\n outline: true,\n variant: \"secondary\",\n class:\n \"before:bg-tint-950-reversed hover:before:bg-tint-950-reversed active:before:bg-tint-950-reversed disabled:before:bg-tint-900-default focus-visible:before:bg-tint-950-reversed\",\n },\n ],\n },\n);\n\nconst loaderCompoundVariants: Array<{\n theme: \"base\" | \"brand\" | \"error\";\n variant: string;\n loaderTheme: LoaderProps[\"theme\"];\n}> = [\n { theme: \"base\", variant: \"default\", loaderTheme: \"reversed\" },\n { theme: \"base\", variant: \"primary\", loaderTheme: \"reversed\" },\n { theme: \"base\", variant: \"tertiary\", loaderTheme: \"black\" },\n { theme: \"base\", variant: \"outline\", loaderTheme: \"white\" },\n { theme: \"brand\", variant: \"secondary\", loaderTheme: \"default\" },\n { theme: \"brand\", variant: \"default\", loaderTheme: \"reversed\" },\n { theme: \"brand\", variant: \"primary\", loaderTheme: \"reversed\" },\n { theme: \"brand\", variant: \"tertiary\", loaderTheme: \"black\" },\n { theme: \"brand\", variant: \"outline\", loaderTheme: \"reversed\" },\n];\n\nfunction loaderVariants({\n theme,\n variant,\n}: {\n theme: \"base\" | \"brand\" | \"error\";\n variant: string;\n}): LoaderProps[\"theme\"] {\n const match = loaderCompoundVariants.find((c) => c.theme === theme && c.variant === variant);\n return match?.loaderTheme ?? \"default\";\n}\n\nfunction Button({\n align = \"center\",\n children,\n className,\n collapsed = false,\n focusableWhenDisabled,\n leading,\n outline = false,\n pill = false,\n loading = false,\n loadingElement,\n nativeButton,\n render,\n size = \"default\",\n theme = \"brand\",\n trailing,\n variant = \"default\",\n href,\n ...props\n}: ButtonProps) {\n const sharedClassName = cn(\n buttonVariants({\n variant,\n size,\n align,\n outline,\n collapsed,\n pill,\n hasLeading: !!leading,\n theme,\n hasTrailing: !!trailing,\n }),\n tintVariants({ variant, outline }),\n className,\n );\n\n const content = (\n <>\n {loading &&\n (loadingElement || (\n <Loader\n className=\"absolute inset-0 m-auto\"\n variant=\"spinner\"\n theme={loaderVariants({ theme, variant })}\n />\n ))}\n {leading && (\n <div\n className={cn(\"transition-opacity group-aria-busy/button:opacity-0\", {\n \"opacity-0\": loading,\n })}\n >\n {leading}\n </div>\n )}\n {children && (\n <span\n className={cn(\"relative min-w-[18px] truncate transition-opacity\", {\n \"opacity-0\": loading,\n })}\n >\n {children}\n </span>\n )}\n {trailing && (\n <div\n className={cn(\"transition-opacity group-aria-busy/button:opacity-0\", {\n \"opacity-0\": loading,\n \"absolute top-1/2 right-0 translate-x-1/2 -translate-y-1/2\": collapsed,\n })}\n >\n {trailing}\n </div>\n )}\n </>\n );\n\n if (href != null) {\n return (\n <a\n data-slot=\"button\"\n className={sharedClassName}\n href={href}\n {...(props as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\n >\n {content}\n </a>\n );\n }\n\n const buttonProps = props as React.ComponentProps<typeof ButtonPrimitive>;\n\n return (\n <ButtonPrimitive\n data-slot=\"button\"\n className={sharedClassName}\n nativeButton={nativeButton}\n focusableWhenDisabled={focusableWhenDisabled}\n render={render}\n {...buttonProps}\n >\n {content}\n </ButtonPrimitive>\n );\n}\n\nexport { Button };\n","\"use client\";\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport { cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { ButtonLinkProps } from \"./types\";\n\nconst buttonLinkVariants = cva(\n \"inline-flex relative items-center gap-1.5 whitespace-nowrap font-medium transition-all rounded-xs -translate-y-px border-y border-x-4 border-transparent [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none no-underline cursor-pointer\",\n {\n variants: {\n hasLeading: {\n false: null,\n true: null,\n },\n hasTrailing: {\n false: null,\n true: null,\n },\n primary: {\n false: null,\n true: null,\n },\n size: {\n sm: \"text-sm [&_svg:not([class*='size-'])]:size-4\",\n md: \"text-sm [&_svg:not([class*='size-'])]:size-[18px]\",\n lg: \"text-base [&_svg:not([class*='size-'])]:size-5\",\n },\n theme: {\n default: \"\",\n white:\n \"text-white hover:bg-white/16 focus-visible:bg-blue-dark-600 focus-visible:text-white\",\n black:\n \"text-black hover:bg-foreground/10 focus-visible:bg-blue-dark-600 focus-visible:text-black focus-visible:text-white\",\n },\n },\n defaultVariants: {\n primary: false,\n size: \"md\",\n theme: \"default\",\n },\n compoundVariants: [\n {\n theme: \"default\",\n primary: false,\n class:\n \"text-grayscale-500 hover:bg-foreground/10 focus-visible:bg-blue-dark-600 focus-visible:text-white\",\n },\n {\n theme: \"default\",\n primary: true,\n class:\n \"text-foreground hover:bg-foreground/10 focus-visible:bg-blue-dark-600 focus-visible:text-white\",\n },\n ],\n },\n);\n\nfunction ButtonLink({\n children,\n className,\n focusableWhenDisabled,\n leading,\n nativeButton,\n primary = false,\n render,\n size = \"md\",\n theme = \"default\",\n trailing,\n href,\n ...props\n}: ButtonLinkProps) {\n const sharedClassName = cn(\n buttonLinkVariants({\n hasLeading: !!leading,\n hasTrailing: !!trailing,\n primary,\n size,\n theme,\n }),\n className,\n );\n\n const content = (\n <>\n {leading && (\n <div className=\"flex items-center justify-center text-inherit [&_svg]:size-inherit\">\n {leading}\n </div>\n )}\n {children != null && <span className=\"relative min-w-0 truncate\">{children}</span>}\n {trailing && (\n <div className=\"flex items-center justify-center text-inherit [&_svg]:size-inherit\">\n {trailing}\n </div>\n )}\n </>\n );\n\n if (href != null) {\n return (\n <a\n data-slot=\"button-link\"\n className={sharedClassName}\n href={href}\n {...(props as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\n >\n {content}\n </a>\n );\n }\n\n const buttonProps = props as React.ComponentProps<typeof ButtonPrimitive>;\n\n return (\n <ButtonPrimitive\n data-slot=\"button-link\"\n className={sharedClassName}\n focusableWhenDisabled={focusableWhenDisabled}\n nativeButton={nativeButton}\n render={render}\n {...buttonProps}\n >\n {content}\n </ButtonPrimitive>\n );\n}\n\nexport { ButtonLink };\n","import { cn } from \"../../lib/utils\";\n\nimport type { ContentBlockProps } from \"./types\";\n\nexport function ContentBlock({ className, children, title, subhead, cta }: ContentBlockProps) {\n return (\n <div className={cn(\"flex max-w-xl flex-col items-start gap-3 self-stretch\", className)}>\n {(title || subhead || cta) && (\n <div className=\"flex min-h-10 items-start justify-between self-stretch\">\n {/* Text Group */}\n {(title || subhead) && (\n <div className=\"flex min-h-10 shrink-0 grow basis-0 flex-col items-start justify-center\">\n {title && (\n <h2 className=\"self-stretch font-bold font-decor text-decor-xs\">{title}</h2>\n )}\n {subhead && <p className=\"font-semibold text-base\">{subhead}</p>}\n </div>\n )}\n {/* CTA */}\n <div>{cta}</div>\n </div>\n )}\n {children && <div className=\"prose prose-base max-w-(--width-xl) pb-3\">{children}</div>}\n </div>\n );\n}\n","\"use client\";\n\nimport { Checkbox as CheckboxPrimitive } from \"@base-ui/react/checkbox\";\nimport { Check } from \"@untitledui/icons\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { CheckboxProps } from \"./types\";\n\nfunction Checkbox({ className, ...props }: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-foreground shadow-xs outline-none transition-shadow after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 group-has-disabled/field:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary data-disabled:cursor-not-allowed data-checked:border-foreground data-checked:bg-foreground data-checked:text-background data-disabled:opacity-50 dark:bg-input/30 dark:data-checked:bg-primary dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none [&>svg]:size-3.5\"\n >\n <Check />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n","import { cva } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { DefaultHeaderProps } from \"./types\";\n\nconst defaultHeaderVariants = cva(\n \"relative mx-auto flex w-full max-w-4xl flex-col items-center justify-center gap-4\",\n {\n variants: {\n hasImage: {\n false: \"px-4 pt-16 pb-6 lg:px-8 lg:pt-20 lg:pb-8\",\n true: \"min-h-[384px] px-4 pt-16 pb-0 lg:min-h-[480px] lg:px-8 lg:pt-20 lg:pb-0\",\n },\n },\n defaultVariants: {\n hasImage: false,\n },\n },\n);\n\nexport function DefaultHeader({ className, cta, headline, image, subhead }: DefaultHeaderProps) {\n const hasImage = !!image;\n\n return (\n <header\n data-slot=\"default-header\"\n className={cn(defaultHeaderVariants({ hasImage }), className)}\n >\n {hasImage && (\n <div className=\"pointer-events-none absolute inset-0 z-0 overflow-hidden\">\n <div className=\"absolute inset-0 [&>img]:absolute [&>img]:inset-0 [&>img]:size-full [&>img]:object-cover [&>img]:object-center [&>picture>img]:size-full [&>picture>img]:object-cover [&>picture>img]:object-center [&>picture]:absolute [&>picture]:inset-0 [&>picture]:size-full\">\n {image}\n </div>\n <div className=\"absolute inset-0 bg-linear-to-b from-transparent to-black/30\" />\n </div>\n )}\n {(headline != null || subhead != null) && (\n <div\n className={cn(\n \"relative z-10 mx-auto flex w-full max-w-xl flex-col items-start gap-4 self-stretch\",\n hasImage ? \"text-white\" : null,\n )}\n >\n {headline != null && (\n <span className=\"self-stretch text-center font-bold font-decor text-decor-md lg:text-decor-xl\">\n {headline}\n </span>\n )}\n {subhead != null && (\n <div className=\"mx-auto w-full max-w-xl text-center text-lg\">{subhead}</div>\n )}\n </div>\n )}\n {cta != null && (\n <div className=\"relative z-10 mx-auto flex max-w-xl items-center justify-center gap-3 self-stretch py-1\">\n {cta}\n </div>\n )}\n </header>\n );\n}\n","\"use client\";\n\nimport { Dialog as DialogPrimitive } from \"@base-ui/react/dialog\";\nimport { XClose } from \"@untitledui/icons\";\nimport type * as React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Button } from \"../button\";\n\n/* ---------------------------------------------\n * Root\n * --------------------------------------------- */\n\nfunction DialogRoot(props: DialogPrimitive.Root.Props) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\n/* ---------------------------------------------\n * Portal\n * --------------------------------------------- */\n\nfunction DialogPortal(props: DialogPrimitive.Portal.Props) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\n/* ---------------------------------------------\n * Trigger\n * --------------------------------------------- */\n\nfunction DialogTrigger(props: DialogPrimitive.Trigger.Props) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\n/* ---------------------------------------------\n * Close\n * --------------------------------------------- */\n\nfunction DialogClose(props: DialogPrimitive.Close.Props) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\n/* ---------------------------------------------\n * Overlay\n * --------------------------------------------- */\n\nfunction DialogOverlay({ className, ...props }: DialogPrimitive.Backdrop.Props) {\n return (\n <DialogPrimitive.Backdrop\n data-slot=\"dialog-overlay\"\n className={cn(\n \"fixed inset-0 min-h-dvh bg-[rgb(0_0_32/0.01)] opacity-0 backdrop-blur-sm transition-[opacity,backdrop-filter] duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-[-webkit-touch-callout:none]:absolute dark:bg-[rgb(255_255_255/0.01)] dark:opacity-70\",\n \"data-closed:opacity-0 data-open:opacity-100\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogViewport({ className, ...props }: DialogPrimitive.Viewport.Props) {\n return (\n <DialogPrimitive.Viewport\n data-slot=\"dialog-viewport\"\n className={cn(\n \"fixed inset-0 flex items-center justify-center overflow-hidden py-6 [@media(min-height:600px)]:pt-8 [@media(min-height:600px)]:pb-12\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/* ---------------------------------------------\n * Content (shadcn: Portal + Overlay + Popup)\n * --------------------------------------------- */\n\nfunction DialogContent({\n className,\n children,\n bottom = false,\n showCloseButton = true,\n closePosition = \"top-left\",\n ...props\n}: DialogPrimitive.Popup.Props & {\n bottom?: boolean;\n showCloseButton?: boolean;\n closePosition?: \"top-left\" | \"top-right\";\n}) {\n return (\n <DialogPrimitive.Portal data-slot=\"dialog-portal\">\n <DialogOverlay />\n <DialogPrimitive.Popup\n data-slot=\"dialog-content\"\n className=\"group/popup pointer-events-none fixed inset-0 flex h-auto max-h-full min-h-0 w-full max-w-full justify-center overflow-hidden transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0\"\n >\n <div\n className={cn(\n \"pointer-events-auto fixed top-1/2 left-1/2 flex h-auto max-h-[calc(100%-2rem)] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 flex-col rounded-xl bg-background shadow-2xl transition-all\",\n {\n \"group-data-ending-style/popup:scale-[0.96] group-data-starting-style/popup:scale-[0.96] group-data-ending-style/popup:opacity-0 group-data-starting-style/popup:opacity-0 group-data-closed/popup:duration-pop-hover group-data-open/popup:duration-pop-hover group-data-closed/popup:ease-out group-data-open/popup:ease-pop-hover\":\n !bottom,\n \"group-data-open/popup:slide-in-from-bottom group-data-closed/popup:slide-out-to-bottom group-data-closed/popup:zoom-out-95 group-data-starting-style/popup-scale-100 group-data-ending-style/popup-scale-100 group-data-open/popup:zoom-in-95 top-auto bottom-0 h-full translate-y-0 rounded-b-none ease-[cubic-bezier(0.32,0.72,0,1)] group-data-ending-style/popup:translate-y-full group-data-starting-style/popup:translate-y-full group-data-closed/popup:animate-out group-data-open/popup:animate-in group-data-closed/popup:duration-1000 group-data-open/popup:duration-500 group-data-open/popup:ease-[cubic-bezier(0.32,0.72,0,1)]\":\n bottom,\n },\n className,\n )}\n {...props}\n >\n {children}\n </div>\n {showCloseButton && (\n <DialogClose\n className={cn(\"pointer-events-auto fixed top-[7px] z-50 transition-all\", {\n \"left-4\": closePosition === \"top-left\",\n \"right-4\": closePosition === \"top-right\",\n \"group-data-ending-style/popup:scale-[0.96] group-data-starting-style/popup:scale-[0.96] group-data-ending-style/popup:opacity-0 group-data-starting-style/popup:opacity-0 group-data-closed/popup:duration-pop-hover group-data-open/popup:duration-pop-hover group-data-closed/popup:ease-out group-data-open/popup:ease-pop-hover\":\n !bottom,\n \"group-data-starting-style/popup-scale-[0.96] group-data-ending-style/popup-scale-100 group-data-closed/popup:animate-out group-data-open/popup:animate-in group-data-closed/popup:duration-1000 group-data-open/popup:duration-500 group-data-closed/popup:ease-[cubic-bezier(0.32,0.72,0,1)] group-data-open/popup:ease-[cubic-bezier(0.32,0.72,0,1)]\":\n bottom,\n })}\n aria-label=\"Close\"\n >\n <span className=\"sr-only\">Close</span>\n <span className=\"relative block before:absolute before:-inset-1.5 before:rounded-full before:bg-tint-700-reversed before:backdrop-blur-sm\">\n <span className=\"relative z-10 flex size-10 items-center justify-center rounded-full bg-primary text-primary-foreground\">\n <XClose className=\"size-[18px]\" />\n </span>\n </span>\n </DialogClose>\n )}\n </DialogPrimitive.Popup>\n </DialogPrimitive.Portal>\n );\n}\n\n/* ---------------------------------------------\n * Header / Footer\n * --------------------------------------------- */\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({\n className,\n showCloseButton = false,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showCloseButton?: boolean;\n}) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\"mt-auto flex flex-col-reverse gap-2 sm:flex-row\", className)}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogClose render={<Button variant=\"tertiary\" theme=\"base\" />}>Close</DialogClose>\n )}\n </div>\n );\n}\n\n/* ---------------------------------------------\n * Title / Description\n * --------------------------------------------- */\n\nfunction DialogTitle({ className, ...props }: DialogPrimitive.Title.Props) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"font-semibold text-lg leading-none\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({ className, ...props }: DialogPrimitive.Description.Props) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogBody({ className, children, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-body\"\n className={cn(\"flex flex-col items-start self-stretch overflow-auto\", className)}\n {...props}\n >\n <div className=\"flex flex-col items-stretch gap-10 self-stretch overflow-auto p-4\">\n {children}\n </div>\n </div>\n );\n}\n\n/* ---------------------------------------------\n * Exports (shadcn-compatible API)\n * --------------------------------------------- */\n\nexport {\n DialogRoot as Dialog,\n DialogBody,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n DialogViewport,\n};\n","\"use client\";\n\nimport { Menu as MenuPrimitive } from \"@base-ui/react/menu\";\nimport type * as React from \"react\";\n\nimport { Check, ChevronRight } from \"@untitledui/icons\";\nimport { cn } from \"../../lib/utils\";\n\nfunction DropdownMenu({ ...props }: MenuPrimitive.Root.Props) {\n return <MenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({ ...props }: MenuPrimitive.Portal.Props) {\n return <MenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({ ...props }: MenuPrimitive.Trigger.Props) {\n return <MenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n align = \"start\",\n alignOffset = 0,\n side = \"bottom\",\n sideOffset = 4,\n className,\n ...props\n}: MenuPrimitive.Popup.Props &\n Pick<MenuPrimitive.Positioner.Props, \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\">) {\n return (\n <MenuPrimitive.Portal>\n <MenuPrimitive.Positioner\n className=\"isolate z-50 outline-none\"\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n >\n <MenuPrimitive.Popup\n data-slot=\"dropdown-menu-content\"\n className={cn(\n \"data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 z-50 max-h-(--available-height) w-(--anchor-width) min-w-32 origin-(--transform-origin) overflow-y-auto overflow-x-hidden rounded-xs bg-popover p-1 text-popover-foreground shadow-xl outline-none ring-1 ring-white duration-100 data-closed:animate-out data-open:animate-in data-closed:overflow-hidden dark:ring-gray-700\",\n className,\n )}\n {...props}\n />\n </MenuPrimitive.Positioner>\n </MenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: MenuPrimitive.Group.Props) {\n return <MenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: MenuPrimitive.GroupLabel.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.GroupLabel\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-1.5 font-medium text-muted-foreground text-xs data-inset:pl-8\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: MenuPrimitive.Item.Props & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <MenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"group/dropdown-menu-item relative flex cursor-default select-none items-center gap-2 rounded-xs px-2 py-1.5 font-medium text-sm outline-hidden focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-[variant=destructive]:text-destructive data-disabled:opacity-50 data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 data-[variant=destructive]:*:[svg]:text-destructive\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: MenuPrimitive.SubmenuRoot.Props) {\n return <MenuPrimitive.SubmenuRoot data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: MenuPrimitive.SubmenuTrigger.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.SubmenuTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-default select-none items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-open:bg-accent data-popup-open:bg-accent data-inset:pl-8 data-open:text-accent-foreground data-popup-open:text-accent-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto\" />\n </MenuPrimitive.SubmenuTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n align = \"start\",\n alignOffset = -3,\n side = \"right\",\n sideOffset = 0,\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuContent>) {\n return (\n <DropdownMenuContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 w-auto min-w-[96px] rounded-sm bg-popover p-1 text-popover-foreground shadow-lg ring-1 ring-white duration-100 data-closed:animate-out data-open:animate-in dark:ring-gray-700\",\n className,\n )}\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n inset,\n ...props\n}: MenuPrimitive.CheckboxItem.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default select-none items-center gap-2 rounded-xs py-1.5 pr-8 pl-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <MenuPrimitive.CheckboxItemIndicator>\n <Check />\n </MenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </MenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) {\n return <MenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n inset,\n ...props\n}: MenuPrimitive.RadioItem.Props & {\n inset?: boolean;\n}) {\n return (\n <MenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n data-inset={inset}\n className={cn(\n \"relative flex cursor-default select-none items-center gap-2 rounded-xs py-1.5 pr-8 pl-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground data-disabled:pointer-events-none data-inset:pl-8 data-disabled:opacity-50 [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className,\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <MenuPrimitive.RadioItemIndicator>\n <Check />\n </MenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </MenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuSeparator({ className, ...props }: MenuPrimitive.Separator.Props) {\n return (\n <MenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"ml-auto text-muted-foreground text-xs tracking-widest group-focus/dropdown-menu-item:text-accent-foreground\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n","import type { FooterProps } from \"./types\";\n\nconst popgridsLogoSm = (\n <svg\n fill=\"none\"\n className=\"block size-full\"\n preserveAspectRatio=\"none\"\n viewBox=\"0 0 90 15\"\n aria-hidden=\"true\"\n >\n <path\n id=\"popgrids\"\n fill=\"currentColor\"\n d=\"M5.5 0C1.256 0 0 2.882 0 6.514c0 1.345.139 2.668.3 3.997.061.52.039 1.093.139 1.612.261 1.366 1.594 1.998 2.889 1.998 1.772 0 2.95-1.076 2.95-2.801 0-.997-.34-1.65-1.317-2.036-.061-.022-.122-.038-.122-.118 0-.134.222-.23.361-.23.478 0 1.233.46 1.894.46 2.59 0 4.023-2.4 4.023-4.65C11.117 1.48 8.622 0 5.5 0m-.022 7.066a.3.3 0 0 1-.3-.29c0-.208.3-.364.4-.535.216-.386.278-1.04.278-1.478 0-.52-.14-1.48-.478-1.865-.1-.112-.24-.171-.24-.327 0-.155.162-.289.318-.289.677 0 1.016 1.923 1.016 2.422 0 .535-.178 2.362-.994 2.362M17.911.327c-4.222 0-6.755 2.882-6.755 6.835 0 3.954 2.527 6.836 6.755 6.836s6.733-2.92 6.733-6.836S22.095.327 17.912.327m.183 11.716c-.066.08-.2.23-.36.23-.162 0-.317-.134-.317-.29 0-.058.516-.808.6-1.038.316-.906.378-1.886.378-2.845 0-1.286-.24-2.941-1.056-3.996-.161-.193-.656-.558-.656-.767a.3.3 0 0 1 .3-.289c.14 0 .278.118.378.193 1.272 1.018 1.656 3.343 1.656 4.859 0 1.19-.05 2.925-.917 3.938zM30.45 0c-4.244 0-5.5 2.882-5.5 6.514 0 1.345.139 2.668.3 3.997.061.52.039 1.093.139 1.612.261 1.366 1.594 1.998 2.889 1.998 1.772 0 2.95-1.076 2.95-2.801 0-.997-.34-1.65-1.317-2.036-.061-.022-.122-.038-.122-.118 0-.134.222-.23.361-.23.478 0 1.233.46 1.894.46 2.59 0 4.023-2.4 4.023-4.65C36.067 1.48 33.577 0 30.45 0m-.017 7.066a.3.3 0 0 1-.3-.29c0-.208.3-.364.4-.535.217-.386.278-1.04.278-1.478 0-.52-.139-1.48-.478-1.865-.1-.112-.239-.171-.239-.327 0-.155.162-.289.317-.289.678 0 1.017 1.923 1.017 2.422 0 .535-.178 2.362-.995 2.362m14.428-1.382c-1.433 0-3.428.632-3.428 2.287 0 .943.717 2.342 1.856 2.342.717 0 1.178-.536 1.417-.536.06 0 .116.037.116.096 0 .557-1.116.81-1.555.81-1.534 0-2.35-1.27-2.35-2.615 0-1.65 1.61-2.92 3.244-2.92.478 0 .978.134 1.456.134 1.416 0 2.428-1.227 2.428-2.534C48.045.578 45.378.08 43.6.08c-4.722 0-7.472 2.958-7.472 7.452 0 4.152 2.233 6.798 6.655 6.798 2.867 0 5.995-1.189 5.995-4.42 0-2.206-1.495-4.226-3.922-4.226zm13.172 3.268c-.36 0-.655.134-.955.134-.061 0-.078-.06-.078-.097 0-.134.061-.193.161-.23.339-.113.7-.193 1.033-.348 1.517-.691 2.411-1.923 2.411-3.552 0-2.941-2.61-4.725-5.477-4.725-1.04 0-2.05.29-2.928.75-2.389 1.248-2.85 3.037-2.989 5.475-.061.959-.061 1.923-.061 2.882v2.325c0 1.457.994 2.63 2.567 2.63 1.133 0 2.15-.787 2.41-1.826.14-.616.062-1.345.062-1.94 0-.059.022-.075.078-.075a.4.4 0 0 1 .16.06c.7 1.633 1.656 3.706 3.823 3.706 1.494 0 2.728-1.017 2.728-2.496s-1.434-2.668-2.95-2.668zM54.79 7.066a.3.3 0 0 1-.3-.29c0-.208.3-.364.4-.535.216-.386.278-1.04.278-1.478 0-.52-.14-1.48-.478-1.865-.1-.112-.217-.171-.217-.327a.3.3 0 0 1 .3-.289c.678 0 1.017 1.923 1.017 2.422 0 .535-.161 2.362-.995 2.362zM65.767.75C65.289.445 64.61.29 64.033.29c-1.255 0-2.333.958-2.472 2.153-.039.348-.022.675-.022 1.04v3.262l-.061 3.439v1.709c0 1.345 1.194 2.4 2.572 2.4 1.017 0 2.133-.616 2.511-1.538.217-.52.239-1.248.239-1.805v-1.5l.022-2.995V3.461c0-1.115-.022-1.999-1.055-2.711m4.966-.579c-2.033 0-3.05.922-3.05 2.899v.787l.023 1.554v.787c0 .595 0 1.152-.023 1.747-.039.712-.139 1.42-.139 2.153 0 2.69 1.434 3.997 4.206 3.997 4.261 0 7.15-1.768 7.15-6.166 0-5.304-2.65-7.763-8.167-7.763zm1.911 10.624a.3.3 0 0 1-.3-.29c0-.059.023-.096.062-.155.516-.825.655-1.977.655-2.92 0-.884-.1-2.19-.678-2.882-.1-.155-.3-.268-.3-.46a.3.3 0 0 1 .3-.29c.3 0 .717.729.84.98.377.847.438 1.768.438 2.668 0 .558-.3 3.343-1.017 3.343zm15.562-3.804c-1.156-.096-2.812-.482-3.706-1.21-.117-.097-.317-.231-.317-.402 0-.06.023-.156.1-.156.217 0 1.611 1.077 2.811 1.077C88.611 6.3 90 5.164 90 3.67 90 1.21 86.617.214 84.561.214c-3.05 0-5.317 1.902-5.317 4.918 0 .654.1 1.554.6 2.057.24.252.64.252.956.252 1.194 0 2.711.364 3.344 1.42a.8.8 0 0 1 .117.364c0 .038 0 .096-.039.075-.116-.037-.216-.134-.3-.209-.7-.653-1.655-1.307-2.666-1.307-1.517 0-2.05 1.404-2.05 2.63 0 2.475 2.31 3.841 4.66 3.841 2.79 0 6.134-1.767 6.134-4.784 0-1.114-.5-2.362-1.794-2.475z\"\n className=\"text-foreground\"\n />\n </svg>\n);\n\nconst popgridsLogoLg = (\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"139\" height=\"24\" fill=\"none\" viewBox=\"0 0 139 24\">\n <title>PopGrids logo</title>\n <path\n fill=\"currentColor\"\n d=\"M8.494.531C1.94.531 0 5.143 0 10.954c0 2.152.215 4.269.463 6.395.095.831.06 1.748.215 2.58.403 2.185 2.462 3.197 4.462 3.197 2.737 0 4.556-1.723 4.556-4.483 0-1.594-.524-2.64-2.034-3.257-.094-.034-.189-.06-.189-.189 0-.214.344-.368.558-.368.738 0 1.905.737 2.926.737 3.998 0 6.212-3.84 6.212-7.44C17.17 2.897 13.316.53 8.494.53M8.46 11.837a.47.47 0 0 1-.463-.463c0-.334.463-.583.618-.857.334-.617.429-1.663.429-2.366 0-.83-.215-2.365-.738-2.982-.155-.18-.37-.275-.37-.523 0-.249.25-.463.49-.463 1.047 0 1.57 3.077 1.57 3.874 0 .857-.275 3.78-1.536 3.78M27.663 1.054c-6.521 0-10.434 4.612-10.434 10.938 0 6.325 3.904 10.937 10.434 10.937s10.399-4.672 10.399-10.937c0-6.266-3.938-10.938-10.4-10.938m.283 18.746c-.103.129-.309.369-.558.369s-.489-.215-.489-.463c0-.095.798-1.294.927-1.663.489-1.449.583-3.017.583-4.551 0-2.058-.369-4.706-1.63-6.395-.249-.308-1.012-.891-1.012-1.226 0-.248.214-.462.463-.462.214 0 .429.188.583.308 1.965 1.629 2.557 5.349 2.557 7.775 0 1.902-.077 4.68-1.416 6.3zM47.028.531c-6.555 0-8.494 4.612-8.494 10.423 0 2.152.214 4.269.463 6.395.095.831.06 1.748.215 2.58.403 2.185 2.462 3.197 4.461 3.197 2.737 0 4.557-1.723 4.557-4.483 0-1.594-.524-2.64-2.034-3.257-.094-.034-.189-.06-.189-.189 0-.214.343-.368.558-.368.738 0 1.905.737 2.926.737 3.998 0 6.212-3.84 6.212-7.44 0-5.229-3.844-7.595-8.675-7.595m-.025 11.306a.47.47 0 0 1-.464-.463c0-.334.464-.583.618-.857.335-.617.429-1.663.429-2.366 0-.83-.215-2.365-.738-2.982-.154-.18-.369-.275-.369-.523 0-.249.249-.463.49-.463 1.046 0 1.57 3.077 1.57 3.874 0 .857-.275 3.78-1.536 3.78m22.283-2.211c-2.214 0-5.294 1.011-5.294 3.66 0 1.508 1.106 3.746 2.865 3.746 1.107 0 1.82-.858 2.188-.858.095 0 .18.06.18.155 0 .891-1.724 1.294-2.402 1.294-2.368 0-3.63-2.032-3.63-4.183 0-2.64 2.489-4.671 5.011-4.671.738 0 1.51.214 2.248.214 2.188 0 3.75-1.963 3.75-4.054 0-3.472-4.118-4.269-6.864-4.269-7.293 0-11.54 4.732-11.54 11.923 0 6.643 3.449 10.877 10.278 10.877 4.428 0 9.259-1.903 9.259-7.071 0-3.532-2.308-6.763-6.058-6.763zm20.344 5.228c-.558 0-1.013.215-1.477.215-.094 0-.12-.095-.12-.155 0-.214.095-.308.25-.368.522-.18 1.08-.309 1.595-.557 2.343-1.106 3.724-3.078 3.724-5.683 0-4.706-4.033-7.56-8.46-7.56-1.605 0-3.166.463-4.522 1.2-3.69 1.997-4.402 4.86-4.616 8.76-.095 1.534-.095 3.077-.095 4.611v3.72c0 2.332 1.536 4.209 3.965 4.209 1.75 0 3.32-1.26 3.723-2.923.215-.986.095-2.151.095-3.103 0-.094.034-.12.12-.12s.189.06.249.094c1.08 2.615 2.557 5.932 5.903 5.932 2.308 0 4.213-1.629 4.213-3.995s-2.214-4.268-4.556-4.268zm-5.012-3.017a.47.47 0 0 1-.463-.463c0-.334.463-.583.618-.857.334-.617.429-1.663.429-2.366 0-.83-.215-2.365-.738-2.982-.154-.18-.335-.275-.335-.523 0-.249.215-.463.464-.463 1.046 0 1.57 3.077 1.57 3.874 0 .857-.249 3.78-1.536 3.78zm16.955-10.106c-.738-.488-1.785-.737-2.677-.737-1.94 0-3.604 1.535-3.818 3.446-.06.557-.035 1.08-.035 1.663v5.22l-.094 5.503v2.734c0 2.152 1.845 3.84 3.973 3.84 1.57 0 3.294-.986 3.878-2.46.335-.831.369-1.997.369-2.889v-2.4l.034-4.791V6.069c0-1.783-.034-3.198-1.63-4.338m7.671-.925c-3.141 0-4.711 1.474-4.711 4.637v1.26l.034 2.486v1.26c0 .951 0 1.842-.034 2.794-.06 1.14-.214 2.271-.214 3.446 0 4.302 2.213 6.394 6.495 6.394 6.581 0 11.043-2.829 11.043-9.866 0-8.486-4.093-12.42-12.613-12.42zm2.951 16.997a.47.47 0 0 1-.463-.463c0-.094.034-.154.094-.248.798-1.32 1.013-3.163 1.013-4.672 0-1.414-.155-3.506-1.047-4.611-.154-.249-.463-.429-.463-.738 0-.248.214-.462.463-.462.463 0 1.107 1.165 1.296 1.568.583 1.354.678 2.829.678 4.269 0 .891-.464 5.348-1.571 5.348zm24.034-6.086c-1.785-.154-4.342-.771-5.723-1.937-.181-.154-.49-.368-.49-.643 0-.094.035-.248.155-.248.335 0 2.488 1.723 4.342 1.723 2.342 0 4.487-1.818 4.487-4.21 0-3.933-5.225-5.528-8.4-5.528-4.711 0-8.211 3.043-8.211 7.869 0 1.046.154 2.486.926 3.291.369.403.987.403 1.476.403 1.845 0 4.187.583 5.165 2.272.095.154.181.402.181.582 0 .06 0 .155-.06.12-.181-.06-.335-.214-.464-.334-1.081-1.046-2.557-2.091-4.118-2.091-2.343 0-3.166 2.246-3.166 4.208 0 3.96 3.569 6.146 7.198 6.146 4.308 0 9.473-2.828 9.473-7.654 0-1.783-.772-3.78-2.771-3.96z\"\n />\n </svg>\n);\n\nexport function Footer({ theme = \"template\", logo, tagline, children }: FooterProps) {\n return (\n <div className=\"mx-auto flex w-full flex-col items-center gap-8 self-stretch border-t border-t-foreground/10 px-10 py-20 lg:px-8\">\n {/* Head */}\n <div className=\"mx-auto flex max-w-[480px] flex-col items-center gap-4 self-stretch\">\n {theme === \"branding\" ? popgridsLogoLg : logo != null && logo}\n\n {tagline != null && (\n <div className=\"text-center text-lg text-primary-foreground\">{tagline}</div>\n )}\n </div>\n {/* Links */}\n <div className=\"mx-auto flex max-w-[320px] flex-col items-center justify-center gap-1.5 self-stretch lg:max-w-none lg:flex-row lg:gap-1 lg:space-x-1\">\n {children}\n </div>\n\n {/* Info */}\n {theme === \"branding\" && (\n <div\n className=\"relative box-border flex w-full shrink-0 flex-row content-stretch items-center justify-center gap-2 px-0 py-1\"\n data-name=\"Footer Info\"\n >\n <div className=\"relative flex shrink-0 flex-col justify-center text-nowrap text-center font-display font-normal text-base text-foreground not-italic leading-0\">\n <p className=\"block whitespace-pre text-sm leading-6\">Powered by</p>\n </div>\n <div\n className=\"relative box-border flex h-[15px] w-[90px] shrink-0 flex-col content-stretch items-center justify-center rounded-full p-0\"\n data-name=\"logo\"\n >\n <div\n className=\"absolute top-[2.214%] right-0 bottom-[2.25%] left-0\"\n data-name=\"popgrids\"\n >\n {popgridsLogoSm}\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n","\"use client\";\n\nimport { Input as InputPrimitive } from \"@base-ui/react/input\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { InputProps } from \"./types\";\n\nfunction Input({ className, type, ...props }: InputProps) {\n return (\n <InputPrimitive\n type={type}\n data-slot=\"input\"\n className={cn(\n \"h-9 w-full min-w-0 rounded-sm border border-input bg-transparent px-3 py-1 text-base shadow-xs outline-none transition-[color,box-shadow] selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:font-medium file:text-foreground file:text-sm placeholder:text-muted-foreground disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm dark:bg-input/30\",\n \"focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring\",\n \"aria-invalid:border-destructive aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","import { cn } from \"../../lib/utils\";\nimport type { TextareaProps } from \"./types\";\n\nfunction Textarea({ className, ...props }: TextareaProps) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n \"field-sizing-content flex min-h-16 w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-xs outline-none transition-[color,box-shadow] placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:aria-invalid:ring-destructive/40\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n","\"use client\";\n\nimport { cva } from \"class-variance-authority\";\n\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Input } from \"../input\";\nimport { Textarea } from \"../textarea\";\nimport type {\n InputGroupAddonProps,\n InputGroupButtonProps,\n InputGroupInputProps,\n InputGroupProps,\n InputGroupTextareaProps,\n InputGroupTextProps,\n} from \"./types\";\n\nfunction InputGroup({ className, ...props }: InputGroupProps) {\n return (\n // biome-ignore lint/a11y/useSemanticElements: <fieldset> breaks flex layout\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"group/input-group relative flex h-9 w-full min-w-0 items-center rounded-sm border border-input shadow-xs outline-none transition-[color,box-shadow] in-data-[slot=combobox-content]:focus-within:border-inherit in-data-[slot=combobox-content]:focus-within:ring-0 has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-start]]:h-auto has-[>textarea]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:flex-col has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot][aria-invalid=true]]:border-destructive has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot=input-group-control]:focus-visible]:ring-ring has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-destructive/20 dark:bg-input/30 dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-start]]:[&>input]:pl-1.5\",\n className,\n )}\n {...props}\n />\n );\n}\n\nconst inputGroupAddonVariants = cva(\n \"flex h-auto cursor-text items-center justify-center gap-2 py-1.5 text-sm font-medium text-muted-foreground select-none group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n align: {\n \"inline-start\": \"order-first pl-2 has-[>button]:-ml-1 has-[>kbd]:ml-[-0.15rem]\",\n \"inline-end\": \"order-last pr-2 has-[>button]:-mr-1 has-[>kbd]:mr-[-0.15rem]\",\n \"block-start\":\n \"order-first w-full justify-start px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2\",\n \"block-end\":\n \"order-last w-full justify-start px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n },\n);\n\nfunction InputGroupAddon({ className, align = \"inline-start\", ...props }: InputGroupAddonProps) {\n const focusSiblingInput = (currentTarget: HTMLElement) => {\n if (!currentTarget.closest(\"button\")) {\n currentTarget.parentElement?.querySelector(\"input\")?.focus();\n }\n };\n\n return (\n // biome-ignore lint/a11y/useSemanticElements: <fieldset> breaks flex layout\n // biome-ignore lint/a11y/noNoninteractiveElementInteractions: click-to-focus is an intentional UX enhancement\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => focusSiblingInput(e.currentTarget)}\n onKeyDown={(e) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n focusSiblingInput(e.currentTarget);\n }\n }}\n {...props}\n />\n );\n}\n\nconst inputGroupButtonVariants = cva(\"flex items-center gap-2 text-sm shadow-none\", {\n variants: {\n size: {\n xs: \"h-5 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: \"\",\n \"icon-xs\": \"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n});\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n size = \"xs\",\n ...props\n}: InputGroupButtonProps) {\n return (\n <ButtonPrimitive\n type={type}\n data-size={size}\n className={cn(\n \"inline-flex cursor-pointer items-center justify-center text-muted-foreground outline-none transition-colors hover:text-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50\",\n inputGroupButtonVariants({ size }),\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupText({ className, ...props }: InputGroupTextProps) {\n return (\n <span\n className={cn(\n \"flex items-center gap-2 text-muted-foreground text-sm [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupInput({ className, ...props }: InputGroupInputProps) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction InputGroupTextarea({ className, ...props }: InputGroupTextareaProps) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\n \"flex-1 resize-none rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n InputGroupText,\n InputGroupTextarea,\n};\n","\"use client\";\n\nimport { mergeProps } from \"@base-ui/react/merge-props\";\nimport { useRender } from \"@base-ui/react/use-render\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { LabelProps } from \"./types\";\n\nfunction Label({ className, render, ...props }: LabelProps) {\n const defaultProps: Record<string, unknown> = {\n \"data-slot\": \"label\",\n className: cn(\n \"flex select-none items-center gap-2 font-medium text-sm leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-50 group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50\",\n className,\n ),\n };\n\n return useRender({\n defaultTagName: \"label\",\n render,\n props: mergeProps<\"label\">(defaultProps, props),\n });\n}\n\nexport { Label };\n","import { cn } from \"../../lib/utils\";\nimport type { LogoProps, LogoTheme } from \"./types\";\n\n// ─── CDN assets ───────────────────────────────────────────────────────────────\n\nconst CDN_LETTER_P = \"https://cdn.popgrids.io/logos/popgrids-letter-p.png\";\nconst CDN_ANIMATED_BG = \"https://cdn.popgrids.io/logos/popgrids-animated-logo-background.gif\";\n\n// ─── Wordmark SVGs (module-scope constants) ───────────────────────────────────\n\n/** Full POPGRIDS wordmark — 185 × 32 px (standard). */\nconst wordmarkFull = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"185\"\n height=\"32\"\n viewBox=\"0 0 185 32\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"currentColor\"\n d=\"M11.3056 0.708572C2.58086 0.708572 0 6.85714 0 14.6057C0 17.4743 0.285494 20.2971 0.616667 23.1314C0.742284 24.24 0.696605 25.4629 0.902161 26.5714C1.43889 29.4857 4.17963 30.8343 6.84043 30.8343C10.4833 30.8343 12.9043 28.5371 12.9043 24.8571C12.9043 22.7314 12.2077 21.3371 10.1978 20.5143C10.0722 20.4686 9.9466 20.4343 9.9466 20.2629C9.9466 19.9771 10.4034 19.7714 10.6889 19.7714C11.671 19.7714 13.2241 20.7543 14.583 20.7543C19.9046 20.7543 22.8509 15.6343 22.8509 10.8343C22.8509 3.86286 17.7235 0.708572 11.3056 0.708572ZM11.2599 15.7829C10.9287 15.7829 10.6432 15.4971 10.6432 15.1657C10.6432 14.72 11.2599 14.3886 11.4654 14.0229C11.9108 13.2 12.0364 11.8057 12.0364 10.8686C12.0364 9.76 11.7509 7.71429 11.0543 6.89143C10.8488 6.65143 10.5633 6.52572 10.5633 6.19429C10.5633 5.86286 10.8944 5.57714 11.2142 5.57714C12.6074 5.57714 13.304 9.68 13.304 10.7429C13.304 11.8857 12.9386 15.7829 11.2599 15.7829Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M36.8173 1.4057C28.1383 1.4057 22.9309 7.55427 22.9309 15.9886C22.9309 24.4228 28.1269 30.5714 36.8173 30.5714C45.5077 30.5714 50.658 24.3428 50.658 15.9886C50.658 7.63427 45.4164 1.4057 36.8173 1.4057ZM37.1942 26.4C37.0571 26.5714 36.783 26.8914 36.4519 26.8914C36.1207 26.8914 35.8009 26.6057 35.8009 26.2743C35.8009 26.1486 36.863 24.5486 37.0343 24.0571C37.6852 22.1257 37.8108 20.0343 37.8108 17.9886C37.8108 15.2457 37.3198 11.7143 35.6411 9.46284C35.3099 9.05141 34.2935 8.27427 34.2935 7.82856C34.2935 7.49713 34.579 7.21141 34.9102 7.21141C35.1957 7.21141 35.4812 7.46284 35.6867 7.62284C38.3019 9.79427 39.0898 14.7543 39.0898 17.9886C39.0898 20.5257 38.9871 24.2286 37.2056 26.3886L37.1942 26.4Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M62.5916 0.708572C53.8669 0.708572 51.2861 6.85714 51.2861 14.6057C51.2861 17.4743 51.5716 20.2971 51.9027 23.1314C52.0284 24.24 51.9827 25.4629 52.1882 26.5714C52.725 29.4857 55.4657 30.8343 58.1265 30.8343C61.7694 30.8343 64.1904 28.5371 64.1904 24.8571C64.1904 22.7314 63.4938 21.3371 61.4839 20.5143C61.3583 20.4686 61.2327 20.4343 61.2327 20.2629C61.2327 19.9771 61.6895 19.7714 61.975 19.7714C62.9571 19.7714 64.5102 20.7543 65.8691 20.7543C71.1907 20.7543 74.137 15.6343 74.137 10.8343C74.137 3.86286 69.021 0.708572 62.5916 0.708572ZM62.5574 15.7829C62.2262 15.7829 61.9407 15.4971 61.9407 15.1657C61.9407 14.72 62.5574 14.3886 62.7629 14.0229C63.2083 13.2 63.3339 11.8057 63.3339 10.8686C63.3339 9.76 63.0484 7.71429 62.3518 6.89143C62.1463 6.65143 61.8608 6.52572 61.8608 6.19429C61.8608 5.86286 62.1919 5.57714 62.5117 5.57714C63.9049 5.57714 64.6015 9.68 64.6015 10.7429C64.6015 11.8857 64.2361 15.7829 62.5574 15.7829Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M92.2145 12.8343C89.2682 12.8343 85.1686 14.1829 85.1686 17.7143C85.1686 19.7257 86.6417 22.7086 88.9827 22.7086C90.4559 22.7086 91.4037 21.5657 91.8948 21.5657C92.0204 21.5657 92.1346 21.6457 92.1346 21.7715C92.1346 22.96 89.8392 23.4972 88.9371 23.4972C85.7852 23.4972 84.1065 20.7886 84.1065 17.92C84.1065 14.4 87.4182 11.6915 90.7757 11.6915C91.7577 11.6915 92.7855 11.9772 93.7676 11.9772C96.6797 11.9772 98.7581 9.36003 98.7581 6.57146C98.7581 1.94289 93.2766 0.880029 89.6223 0.880029C79.9155 0.880029 74.2627 7.1886 74.2627 16.7772C74.2627 25.6343 78.8534 31.28 87.9436 31.28C93.8361 31.28 100.265 28.7429 100.265 21.8515C100.265 17.1429 97.1935 12.8343 92.2031 12.8343H92.2145Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M119.291 19.8057C118.548 19.8057 117.943 20.0914 117.326 20.0914C117.201 20.0914 117.167 19.9657 117.167 19.8857C117.167 19.6 117.292 19.4743 117.498 19.3943C118.194 19.1543 118.937 18.9829 119.622 18.6514C122.739 17.1771 124.578 14.5486 124.578 11.0743C124.578 4.8 119.211 0.994287 113.318 0.994287C111.183 0.994287 109.104 1.61143 107.3 2.59429C102.389 5.25714 101.442 9.07429 101.156 14.2743C101.031 16.32 101.031 18.3771 101.031 20.4229V25.3829C101.031 28.4914 103.075 30.9943 106.306 30.9943C108.636 30.9943 110.726 29.3143 111.263 27.0971C111.548 25.7829 111.388 24.2286 111.388 22.96C111.388 22.8343 111.434 22.8 111.548 22.8C111.662 22.8 111.799 22.88 111.879 22.9257C113.318 26.4114 115.282 30.8343 119.736 30.8343C122.808 30.8343 125.343 28.6629 125.343 25.5086C125.343 22.3543 122.397 19.8171 119.279 19.8171L119.291 19.8057ZM112.622 15.7829C112.29 15.7829 112.005 15.4971 112.005 15.1657C112.005 14.72 112.622 14.3886 112.827 14.0229C113.272 13.2 113.398 11.8057 113.398 10.8686C113.398 9.76 113.113 7.71429 112.416 6.89143C112.21 6.65143 111.971 6.52572 111.971 6.19429C111.971 5.86286 112.256 5.57714 112.587 5.57714C113.981 5.57714 114.677 9.68 114.677 10.7429C114.677 11.8857 114.346 15.7829 112.633 15.7829H112.622Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M135.187 2.30855C134.205 1.65712 132.812 1.32569 131.624 1.32569C129.043 1.32569 126.828 3.3714 126.542 5.91998C126.462 6.66283 126.497 7.35998 126.497 8.13712V15.0971L126.371 22.4343V26.08C126.371 28.9485 128.826 31.2 131.658 31.2C133.748 31.2 136.044 29.8857 136.82 27.92C137.265 26.8114 137.311 25.2571 137.311 24.0685V20.8685L137.357 14.48V8.0914C137.357 5.71426 137.311 3.82855 135.187 2.30855Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M145.396 1.07428C141.217 1.07428 139.127 3.04 139.127 7.25714V8.93714L139.173 12.2514V13.9314C139.173 15.2 139.173 16.3886 139.127 17.6571C139.047 19.1771 138.841 20.6857 138.841 22.2514C138.841 27.9886 141.788 30.7771 147.486 30.7771C156.245 30.7771 162.183 27.0057 162.183 17.6229C162.183 6.30857 156.736 1.06286 145.396 1.06286V1.07428ZM149.325 23.7371C148.994 23.7371 148.708 23.4514 148.708 23.12C148.708 22.9943 148.754 22.9143 148.834 22.7886C149.896 21.0286 150.181 18.5714 150.181 16.56C150.181 14.6743 149.976 11.8857 148.788 10.4114C148.582 10.08 148.171 9.84 148.171 9.42857C148.171 9.09714 148.457 8.81143 148.788 8.81143C149.405 8.81143 150.261 10.3657 150.512 10.9029C151.289 12.7086 151.415 14.6743 151.415 16.5943C151.415 17.7829 150.798 23.7257 149.325 23.7257V23.7371Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M181.311 15.6229C178.936 15.4172 175.533 14.5943 173.694 13.04C173.455 12.8343 173.044 12.5486 173.044 12.1829C173.044 12.0572 173.089 11.8515 173.249 11.8515C173.694 11.8515 176.561 14.1486 179.027 14.1486C182.145 14.1486 185 11.7257 185 8.53717C185 3.29146 178.045 1.16574 173.82 1.16574C167.551 1.16574 162.891 5.22289 162.891 11.6572C162.891 13.0515 163.097 14.9715 164.125 16.0457C164.616 16.5829 165.438 16.5829 166.089 16.5829C168.544 16.5829 171.662 17.36 172.964 19.6115C173.089 19.8172 173.203 20.1486 173.203 20.3886C173.203 20.4686 173.203 20.5943 173.123 20.5486C172.884 20.4686 172.678 20.2629 172.507 20.1029C171.068 18.7086 169.104 17.3143 167.025 17.3143C163.908 17.3143 162.811 20.3086 162.811 22.9257C162.811 28.2057 167.562 31.12 172.393 31.12C178.125 31.12 185 27.3486 185 20.9143C185 18.5372 183.972 15.8743 181.311 15.6343V15.6229Z\"\n />\n </svg>\n);\n\n/**\n * Abbreviated \"POPS\" wordmark — 97 × 32 px.\n * Used for mini + default/reversed: shows first three letters (POP) plus the last (S).\n */\nconst wordmarkMiniPops = (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"97\"\n height=\"32\"\n viewBox=\"0 0 97 32\"\n fill=\"none\"\n aria-hidden=\"true\"\n >\n <path\n fill=\"currentColor\"\n d=\"M11.3056 0.708496C2.58086 0.708496 0 6.85707 0 14.6056C0 17.4742 0.285494 20.2971 0.616667 23.1314C0.742284 24.2399 0.696605 25.4628 0.902161 26.5714C1.43889 29.4856 4.17963 30.8342 6.84043 30.8342C10.4833 30.8342 12.9043 28.5371 12.9043 24.8571C12.9043 22.7314 12.2077 21.3371 10.1978 20.5142C10.0722 20.4685 9.9466 20.4342 9.9466 20.2628C9.9466 19.9771 10.4034 19.7714 10.6889 19.7714C11.671 19.7714 13.2241 20.7542 14.583 20.7542C19.9046 20.7542 22.8509 15.6342 22.8509 10.8342C22.8509 3.86278 17.7235 0.708496 11.3056 0.708496ZM11.2599 15.7828C10.9287 15.7828 10.6432 15.4971 10.6432 15.1656C10.6432 14.7199 11.2599 14.3885 11.4654 14.0228C11.9108 13.1999 12.0364 11.8056 12.0364 10.8685C12.0364 9.75992 11.7509 7.71421 11.0543 6.89135C10.8488 6.65135 10.5633 6.52564 10.5633 6.19421C10.5633 5.86278 10.8944 5.57707 11.2142 5.57707C12.6074 5.57707 13.304 9.67992 13.304 10.7428C13.304 11.8856 12.9386 15.7828 11.2599 15.7828Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M36.8173 1.40562C28.1383 1.40562 22.9309 7.55419 22.9309 15.9885C22.9309 24.4228 28.1269 30.5713 36.8173 30.5713C45.5077 30.5713 50.658 24.3428 50.658 15.9885C50.658 7.63419 45.4164 1.40562 36.8173 1.40562ZM37.1942 26.3999C37.0571 26.5713 36.783 26.8913 36.4519 26.8913C36.1207 26.8913 35.8009 26.6056 35.8009 26.2742C35.8009 26.1485 36.863 24.5485 37.0343 24.057C37.6852 22.1256 37.8108 20.0342 37.8108 17.9885C37.8108 15.2456 37.3198 11.7142 35.6411 9.46276C35.3099 9.05134 34.2935 8.27419 34.2935 7.82848C34.2935 7.49705 34.579 7.21134 34.9102 7.21134C35.1957 7.21134 35.4812 7.46277 35.6867 7.62277C38.3019 9.79419 39.0898 14.7542 39.0898 17.9885C39.0898 20.5256 38.9871 24.2285 37.2056 26.3885L37.1942 26.3999Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M62.5916 0.708496C53.8669 0.708496 51.2861 6.85707 51.2861 14.6056C51.2861 17.4742 51.5716 20.2971 51.9027 23.1314C52.0284 24.2399 51.9827 25.4628 52.1882 26.5714C52.725 29.4856 55.4657 30.8342 58.1265 30.8342C61.7694 30.8342 64.1904 28.5371 64.1904 24.8571C64.1904 22.7314 63.4938 21.3371 61.4839 20.5142C61.3583 20.4685 61.2327 20.4342 61.2327 20.2628C61.2327 19.9771 61.6895 19.7714 61.975 19.7714C62.9571 19.7714 64.5102 20.7542 65.8691 20.7542C71.1907 20.7542 74.137 15.6342 74.137 10.8342C74.137 3.86278 69.021 0.708496 62.5916 0.708496ZM62.5574 15.7828C62.2262 15.7828 61.9407 15.4971 61.9407 15.1656C61.9407 14.7199 62.5574 14.3885 62.7629 14.0228C63.2083 13.1999 63.3339 11.8056 63.3339 10.8685C63.3339 9.75992 63.0484 7.71421 62.3518 6.89135C62.1463 6.65135 61.8608 6.52564 61.8608 6.19421C61.8608 5.86278 62.1919 5.57707 62.5117 5.57707C63.9049 5.57707 64.6015 9.67992 64.6015 10.7428C64.6015 11.8856 64.2361 15.7828 62.5574 15.7828Z\"\n />\n <path\n fill=\"currentColor\"\n d=\"M93 15.6228C90.6247 15.4171 87.2216 14.5942 85.383 13.04C85.1432 12.8342 84.7321 12.5485 84.7321 12.1828C84.7321 12.0571 84.7778 11.8514 84.9377 11.8514C85.383 11.8514 88.2494 14.1485 90.716 14.1485C93.8336 14.1485 96.6886 11.7257 96.6886 8.5371C96.6886 3.29138 89.7339 1.16567 85.5086 1.16567C79.2392 1.16567 74.5799 5.22281 74.5799 11.6571C74.5799 13.0514 74.7855 14.9714 75.8133 16.0457C76.3043 16.5828 77.1265 16.5828 77.7775 16.5828C80.2327 16.5828 83.3503 17.36 84.6521 19.6114C84.7778 19.8171 84.892 20.1485 84.892 20.3885C84.892 20.4685 84.892 20.5942 84.812 20.5485C84.5722 20.4685 84.3667 20.2628 84.1954 20.1028C82.7565 18.7085 80.7923 17.3142 78.7139 17.3142C75.5963 17.3142 74.5 20.3085 74.5 22.9257C74.5 28.2057 79.2506 31.12 84.0812 31.12C89.8139 31.12 96.6886 27.3485 96.6886 20.9142C96.6886 18.5371 95.6608 15.8742 93 15.6342V15.6228Z\"\n />\n </svg>\n);\n\n/**\n * Full POPGRIDS wordmark at compact size — 163 × 28 px.\n * Used for mini + black/white themes.\n */\nconst wordmarkMiniSmall = (\n <svg width=\"97\" height=\"31\" viewBox=\"0 0 97 31\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <title>PopGrids logo</title>\n <path\n d=\"M11.3056 0C2.58086 0 0 6.14857 0 13.8971C0 16.7657 0.285494 19.5886 0.616667 22.4229C0.742284 23.5314 0.696605 24.7543 0.902161 25.8629C1.43889 28.7771 4.17963 30.1257 6.84043 30.1257C10.4833 30.1257 12.9043 27.8286 12.9043 24.1486C12.9043 22.0229 12.2077 20.6286 10.1978 19.8057C10.0722 19.76 9.9466 19.7257 9.9466 19.5543C9.9466 19.2686 10.4034 19.0629 10.6889 19.0629C11.671 19.0629 13.2241 20.0457 14.583 20.0457C19.9046 20.0457 22.8509 14.9257 22.8509 10.1257C22.8509 3.15428 17.7235 0 11.3056 0ZM11.2599 15.0743C10.9287 15.0743 10.6432 14.7886 10.6432 14.4571C10.6432 14.0114 11.2599 13.68 11.4654 13.3143C11.9108 12.4914 12.0364 11.0971 12.0364 10.16C12.0364 9.05143 11.7509 7.00571 11.0543 6.18286C10.8488 5.94286 10.5633 5.81714 10.5633 5.48571C10.5633 5.15429 10.8944 4.86857 11.2142 4.86857C12.6074 4.86857 13.304 8.97143 13.304 10.0343C13.304 11.1771 12.9386 15.0743 11.2599 15.0743Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M36.8173 0.697126C28.1383 0.697126 22.9309 6.8457 22.9309 15.28C22.9309 23.7143 28.1269 29.8628 36.8173 29.8628C45.5077 29.8628 50.658 23.6343 50.658 15.28C50.658 6.9257 45.4164 0.697126 36.8173 0.697126ZM37.1942 25.6914C37.0571 25.8628 36.783 26.1828 36.4519 26.1828C36.1207 26.1828 35.8009 25.8971 35.8009 25.5657C35.8009 25.44 36.863 23.84 37.0343 23.3486C37.6852 21.4171 37.8108 19.3257 37.8108 17.28C37.8108 14.5371 37.3198 11.0057 35.6411 8.75427C35.3099 8.34284 34.2935 7.5657 34.2935 7.11998C34.2935 6.78855 34.579 6.50284 34.9102 6.50284C35.1957 6.50284 35.4812 6.75427 35.6867 6.91427C38.3019 9.0857 39.0898 14.0457 39.0898 17.28C39.0898 19.8171 38.9871 23.52 37.2056 25.68L37.1942 25.6914Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M62.5916 0C53.8669 0 51.2861 6.14857 51.2861 13.8971C51.2861 16.7657 51.5716 19.5886 51.9027 22.4229C52.0284 23.5314 51.9827 24.7543 52.1882 25.8629C52.725 28.7771 55.4657 30.1257 58.1265 30.1257C61.7694 30.1257 64.1904 27.8286 64.1904 24.1486C64.1904 22.0229 63.4938 20.6286 61.4839 19.8057C61.3583 19.76 61.2327 19.7257 61.2327 19.5543C61.2327 19.2686 61.6895 19.0629 61.975 19.0629C62.9571 19.0629 64.5102 20.0457 65.8691 20.0457C71.1907 20.0457 74.137 14.9257 74.137 10.1257C74.137 3.15428 69.021 0 62.5916 0ZM62.5574 15.0743C62.2262 15.0743 61.9407 14.7886 61.9407 14.4571C61.9407 14.0114 62.5574 13.68 62.7629 13.3143C63.2083 12.4914 63.3339 11.0971 63.3339 10.16C63.3339 9.05143 63.0484 7.00571 62.3518 6.18286C62.1463 5.94286 61.8608 5.81714 61.8608 5.48571C61.8608 5.15429 62.1919 4.86857 62.5117 4.86857C63.9049 4.86857 64.6015 8.97143 64.6015 10.0343C64.6015 11.1771 64.2361 15.0743 62.5574 15.0743Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M93 14.9143C90.6247 14.7086 87.2216 13.8857 85.383 12.3315C85.1432 12.1257 84.7321 11.84 84.7321 11.4743C84.7321 11.3486 84.7778 11.1429 84.9377 11.1429C85.383 11.1429 88.2494 13.44 90.716 13.44C93.8336 13.44 96.6886 11.0172 96.6886 7.8286C96.6886 2.58288 89.7339 0.457171 85.5086 0.457171C79.2392 0.457171 74.5799 4.51431 74.5799 10.9486C74.5799 12.3429 74.7855 14.2629 75.8133 15.3372C76.3043 15.8743 77.1265 15.8743 77.7775 15.8743C80.2327 15.8743 83.3503 16.6515 84.6521 18.9029C84.7778 19.1086 84.892 19.44 84.892 19.68C84.892 19.76 84.892 19.8857 84.812 19.84C84.5722 19.76 84.3667 19.5543 84.1954 19.3943C82.7565 18 80.7923 16.6057 78.7139 16.6057C75.5963 16.6057 74.5 19.6 74.5 22.2172C74.5 27.4972 79.2506 30.4115 84.0812 30.4115C89.8139 30.4115 96.6886 26.64 96.6886 20.2057C96.6886 17.8286 95.6608 15.1657 93 14.9257V14.9143Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\n/**\n * Outlined/hollow POPGRIDS letterforms — 163 × 28 px.\n * Used when outline=true on the wordmark variant.\n */\nconst wordmarkOutline = (\n <svg width=\"185\" height=\"31\" viewBox=\"0 0 185 31\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\n <title>PopGrids logo</title>\n <path\n d=\"M14.07 23.2586C14.07 27.2817 11.3291 29.8761 7.38907 29.8761C4.56822 29.8761 1.49612 28.4132 0.856573 25.0644C0.628164 23.9786 0.673845 22.8814 0.559641 21.7956C0.296971 19.1669 3.87117e-05 16.5382 3.87117e-05 13.8751C-0.0113817 6.57183 2.50112 0 11.4776 0C17.7474 0 23.195 3.15448 23.195 10.4121C23.195 15.1095 20.2713 20.6298 14.4812 20.6298C14.1386 20.6298 13.8416 20.5955 13.5447 20.5155C13.9216 21.2699 14.07 22.1728 14.07 23.2586ZM10.918 18.5954C11.8202 18.5954 13.2478 19.4983 14.4812 19.4983C19.3577 19.4983 22.0644 14.8009 22.0644 10.4121C22.0644 4.0231 17.3705 1.1315 11.4776 1.1315C3.48328 1.1315 1.11924 6.76613 1.11924 13.8637C1.11924 16.4924 1.38191 19.0869 1.67885 21.6813C1.79305 22.6985 1.75879 23.8186 1.94152 24.8358C2.4326 27.4988 4.9451 28.7446 7.38907 28.7446C10.7353 28.7446 12.9394 26.6416 12.9394 23.2586C12.9394 21.3042 12.2999 20.0241 10.4612 19.2812C10.347 19.2469 10.2328 19.2012 10.2328 19.0526C10.2328 18.7897 10.6439 18.6069 10.9066 18.6069L10.918 18.5954ZM11.2492 6.80042C11.0665 6.57183 10.8038 6.45754 10.8038 6.16038C10.8038 5.86322 11.1007 5.60034 11.4091 5.60034C12.6882 5.60034 13.3277 9.36057 13.3277 10.3321C13.3277 11.3836 12.9851 14.9495 11.4548 14.9495C11.1578 14.9495 10.8952 14.6866 10.8952 14.3895C10.8952 13.978 11.4548 13.6808 11.6489 13.338C12.06 12.5836 12.1742 11.3036 12.1742 10.4464C12.1742 9.42915 11.9116 7.55475 11.272 6.80042H11.2492Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M50.5698 15.1438C50.5698 23.3386 45.3507 29.6475 36.7511 29.6475C28.1515 29.6475 22.8981 23.4071 22.8981 15.1438C22.8981 6.88042 28.1172 0.640036 36.7511 0.640036C45.3849 0.640036 50.5698 6.94899 50.5698 15.1438ZM36.7511 28.516C44.6312 28.516 49.4392 22.8014 49.4392 15.1438C49.4392 7.48617 44.6312 1.77153 36.7511 1.77153C28.871 1.77153 24.0287 7.40616 24.0287 15.1438C24.0287 22.8814 28.8024 28.516 36.7511 28.516ZM35.6661 9.16627C35.3692 8.78911 34.4213 8.08049 34.4213 7.66904C34.4213 7.37188 34.684 7.109 34.9809 7.109C35.2436 7.109 35.5062 7.33759 35.689 7.48617C38.0873 9.47486 38.8068 14.0237 38.8068 16.9953C38.8068 19.3269 38.5783 22.8128 37.0823 24.6987C36.9338 24.9272 36.7054 25.1444 36.4085 25.1444C36.1115 25.1444 35.8032 24.8815 35.8032 24.5844C35.8032 24.4701 36.7853 23.0071 36.9338 22.5614C37.5391 20.7898 37.6419 18.8812 37.6419 16.9953C37.6419 14.4809 37.1965 11.2464 35.6547 9.1777L35.6661 9.16627Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M64.8454 23.2586C64.8454 27.2817 62.1044 29.8761 58.1644 29.8761C55.3435 29.8761 52.2714 28.4132 51.6319 25.0644C51.4035 23.9786 51.4492 22.8814 51.335 21.7956C51.0723 19.1669 50.7754 16.5382 50.7754 13.8751C50.7754 6.58327 53.2879 0.0114404 62.2643 0.0114404C68.5342 0.0114404 73.9817 3.16592 73.9817 10.4235C73.9817 15.1209 71.0581 20.6413 65.2679 20.6413C64.9253 20.6413 64.6284 20.607 64.3314 20.527C64.7083 21.2813 64.8568 22.1842 64.8568 23.27L64.8454 23.2586ZM61.6933 18.5954C62.5955 18.5954 64.0231 19.4983 65.2565 19.4983C70.133 19.4983 72.8397 14.8009 72.8397 10.4121C72.8397 4.02311 68.1459 1.13151 62.2529 1.13151C54.2586 1.13151 51.8946 6.76614 51.8946 13.8637C51.8946 16.4925 52.1572 19.0869 52.4542 21.6813C52.5684 22.6985 52.5341 23.8186 52.7168 24.8358C53.2079 27.4988 55.7204 28.7446 58.1644 28.7446C61.5106 28.7446 63.7147 26.6416 63.7147 23.2586C63.7147 21.3042 63.0752 20.0241 61.2365 19.2812C61.1223 19.2469 61.0081 19.2012 61.0081 19.0526C61.0081 18.7897 61.4192 18.6069 61.6819 18.6069L61.6933 18.5954ZM62.0359 6.80043C61.8532 6.57184 61.5905 6.45755 61.5905 6.16039C61.5905 5.86323 61.8875 5.60035 62.1958 5.60035C63.4749 5.60035 64.1145 9.36058 64.1145 10.3321C64.1145 11.3836 63.7718 14.9495 62.2415 14.9495C61.9446 14.9495 61.6819 14.6866 61.6819 14.3895C61.6819 13.978 62.2415 13.6808 62.4356 13.338C62.8468 12.5836 62.961 11.3036 62.961 10.4464C62.961 9.42916 62.6983 7.55476 62.0588 6.80043H62.0359Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M99.8148 20.5156C99.8148 27.8417 92.9054 30.2876 87.3894 30.2876C78.3101 30.2876 73.7191 24.4701 73.7191 15.8638C73.7191 6.54899 79.3494 0.160027 88.9197 0.160027C92.9397 0.160027 98.4215 1.47439 98.4215 6.5147C98.4215 8.76627 97.1881 11.0293 95.121 12.035C98.1246 13.6466 99.8148 17.0639 99.8148 20.527V20.5156ZM91.2152 20.4356C91.2152 21.5213 89.1139 22.0128 88.2916 22.0128C85.4022 22.0128 83.8605 19.5326 83.8605 16.9039C83.8605 13.6694 86.8983 11.1893 89.9818 11.1893C90.884 11.1893 91.8205 11.4521 92.7227 11.4521C95.3837 11.4521 97.3023 9.052 97.3023 6.49184C97.3023 2.25158 92.2773 1.26867 88.9311 1.26867C80.0346 1.26867 74.8497 7.05188 74.8497 15.841C74.8497 23.9558 79.0524 29.1447 87.3894 29.1447C92.7912 29.1447 98.6842 26.8131 98.6842 20.5041C98.6842 16.1839 95.8634 12.2408 91.2837 12.2408C88.5771 12.2408 84.8312 13.4866 84.8312 16.7096C84.8312 18.5497 86.1788 21.2927 88.3258 21.2927C89.6735 21.2927 90.5414 20.2413 90.9868 20.2413C91.101 20.2413 91.2152 20.3213 91.2152 20.4241V20.4356Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M106.096 30.0132C102.419 30.0132 100.123 27.1216 100.123 23.7386V19.1897C100.123 17.6125 100.089 16.001 100.123 14.458C100.237 9.23483 101.471 4.6174 106.427 1.87438C108.266 0.857173 110.367 0.262851 112.503 0.262851C118.316 0.262851 123.946 4.09166 123.946 10.6292C123.946 13.7151 122.519 16.2638 120.075 17.8754C122.587 18.6983 124.654 20.9155 124.654 23.8529C124.654 27.4645 121.731 29.8647 118.385 29.8647C115.301 29.8647 113.131 27.8417 111.704 25.3158C111.144 27.8303 109.305 30.0132 106.073 30.0132H106.096ZM110.904 21.3727C111.018 21.3727 111.133 21.4527 111.201 21.487C112.514 24.6758 114.319 28.7332 118.407 28.7332C121.228 28.7332 123.547 26.7445 123.547 23.8529C123.547 20.9613 120.84 18.6297 117.996 18.6297C117.322 18.6297 116.751 18.8926 116.192 18.8926C116.078 18.8926 116.043 18.7783 116.043 18.7097C116.043 18.4468 116.158 18.3325 116.34 18.264C116.98 18.0354 117.654 17.8868 118.293 17.5896C121.148 16.241 122.838 13.8294 122.838 10.6406C122.838 4.89171 117.916 1.39435 112.514 1.39435C110.561 1.39435 108.643 1.95438 106.998 2.8573C102.499 5.30316 101.631 8.78909 101.368 13.5665C101.254 15.4409 101.254 17.3268 101.254 19.2012V23.75C101.254 26.6073 103.127 28.8932 106.096 28.8932C108.232 28.8932 110.15 27.3502 110.641 25.3272C110.904 24.1272 110.756 22.6985 110.756 21.5327C110.756 21.4184 110.79 21.3841 110.904 21.3841V21.3727ZM111.692 6.80039C111.509 6.57181 111.281 6.45752 111.281 6.16035C111.281 5.86319 111.544 5.60032 111.841 5.60032C113.12 5.60032 113.759 9.36055 113.759 10.332C113.759 11.3835 113.462 14.9495 111.886 14.9495C111.589 14.9495 111.327 14.6866 111.327 14.3894C111.327 13.978 111.886 13.6808 112.08 13.3379C112.492 12.5836 112.606 11.3035 112.606 10.4463C112.606 9.42913 112.343 7.55473 111.704 6.80039H111.692Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M125.248 21.0413C125.248 16.3096 125.362 11.6121 125.362 6.9147C125.362 3.68021 127.429 0.560023 131.175 0.560023C132.42 0.560023 133.951 0.857184 135.081 1.68009C137.525 3.37162 137.559 5.73748 137.559 7.87476V13.738C137.559 15.6924 137.525 17.6468 137.525 19.6012C137.525 20.3898 137.559 21.6242 137.525 22.87C137.491 24.07 137.411 25.4644 137 26.4816C136.098 28.7675 133.505 30.1961 131.221 30.1961C128.069 30.1961 125.248 27.6817 125.248 24.3786V21.0298V21.0413ZM131.221 29.0761C133.14 29.0761 135.241 27.876 135.949 26.0702C136.36 25.053 136.395 23.6243 136.395 22.5385V19.6126L136.429 13.7494V7.88619C136.429 5.7032 136.395 3.97738 134.442 2.59443C133.539 1.98868 132.26 1.69152 131.175 1.69152C128.811 1.69152 126.79 3.56592 126.516 5.89749C126.436 6.57182 126.482 7.21186 126.482 7.9319V14.3209L126.367 21.0413V24.3901C126.367 27.0188 128.617 29.0875 131.21 29.0875L131.221 29.0761Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M138.816 7.14328C138.816 2.67444 141.26 0.342864 145.691 0.342864C156.574 0.342864 162.205 5.56604 162.205 16.6524C162.205 26.0473 156.049 29.8418 147.598 29.8418C141.785 29.8418 138.553 26.7559 138.553 20.9041C138.553 19.4755 138.736 18.0468 138.816 16.6181C138.964 13.498 138.816 10.3092 138.816 7.15471V7.14328ZM147.598 28.6989C155.638 28.6989 161.074 25.2472 161.074 16.641C161.074 6.27466 156.083 1.46293 145.679 1.46293C141.854 1.46293 139.935 3.26876 139.935 7.13185V8.6748L139.969 11.715V13.2579C139.969 14.4237 139.969 15.5095 139.935 16.6753C139.855 18.0697 139.672 19.4526 139.672 20.8813C139.672 26.1387 142.379 28.6989 147.587 28.6989H147.598ZM148.797 10.0349C148.614 9.73773 148.238 9.50914 148.238 9.13197C148.238 8.83481 148.5 8.57194 148.797 8.57194C149.357 8.57194 150.145 10.0006 150.373 10.4921C151.081 12.1493 151.195 13.9437 151.195 15.7152C151.195 16.801 150.636 22.2528 149.277 22.2528C148.98 22.2528 148.717 21.9899 148.717 21.6927C148.717 21.5785 148.751 21.5099 148.831 21.3956C149.802 19.7841 150.065 17.5211 150.065 15.6809C150.065 13.9551 149.882 11.395 148.786 10.0463L148.797 10.0349Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M163.941 16.001C162.742 14.8695 162.479 12.7322 162.479 11.155C162.479 4.61741 167.321 0.411437 173.625 0.411437C177.417 0.411437 185 2.33156 185 8.29763C185 10.8121 183.504 12.8122 181.437 13.8637C184.143 14.6523 185 17.4296 185 19.6469C185 26.4816 177.828 30.1275 172.312 30.1275C167.55 30.1275 162.399 27.2016 162.399 21.487C162.399 19.7955 162.89 17.5782 164.352 16.2981C164.203 16.2181 164.089 16.1153 163.941 16.001ZM172.837 18.4468C172.951 18.6297 173.066 18.9383 173.066 19.1554C173.066 19.2354 173.066 19.3383 172.986 19.304C172.757 19.224 172.575 19.0411 172.426 18.8926C171.113 17.6125 169.308 16.3438 167.401 16.3438C164.546 16.3438 163.53 19.0869 163.53 21.487C163.53 26.333 167.881 28.996 172.312 28.996C177.565 28.996 183.881 25.5444 183.881 19.6469C183.881 17.4639 182.944 15.0295 180.5 14.8009C178.319 14.618 175.213 13.8637 173.522 12.435C173.294 12.2522 172.917 11.9893 172.917 11.6464C172.917 11.5321 172.951 11.3493 173.1 11.3493C173.511 11.3493 176.138 13.4522 178.388 13.4522C181.243 13.4522 183.869 11.235 183.869 8.30906C183.869 3.49734 177.485 1.54293 173.625 1.54293C167.881 1.54293 163.598 5.25745 163.598 11.1664C163.598 12.4465 163.781 14.2066 164.729 15.1895C165.174 15.6809 165.928 15.6809 166.533 15.6809C168.783 15.6809 171.638 16.3896 172.837 18.4583V18.4468Z\"\n fill=\"currentColor\"\n />\n </svg>\n);\n\n// ─── Theme lookup maps ─────────────────────────────────────────────────────────\n\n/** Text color class for wordmark and icon-outline themes. */\nconst textColor: Record<LogoTheme, string> = {\n default: \"text-foreground\",\n reversed: \"text-white\",\n black: \"text-black\",\n white: \"text-white\",\n};\n\n/**\n * Solid background for the filled squircle icon.\n * `black` and `white` themes use the animated GIF instead (handled inline).\n */\nconst iconBg: Record<LogoTheme, string | null> = {\n default: \"bg-primary\",\n reversed: \"bg-brand-pumpkin-500\",\n black: null,\n white: null,\n};\n\n// ─── Component ─────────────────────────────────────────────────────────────────\n\nexport function Logo({\n variant = \"logo\",\n theme = \"default\",\n outline = false,\n mini = false,\n className = \"\",\n}: LogoProps) {\n // ── Icon variant ──────────────────────────────────────────────────────────────\n if (variant === \"icon\") {\n const sizeClass = mini ? \"size-8\" : \"size-12\";\n const useGif = theme === \"black\" || theme === \"white\";\n\n return (\n <div\n data-slot=\"logo\"\n role=\"img\"\n aria-label=\"PopGrids\"\n className={cn(\"mask mask-squircle relative shrink-0\", sizeClass, className)}\n >\n {useGif ? (\n <img\n src={CDN_ANIMATED_BG}\n alt=\"\"\n aria-hidden=\"true\"\n width={96}\n height={96}\n className=\"absolute inset-0 size-full object-cover\"\n />\n ) : (\n <div className={cn(\"absolute inset-0\", iconBg[theme])} />\n )}\n <img\n src={CDN_LETTER_P}\n alt=\"\"\n aria-hidden=\"true\"\n width={96}\n height={96}\n className={cn(\"absolute left-0 h-auto w-full scale-[0.67]\", {\n \"bottom-[-3px]\": mini,\n \"bottom-[-5px]\": !mini,\n })}\n />\n </div>\n );\n }\n\n // ── Wordmark variant ──────────────────────────────────────────────────────────\n\n if (outline) {\n return (\n <div\n data-slot=\"logo\"\n role=\"img\"\n aria-label=\"PopGrids\"\n className={cn(\"inline-flex shrink-0 items-center\", textColor[theme], className)}\n >\n {wordmarkOutline}\n </div>\n );\n }\n\n if (!mini) {\n return (\n <div\n data-slot=\"logo\"\n role=\"img\"\n aria-label=\"PopGrids\"\n className={cn(\"inline-flex shrink-0 items-center\", textColor[theme], className)}\n >\n {wordmarkFull}\n </div>\n );\n }\n\n // Mini wordmark: POPS abbreviated form for default/reversed, compact full mark for black/white.\n const miniSvg =\n theme === \"default\" || theme === \"reversed\" ? wordmarkMiniPops : wordmarkMiniSmall;\n\n return (\n <div\n data-slot=\"logo\"\n role=\"img\"\n aria-label=\"PopGrids\"\n className={cn(\"inline-flex shrink-0 items-center\", textColor[theme], className)}\n >\n {miniSvg}\n </div>\n );\n}\n","export const SectionFlourish = () => (\n <div className=\"flex items-center justify-center self-stretch py-8 text-xl\">✦</div>\n);\n","\"use client\";\n\nimport { Tooltip as TooltipPrimitive } from \"@base-ui/react/tooltip\";\n\nimport { cn } from \"../../lib/utils\";\n\nfunction TooltipProvider({ delay = 0, ...props }: TooltipPrimitive.Provider.Props) {\n return <TooltipPrimitive.Provider data-slot=\"tooltip-provider\" delay={delay} {...props} />;\n}\n\nfunction Tooltip({ ...props }: TooltipPrimitive.Root.Props) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />;\n}\n\nfunction TooltipTrigger({ ...props }: TooltipPrimitive.Trigger.Props) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n side = \"top\",\n sideOffset = 4,\n align = \"center\",\n alignOffset = 0,\n children,\n ...props\n}: TooltipPrimitive.Popup.Props &\n Pick<TooltipPrimitive.Positioner.Props, \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\">) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Positioner\n align={align}\n alignOffset={alignOffset}\n side={side}\n sideOffset={sideOffset}\n className=\"isolate z-50\"\n >\n <TooltipPrimitive.Popup\n data-slot=\"tooltip-content\"\n className={cn(\n \"data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:fade-out-0 data-closed:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=inline-end]:slide-in-from-left-2 z-50 w-fit max-w-xs origin-(--transform-origin) rounded-md bg-foreground px-3 py-1.5 text-background text-xs data-[state=delayed-open]:animate-in data-closed:animate-out data-open:animate-in\",\n className,\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"flex data-[side=bottom]:-top-[6px] data-[side=left]:right-[-13px] data-[side=top]:-bottom-[6px] data-[side=right]:left-[-13px] data-[side=bottom]:rotate-0 data-[side=left]:rotate-90 data-[side=right]:-rotate-90 data-[side=top]:rotate-180\">\n <TooltipArrow />\n </TooltipPrimitive.Arrow>\n </TooltipPrimitive.Popup>\n </TooltipPrimitive.Positioner>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport const TooltipArrow = (_props: React.ComponentProps<\"svg\">) => {\n return (\n <svg\n width=\"20\"\n height=\"6\"\n viewBox=\"382.134 241.548 20 6\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <title>Tooltip Arrow</title>\n <path\n className=\"fill-foreground\"\n d=\"M 382.134 247.548 C 390.116 247.548 389.506 241.548 392.134 241.548 C 394.762 241.548 394.152 247.548 402.134 247.548\"\n />\n </svg>\n );\n};\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };\n","\"use client\";\n\nimport { Check, InfoCircle } from \"@untitledui/icons\";\nimport { cn } from \"../../lib/utils\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../tooltip/tooltip\";\nimport type { SectionHeaderProps } from \"./types\";\n\nfunction computeLabelText(\n required: boolean,\n numberChecked: number,\n min: number | undefined,\n max: number | undefined,\n): string {\n if (required) {\n if (numberChecked === 0) {\n return `${min}–${max} Required`;\n }\n return `${numberChecked} selected of ${max}`;\n }\n if (max === 0 && min === 0) {\n return \"1 Optional\";\n }\n if (numberChecked === 0) {\n return `Up to ${max}`;\n }\n return `${numberChecked} selected of ${max}`;\n}\n\nexport function SectionHeader({\n className = undefined,\n flourish = undefined,\n heading = undefined,\n icon = undefined,\n label: _label = undefined,\n min = undefined,\n max = undefined,\n required = false,\n description = undefined,\n numberChecked = 0,\n}: SectionHeaderProps) {\n const labelText = computeLabelText(required, numberChecked, min, max);\n\n return (\n <div\n className={cn(\n \"flex w-full items-center\",\n {\n \"justify-center py-8\": flourish,\n \"h-[30px] shrink-0 flex-wrap content-center justify-between gap-y-3 pb-1.5\": !flourish,\n \"border-foreground border-b-[0.3px]\": !flourish,\n },\n className,\n )}\n >\n {flourish ? (\n <span className=\"font-normal text-xl\">{flourish}</span>\n ) : (\n <>\n <div className=\"flex items-center gap-1 font-semibold text-sm uppercase\">\n {heading != null && (\n <>\n {icon != null && icon}\n {heading}\n </>\n )}\n </div>\n {min != null && (\n <div className=\"flex items-center gap-1.5\">\n <div className=\"font-normal text-sm\">{labelText}</div>\n {(required && numberChecked >= min) || (!required && numberChecked > 0) ? (\n <Check className=\"size-5\" />\n ) : (\n description && (\n <Tooltip>\n <TooltipTrigger render={<InfoCircle className=\"size-5\" />} />\n <TooltipContent sideOffset={2} alignOffset={5}>\n <p>{description}</p>\n </TooltipContent>\n </Tooltip>\n )\n )}\n </div>\n )}\n </>\n )}\n </div>\n );\n}\n","\"use client\";\n\nimport { cva } from \"class-variance-authority\";\nimport type { KeyboardEvent } from \"react\";\nimport { cn } from \"../../lib/utils\";\nimport type { TagProps } from \"./types\";\n\nconst tagVariants = cva(\n // Base styles\n \"inline-flex items-center justify-center rounded-full box-border relative font-medium text-sm leading-5 text-center whitespace-nowrap appearance-none focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/60 focus-visible:ring-offset-0\",\n {\n variants: {\n selected: {\n false:\n \"text-primary ring ring-primary ring-offset-0 focus-visible:bg-primary focus-visible:text-primary\",\n true: \"bg-primary text-primary-foreground dark:text-primary-foreground focus-visible:bg-primary focus-visible:text-primary-foreground dark:focus-visible:bg-primary dark:focus-visible:text-primary-foreground\",\n },\n interactive: {\n false: null,\n true: \"cursor-pointer\",\n },\n size: {\n md: null,\n lg: null,\n },\n collapsed: {\n false: null,\n true: null,\n },\n },\n defaultVariants: {\n selected: false,\n interactive: false,\n size: \"md\",\n collapsed: false,\n },\n compoundVariants: [\n // Interactive hover states\n {\n interactive: true,\n selected: false,\n class: \"hover:ring-2 hover:ring-primary active:ring-1\",\n },\n {\n interactive: true,\n selected: true,\n class: \"hover:bg-primary/90\",\n },\n // Interactive active states\n {\n interactive: true,\n selected: false,\n class: \"active:ring active:ring-primary\",\n },\n {\n interactive: true,\n selected: true,\n class: \"active:bg-primary\",\n },\n // Size variants (non-collapsed)\n {\n size: \"md\",\n collapsed: false,\n class: \"px-2 py-1.5 gap-0.5\",\n },\n {\n size: \"lg\",\n collapsed: false,\n class: \"px-3 py-2.5 gap-1\",\n },\n // Collapsed size adjustments\n {\n size: \"md\",\n collapsed: true,\n class: \"p-1.5 w-8 h-8\",\n },\n {\n size: \"lg\",\n collapsed: true,\n class: \"p-2.5 w-10 h-10\",\n },\n ],\n },\n);\n\nexport function Tag({\n size = \"md\",\n selected = false,\n collapsed = false,\n children,\n leading,\n trailing,\n interactive,\n type,\n onClick,\n className = \"\",\n}: TagProps) {\n const handleClick = () => {\n if (onClick) {\n onClick();\n }\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement | HTMLDivElement>) => {\n if (onClick && (event.key === \"Enter\" || event.key === \" \")) {\n event.preventDefault();\n onClick();\n }\n };\n\n const showLeading = leading && !collapsed;\n const showTrailing = trailing && !collapsed;\n\n // Explicit interactive prop takes precedence; otherwise detect from onClick\n const isInteractive = interactive ?? typeof onClick === \"function\";\n const TagElement = isInteractive ? \"button\" : \"div\";\n\n return (\n <TagElement\n className={cn(\n tagVariants({\n size,\n selected,\n collapsed,\n interactive: isInteractive,\n }),\n className,\n )}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n type={isInteractive ? (type ?? \"button\") : undefined}\n >\n {!collapsed && (\n <>\n {showLeading && (\n <div className=\"flex h-5 w-5 shrink-0 items-center justify-center overflow-hidden text-inherit\">\n {leading}\n </div>\n )}\n <div className=\"flex items-center justify-center px-1 first:pl-0 last:pr-0\">\n {children}\n </div>\n {showTrailing && (\n <div className=\"flex h-5 w-5 shrink-0 items-center justify-center overflow-hidden text-inherit\">\n {trailing}\n </div>\n )}\n </>\n )}\n\n {collapsed && (\n <div className=\"flex h-5 w-5 shrink-0 items-center justify-center overflow-hidden text-inherit\">\n {leading || trailing}\n </div>\n )}\n </TagElement>\n );\n}\n","import { cva } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport type { TemplateHeaderProps } from \"./types\";\n\nconst templateHeaderVariants = cva(\n \"mx-auto flex w-full max-w-2xl flex-col items-center justify-center gap-2.5 py-12\",\n);\n\nexport function TemplateHeader({ className, image }: TemplateHeaderProps) {\n return (\n <header\n data-slot=\"template-header\"\n className={cn(\"drop-shadow-3xl drop-shadow-primary/30\", templateHeaderVariants(), className)}\n >\n <div className=\"mx-auto flex aspect-146/85 max-h-[596px] max-w-2xl shrink-0 items-center justify-between self-stretch\">\n {image}\n </div>\n </header>\n );\n}\n"]}