@popgrids/ui 0.0.28 → 0.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/banner-notification.cjs.map +1 -1
- package/dist/banner-notification.js.map +1 -1
- package/dist/button-link.cjs +10 -4
- package/dist/button-link.cjs.map +1 -1
- package/dist/button-link.d.cts +8 -4
- package/dist/button-link.d.ts +8 -4
- package/dist/button-link.js +10 -4
- package/dist/button-link.js.map +1 -1
- package/dist/button.cjs +63 -25
- package/dist/button.cjs.map +1 -1
- package/dist/button.d.cts +2 -2
- package/dist/button.d.ts +2 -2
- package/dist/button.js +63 -25
- package/dist/button.js.map +1 -1
- package/dist/checkbox.cjs +1 -1
- package/dist/checkbox.cjs.map +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/checkbox.js.map +1 -1
- package/dist/content-block.cjs +4 -4
- package/dist/content-block.cjs.map +1 -1
- package/dist/content-block.js +5 -5
- package/dist/content-block.js.map +1 -1
- package/dist/default-header.cjs +59 -0
- package/dist/default-header.cjs.map +1 -0
- package/dist/default-header.d.cts +19 -0
- package/dist/default-header.d.ts +19 -0
- package/dist/default-header.js +57 -0
- package/dist/default-header.js.map +1 -0
- package/dist/dialog.cjs +81 -47
- package/dist/dialog.cjs.map +1 -1
- package/dist/dialog.js +81 -47
- package/dist/dialog.js.map +1 -1
- package/dist/dropdown-menu-B_GCzleM.d.cts +32 -0
- package/dist/dropdown-menu-B_GCzleM.d.ts +32 -0
- package/dist/dropdown-menu.cjs +17 -32
- package/dist/dropdown-menu.cjs.map +1 -1
- package/dist/dropdown-menu.d.cts +43 -29
- package/dist/dropdown-menu.d.ts +43 -29
- package/dist/dropdown-menu.js +17 -32
- package/dist/dropdown-menu.js.map +1 -1
- package/dist/footer.cjs +35 -155
- package/dist/footer.cjs.map +1 -1
- package/dist/footer.d.cts +7 -6
- package/dist/footer.d.ts +7 -6
- package/dist/footer.js +36 -156
- package/dist/footer.js.map +1 -1
- package/dist/index.cjs +695 -310
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +6 -1
- package/dist/index.d.ts +6 -1
- package/dist/index.js +686 -311
- package/dist/index.js.map +1 -1
- package/dist/input-group.cjs +182 -0
- package/dist/input-group.cjs.map +1 -0
- package/dist/input-group.d.cts +42 -0
- package/dist/input-group.d.ts +42 -0
- package/dist/input-group.js +175 -0
- package/dist/input-group.js.map +1 -0
- package/dist/input.cjs +3 -3
- package/dist/input.cjs.map +1 -1
- package/dist/input.js +3 -3
- package/dist/input.js.map +1 -1
- package/dist/label.cjs +1 -1
- package/dist/label.cjs.map +1 -1
- package/dist/label.js +1 -1
- package/dist/label.js.map +1 -1
- package/dist/loader.cjs +12 -15
- package/dist/loader.cjs.map +1 -1
- package/dist/loader.js +13 -16
- package/dist/loader.js.map +1 -1
- package/dist/logo.cjs +311 -0
- package/dist/logo.cjs.map +1 -0
- package/dist/logo.d.cts +39 -0
- package/dist/logo.d.ts +39 -0
- package/dist/logo.js +309 -0
- package/dist/logo.js.map +1 -0
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/notification-badge.cjs.map +1 -1
- package/dist/notification-badge.js.map +1 -1
- package/dist/section-header.cjs +28 -45
- package/dist/section-header.cjs.map +1 -1
- package/dist/section-header.d.cts +1 -1
- package/dist/section-header.d.ts +1 -1
- package/dist/section-header.js +28 -45
- package/dist/section-header.js.map +1 -1
- package/dist/tag.cjs +6 -6
- package/dist/tag.cjs.map +1 -1
- package/dist/tag.js +6 -6
- package/dist/tag.js.map +1 -1
- package/dist/template-header.cjs +28 -0
- package/dist/template-header.cjs.map +1 -0
- package/dist/template-header.d.cts +13 -0
- package/dist/template-header.d.ts +13 -0
- package/dist/template-header.js +26 -0
- package/dist/template-header.js.map +1 -0
- package/dist/textarea.cjs +27 -0
- package/dist/textarea.cjs.map +1 -0
- package/dist/textarea.d.cts +10 -0
- package/dist/textarea.d.ts +10 -0
- package/dist/textarea.js +25 -0
- package/dist/textarea.js.map +1 -0
- package/dist/theme.css +229 -27
- package/dist/tooltip.cjs +5 -15
- package/dist/tooltip.cjs.map +1 -1
- package/dist/tooltip.d.cts +1 -1
- package/dist/tooltip.d.ts +1 -1
- package/dist/tooltip.js +5 -15
- package/dist/tooltip.js.map +1 -1
- package/package.json +75 -15
package/dist/index.js.map
CHANGED
|
@@ -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/dialog/dialog.tsx","../src/components/dropdown-menu/dropdown-menu.tsx","../src/components/footer/footer.tsx","../src/components/input/input.tsx","../src/components/label/label.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"],"names":["cva","jsx","jsxs","Fragment","ButtonPrimitive","CheckboxPrimitive","DialogPrimitive","MenuPrimitive","Check","InputPrimitive","useRender","mergeProps","TooltipPrimitive"],"mappings":"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","file":"index.js","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 && (\n <div className=\"flex shrink-0 items-start [&>svg]:size-5\">\n {image}\n </div>\n )}\n {children != null && (\n <div className=\"min-w-0 flex-1 text-sm\">{children}</div>\n )}\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 <>\n {Array.from({ length: dotCount }, (_, index) => {\n const delaySeconds = index * 0.035;\n return (\n // biome-ignore lint/suspicious/noArrayIndexKey: Dots are static and ordered\n <div\n key={index}\n className=\"bg-grayscale-200 dark:bg-grayscale-700 animate-loader-wave absolute top-0 size-[3px] rounded-full motion-reduce:animate-none\"\n style={{\n left: `${index}px`,\n animationDelay: `${delaySeconds}s`,\n }}\n />\n );\n })}\n </>\n )}\n </div>\n );\n}\n\nexport { Loader };\n","\"use client\";\n\nimport type * as React from \"react\";\nimport { Button as ButtonPrimitive } from \"@base-ui/react/button\";\nimport { cva } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\nimport { Loader } from \"../loader\";\nimport { 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-foreground text-primary\",\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-foreground/0 backdrop-blur-lg text-primary\",\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-foreground text-primary hover:bg-primary-foreground hover:text-primary active:bg-primary-foreground active:text-primary focus-visible:bg-primary-foreground focus-visible:text-primary\",\n },\n {\n variant: \"primary\",\n theme: \"error\",\n class: \"bg-destructive text-black\",\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: \"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\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 className,\n hasLeading: !!leading,\n theme,\n hasTrailing: !!trailing,\n }),\n tintVariants({ variant, outline }),\n );\n\n const content = (\n <>\n {loading && (loadingElement || <Loader className=\"absolute inset-0 m-auto\" variant=\"spinner\" theme=\"reversed\" />)}\n {leading && <div className={cn(\"group-aria-busy/button:opacity-0 transition-opacity\", { \"opacity-0\": loading })}>{leading}</div>}\n {children && (\n <span className={cn(\"min-w-[18px] truncate relative transition-opacity\", { \"opacity-0\": loading })}>\n {children}\n </span>\n )}\n {trailing && (\n <div\n className={cn(\"group-aria-busy/button:opacity-0 transition-opacity\", {\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 * as React from \"react\";\nimport { cva } from \"class-variance-authority\";\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: \"text-white hover:bg-white/16 focus-visible:bg-blue-dark-600 focus-visible:text-white\",\n black: \"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 leading,\n primary = false,\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 && (\n <span className=\"min-w-0 truncate relative\">{children}</span>\n )}\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 { type, ...buttonProps } =\n props as React.ButtonHTMLAttributes<HTMLButtonElement>;\n\n return (\n <button\n data-slot=\"button-link\"\n className={sharedClassName}\n type={type ?? \"button\"}\n {...buttonProps}\n >\n {content}\n </button>\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 <>\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=\"font-decor text-decor-xs self-stretch font-bold\">{title}</h2>\n )}\n {subhead && <p className=\"text-base font-semibold\">{subhead}</p>}\n </div>\n )}\n {/* CTA */}\n <div>{cta}</div>\n </div>\n </>\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 { CheckboxProps } from \"./types\";\n\nfunction Checkbox({ className, ...props }: CheckboxProps) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n \"border-foreground dark:bg-input/30 dark:data-checked:bg-primary aria-invalid:aria-checked:border-primary aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border shadow-xs transition-shadow outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:ring-3 data-disabled:cursor-not-allowed data-disabled:opacity-50 aria-invalid:ring-3 data-checked:border-foreground data-checked:bg-foreground data-checked:text-background\",\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","\"use client\";\n\nimport { Dialog as DialogPrimitive } from \"@base-ui/react/dialog\";\nimport { XClose } from \"@untitledui/icons\";\nimport * 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({\n className,\n ...props\n}: 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({\n className,\n ...props\n}: 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 flex h-full 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 \"bg-background pointer-events-auto fixed top-1/2 left-1/2 flex h-full max-h-[calc(100%-2rem)] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 flex-col rounded-xl shadow-2xl transition-all\",\n {\n \"group-data-closed/popup:duration-pop-hover group-data-open/popup:duration-pop-hover group-data-open/popup:ease-pop-hover group-data-closed/popup:ease-out group-data-ending-style/popup:scale-[0.96] group-data-ending-style/popup:opacity-0 group-data-starting-style/popup:scale-[0.96] group-data-starting-style/popup:opacity-0\":\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:animate-in group-data-closed/popup:animate-out top-auto bottom-0 h-full translate-y-0 rounded-b-none group-data-closed/popup:duration-1000 group-data-ending-style/popup:translate-y-full group-data-open/popup:duration-500 group-data-open/popup:ease-[cubic-bezier(0.32,0.72,0,1)] group-data-open/popup:zoom-in-95 ease-[cubic-bezier(0.32,0.72,0,1)] group-data-starting-style/popup:translate-y-full\":\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\", { \"left-4\": closePosition === \"top-left\", \"right-4\": closePosition === \"top-right\", \"group-data-closed/popup:duration-pop-hover group-data-open/popup:duration-pop-hover group-data-open/popup:ease-pop-hover group-data-closed/popup:ease-out group-data-ending-style/popup:scale-[0.96] group-data-ending-style/popup:opacity-0 group-data-starting-style/popup:scale-[0.96] group-data-starting-style/popup:opacity-0\": !bottom, \" group-data-starting-style/popup-scale-[0.96] group-data-ending-style/popup-scale-100 group-data-open/popup:animate-in group-data-closed/popup:animate-out group-data-closed/popup:duration-1000 group-data-closed/popup:ease-[cubic-bezier(0.32,0.72,0,1)] group-data-open/popup:duration-500 group-data-open/popup:ease-[cubic-bezier(0.32,0.72,0,1)]\": bottom })}\n aria-label=\"Close\"\n >\n <span className=\"sr-only\">Close</span>\n <span className=\"before:bg-tint-700-reversed relative block before:absolute before:-inset-1.5 before:rounded-full before:backdrop-blur-sm\">\n <span className=\"bg-primary-foreground text-background relative z-10 flex size-10 items-center justify-center rounded-full\">\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(\"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(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: 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 shrink-0 grow basis-0 flex-col items-start self-stretch\", className)}\n {...props}\n >\n <div className=\"flex shrink-0 grow basis-0 flex-col items-start 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","import { Menu as MenuPrimitive } from \"@base-ui/react/menu\"\nimport * 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<\n MenuPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\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(\"data-open:animate-in data-closed:animate-out 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 ring-white dark:ring-gray-700 bg-popover text-popover-foreground 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-x-hidden overflow-y-auto rounded-xs p-1 shadow-xl ring-1 duration-100 outline-none data-closed:overflow-hidden\", className)}\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 \"text-muted-foreground px-2 py-1.5 text-xs font-medium 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 \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground group/dropdown-menu-item relative flex cursor-default items-center gap-2 rounded-xs px-2 py-1.5 text-sm font-medium outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\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 \"focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground data-popup-open:bg-accent data-popup-open:text-accent-foreground flex cursor-default items-center gap-2 rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\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-open:animate-in data-closed:animate-out 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 ring-white dark:ring-gray-700 bg-popover text-popover-foreground w-auto min-w-[96px] rounded-sm p-1 shadow-lg ring-1 duration-100\",\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 \"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\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 />\n </MenuPrimitive.CheckboxItemIndicator>\n </span>\n {children}\n </MenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: MenuPrimitive.RadioGroup.Props) {\n return (\n <MenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\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 \"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-xs py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\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 />\n </MenuPrimitive.RadioItemIndicator>\n </span>\n {children}\n </MenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: MenuPrimitive.Separator.Props) {\n return (\n <MenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent,\n DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger\n}\n","interface FooterProps {\n theme?: \"template\" | \"branding\";\n logo?: React.ReactNode;\n tagline?: string;\n children?: React.ReactNode;\n}\n\nexport function Footer({\n theme = \"template\",\n logo,\n tagline,\n children,\n}: FooterProps) {\n return (\n <div className=\"border-t-foreground/10 mx-auto flex w-full flex-col items-center gap-8 self-stretch border-t 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\" ? (\n <>\n <svg\n width=\"139\"\n height=\"24\"\n viewBox=\"0 0 139 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M8.49444 0.531494C1.93914 0.531494 0 5.14292 0 10.9544C0 13.1058 0.214506 15.2229 0.463333 17.3486C0.557716 18.1801 0.523395 19.0972 0.67784 19.9286C1.08111 22.1144 3.14037 23.1258 5.13957 23.1258C7.87667 23.1258 9.69568 21.4029 9.69568 18.6429C9.69568 17.0486 9.17228 16.0029 7.66216 15.3858C7.56778 15.3515 7.47339 15.3258 7.47339 15.1972C7.47339 14.9829 7.8166 14.8286 8.03111 14.8286C8.76901 14.8286 9.93593 15.5658 10.957 15.5658C14.9554 15.5658 17.1691 11.7258 17.1691 8.12578C17.1691 2.89721 13.3165 0.531494 8.49444 0.531494ZM8.46012 11.8372C8.2113 11.8372 7.99679 11.6229 7.99679 11.3744C7.99679 11.0401 8.46012 10.7915 8.61457 10.5172C8.9492 9.90007 9.04358 8.85435 9.04358 8.15149C9.04358 7.32007 8.82907 5.78578 8.30568 5.16864C8.15123 4.98864 7.93673 4.89435 7.93673 4.64578C7.93673 4.39721 8.18556 4.18292 8.4258 4.18292C9.47259 4.18292 9.99599 7.26006 9.99599 8.05721C9.99599 8.91435 9.72142 11.8372 8.46012 11.8372Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M27.6627 1.05434C21.1417 1.05434 17.2292 5.66577 17.2292 11.9915C17.2292 18.3172 21.1332 22.9286 27.6627 22.9286C34.1923 22.9286 38.062 18.2572 38.062 11.9915C38.062 5.72577 34.1237 1.05434 27.6627 1.05434ZM27.9459 19.8001C27.8429 19.9286 27.637 20.1686 27.3882 20.1686C27.1393 20.1686 26.8991 19.9543 26.8991 19.7058C26.8991 19.6115 27.697 18.4115 27.8258 18.0429C28.3148 16.5943 28.4092 15.0258 28.4092 13.4915C28.4092 11.4343 28.0403 8.78577 26.779 7.0972C26.5301 6.78862 25.7665 6.20577 25.7665 5.87148C25.7665 5.62291 25.981 5.40862 26.2298 5.40862C26.4443 5.40862 26.6588 5.5972 26.8133 5.7172C28.7782 7.34577 29.3702 11.0658 29.3702 13.4915C29.3702 15.3943 29.293 18.1715 27.9545 19.7915L27.9459 19.8001Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M47.0283 0.531494C40.473 0.531494 38.5339 5.14292 38.5339 10.9544C38.5339 13.1058 38.7484 15.2229 38.9972 17.3486C39.0916 18.1801 39.0573 19.0972 39.2117 19.9286C39.615 22.1144 41.6742 23.1258 43.6734 23.1258C46.4105 23.1258 48.2295 21.4029 48.2295 18.6429C48.2295 17.0486 47.7061 16.0029 46.196 15.3858C46.1016 15.3515 46.0073 15.3258 46.0073 15.1972C46.0073 14.9829 46.3505 14.8286 46.565 14.8286C47.3029 14.8286 48.4698 15.5658 49.4908 15.5658C53.4892 15.5658 55.7029 11.7258 55.7029 8.12578C55.7029 2.89721 51.859 0.531494 47.0283 0.531494ZM47.0026 11.8372C46.7537 11.8372 46.5392 11.6229 46.5392 11.3744C46.5392 11.0401 47.0026 10.7915 47.157 10.5172C47.4916 9.90007 47.586 8.85435 47.586 8.15149C47.586 7.32007 47.3715 5.78578 46.8481 5.16864C46.6937 4.98864 46.4792 4.89435 46.4792 4.64578C46.4792 4.39721 46.728 4.18292 46.9683 4.18292C48.015 4.18292 48.5384 7.26006 48.5384 8.05721C48.5384 8.91435 48.2639 11.8372 47.0026 11.8372Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M69.2855 9.6258C67.0718 9.6258 63.9915 10.6372 63.9915 13.2858C63.9915 14.7944 65.0984 17.0315 66.8573 17.0315C67.9642 17.0315 68.6763 16.1744 69.0453 16.1744C69.1397 16.1744 69.2255 16.2344 69.2255 16.3287C69.2255 17.2201 67.5008 17.6229 66.823 17.6229C64.4548 17.6229 63.1935 15.5915 63.1935 13.4401C63.1935 10.8001 65.6818 8.76866 68.2044 8.76866C68.9423 8.76866 69.7145 8.98294 70.4524 8.98294C72.6404 8.98294 74.202 7.02009 74.202 4.92866C74.202 1.45723 70.0835 0.660086 67.3378 0.660086C60.0446 0.660086 55.7974 5.39152 55.7974 12.5829C55.7974 19.2258 59.2466 23.4601 66.0765 23.4601C70.5039 23.4601 75.3346 21.5572 75.3346 16.3887C75.3346 12.8572 73.0265 9.6258 69.2769 9.6258H69.2855Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M89.6292 14.8544C89.0715 14.8544 88.6168 15.0686 88.1534 15.0686C88.059 15.0686 88.0333 14.9744 88.0333 14.9144C88.0333 14.7001 88.1277 14.6058 88.2821 14.5458C88.8055 14.3658 89.3632 14.2372 89.8781 13.9886C92.2205 12.8829 93.6019 10.9115 93.6019 8.30578C93.6019 3.60007 89.5692 0.74578 85.1418 0.74578C83.5373 0.74578 81.9757 1.20864 80.62 1.94578C76.9305 3.94292 76.2183 6.80578 76.0038 10.7058C75.9094 12.2401 75.9094 13.7829 75.9094 15.3172V19.0372C75.9094 21.3686 77.4453 23.2458 79.8735 23.2458C81.6239 23.2458 83.194 21.9858 83.5973 20.3229C83.8118 19.3372 83.6917 18.1715 83.6917 17.2201C83.6917 17.1258 83.726 17.1001 83.8118 17.1001C83.8976 17.1001 84.0006 17.1601 84.0607 17.1944C85.1418 19.8086 86.6176 23.1258 89.9639 23.1258C92.2719 23.1258 94.1768 21.4972 94.1768 19.1315C94.1768 16.7658 91.9631 14.8629 89.6207 14.8629L89.6292 14.8544ZM84.6184 11.8372C84.3695 11.8372 84.155 11.6229 84.155 11.3744C84.155 11.0401 84.6184 10.7915 84.7728 10.5172C85.1074 9.90007 85.2018 8.85435 85.2018 8.15149C85.2018 7.32007 84.9873 5.78578 84.4639 5.16864C84.3095 4.98864 84.1293 4.89435 84.1293 4.64578C84.1293 4.39721 84.3438 4.18292 84.5926 4.18292C85.6394 4.18292 86.1628 7.26006 86.1628 8.05721C86.1628 8.91435 85.914 11.8372 84.6269 11.8372H84.6184Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M101.573 1.73148C100.835 1.2429 99.7883 0.994332 98.896 0.994332C96.9568 0.994332 95.2922 2.52862 95.0777 4.44005C95.0177 4.99719 95.0434 5.52005 95.0434 6.1029V11.3229L94.949 16.8258V19.56C94.949 21.7115 96.7938 23.4 98.9217 23.4C100.492 23.4 102.216 22.4143 102.8 20.94C103.135 20.1086 103.169 18.9429 103.169 18.0515V15.6515L103.203 10.86V6.06862C103.203 4.28576 103.169 2.87148 101.573 1.73148Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M109.244 0.805778C106.103 0.805778 104.533 2.28006 104.533 5.44292V6.70292L104.567 9.18863V10.4486C104.567 11.4001 104.567 12.2915 104.533 13.2429C104.473 14.3829 104.319 15.5143 104.319 16.6886C104.319 20.9915 106.532 23.0829 110.814 23.0829C117.395 23.0829 121.857 20.2543 121.857 13.2172C121.857 4.73149 117.764 0.797206 109.244 0.797206V0.805778ZM112.195 17.8029C111.946 17.8029 111.732 17.5886 111.732 17.3401C111.732 17.2458 111.766 17.1858 111.826 17.0915C112.624 15.7715 112.839 13.9286 112.839 12.4201C112.839 11.0058 112.684 8.91435 111.792 7.80863C111.638 7.56006 111.329 7.38006 111.329 7.07149C111.329 6.82292 111.543 6.60863 111.792 6.60863C112.255 6.60863 112.899 7.77435 113.088 8.17721C113.671 9.53149 113.766 11.0058 113.766 12.4458C113.766 13.3372 113.302 17.7943 112.195 17.7943V17.8029Z\"\n fill=\"currentColor\"\n />\n <path\n d=\"M136.229 11.7172C134.444 11.5629 131.887 10.9458 130.506 9.78009C130.325 9.6258 130.016 9.41152 130.016 9.13723C130.016 9.04294 130.051 8.88866 130.171 8.88866C130.506 8.88866 132.659 10.6115 134.513 10.6115C136.855 10.6115 139 8.79437 139 6.40294C139 2.46866 133.775 0.874372 130.6 0.874372C125.889 0.874372 122.389 3.91723 122.389 8.74294C122.389 9.78866 122.543 11.2287 123.315 12.0344C123.684 12.4372 124.302 12.4372 124.791 12.4372C126.636 12.4372 128.978 13.0201 129.956 14.7087C130.051 14.8629 130.137 15.1115 130.137 15.2915C130.137 15.3515 130.137 15.4458 130.077 15.4115C129.896 15.3515 129.742 15.1972 129.613 15.0772C128.532 14.0315 127.056 12.9858 125.495 12.9858C123.152 12.9858 122.329 15.2315 122.329 17.1944C122.329 21.1544 125.898 23.3401 129.527 23.3401C133.835 23.3401 139 20.5115 139 15.6858C139 13.9029 138.228 11.9058 136.229 11.7258V11.7172Z\"\n fill=\"currentColor\"\n />\n </svg>\n </>\n ) : (\n <>{logo && logo}</>\n )}\n\n {tagline && (\n <div className=\"text-primary-foreground text-center text-lg\">\n {tagline}\n </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=\"font-display text-foreground relative flex shrink-0 flex-col justify-center text-center text-base leading-[0] font-normal text-nowrap not-italic\">\n <p className=\"block text-sm leading-6 whitespace-pre\">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 <svg\n className=\"block size-full\"\n fill=\"none\"\n preserveAspectRatio=\"none\"\n viewBox=\"0 0 90 15\"\n >\n <title>PopGrids logo</title>\n <g id=\"popgrids\">\n <path\n d=\"M5.5 0C1.25556 0 0 2.88214 0 6.51429C0 7.85893 0.138889 9.18214 0.3 10.5107C0.361111 11.0304 0.338889 11.6036 0.438889 12.1232C0.7 13.4893 2.03333 14.1214 3.32778 14.1214C5.1 14.1214 6.27778 13.0446 6.27778 11.3196C6.27778 10.3232 5.93889 9.66964 4.96111 9.28393C4.9 9.2625 4.83889 9.24643 4.83889 9.16607C4.83889 9.03214 5.06111 8.93571 5.2 8.93571C5.67778 8.93571 6.43333 9.39643 7.09444 9.39643C9.68333 9.39643 11.1167 6.99643 11.1167 4.74643C11.1167 1.47857 8.62222 0 5.5 0ZM5.47778 7.06607C5.31667 7.06607 5.17778 6.93214 5.17778 6.77679C5.17778 6.56786 5.47778 6.4125 5.57778 6.24107C5.79444 5.85536 5.85556 5.20179 5.85556 4.7625C5.85556 4.24286 5.71667 3.28393 5.37778 2.89821C5.27778 2.78571 5.13889 2.72679 5.13889 2.57143C5.13889 2.41607 5.3 2.28214 5.45556 2.28214C6.13333 2.28214 6.47222 4.20536 6.47222 4.70357C6.47222 5.23929 6.29444 7.06607 5.47778 7.06607Z\"\n fill=\"currentColor\"\n className=\"text-foreground\"\n />\n <path\n d=\"M17.9111 0.326778C13.6889 0.326778 11.1556 3.20892 11.1556 7.16249C11.1556 11.1161 13.6833 13.9982 17.9111 13.9982C22.1389 13.9982 24.6445 11.0786 24.6445 7.16249C24.6445 3.24642 22.0945 0.326778 17.9111 0.326778ZM18.0945 12.0428C18.0278 12.1232 17.8945 12.2732 17.7333 12.2732C17.5722 12.2732 17.4167 12.1393 17.4167 11.9839C17.4167 11.925 17.9333 11.175 18.0167 10.9446C18.3333 10.0393 18.3945 9.05892 18.3945 8.09999C18.3945 6.81428 18.1556 5.15892 17.3389 4.10356C17.1778 3.91071 16.6833 3.54642 16.6833 3.33749C16.6833 3.18214 16.8222 3.04821 16.9833 3.04821C17.1222 3.04821 17.2611 3.16606 17.3611 3.24106C18.6333 4.25892 19.0167 6.58392 19.0167 8.09999C19.0167 9.28928 18.9667 11.025 18.1 12.0375L18.0945 12.0428Z\"\n fill=\"currentColor\"\n className=\"text-foreground\"\n />\n <path\n d=\"M30.45 0C26.2055 0 24.95 2.88214 24.95 6.51429C24.95 7.85893 25.0889 9.18214 25.25 10.5107C25.3111 11.0304 25.2889 11.6036 25.3889 12.1232C25.65 13.4893 26.9833 14.1214 28.2778 14.1214C30.05 14.1214 31.2278 13.0446 31.2278 11.3196C31.2278 10.3232 30.8889 9.66964 29.9111 9.28393C29.85 9.2625 29.7889 9.24643 29.7889 9.16607C29.7889 9.03214 30.0111 8.93571 30.15 8.93571C30.6278 8.93571 31.3833 9.39643 32.0444 9.39643C34.6333 9.39643 36.0666 6.99643 36.0666 4.74643C36.0666 1.47857 33.5778 0 30.45 0ZM30.4333 7.06607C30.2722 7.06607 30.1333 6.93214 30.1333 6.77679C30.1333 6.56786 30.4333 6.4125 30.5333 6.24107C30.75 5.85536 30.8111 5.20179 30.8111 4.7625C30.8111 4.24286 30.6722 3.28393 30.3333 2.89821C30.2333 2.78571 30.0944 2.72679 30.0944 2.57143C30.0944 2.41607 30.2555 2.28214 30.4111 2.28214C31.0889 2.28214 31.4278 4.20536 31.4278 4.70357C31.4278 5.23929 31.25 7.06607 30.4333 7.06607Z\"\n fill=\"currentColor\"\n className=\"text-foreground\"\n />\n <path\n d=\"M44.8611 5.68394C43.4278 5.68394 41.4334 6.31608 41.4334 7.97144C41.4334 8.9143 42.15 10.3125 43.2889 10.3125C44.0056 10.3125 44.4667 9.7768 44.7056 9.7768C44.7667 9.7768 44.8222 9.8143 44.8222 9.87323C44.8222 10.4304 43.7056 10.6822 43.2667 10.6822C41.7333 10.6822 40.9167 9.41251 40.9167 8.06787C40.9167 6.41787 42.5278 5.14823 44.1611 5.14823C44.6389 5.14823 45.1389 5.28216 45.6167 5.28216C47.0333 5.28216 48.0445 4.05537 48.0445 2.74823C48.0445 0.578584 45.3778 0.0803702 43.6 0.0803702C38.8778 0.0803702 36.1278 3.03751 36.1278 7.53216C36.1278 11.6839 38.3611 14.3304 42.7833 14.3304C45.65 14.3304 48.7778 13.1411 48.7778 9.91073C48.7778 7.70359 47.2833 5.68394 44.8556 5.68394H44.8611Z\"\n fill=\"currentColor\"\n className=\"text-foreground\"\n />\n <path\n d=\"M58.0333 8.95179C57.6722 8.95179 57.3778 9.08571 57.0778 9.08571C57.0166 9.08571 57 9.02679 57 8.98929C57 8.85536 57.0611 8.79643 57.1611 8.75893C57.5 8.64643 57.8611 8.56607 58.1944 8.41071C59.7111 7.71964 60.6055 6.4875 60.6055 4.85893C60.6055 1.91786 57.9944 0.133929 55.1278 0.133929C54.0889 0.133929 53.0778 0.423214 52.2 0.883929C49.8111 2.13214 49.35 3.92143 49.2111 6.35893C49.15 7.31786 49.15 8.28214 49.15 9.24107V11.5661C49.15 13.0232 50.1444 14.1964 51.7166 14.1964C52.85 14.1964 53.8667 13.4089 54.1278 12.3696C54.2667 11.7536 54.1889 11.025 54.1889 10.4304C54.1889 10.3714 54.2111 10.3554 54.2666 10.3554C54.3222 10.3554 54.3889 10.3929 54.4278 10.4143C55.1278 12.0482 56.0833 14.1214 58.25 14.1214C59.7444 14.1214 60.9778 13.1036 60.9778 11.625C60.9778 10.1464 59.5444 8.95714 58.0278 8.95714L58.0333 8.95179ZM54.7889 7.06607C54.6278 7.06607 54.4889 6.93214 54.4889 6.77679C54.4889 6.56786 54.7889 6.4125 54.8889 6.24107C55.1055 5.85536 55.1667 5.20179 55.1667 4.7625C55.1667 4.24286 55.0278 3.28393 54.6889 2.89821C54.5889 2.78571 54.4722 2.72679 54.4722 2.57143C54.4722 2.41607 54.6111 2.28214 54.7722 2.28214C55.45 2.28214 55.7889 4.20536 55.7889 4.70357C55.7889 5.23929 55.6278 7.06607 54.7944 7.06607H54.7889Z\"\n fill=\"currentColor\"\n className=\"text-foreground\"\n />\n <path\n d=\"M65.7667 0.749988C65.2889 0.444631 64.6111 0.289274 64.0334 0.289274C62.7778 0.289274 61.7 1.2482 61.5611 2.44285C61.5222 2.79106 61.5389 3.11785 61.5389 3.48213V6.74463L61.4778 10.1839V11.8928C61.4778 13.2375 62.6722 14.2928 64.05 14.2928C65.0667 14.2928 66.1833 13.6768 66.5611 12.7553C66.7778 12.2357 66.8 11.5071 66.8 10.95V9.44999L66.8222 6.45535V3.4607C66.8222 2.34642 66.8 1.46249 65.7667 0.749988Z\"\n fill=\"currentColor\"\n className=\"text-foreground\"\n />\n <path\n d=\"M70.7333 0.171427C68.7 0.171427 67.6833 1.09286 67.6833 3.06964V3.85714L67.7056 5.41071V6.19821C67.7056 6.79286 67.7056 7.35 67.6833 7.94464C67.6445 8.65714 67.5445 9.36429 67.5445 10.0982C67.5445 12.7875 68.9778 14.0946 71.75 14.0946C76.0111 14.0946 78.9 12.3268 78.9 7.92857C78.9 2.625 76.25 0.16607 70.7333 0.16607V0.171427ZM72.6444 10.7946C72.4833 10.7946 72.3445 10.6607 72.3445 10.5054C72.3445 10.4464 72.3667 10.4089 72.4056 10.35C72.9222 9.525 73.0611 8.37321 73.0611 7.43036C73.0611 6.54643 72.9611 5.23928 72.3833 4.54821C72.2833 4.39286 72.0833 4.28036 72.0833 4.0875C72.0833 3.93214 72.2222 3.79821 72.3833 3.79821C72.6833 3.79821 73.1 4.52678 73.2222 4.77857C73.6 5.625 73.6611 6.54643 73.6611 7.44643C73.6611 8.00357 73.3611 10.7893 72.6444 10.7893V10.7946Z\"\n fill=\"currentColor\"\n className=\"text-foreground\"\n />\n <path\n d=\"M88.2056 6.99109C87.05 6.89466 85.3944 6.50894 84.5 5.78037C84.3833 5.68394 84.1833 5.55001 84.1833 5.37859C84.1833 5.31966 84.2056 5.22323 84.2833 5.22323C84.5 5.22323 85.8944 6.30001 87.0944 6.30001C88.6111 6.30001 90 5.1643 90 3.66966C90 1.21073 86.6167 0.214299 84.5611 0.214299C81.5111 0.214299 79.2444 2.11608 79.2444 5.13216C79.2444 5.78573 79.3444 6.68573 79.8444 7.1893C80.0833 7.44108 80.4833 7.44109 80.8 7.44109C81.9944 7.44109 83.5111 7.80537 84.1444 8.86073C84.2056 8.95716 84.2611 9.11251 84.2611 9.22501C84.2611 9.26251 84.2611 9.32144 84.2222 9.30001C84.1056 9.26251 84.0056 9.16608 83.9222 9.09108C83.2222 8.43751 82.2667 7.78394 81.2556 7.78394C79.7389 7.78394 79.2056 9.18751 79.2056 10.4143C79.2056 12.8893 81.5167 14.2554 83.8667 14.2554C86.6556 14.2554 90 12.4875 90 9.47144C90 8.35716 89.5 7.10894 88.2056 6.99644V6.99109Z\"\n fill=\"currentColor\"\n className=\"text-foreground\"\n />\n </g>\n </svg>\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 { 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 \"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n \"focus-visible:border-ring focus-visible:ring-ring focus-visible:ring-[3px]\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\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 items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled: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","\"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 { 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({\n delay = 0,\n ...props\n}: TooltipPrimitive.Provider.Props) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delay={delay}\n {...props}\n />\n )\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<\n TooltipPrimitive.Positioner.Props,\n \"align\" | \"alignOffset\" | \"side\" | \"sideOffset\"\n >) {\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:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-closed:animate-out 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 bg-foreground text-background z-50 w-fit max-w-xs origin-(--transform-origin) rounded-md px-3 py-1.5 text-xs\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"flex data-[side=bottom]:-top-[6px] data-[side=bottom]:rotate-0 data-[side=left]:right-[-13px] data-[side=left]:rotate-90 data-[side=right]:left-[-13px] data-[side=right]:-rotate-90 data-[side=top]:-bottom-[6px] 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 { useCallback, useEffect, useState } from \"react\";\nimport { cn } from \"../../lib/utils\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"../tooltip/tooltip\";\nimport { SectionHeaderProps } from \"./types\";\n\nexport function SectionHeader({\n className = undefined,\n flourish = undefined,\n heading = undefined,\n icon = undefined,\n label = undefined,\n min = undefined,\n max = undefined,\n required = false,\n description = undefined,\n numberChecked = 0,\n}: SectionHeaderProps) {\n const [labelText, setLabelText] = useState(\"\");\n\n const updateLabel = useCallback(() => {\n if (required) {\n // Required\n if (numberChecked === 0) {\n setLabelText(`${min}–${max} Required`);\n }\n if (numberChecked > 0) {\n setLabelText(`${numberChecked} selected of ${max}`);\n }\n } else {\n // Optional\n if (max === 0 && min === 0) {\n setLabelText(\"1 Optional\");\n } else {\n if (numberChecked === 0) {\n setLabelText(`Up to ${max}`);\n }\n if (numberChecked > 0) {\n setLabelText(`${numberChecked} selected of ${max}`);\n }\n }\n }\n }, [required, numberChecked, min, max]);\n\n useEffect(() => {\n updateLabel();\n }, [updateLabel]);\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=\"text-xl font-normal\">{flourish}</span>\n ) : (\n <>\n <div className=\"flex items-center gap-1 text-sm font-semibold uppercase\">\n {heading && (\n <>\n {icon && <>{icon}</>}\n {heading}\n </>\n )}\n </div>\n {min && (\n <div className=\"flex items-center gap-1.5\">\n <div className=\"text-sm font-normal\">{labelText}</div>\n {(required && numberChecked >= min) || (!required && numberChecked > 0) ? (\n <Check className=\"size-5\" />\n ) : (\n <>\n {description && (\n <Tooltip>\n <TooltipTrigger render={<InfoCircle className=\"size-5\" />} />\n <TooltipContent\n sideOffset={2}\n alignOffset={5}\n >\n <p>{description}</p>\n </TooltipContent>\n </Tooltip>\n )}\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-foreground ring ring-primary-foreground ring-offset-0 focus-visible:bg-background focus-visible:text-primary-foreground\",\n true: \"bg-primary-foreground text-white dark:text-primary focus-visible:bg-primary-foreground focus-visible:text-white dark:focus-visible:bg-primary-foreground dark:focus-visible:text-primary\",\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-foreground active:ring-1\",\n },\n {\n interactive: true,\n selected: true,\n class: \"hover:bg-primary-foreground/90\",\n },\n // Interactive active states\n {\n interactive: true,\n selected: false,\n class: \"active:ring active:ring-primary-foreground\",\n },\n {\n interactive: true,\n selected: true,\n class: \"active:bg-primary-foreground\",\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"]}
|
|
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":["cva","jsx","jsxs","loaderVariants","ButtonPrimitive","Fragment","CheckboxPrimitive","DialogPrimitive","MenuPrimitive","Check","InputPrimitive","useRender","mergeProps","TooltipPrimitive"],"mappings":"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","file":"index.js","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-brand-midnight-900\",\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"]}
|