@madecki/ui 1.4.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/README.md +26 -12
- package/dist/index.cjs +234 -69
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +52 -8
- package/dist/index.d.ts +52 -8
- package/dist/index.js +235 -71
- package/dist/index.js.map +1 -1
- package/llm-context.md +42 -12
- package/package.json +4 -2
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Tag/tagSurfaceClassNames.ts","../src/components/Button/Button.tsx","../src/components/Button/ButtonTransparent.tsx","../src/components/Button/GradientButton.tsx","../src/components/Button/RadioButtons.tsx","../src/components/Tag/Tag.tsx","../src/components/Input/Input.tsx","../src/components/Select/Select.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Spinner/Spinner.tsx","../src/components/Spinner/SpinnerOverlay.tsx","../src/components/BlockQuote/BlockQuote.tsx","../src/components/Hr/Hr.tsx","../src/components/ContentBox/ContentBox.tsx","../src/components/Layout/Container.tsx","../src/components/Layout/Stack.tsx","../src/components/Layout/Grid.tsx","../src/components/Typography/Heading.tsx","../src/components/Typography/Text.tsx","../src/icons/Heart.tsx","../src/icons/Share.tsx","../src/icons/Search.tsx","../src/icons/Info.tsx","../src/icons/Warning.tsx","../src/icons/SocialIcons.tsx"],"names":["jsxs","jsx","useState","createElement","useId","useMemo","useRef","useCallback","useEffect","gapStyles","sizeStyles","weightStyles","colorStyles","Tag"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { ColorVariants, Size } from \"../../types\";\n\nexport interface TagSurfaceOptions {\n variant: ColorVariants;\n size?: Size;\n className?: string;\n /** Filled / selected background. */\n filled?: boolean;\n /** Muted styling (lower emphasis). */\n muted?: boolean;\n /**\n * When true (e.g. `Button`), include hover affordances. Tags default to false — non-interactive,\n * no `:hover` styles.\n */\n interactive?: boolean;\n}\n\n/**\n * Canonical Tailwind surface for `Tag`. `Button` imports this for the same look, then adds\n * interaction (`<button>`, click handling, optional close icon when active).\n */\nexport function getTagSurfaceClassNames({\n variant,\n size = \"md\",\n className = \"\",\n filled = false,\n muted = false,\n interactive = false,\n}: TagSurfaceOptions): string {\n const classNames = [\n \"relative flex gap-2 items-center rounded-sm font-sans border-2 transition-colors leading-none\",\n ];\n\n const textColor = \"text-primary focus:text-white\";\n\n classNames.push(textColor);\n\n const activeBgMap: Partial<Record<ColorVariants, string>> = {\n primary: \"bg-primary\",\n success: \"bg-success\",\n warning: \"bg-warning\",\n danger: \"bg-danger\",\n info: \"bg-info\",\n blue: \"bg-blue\",\n };\n\n const bg = filled === true ? activeBgMap[variant] : \"bg-neutral\";\n\n switch (variant) {\n case \"primary\":\n classNames.push(\n `border-primary text-primary ${bg} focus:bg-primary`,\n filled === true\n ? \"dark:bg-neutral dark:text-primary\"\n : interactive\n ? \"dark:text-white dark:bg-gray dark:hover:bg-neutral dark:hover:text-primary\"\n : \"dark:text-white dark:bg-gray\"\n );\n break;\n case \"success\":\n classNames.push(\n `border-success text-primary ${bg} focus:bg-primary focus:text-success`,\n filled === true\n ? \"dark:bg-success\"\n : interactive\n ? \"dark:text-white dark:bg-gray dark:hover:bg-success\"\n : \"dark:text-white dark:bg-gray\"\n );\n break;\n case \"warning\":\n classNames.push(\n `border-warning text-primary ${bg} focus:bg-primary focus:text-warning`,\n filled === true\n ? \"dark:bg-warning\"\n : interactive\n ? \"dark:text-white dark:bg-gray dark:hover:bg-warning\"\n : \"dark:text-white dark:bg-gray\"\n );\n break;\n case \"danger\":\n classNames.push(\n `border-danger text-primary ${bg} focus:bg-primary focus:text-danger`,\n filled === true\n ? \"dark:bg-danger\"\n : interactive\n ? \"dark:text-white dark:bg-gray dark:hover:bg-danger\"\n : \"dark:text-white dark:bg-gray\"\n );\n break;\n case \"info\":\n classNames.push(\n `border-info text-primary ${bg} focus:bg-primary focus:text-info`,\n filled === true\n ? \"dark:bg-info\"\n : interactive\n ? \"dark:text-white dark:bg-gray dark:hover:bg-info\"\n : \"dark:text-white dark:bg-gray\"\n );\n break;\n case \"blue\":\n classNames.push(\n `border-blue text-primary ${bg} focus:bg-primary focus:text-blue`,\n filled === true\n ? \"dark:bg-blue\"\n : interactive\n ? \"dark:text-white dark:bg-gray dark:hover:bg-blue\"\n : \"dark:text-white dark:bg-gray\"\n );\n break;\n }\n\n switch (size) {\n case \"xs\":\n classNames.push(\"text-xs py-1 px-2\");\n break;\n case \"sm\":\n classNames.push(\"text-sm py-1 px-4\");\n break;\n case \"md\":\n classNames.push(\"text-md py-4 px-6\");\n break;\n case \"lg\":\n classNames.push(\"text-lg py-5 px-8\");\n break;\n }\n\n if (muted) {\n classNames.push(\n interactive\n ? \"cursor-not-allowed hover:bg-neutral dark:hover:bg-neutral opacity-50\"\n : \"cursor-default opacity-50\"\n );\n }\n\n if (interactive && !muted) {\n classNames.push(\"cursor-pointer\");\n }\n\n if (className) {\n classNames.push(className);\n }\n\n return classNames.join(\" \");\n}\n","import { ReactNode } from \"react\";\nimport type { ColorVariants, Size } from \"../../types\";\nimport { getTagSurfaceClassNames } from \"../Tag/tagSurfaceClassNames\";\n\nexport interface ButtonProps {\n variant: ColorVariants;\n size?: Size;\n children?: ReactNode;\n onClick?: (id?: string) => void;\n isActive?: boolean;\n label?: string;\n id?: string;\n disabled?: boolean;\n className?: string;\n type?: \"button\" | \"submit\" | \"reset\";\n}\n\nexport const Button = ({\n variant,\n size = \"md\",\n children,\n onClick,\n isActive,\n id,\n label,\n disabled,\n className = \"\",\n type = \"button\",\n}: ButtonProps) => {\n if (typeof isActive === \"boolean\" && id === undefined) {\n throw Error(\"If button has isActive props, it must have id props too\");\n }\n\n const surfaceClassName = getTagSurfaceClassNames({\n variant,\n size,\n className,\n filled: isActive === true,\n muted: Boolean(disabled),\n interactive: true,\n });\n\n return (\n <button\n type={type}\n className={surfaceClassName}\n onClick={() => {\n if (isActive === true) {\n onClick?.();\n } else {\n onClick?.(id);\n }\n }}\n disabled={disabled}\n >\n {children || label}\n {isActive === true && (\n <svg\n className=\"w-4 h-4 ml-1\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M6 18L18 6M6 6l12 12\"\n />\n </svg>\n )}\n </button>\n );\n};\n\nexport default Button;\n","import { ReactNode } from \"react\";\nimport type { ColorVariants } from \"../../types\";\n\nexport interface ButtonTransparentProps {\n variant: Exclude<ColorVariants, \"primary\">;\n children: ReactNode;\n onClick?: () => void;\n className?: string;\n type?: \"button\" | \"submit\" | \"reset\";\n disabled?: boolean;\n}\n\nexport const ButtonTransparent = ({\n variant,\n children,\n onClick,\n className = \"\",\n type = \"button\",\n disabled = false,\n}: ButtonTransparentProps) => {\n const classNames = [\n \"rounded-[7px] font-sans border transition-colors leading-none\",\n ];\n\n const spacings = \"py-1 px-4\";\n const text = \"text-sm text-primary focus:text-white dark:text-white\";\n const backgroundColor = \"bg-transparent\";\n\n classNames.push(spacings, text, backgroundColor);\n\n switch (variant) {\n case \"success\":\n classNames.push(\n \"text-primary hover:bg-success focus:bg-primary focus:text-success border-success\",\n \"dark:text-white dark:hover:bg-success\"\n );\n break;\n case \"warning\":\n classNames.push(\n \"text-primary hover:bg-warning focus:bg-primary focus:text-warning border-warning\",\n \"dark:text-white dark:hover:bg-warning\"\n );\n break;\n case \"danger\":\n classNames.push(\n \"text-primary hover:bg-danger focus:bg-primary focus:text-danger border-danger\",\n \"dark:text-white dark:hover:bg-danger\"\n );\n break;\n case \"info\":\n classNames.push(\n \"text-primary hover:bg-info focus:bg-primary focus:text-info border-info\",\n \"dark:text-white dark:hover:bg-info\"\n );\n break;\n case \"blue\":\n classNames.push(\n \"text-primary hover:bg-blue focus:bg-primary focus:text-blue border-blue\",\n \"dark:text-white dark:hover:bg-blue\"\n );\n break;\n }\n\n if (disabled) {\n classNames.push(\"cursor-not-allowed opacity-50\");\n }\n\n if (className) {\n classNames.push(className);\n }\n\n return (\n <button\n type={type}\n onClick={onClick}\n className={classNames.join(\" \")}\n disabled={disabled}\n >\n {children}\n </button>\n );\n};\n\nexport default ButtonTransparent;\n","import { ReactNode } from \"react\";\n\nexport interface GradientButtonProps {\n children: ReactNode;\n onClick?: () => void;\n size?: \"sm\" | \"md\" | \"lg\";\n disabled?: boolean;\n className?: string;\n type?: \"button\" | \"submit\" | \"reset\";\n}\n\nexport const GradientButton = ({\n children,\n onClick,\n size = \"md\",\n disabled = false,\n className = \"\",\n type = \"button\",\n}: GradientButtonProps) => {\n const innerClassNames = \"bg-darkgray rounded-sm text-white w-full h-full\";\n \n let paddings = \"py-4 px-6\";\n switch (size) {\n case \"sm\":\n paddings = \"py-2 px-4\";\n break;\n case \"md\":\n paddings = \"py-4 px-6\";\n break;\n case \"lg\":\n paddings = \"py-5 px-8\";\n break;\n }\n\n return (\n <div\n onClick={disabled ? undefined : onClick}\n className={`overflow-hidden rounded-smb bg-gradient p-px h-full cursor-pointer ${\n disabled ? \"grayscale cursor-not-allowed\" : \"\"\n } ${className}`}\n >\n <button\n type={type}\n disabled={disabled}\n className={[innerClassNames, paddings].join(\" \")}\n >\n {children}\n </button>\n </div>\n );\n};\n\nexport default GradientButton;\n","import { useState } from \"react\";\nimport { Button, type ButtonProps } from \"./Button\";\n\nexport interface RadioButtonsProps {\n items: Omit<ButtonProps, \"size\" | \"onClick\" | \"isActive\">[];\n onChange: (value: string) => void;\n size?: ButtonProps[\"size\"];\n className?: string;\n}\n\nexport const RadioButtons = ({\n items,\n onChange,\n size = \"md\",\n className = \"\",\n}: RadioButtonsProps) => {\n const [selectedButton, setSelectedButton] = useState<string | undefined>();\n\n const onButtonClick = (id?: string) => {\n setSelectedButton(id);\n onChange(id ?? \"\");\n };\n\n return (\n <div className={`flex flex-wrap gap-2 ${className}`}>\n {items.map((item) => (\n <Button\n {...item}\n size={size}\n key={item.id}\n isActive={selectedButton === item.id}\n onClick={onButtonClick}\n />\n ))}\n </div>\n );\n};\n\nexport default RadioButtons;\n","import { ReactNode } from \"react\";\nimport type { ColorVariants, Size } from \"../../types\";\nimport { getTagSurfaceClassNames } from \"./tagSurfaceClassNames\";\n\nexport interface TagProps {\n variant: ColorVariants;\n size?: Size;\n children?: ReactNode;\n label?: string;\n className?: string;\n /** Filled / selected background (non-interactive; no close icon). */\n filled?: boolean;\n /** Reduced emphasis. */\n muted?: boolean;\n}\n\nexport const Tag = ({\n variant,\n size = \"md\",\n children,\n label,\n className = \"\",\n filled = false,\n muted = false,\n}: TagProps) => {\n return (\n <span\n className={getTagSurfaceClassNames({\n variant,\n size,\n className,\n filled,\n muted,\n })}\n >\n {children || label}\n </span>\n );\n};\n\nexport default Tag;\n","import { ChangeEventHandler, useState, ReactNode } from \"react\";\n\nexport interface InputProps {\n name: string;\n onChange?: (value: string) => void;\n defaultValue?: string;\n placeholder?: string;\n label: string;\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n type?: \"text\" | \"number\" | \"email\" | \"search\" | \"password\" | \"tel\" | \"url\";\n required?: boolean;\n pattern?: string;\n title?: string;\n ariaLabel?: string;\n spellCheck?: boolean;\n disabled?: boolean;\n className?: string;\n icon?: ReactNode;\n}\n\nexport const Input = ({\n name,\n onChange,\n defaultValue,\n placeholder,\n label,\n variant = \"primary\",\n type = \"text\",\n required = false,\n pattern,\n title,\n ariaLabel,\n spellCheck,\n disabled = false,\n className = \"\",\n icon,\n}: InputProps) => {\n const [value, setValue] = useState(defaultValue);\n const [isFocused, setIsFocused] = useState(false);\n\n const inputClassNames = [\"rounded-sm font-sans z-10 w-full\"];\n\n const spacings = \"py-4 px-5\";\n const outline = \"outline-hidden\";\n\n inputClassNames.push(spacings, outline);\n\n const inputWrapperClassNames = [\"flex rounded-smb p-px w-full\"];\n\n if (isFocused) inputWrapperClassNames.push(\"bg-gradient\");\n\n switch (variant) {\n case \"primary\":\n inputClassNames.push(\"text-primary bg-neutral\");\n inputWrapperClassNames.push(\"bg-lightgray\");\n break;\n case \"secondary\":\n inputClassNames.push(\"text-neutral bg-neutral dark:bg-gray\");\n break;\n case \"tertiary\":\n inputClassNames.push(\"text-neutral bg-neutral dark:bg-primary\");\n inputWrapperClassNames.push(\"bg-lightgray\");\n break;\n }\n\n if (disabled) {\n inputClassNames.push(\"cursor-not-allowed opacity-50\");\n }\n\n const onInputChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n setValue(event.target.value);\n onChange?.(event.target.value);\n };\n\n return (\n <div className={className}>\n <label htmlFor={name}>\n <span className=\"sr-only\">{label}</span>\n\n <div className={inputWrapperClassNames.join(\" \")}>\n {icon && (\n <div className=\"flex items-center justify-center pl-4\">\n {icon}\n </div>\n )}\n\n <input\n id={name}\n name={name}\n placeholder={placeholder}\n value={value || \"\"}\n className={inputClassNames.join(\" \")}\n autoComplete=\"off\"\n onChange={onInputChange}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n type={type}\n required={required}\n pattern={pattern}\n title={title}\n aria-label={ariaLabel || label || name}\n spellCheck={spellCheck}\n disabled={disabled}\n />\n </div>\n </label>\n </div>\n );\n};\n\nexport default Input;\n","import {\n FocusEventHandler,\n KeyboardEventHandler,\n MouseEventHandler,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nexport type SelectOption = {\n value: string;\n label: string;\n};\n\ntype BaseSelectProps = {\n name: string;\n label: string;\n options: SelectOption[];\n placeholder?: string;\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n disabled?: boolean;\n className?: string;\n /**\n * Base `data-testid` for Playwright. Listbox: `${testId}-listbox`,\n * options: `${testId}-option-${slug}` where slug is alphanumeric-only (value-based).\n */\n testId?: string;\n};\n\nexport type SingleSelectProps = BaseSelectProps & {\n multi?: false;\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n};\n\nexport type MultiSelectProps = BaseSelectProps & {\n multi: true;\n value?: string[];\n defaultValue?: string[];\n onChange?: (value: string[]) => void;\n};\n\nexport type SelectProps = SingleSelectProps | MultiSelectProps;\n\nfunction optionTestSlug(value: string): string {\n return value.replace(/[^a-zA-Z0-9_-]/g, \"_\");\n}\n\nfunction ChevronDown({ className = \"\" }: { className?: string }) {\n return (\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 className={className}\n aria-hidden\n >\n <path\n d=\"M5 7.5L10 12.5L15 7.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n}\n\nfunction buildVariantClasses(\n variant: \"primary\" | \"secondary\" | \"tertiary\",\n isFocused: boolean,\n disabled: boolean,\n) {\n const inputClassNames = [\n \"min-w-0 flex-1 rounded-none border-0 font-sans\",\n \"py-4 pl-5 pr-2\",\n \"outline-hidden\",\n \"bg-transparent shadow-none\",\n ];\n\n const inputWrapperClassNames = [\n \"flex min-w-0 w-full items-stretch rounded-smb p-px\",\n ];\n\n // Match Input: gradient and lightgray both set background — only one so the full ring shows on focus.\n if (isFocused) {\n inputWrapperClassNames.push(\"bg-gradient\");\n } else if (variant === \"primary\" || variant === \"tertiary\") {\n inputWrapperClassNames.push(\"bg-lightgray\");\n }\n\n const innerFieldClassNames = [\n \"flex min-h-0 min-w-0 flex-1 overflow-hidden rounded-sm\",\n ];\n\n const chevronClassNames = [\n \"pointer-events-none flex shrink-0 items-center justify-center self-stretch pl-1 pr-4\",\n ];\n\n switch (variant) {\n case \"primary\":\n inputClassNames.push(\"text-primary placeholder:text-lightgray\");\n innerFieldClassNames.push(\"bg-neutral\");\n chevronClassNames.push(\"text-primary\");\n break;\n case \"secondary\":\n inputClassNames.push(\n \"text-neutral placeholder:text-lightgray dark:placeholder:text-icongray\",\n );\n innerFieldClassNames.push(\"bg-neutral dark:bg-gray\");\n chevronClassNames.push(\"text-neutral\");\n break;\n case \"tertiary\":\n inputClassNames.push(\n \"text-neutral placeholder:text-lightgray dark:placeholder:text-icongray\",\n );\n innerFieldClassNames.push(\"bg-neutral dark:bg-primary\");\n chevronClassNames.push(\"text-neutral dark:text-icongray\");\n break;\n }\n\n if (disabled) {\n inputClassNames.push(\"cursor-not-allowed opacity-50\");\n chevronClassNames.push(\"opacity-50\");\n }\n\n return {\n inputClassNames,\n inputWrapperClassNames,\n innerFieldClassNames,\n chevronClassNames,\n };\n}\n\nexport function Select(props: SelectProps) {\n const {\n name,\n label,\n options,\n placeholder = \"Select…\",\n variant = \"primary\",\n disabled = false,\n className = \"\",\n testId: testIdProp,\n } = props;\n\n const isMulti = props.multi === true;\n const singleValueProp = !isMulti\n ? (props as SingleSelectProps).value\n : undefined;\n const multiValueProp = isMulti\n ? (props as MultiSelectProps).value\n : undefined;\n const isControlled = isMulti\n ? multiValueProp !== undefined\n : singleValueProp !== undefined;\n\n const reactId = useId();\n const listboxId = `${name}-listbox-${reactId.replace(/:/g, \"\")}`;\n const baseTestId = testIdProp ?? `select-${name}`;\n\n const [internalSingle, setInternalSingle] = useState(\n !isMulti && !isControlled\n ? ((props as SingleSelectProps).defaultValue ?? \"\")\n : \"\",\n );\n const [internalMulti, setInternalMulti] = useState<string[]>(\n isMulti && !isControlled\n ? [...((props as MultiSelectProps).defaultValue ?? [])]\n : [],\n );\n\n const selectedSingle = useMemo(() => {\n if (isMulti) return \"\";\n if (singleValueProp !== undefined) return singleValueProp;\n return internalSingle;\n }, [isMulti, singleValueProp, internalSingle]);\n\n const selectedMulti = useMemo(() => {\n if (!isMulti) return [];\n if (multiValueProp !== undefined) return multiValueProp;\n return internalMulti;\n }, [isMulti, multiValueProp, internalMulti]);\n\n const [open, setOpen] = useState(false);\n const [filter, setFilter] = useState(\"\");\n const [highlightIndex, setHighlightIndex] = useState(0);\n const [isFocused, setIsFocused] = useState(false);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLUListElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const optionByValue = useMemo(() => {\n const m = new Map<string, SelectOption>();\n for (const o of options) m.set(o.value, o);\n return m;\n }, [options]);\n\n const filteredOptions = useMemo(() => {\n const q = filter.trim().toLowerCase();\n if (!q) return options;\n return options.filter(\n (o) =>\n o.label.toLowerCase().includes(q) ||\n o.value.toLowerCase().includes(q),\n );\n }, [options, filter]);\n\n const closedDisplay = useMemo(() => {\n if (isMulti) {\n if (selectedMulti.length === 0) return \"\";\n return selectedMulti\n .map((v) => optionByValue.get(v)?.label ?? v)\n .join(\", \");\n }\n if (!selectedSingle) return \"\";\n return optionByValue.get(selectedSingle)?.label ?? selectedSingle;\n }, [isMulti, selectedMulti, selectedSingle, optionByValue]);\n\n const inputValue = open ? filter : closedDisplay;\n\n const onSingleChange = !isMulti\n ? (props as SingleSelectProps).onChange\n : undefined;\n const onMultiChange = isMulti\n ? (props as MultiSelectProps).onChange\n : undefined;\n\n const setSingle = useCallback(\n (next: string) => {\n if (!isMulti) {\n if (!isControlled) setInternalSingle(next);\n onSingleChange?.(next);\n }\n },\n [isMulti, isControlled, onSingleChange],\n );\n\n const setMulti = useCallback(\n (next: string[]) => {\n if (isMulti) {\n if (!isControlled) setInternalMulti(next);\n onMultiChange?.(next);\n }\n },\n [isMulti, isControlled, onMultiChange],\n );\n\n const close = useCallback(() => {\n setOpen(false);\n setFilter(\"\");\n setHighlightIndex(0);\n }, []);\n\n const openMenu = useCallback(() => {\n if (disabled) return;\n setOpen(true);\n setFilter(\"\");\n setHighlightIndex(0);\n }, [disabled]);\n\n useEffect(() => {\n if (!open) return;\n const max = Math.max(0, filteredOptions.length - 1);\n setHighlightIndex((i) => Math.min(i, max));\n }, [open, filteredOptions.length]);\n\n useEffect(() => {\n if (!open) return;\n const onDocMouseDown = (e: MouseEvent) => {\n const el = containerRef.current;\n if (el && !el.contains(e.target as Node)) close();\n };\n document.addEventListener(\"mousedown\", onDocMouseDown);\n return () => document.removeEventListener(\"mousedown\", onDocMouseDown);\n }, [open, close]);\n\n const commitHighlight = useCallback(() => {\n const opt = filteredOptions[highlightIndex];\n if (!opt) return;\n\n if (isMulti) {\n const set = new Set(selectedMulti);\n if (set.has(opt.value)) set.delete(opt.value);\n else set.add(opt.value);\n setMulti([...set]);\n } else {\n setSingle(opt.value);\n close();\n inputRef.current?.blur();\n }\n }, [\n filteredOptions,\n highlightIndex,\n isMulti,\n selectedMulti,\n setMulti,\n setSingle,\n close,\n ]);\n\n const onOptionMouseDown: MouseEventHandler = (e) => {\n e.preventDefault();\n };\n\n const onOptionClick = (opt: SelectOption) => {\n if (isMulti) {\n const set = new Set(selectedMulti);\n if (set.has(opt.value)) set.delete(opt.value);\n else set.add(opt.value);\n setMulti([...set]);\n } else {\n setSingle(opt.value);\n close();\n }\n };\n\n const onInputFocus: FocusEventHandler<HTMLInputElement> = () => {\n setIsFocused(true);\n if (!disabled) setOpen(true);\n };\n\n const onInputBlur: FocusEventHandler<HTMLInputElement> = (e) => {\n const next = e.relatedTarget as Node | null;\n if (listRef.current?.contains(next)) return;\n setIsFocused(false);\n close();\n };\n\n const onInputChange = (v: string) => {\n if (!open) setOpen(true);\n setFilter(v);\n setHighlightIndex(0);\n };\n\n const onKeyDown: KeyboardEventHandler<HTMLInputElement> = (e) => {\n if (disabled) return;\n\n if (e.key === \"Escape\") {\n e.preventDefault();\n close();\n inputRef.current?.blur();\n return;\n }\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n if (!open) openMenu();\n else\n setHighlightIndex((i) =>\n Math.min(i + 1, Math.max(0, filteredOptions.length - 1)),\n );\n return;\n }\n\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n if (!open) openMenu();\n else setHighlightIndex((i) => Math.max(0, i - 1));\n return;\n }\n\n if (e.key === \"Enter\" && open) {\n e.preventDefault();\n commitHighlight();\n return;\n }\n\n if (e.key === \"Home\" && open) {\n e.preventDefault();\n setHighlightIndex(0);\n return;\n }\n\n if (e.key === \"End\" && open) {\n e.preventDefault();\n setHighlightIndex(Math.max(0, filteredOptions.length - 1));\n return;\n }\n };\n\n const {\n inputClassNames,\n inputWrapperClassNames,\n innerFieldClassNames,\n chevronClassNames,\n } = buildVariantClasses(variant, isFocused, disabled);\n\n const activeDescendant =\n open && filteredOptions[highlightIndex]\n ? `${name}-option-${optionTestSlug(filteredOptions[highlightIndex].value)}`\n : undefined;\n\n const listboxClass =\n \"absolute left-0 right-0 top-full z-50 mt-1 max-h-60 overflow-auto rounded-sm border border-lightgray bg-neutral py-1 shadow-lg dark:border-gray dark:bg-gray dark:text-white\";\n\n return (\n <div ref={containerRef} className={`relative ${className}`.trim()}>\n <label htmlFor={name}>\n <span className=\"sr-only\">{label}</span>\n\n <div className={inputWrapperClassNames.join(\" \")}>\n <div className={innerFieldClassNames.join(\" \")}>\n <input\n ref={inputRef}\n id={name}\n name={name}\n type=\"text\"\n autoComplete=\"off\"\n spellCheck={false}\n disabled={disabled}\n placeholder={placeholder}\n value={inputValue}\n aria-label={label}\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n aria-controls={listboxId}\n aria-autocomplete=\"list\"\n aria-activedescendant={activeDescendant}\n role=\"combobox\"\n data-testid={baseTestId}\n className={inputClassNames.join(\" \")}\n onChange={(e) => onInputChange(e.target.value)}\n onFocus={onInputFocus}\n onBlur={onInputBlur}\n onKeyDown={onKeyDown}\n />\n <div className={chevronClassNames.join(\" \")} aria-hidden>\n <ChevronDown className=\"block shrink-0\" />\n </div>\n </div>\n </div>\n </label>\n\n {open && (\n <ul\n ref={listRef}\n id={listboxId}\n role=\"listbox\"\n aria-multiselectable={isMulti}\n aria-label={label}\n data-testid={`${baseTestId}-listbox`}\n tabIndex={-1}\n className={listboxClass}\n >\n {filteredOptions.length === 0 ? (\n <li\n className=\"px-5 py-3 text-sm text-lightgray dark:text-icongray\"\n role=\"presentation\"\n >\n No matches\n </li>\n ) : (\n filteredOptions.map((opt, index) => {\n const selected = isMulti\n ? selectedMulti.includes(opt.value)\n : selectedSingle === opt.value;\n const highlighted = index === highlightIndex;\n const oid = `${name}-option-${optionTestSlug(opt.value)}`;\n return (\n <li\n key={opt.value}\n id={oid}\n role=\"option\"\n aria-selected={selected}\n data-testid={`${baseTestId}-option-${optionTestSlug(opt.value)}`}\n data-option-value={opt.value}\n className={[\n \"cursor-pointer px-5 py-3 text-sm text-primary dark:text-white\",\n highlighted\n ? \"bg-lightgray/50 dark:bg-white/10\"\n : \"\",\n selected ? \"font-semibold\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n onMouseDown={onOptionMouseDown}\n onMouseEnter={() => setHighlightIndex(index)}\n onClick={() => onOptionClick(opt)}\n >\n {isMulti && (\n <span className=\"mr-2 inline-block w-4 text-center\" aria-hidden>\n {selected ? \"✓\" : \"\"}\n </span>\n )}\n {opt.label}\n </li>\n );\n })\n )}\n </ul>\n )}\n </div>\n );\n}\n\nexport default Select;\n","import { useCallback, useEffect, useState } from \"react\";\n\nexport interface Tab {\n label: string;\n value: string;\n isActive?: boolean;\n}\n\nexport interface TabsProps {\n tabs: Tab[];\n onTabClick: (value: Tab[\"value\"]) => void;\n className?: string;\n}\n\nexport const Tabs = ({ tabs, onTabClick, className = \"\" }: TabsProps) => {\n const [activeTab, setActiveTab] = useState<Tab[\"value\"] | undefined>(\n tabs.find((tab) => tab.isActive)?.value\n );\n\n const handleTabClick = useCallback(\n (value: Tab[\"value\"]) => {\n setActiveTab(value);\n onTabClick(value);\n },\n [onTabClick]\n );\n\n useEffect(() => {\n if (!activeTab && tabs.length > 0) {\n handleTabClick(tabs[0].value);\n }\n }, [tabs, activeTab, handleTabClick]);\n\n return (\n <div className={`flex gap-4 ${className}`}>\n {tabs.map((tab) => (\n <button\n key={tab.value}\n type=\"button\"\n className={`text-white border-b pb-2 cursor-pointer transition-colors ${\n activeTab === tab.value\n ? \"border-b-white\"\n : \"border-b-transparent hover:border-b-white/50\"\n }`}\n onClick={() => handleTabClick(tab.value)}\n >\n {tab.label}\n </button>\n ))}\n </div>\n );\n};\n\nexport default Tabs;\n","export interface SpinnerProps {\n size?: \"sm\" | \"md\" | \"lg\";\n className?: string;\n}\n\nexport const Spinner = ({ size = \"md\", className = \"\" }: SpinnerProps) => {\n let dimensions = \"w-16 h-16\";\n let borderWidth = \"border-[6px]\";\n\n switch (size) {\n case \"sm\":\n dimensions = \"w-8 h-8\";\n borderWidth = \"border-[3px]\";\n break;\n case \"md\":\n dimensions = \"w-16 h-16\";\n borderWidth = \"border-[6px]\";\n break;\n case \"lg\":\n dimensions = \"w-24 h-24\";\n borderWidth = \"border-8\";\n break;\n }\n\n return (\n <div\n className={`inline-block ${dimensions} ${className}`}\n role=\"status\"\n aria-label=\"Loading\"\n >\n <div\n className={`${dimensions} ${borderWidth} border-white border-t-transparent border-b-transparent rounded-full animate-spin`}\n />\n </div>\n );\n};\n\nexport default Spinner;\n","import { Spinner, type SpinnerProps } from \"./Spinner\";\n\nexport interface SpinnerOverlayProps extends SpinnerProps {\n isVisible: boolean;\n}\n\nexport const SpinnerOverlay = ({\n isVisible,\n size = \"lg\",\n className = \"\",\n}: SpinnerOverlayProps) => {\n if (!isVisible) return null;\n\n return (\n <div\n className={`fixed inset-0 flex items-center justify-center bg-primary/80 z-50 ${className}`}\n >\n <Spinner size={size} />\n </div>\n );\n};\n\nexport default SpinnerOverlay;\n","import { ReactNode } from \"react\";\n\nexport interface BlockQuoteProps {\n children: ReactNode;\n className?: string;\n}\n\nexport const BlockQuote = ({ children, className = \"\" }: BlockQuoteProps) => {\n return (\n <blockquote\n className={`bg-darkgray p-7 my-7 border-2 border-gray rounded-sm font-sans text-neutral dark:text-white ${className}`}\n >\n {children}\n </blockquote>\n );\n};\n\nexport default BlockQuote;\n","export interface HrProps {\n className?: string;\n}\n\nexport const Hr = ({ className = \"\" }: HrProps) => {\n const defaultClassNames = \"border border-gray my-4\";\n\n return <hr className={`${defaultClassNames} ${className}`} />;\n};\n\nexport default Hr;\n","import { ReactNode } from \"react\";\n\nexport interface ContentBoxProps {\n children: ReactNode;\n variant?: \"info\" | \"warning\" | \"success\" | \"danger\";\n icon?: ReactNode;\n className?: string;\n}\n\nconst variantStyles = {\n info: \"border-blue\",\n warning: \"border-warning\",\n success: \"border-success\",\n danger: \"border-danger\",\n};\n\nexport const ContentBox = ({\n children,\n variant = \"info\",\n icon,\n className = \"\",\n}: ContentBoxProps) => {\n return (\n <div\n className={`relative border rounded-md my-9 ${variantStyles[variant]} ${className}`}\n >\n {icon && (\n <div className=\"absolute flex items-center justify-center p-3 -top-6 right-8 bg-primary border border-darkgray\">\n {icon}\n </div>\n )}\n <div className=\"m-7\">{children}</div>\n </div>\n );\n};\n\nexport default ContentBox;\n","import { ReactNode } from \"react\";\n\nexport interface ContainerProps {\n children: ReactNode;\n size?: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\";\n centered?: boolean;\n className?: string;\n}\n\nconst sizeStyles = {\n sm: \"max-w-screen-sm\",\n md: \"max-w-screen-md\",\n lg: \"max-w-screen-lg\",\n xl: \"max-w-screen-xl\",\n full: \"max-w-full\",\n};\n\nexport const Container = ({\n children,\n size = \"lg\",\n centered = true,\n className = \"\",\n}: ContainerProps) => {\n const centeredClass = centered ? \"mx-auto\" : \"\";\n\n return (\n <div\n className={`w-full px-5 ${sizeStyles[size]} ${centeredClass} ${className}`}\n >\n {children}\n </div>\n );\n};\n\nexport default Container;\n","import { ReactNode } from \"react\";\n\nexport interface StackProps {\n children: ReactNode;\n gap?: \"1\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"10\";\n direction?: \"vertical\" | \"horizontal\";\n align?: \"start\" | \"center\" | \"end\" | \"stretch\";\n justify?: \"start\" | \"center\" | \"end\" | \"between\" | \"around\";\n wrap?: boolean;\n className?: string;\n}\n\nconst gapStyles = {\n \"1\": \"gap-1\",\n \"2\": \"gap-2\",\n \"3\": \"gap-3\",\n \"4\": \"gap-4\",\n \"5\": \"gap-5\",\n \"6\": \"gap-6\",\n \"7\": \"gap-7\",\n \"8\": \"gap-8\",\n \"9\": \"gap-9\",\n \"10\": \"gap-10\",\n};\n\nconst alignStyles = {\n start: \"items-start\",\n center: \"items-center\",\n end: \"items-end\",\n stretch: \"items-stretch\",\n};\n\nconst justifyStyles = {\n start: \"justify-start\",\n center: \"justify-center\",\n end: \"justify-end\",\n between: \"justify-between\",\n around: \"justify-around\",\n};\n\nexport const Stack = ({\n children,\n gap = \"4\",\n direction = \"vertical\",\n align = \"stretch\",\n justify = \"start\",\n wrap = false,\n className = \"\",\n}: StackProps) => {\n const directionClass = direction === \"vertical\" ? \"flex-col\" : \"flex-row\";\n const wrapClass = wrap ? \"flex-wrap\" : \"\";\n\n return (\n <div\n className={`flex ${directionClass} ${gapStyles[gap]} ${alignStyles[align]} ${justifyStyles[justify]} ${wrapClass} ${className}`}\n >\n {children}\n </div>\n );\n};\n\nexport default Stack;\n","import { ReactNode } from \"react\";\n\nexport interface GridProps {\n children: ReactNode;\n cols?: 1 | 2 | 3 | 4 | 5 | 6 | 12;\n gap?: \"1\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"10\";\n className?: string;\n}\n\nconst colStyles = {\n 1: \"grid-cols-1\",\n 2: \"grid-cols-2\",\n 3: \"grid-cols-3\",\n 4: \"grid-cols-4\",\n 5: \"grid-cols-5\",\n 6: \"grid-cols-6\",\n 12: \"grid-cols-12\",\n};\n\nconst gapStyles = {\n \"1\": \"gap-1\",\n \"2\": \"gap-2\",\n \"3\": \"gap-3\",\n \"4\": \"gap-4\",\n \"5\": \"gap-5\",\n \"6\": \"gap-6\",\n \"7\": \"gap-7\",\n \"8\": \"gap-8\",\n \"9\": \"gap-9\",\n \"10\": \"gap-10\",\n};\n\nexport const Grid = ({\n children,\n cols = 3,\n gap = \"5\",\n className = \"\",\n}: GridProps) => {\n return (\n <div className={`grid ${colStyles[cols]} ${gapStyles[gap]} ${className}`}>\n {children}\n </div>\n );\n};\n\nexport interface GridItemProps {\n children: ReactNode;\n colSpan?: 1 | 2 | 3 | 4 | 5 | 6 | 12 | \"full\";\n className?: string;\n}\n\nconst colSpanStyles = {\n 1: \"col-span-1\",\n 2: \"col-span-2\",\n 3: \"col-span-3\",\n 4: \"col-span-4\",\n 5: \"col-span-5\",\n 6: \"col-span-6\",\n 12: \"col-span-12\",\n full: \"col-span-full\",\n};\n\nexport const GridItem = ({\n children,\n colSpan = 1,\n className = \"\",\n}: GridItemProps) => {\n return (\n <div className={`${colSpanStyles[colSpan]} ${className}`}>{children}</div>\n );\n};\n\nexport default Grid;\n","import { ReactNode, createElement } from \"react\";\n\nexport interface HeadingProps {\n children: ReactNode;\n level?: 1 | 2 | 3 | 4 | 5 | 6;\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\" | \"3xl\" | \"4xl\";\n weight?: \"normal\" | \"medium\" | \"semibold\" | \"bold\";\n color?: \"default\" | \"muted\" | \"primary\" | \"success\" | \"warning\" | \"danger\";\n className?: string;\n}\n\nconst sizeStyles = {\n xs: \"text-xs\",\n sm: \"text-sm\",\n md: \"text-md\",\n lg: \"text-lg\",\n xl: \"text-xl\",\n \"2xl\": \"text-2xl\",\n \"3xl\": \"text-3xl\",\n \"4xl\": \"text-4xl\",\n};\n\nconst weightStyles = {\n normal: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n bold: \"font-bold\",\n};\n\nconst colorStyles = {\n default: \"text-white dark:text-white\",\n muted: \"text-lightgray dark:text-lightgray\",\n primary: \"text-primary dark:text-white\",\n success: \"text-success\",\n warning: \"text-warning\",\n danger: \"text-danger\",\n};\n\nconst defaultSizeByLevel = {\n 1: \"4xl\",\n 2: \"3xl\",\n 3: \"2xl\",\n 4: \"xl\",\n 5: \"lg\",\n 6: \"md\",\n} as const;\n\nexport const Heading = ({\n children,\n level = 2,\n size,\n weight = \"bold\",\n color = \"default\",\n className = \"\",\n}: HeadingProps) => {\n const tag = `h${level}` as \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n const resolvedSize = size ?? defaultSizeByLevel[level];\n\n return createElement(\n tag,\n {\n className: `${sizeStyles[resolvedSize]} ${weightStyles[weight]} ${colorStyles[color]} ${className}`,\n },\n children\n );\n};\n\nexport default Heading;\n","import { ReactNode } from \"react\";\n\nexport interface TextProps {\n children: ReactNode;\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\";\n weight?: \"normal\" | \"medium\" | \"semibold\" | \"bold\";\n color?: \"default\" | \"muted\" | \"primary\" | \"success\" | \"warning\" | \"danger\";\n as?: \"p\" | \"span\" | \"div\" | \"label\";\n className?: string;\n}\n\nconst sizeStyles = {\n xs: \"text-xs\",\n sm: \"text-sm\",\n md: \"text-md\",\n lg: \"text-lg\",\n};\n\nconst weightStyles = {\n normal: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n bold: \"font-bold\",\n};\n\nconst colorStyles = {\n default: \"text-white dark:text-white\",\n muted: \"text-lightgray dark:text-lightgray\",\n primary: \"text-primary dark:text-white\",\n success: \"text-success\",\n warning: \"text-warning\",\n danger: \"text-danger\",\n};\n\nexport const Text = ({\n children,\n size = \"md\",\n weight = \"normal\",\n color = \"default\",\n as: Tag = \"p\",\n className = \"\",\n}: TextProps) => {\n return (\n <Tag\n className={`${sizeStyles[size]} ${weightStyles[weight]} ${colorStyles[color]} ${className}`}\n >\n {children}\n </Tag>\n );\n};\n\nexport default Text;\n","export interface HeartProps {\n variant?: \"outline\" | \"filled\" | \"gradient\";\n className?: string;\n size?: number;\n}\n\nexport const Heart = ({\n variant = \"outline\",\n className = \"\",\n size = 23,\n}: HeartProps) => {\n if (variant === \"filled\") {\n return (\n <svg\n width={size}\n height={(size * 19) / 23}\n viewBox=\"0 0 23 19\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.49104 2.55471C3.44605 1.6 4.74114 1.06367 6.09152 1.06367C7.44189 1.06367 8.73698 1.6 9.69199 2.55471L11.1841 4.04557L12.6763 2.55471C13.146 2.06832 13.708 1.68035 14.3293 1.41345C14.9506 1.14655 15.6189 1.00607 16.295 1.00019C16.9712 0.994314 17.6418 1.12317 18.2677 1.37923C18.8936 1.63529 19.4622 2.01343 19.9403 2.49159C20.4185 2.96975 20.7966 3.53835 21.0527 4.16421C21.3087 4.79007 21.4376 5.46066 21.4317 6.13686C21.4258 6.81305 21.2853 7.4813 21.0184 8.10262C20.7516 8.72394 20.3636 9.28588 19.8772 9.75565L12.5984 17.0355C11.8174 17.8167 10.5509 17.8167 9.7698 17.0355L2.49104 9.75565C1.53633 8.80065 1 7.50556 1 6.15518C1 4.80481 1.53633 3.50972 2.49104 2.55471Z\"\n strokeWidth=\"1.5\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n }\n\n if (variant === \"gradient\") {\n return (\n <svg\n width={size}\n height={(size * 19) / 23}\n viewBox=\"0 0 23 19\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.49104 2.55471C3.44605 1.6 4.74114 1.06367 6.09152 1.06367C7.44189 1.06367 8.73698 1.6 9.69199 2.55471L11.1841 4.04557L12.6763 2.55471C13.146 2.06832 13.708 1.68035 14.3293 1.41345C14.9506 1.14655 15.6189 1.00607 16.295 1.00019C16.9712 0.994314 17.6418 1.12317 18.2677 1.37923C18.8936 1.63529 19.4622 2.01343 19.9403 2.49159C20.4185 2.96975 20.7966 3.53835 21.0527 4.16421C21.3087 4.79007 21.4376 5.46066 21.4317 6.13686C21.4258 6.81305 21.2853 7.4813 21.0184 8.10262C20.7516 8.72394 20.3636 9.28588 19.8772 9.75565L12.5984 17.0355C11.8174 17.8167 10.5509 17.8167 9.7698 17.0355L2.49104 9.75565C1.53633 8.80065 1 7.50556 1 6.15518C1 4.80481 1.53633 3.50972 2.49104 2.55471Z\"\n stroke=\"url(#paint0_radial_heart)\"\n strokeWidth=\"1.5\"\n strokeLinejoin=\"round\"\n />\n <defs>\n <radialGradient\n id=\"paint0_radial_heart\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(1.01602 16.6647) rotate(-32.7891) scale(24.2852 19.4645)\"\n >\n <stop stopColor=\"#EDA867\" />\n <stop offset=\"0.23\" stopColor=\"#EDA867\" />\n <stop offset=\"0.59\" stopColor=\"#CB5065\" />\n <stop offset=\"0.96\" stopColor=\"#714E8E\" />\n </radialGradient>\n </defs>\n </svg>\n );\n }\n\n // Default: outline\n return (\n <svg\n width={size}\n height={(size * 19) / 23}\n viewBox=\"0 0 23 19\"\n fill=\"none\"\n stroke=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.49104 2.55471C3.44605 1.6 4.74114 1.06367 6.09152 1.06367C7.44189 1.06367 8.73698 1.6 9.69199 2.55471L11.1841 4.04557L12.6763 2.55471C13.146 2.06832 13.708 1.68035 14.3293 1.41345C14.9506 1.14655 15.6189 1.00607 16.295 1.00019C16.9712 0.994314 17.6418 1.12317 18.2677 1.37923C18.8936 1.63529 19.4622 2.01343 19.9403 2.49159C20.4185 2.96975 20.7966 3.53835 21.0527 4.16421C21.3087 4.79007 21.4376 5.46066 21.4317 6.13686C21.4258 6.81305 21.2853 7.4813 21.0184 8.10262C20.7516 8.72394 20.3636 9.28588 19.8772 9.75565L12.5984 17.0355C11.8174 17.8167 10.5509 17.8167 9.7698 17.0355L2.49104 9.75565C1.53633 8.80065 1 7.50556 1 6.15518C1 4.80481 1.53633 3.50972 2.49104 2.55471Z\"\n strokeWidth=\"1.5\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nexport default Heart;\n","export interface ShareProps {\n variant?: \"default\" | \"gradient\";\n className?: string;\n size?: number;\n}\n\nexport const Share = ({\n variant = \"default\",\n className = \"\",\n size = 20,\n}: ShareProps) => {\n if (variant === \"gradient\") {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 20 21\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M12.8586 3.64258L17.8586 8.64258L12.8586 13.6426\"\n stroke=\"url(#paint0_radial_share)\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M17.8586 8.64258H6.85864C4.09721 8.64258 1.85864 10.8812 1.85864 13.6426V17.6426\"\n stroke=\"url(#paint1_radial_share)\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <defs>\n <radialGradient\n id=\"paint0_radial_share\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(12.8716 13.3236) rotate(-72.2554) scale(11.4659 5.85856)\"\n >\n <stop stopColor=\"#EDA867\" />\n <stop offset=\"0.23\" stopColor=\"#EDA867\" />\n <stop offset=\"0.59\" stopColor=\"#CB5065\" />\n <stop offset=\"0.96\" stopColor=\"#714E8E\" />\n </radialGradient>\n <radialGradient\n id=\"paint1_radial_share\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(1.87434 17.2831) rotate(-52.5553) scale(19.0816 18.8095)\"\n >\n <stop stopColor=\"#EDA867\" />\n <stop offset=\"0.23\" stopColor=\"#EDA867\" />\n <stop offset=\"0.59\" stopColor=\"#CB5065\" />\n <stop offset=\"0.96\" stopColor=\"#714E8E\" />\n </radialGradient>\n </defs>\n </svg>\n );\n }\n\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 20 21\"\n fill=\"none\"\n stroke=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M12.8586 3.64258L17.8586 8.64258L12.8586 13.6426\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M17.8586 8.64258H6.85864C4.09721 8.64258 1.85864 10.8812 1.85864 13.6426V17.6426\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nexport default Share;\n","export interface SearchProps {\n className?: string;\n size?: number;\n}\n\nexport const Search = ({ className = \"\", size = 20 }: SearchProps) => {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 36 36\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M36.5931 33.842C36.8009 33.6342 36.8009 33.2974 36.5932 33.0896L31.2308 27.7263C32.3896 26.2409 33.0249 24.4266 33.0249 22.5124C33.0249 20.2386 32.1385 18.1029 30.5307 16.4941C28.923 14.8853 26.7863 14 24.5124 14C22.2386 14 20.1009 14.8853 18.4941 16.4941C16.8853 18.1029 16 20.2386 16 22.5124C16 24.7863 16.8853 26.924 18.4941 28.5307C20.1009 30.1395 22.2386 31.0249 24.5124 31.0249C26.4266 31.0249 28.2409 30.3907 29.7263 29.2319L35.0886 34.5942C35.2964 34.8019 35.6332 34.8019 35.841 34.5942L36.5931 33.842ZM29.0261 27.0273C27.8206 28.2328 26.2171 28.8968 24.5124 28.8968C22.8067 28.8968 21.2043 28.2328 19.9988 27.0273C18.7921 25.8216 18.1281 24.2181 18.1281 22.5124C18.1281 20.8078 18.7921 19.2043 19.9988 17.9988C21.2043 16.7921 22.8067 16.1281 24.5124 16.1281C26.2171 16.1281 27.8206 16.7921 29.0261 17.9988C30.2328 19.2043 30.8968 20.8078 30.8968 22.5124C30.8968 24.2181 30.2328 25.8216 29.0261 27.0273Z\"\n />\n </svg>\n );\n};\n\nexport default Search;\n","export interface InfoProps {\n className?: string;\n size?: number;\n}\n\nexport const Info = ({ className = \"\", size = 16 }: InfoProps) => {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <circle cx=\"8\" cy=\"8\" r=\"8\" fill=\"#2084E1\" />\n <path\n d=\"M8 8V10V12M8 5.03516V5\"\n stroke=\"#FCFAF7\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nexport default Info;\n","export interface WarningProps {\n className?: string;\n size?: number;\n}\n\nexport const Warning = ({ className = \"\", size = 22 }: WarningProps) => {\n return (\n <svg\n width={size}\n height={(size * 23) / 22}\n viewBox=\"0 0 22 23\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M11 1L20.5263 16.8125H1.47372L11 1Z\"\n fill=\"#EDA867\"\n stroke=\"#EDA867\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M10.9268 10.6249L10.9268 7.15992M10.9268 13.1932L10.9268 13.2236\"\n stroke=\"#FCFAF7\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nexport default Warning;\n","interface SocialIconWrapperProps {\n children: React.ReactNode;\n className?: string;\n}\n\nconst SocialIconWrapper = ({\n children,\n className = \"\",\n}: SocialIconWrapperProps) => (\n <div\n className={`border-2 border-icongray rounded-[7px] w-9 h-9 flex items-center justify-center ${className}`}\n >\n {children}\n </div>\n);\n\nexport interface SocialIconProps {\n className?: string;\n size?: number;\n withWrapper?: boolean;\n}\n\nexport const TwitterIcon = ({\n className = \"\",\n size = 18,\n withWrapper = true,\n}: SocialIconProps) => {\n const icon = (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"#BFBFBF\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path d=\"M18.244 2.25H21.552L14.325 10.51L22.827 21.75H16.17L10.956 14.933L4.99 21.75H1.68L9.41 12.915L1.254 2.25H8.08L12.793 8.481L18.244 2.25ZM17.083 19.77H18.916L7.084 4.126H5.117L17.083 19.77Z\" />\n </svg>\n );\n\n if (withWrapper) {\n return <SocialIconWrapper>{icon}</SocialIconWrapper>;\n }\n return icon;\n};\n\nexport const LinkedInIcon = ({\n className = \"\",\n size = 18,\n withWrapper = true,\n}: SocialIconProps) => {\n const icon = (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 18 18\"\n fill=\"#BFBFBF\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.07227 2.59044C1.07227 2.24494 1.21333 1.91359 1.46442 1.66928C1.71552 1.42497 2.05607 1.28772 2.41118 1.28772H15.758C15.934 1.28744 16.1083 1.32094 16.271 1.38629C16.4336 1.45164 16.5814 1.54756 16.7059 1.66857C16.8304 1.78958 16.9292 1.93329 16.9965 2.09148C17.0639 2.24966 17.0985 2.41922 17.0984 2.59044V15.5766C17.0986 15.7478 17.0641 15.9174 16.9968 16.0757C16.9296 16.234 16.8309 16.3778 16.7065 16.4989C16.5821 16.62 16.4343 16.7161 16.2717 16.7816C16.1091 16.8471 15.9348 16.8808 15.7587 16.8807H2.41118C2.23529 16.8807 2.06112 16.847 1.89863 16.7815C1.73614 16.716 1.5885 16.6199 1.46417 16.4989C1.33983 16.3779 1.24122 16.2342 1.17398 16.076C1.10673 15.9179 1.07217 15.7484 1.07227 15.5773V2.59044ZM7.4157 7.2329H9.58578V8.29322C9.89902 7.68368 10.7003 7.13509 11.9045 7.13509C14.213 7.13509 14.76 8.34922 14.76 10.5769V14.7034H12.4239V11.0844C12.4239 9.81567 12.1106 9.09981 11.3151 9.09981C10.2115 9.09981 9.7526 9.87166 9.7526 11.0844V14.7034H7.4157V7.2329ZM3.40917 14.6063H5.74607V7.13509H3.40917V14.6055V14.6063ZM6.08043 4.69833C6.08484 4.89301 6.04923 5.08659 5.97571 5.2677C5.90218 5.44881 5.79221 5.61381 5.65226 5.75301C5.51231 5.89221 5.34519 6.00281 5.16072 6.07832C4.97624 6.15382 4.77812 6.19272 4.57798 6.19272C4.37784 6.19272 4.17972 6.15382 3.99524 6.07832C3.81077 6.00281 3.64365 5.89221 3.5037 5.75301C3.36375 5.61381 3.25378 5.44881 3.18025 5.2677C3.10673 5.08659 3.07112 4.89301 3.07553 4.69833C3.08418 4.3162 3.24627 3.95256 3.52709 3.68527C3.80791 3.41799 4.18514 3.26833 4.57798 3.26833C4.97082 3.26833 5.34805 3.41799 5.62887 3.68527C5.90969 3.95256 6.07178 4.3162 6.08043 4.69833Z\"\n />\n </svg>\n );\n\n if (withWrapper) {\n return <SocialIconWrapper>{icon}</SocialIconWrapper>;\n }\n return icon;\n};\n\nexport const InstagramIcon = ({\n className = \"\",\n size = 18,\n withWrapper = true,\n}: SocialIconProps) => {\n const icon = (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"#BFBFBF\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path d=\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z\" />\n </svg>\n );\n\n if (withWrapper) {\n return <SocialIconWrapper>{icon}</SocialIconWrapper>;\n }\n return icon;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/Tag/tagSurfaceClassNames.ts","../src/components/Button/Button.tsx","../src/components/Button/ButtonTransparent.tsx","../src/components/Button/GradientButton.tsx","../src/components/Typography/Text.tsx","../src/components/FormFieldLabel.tsx","../src/components/Button/RadioButtons.tsx","../src/components/Tag/Tag.tsx","../src/components/Input/Input.tsx","../src/components/Textarea/Textarea.tsx","../src/components/Select/Select.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Spinner/Spinner.tsx","../src/components/Spinner/SpinnerOverlay.tsx","../src/components/BlockQuote/BlockQuote.tsx","../src/components/Hr/Hr.tsx","../src/components/ContentBox/ContentBox.tsx","../src/components/Layout/Container.tsx","../src/components/Layout/Stack.tsx","../src/components/Layout/Grid.tsx","../src/components/Typography/Heading.tsx","../src/icons/Heart.tsx","../src/icons/Share.tsx","../src/icons/Search.tsx","../src/icons/Info.tsx","../src/icons/Warning.tsx","../src/icons/SocialIcons.tsx"],"names":["jsxs","jsx","Tag","useId","useState","createElement","useMemo","useRef","useCallback","useEffect","sizeStyles","gapStyles","weightStyles","colorStyles"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { ColorVariants, Size } from \"../../types\";\n\nexport interface TagSurfaceOptions {\n variant: ColorVariants;\n size?: Size;\n className?: string;\n /** Filled / selected background. */\n filled?: boolean;\n /** Muted styling (lower emphasis). */\n muted?: boolean;\n /**\n * When true (e.g. `Button`), include hover affordances. Tags default to false — non-interactive,\n * no `:hover` styles.\n */\n interactive?: boolean;\n}\n\n/**\n * Canonical Tailwind surface for `Tag`. `Button` imports this for the same look, then adds\n * interaction (`<button>`, click handling, optional close icon when active).\n */\nexport function getTagSurfaceClassNames({\n variant,\n size = \"md\",\n className = \"\",\n filled = false,\n muted = false,\n interactive = false,\n}: TagSurfaceOptions): string {\n const classNames = [\n \"relative flex gap-2 items-center rounded-sm font-sans border-2 transition-colors leading-none\",\n ];\n\n const textColor = \"text-primary focus:text-white\";\n\n classNames.push(textColor);\n\n const activeBgMap: Partial<Record<ColorVariants, string>> = {\n primary: \"bg-primary\",\n success: \"bg-success\",\n warning: \"bg-warning\",\n danger: \"bg-danger\",\n info: \"bg-info\",\n blue: \"bg-blue\",\n };\n\n const bg = filled === true ? activeBgMap[variant] : \"bg-neutral\";\n\n switch (variant) {\n case \"primary\":\n classNames.push(\n `border-primary text-primary ${bg} focus:bg-primary`,\n filled === true\n ? \"dark:bg-neutral dark:text-primary\"\n : interactive\n ? \"dark:text-white dark:bg-gray dark:hover:bg-neutral dark:hover:text-primary\"\n : \"dark:text-white dark:bg-gray\"\n );\n break;\n case \"success\":\n classNames.push(\n `border-success text-primary ${bg} focus:bg-primary focus:text-success`,\n filled === true\n ? \"dark:bg-success\"\n : interactive\n ? \"dark:text-white dark:bg-gray dark:hover:bg-success\"\n : \"dark:text-white dark:bg-gray\"\n );\n break;\n case \"warning\":\n classNames.push(\n `border-warning text-primary ${bg} focus:bg-primary focus:text-warning`,\n filled === true\n ? \"dark:bg-warning\"\n : interactive\n ? \"dark:text-white dark:bg-gray dark:hover:bg-warning\"\n : \"dark:text-white dark:bg-gray\"\n );\n break;\n case \"danger\":\n classNames.push(\n `border-danger text-primary ${bg} focus:bg-primary focus:text-danger`,\n filled === true\n ? \"dark:bg-danger\"\n : interactive\n ? \"dark:text-white dark:bg-gray dark:hover:bg-danger\"\n : \"dark:text-white dark:bg-gray\"\n );\n break;\n case \"info\":\n classNames.push(\n `border-info text-primary ${bg} focus:bg-primary focus:text-info`,\n filled === true\n ? \"dark:bg-info\"\n : interactive\n ? \"dark:text-white dark:bg-gray dark:hover:bg-info\"\n : \"dark:text-white dark:bg-gray\"\n );\n break;\n case \"blue\":\n classNames.push(\n `border-blue text-primary ${bg} focus:bg-primary focus:text-blue`,\n filled === true\n ? \"dark:bg-blue\"\n : interactive\n ? \"dark:text-white dark:bg-gray dark:hover:bg-blue\"\n : \"dark:text-white dark:bg-gray\"\n );\n break;\n }\n\n switch (size) {\n case \"xs\":\n classNames.push(\"text-xs py-1 px-2\");\n break;\n case \"sm\":\n classNames.push(\"text-sm py-1 px-4\");\n break;\n case \"md\":\n classNames.push(\"text-md py-4 px-6\");\n break;\n case \"lg\":\n classNames.push(\"text-lg py-5 px-8\");\n break;\n }\n\n if (muted) {\n classNames.push(\n interactive\n ? \"cursor-not-allowed hover:bg-neutral dark:hover:bg-neutral opacity-50\"\n : \"cursor-default opacity-50\"\n );\n }\n\n if (interactive && !muted) {\n classNames.push(\"cursor-pointer\");\n }\n\n if (className) {\n classNames.push(className);\n }\n\n return classNames.join(\" \");\n}\n","import { type AriaRole, type ReactNode } from \"react\";\nimport type { ColorVariants, Size } from \"../../types\";\nimport { getTagSurfaceClassNames } from \"../Tag/tagSurfaceClassNames\";\n\nexport interface ButtonProps {\n variant: ColorVariants;\n size?: Size;\n children?: ReactNode;\n onClick?: (id?: string) => void;\n isActive?: boolean;\n label?: string;\n id?: string;\n disabled?: boolean;\n className?: string;\n type?: \"button\" | \"submit\" | \"reset\";\n /** e.g. `radio` when used inside a `radiogroup` */\n role?: AriaRole;\n ariaChecked?: boolean | \"mixed\";\n}\n\nexport const Button = ({\n variant,\n size = \"md\",\n children,\n onClick,\n isActive,\n id,\n label,\n disabled,\n className = \"\",\n type = \"button\",\n role,\n ariaChecked,\n}: ButtonProps) => {\n if (typeof isActive === \"boolean\" && id === undefined) {\n throw Error(\"If button has isActive props, it must have id props too\");\n }\n\n const surfaceClassName = getTagSurfaceClassNames({\n variant,\n size,\n className,\n filled: isActive === true,\n muted: Boolean(disabled),\n interactive: true,\n });\n\n return (\n <button\n type={type}\n role={role}\n aria-checked={ariaChecked}\n className={surfaceClassName}\n onClick={() => {\n if (isActive === true) {\n onClick?.();\n } else {\n onClick?.(id);\n }\n }}\n disabled={disabled}\n >\n {children || label}\n {isActive === true && (\n <svg\n className=\"w-4 h-4 ml-1\"\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M6 18L18 6M6 6l12 12\"\n />\n </svg>\n )}\n </button>\n );\n};\n\nexport default Button;\n","import { ReactNode } from \"react\";\nimport type { ColorVariants } from \"../../types\";\n\nexport interface ButtonTransparentProps {\n variant: Exclude<ColorVariants, \"primary\">;\n children: ReactNode;\n onClick?: () => void;\n className?: string;\n type?: \"button\" | \"submit\" | \"reset\";\n disabled?: boolean;\n}\n\nexport const ButtonTransparent = ({\n variant,\n children,\n onClick,\n className = \"\",\n type = \"button\",\n disabled = false,\n}: ButtonTransparentProps) => {\n const classNames = [\n \"rounded-[7px] font-sans border transition-colors leading-none\",\n ];\n\n const spacings = \"py-1 px-4\";\n const text = \"text-sm text-primary focus:text-white dark:text-white\";\n const backgroundColor = \"bg-transparent\";\n\n classNames.push(spacings, text, backgroundColor);\n\n switch (variant) {\n case \"success\":\n classNames.push(\n \"text-primary hover:bg-success focus:bg-primary focus:text-success border-success\",\n \"dark:text-white dark:hover:bg-success\"\n );\n break;\n case \"warning\":\n classNames.push(\n \"text-primary hover:bg-warning focus:bg-primary focus:text-warning border-warning\",\n \"dark:text-white dark:hover:bg-warning\"\n );\n break;\n case \"danger\":\n classNames.push(\n \"text-primary hover:bg-danger focus:bg-primary focus:text-danger border-danger\",\n \"dark:text-white dark:hover:bg-danger\"\n );\n break;\n case \"info\":\n classNames.push(\n \"text-primary hover:bg-info focus:bg-primary focus:text-info border-info\",\n \"dark:text-white dark:hover:bg-info\"\n );\n break;\n case \"blue\":\n classNames.push(\n \"text-primary hover:bg-blue focus:bg-primary focus:text-blue border-blue\",\n \"dark:text-white dark:hover:bg-blue\"\n );\n break;\n }\n\n if (disabled) {\n classNames.push(\"cursor-not-allowed opacity-50\");\n }\n\n if (className) {\n classNames.push(className);\n }\n\n return (\n <button\n type={type}\n onClick={onClick}\n className={classNames.join(\" \")}\n disabled={disabled}\n >\n {children}\n </button>\n );\n};\n\nexport default ButtonTransparent;\n","import { ReactNode } from \"react\";\n\nexport interface GradientButtonProps {\n children: ReactNode;\n onClick?: () => void;\n size?: \"sm\" | \"md\" | \"lg\";\n disabled?: boolean;\n className?: string;\n type?: \"button\" | \"submit\" | \"reset\";\n}\n\nexport const GradientButton = ({\n children,\n onClick,\n size = \"md\",\n disabled = false,\n className = \"\",\n type = \"button\",\n}: GradientButtonProps) => {\n const innerClassNames = \"bg-darkgray rounded-sm text-white w-full h-full\";\n \n let paddings = \"py-4 px-6\";\n switch (size) {\n case \"sm\":\n paddings = \"py-2 px-4\";\n break;\n case \"md\":\n paddings = \"py-4 px-6\";\n break;\n case \"lg\":\n paddings = \"py-5 px-8\";\n break;\n }\n\n return (\n <div\n onClick={disabled ? undefined : onClick}\n className={`overflow-hidden rounded-smb bg-gradient p-px h-full cursor-pointer ${\n disabled ? \"grayscale cursor-not-allowed\" : \"\"\n } ${className}`}\n >\n <button\n type={type}\n disabled={disabled}\n className={[innerClassNames, paddings].join(\" \")}\n >\n {children}\n </button>\n </div>\n );\n};\n\nexport default GradientButton;\n","import { ReactNode } from \"react\";\n\nexport interface TextProps {\n children: ReactNode;\n id?: string;\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\";\n weight?: \"normal\" | \"medium\" | \"semibold\" | \"bold\";\n color?: \"default\" | \"muted\" | \"primary\" | \"success\" | \"warning\" | \"danger\";\n as?: \"p\" | \"span\" | \"div\" | \"label\";\n className?: string;\n}\n\nconst sizeStyles = {\n xs: \"text-xs\",\n sm: \"text-sm\",\n md: \"text-md\",\n lg: \"text-lg\",\n};\n\nconst weightStyles = {\n normal: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n bold: \"font-bold\",\n};\n\nconst colorStyles = {\n default: \"text-white dark:text-white\",\n muted: \"text-lightgray dark:text-lightgray\",\n primary: \"text-primary dark:text-white\",\n success: \"text-success\",\n warning: \"text-warning\",\n danger: \"text-danger\",\n};\n\nexport const Text = ({\n children,\n id,\n size = \"md\",\n weight = \"normal\",\n color = \"default\",\n as: Tag = \"p\",\n className = \"\",\n}: TextProps) => {\n return (\n <Tag\n id={id}\n className={`${sizeStyles[size]} ${weightStyles[weight]} ${colorStyles[color]} ${className}`}\n >\n {children}\n </Tag>\n );\n};\n\nexport default Text;\n","import { Text } from \"./Typography/Text\";\n\nexport type LabelVisibility = \"visible\" | \"sr-only\";\n\nexport function FormFieldLabel({\n label,\n labelVisibility,\n id,\n}: {\n label: string;\n labelVisibility: LabelVisibility;\n id: string;\n}) {\n return (\n <Text\n as=\"span\"\n id={id}\n size=\"sm\"\n weight=\"medium\"\n color=\"muted\"\n className={labelVisibility === \"sr-only\" ? \"sr-only\" : \"mb-2 block\"}\n >\n {label}\n </Text>\n );\n}\n","import { useId, useState } from \"react\";\nimport { FormFieldLabel, type LabelVisibility } from \"../FormFieldLabel\";\nimport { Button, type ButtonProps } from \"./Button\";\n\nexport interface RadioButtonsProps {\n label: string;\n /** Default `visible`. Use `sr-only` to hide the group label visually while keeping it for assistive tech. */\n labelVisibility?: LabelVisibility;\n items: Omit<ButtonProps, \"size\" | \"onClick\" | \"isActive\" | \"role\" | \"ariaChecked\">[];\n onChange: (value: string) => void;\n size?: ButtonProps[\"size\"];\n className?: string;\n}\n\nexport const RadioButtons = ({\n label,\n labelVisibility = \"visible\",\n items,\n onChange,\n size = \"md\",\n className = \"\",\n}: RadioButtonsProps) => {\n const labelId = useId();\n const [selectedButton, setSelectedButton] = useState<string | undefined>();\n\n const onButtonClick = (id?: string) => {\n setSelectedButton(id);\n onChange(id ?? \"\");\n };\n\n return (\n <div className={className}>\n <FormFieldLabel\n id={labelId}\n label={label}\n labelVisibility={labelVisibility}\n />\n <div\n role=\"radiogroup\"\n aria-labelledby={labelId}\n className=\"flex flex-wrap gap-2\"\n >\n {items.map((item) => (\n <Button\n {...item}\n size={size}\n key={item.id}\n role=\"radio\"\n ariaChecked={selectedButton === item.id}\n isActive={selectedButton === item.id}\n onClick={onButtonClick}\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport default RadioButtons;\n","import { ReactNode } from \"react\";\nimport type { ColorVariants, Size } from \"../../types\";\nimport { getTagSurfaceClassNames } from \"./tagSurfaceClassNames\";\n\nexport interface TagProps {\n variant: ColorVariants;\n size?: Size;\n children?: ReactNode;\n label?: string;\n className?: string;\n /** Filled / selected background (non-interactive; no close icon). */\n filled?: boolean;\n /** Reduced emphasis. */\n muted?: boolean;\n}\n\nexport const Tag = ({\n variant,\n size = \"md\",\n children,\n label,\n className = \"\",\n filled = false,\n muted = false,\n}: TagProps) => {\n return (\n <span\n className={getTagSurfaceClassNames({\n variant,\n size,\n className,\n filled,\n muted,\n })}\n >\n {children || label}\n </span>\n );\n};\n\nexport default Tag;\n","import {\n type ChangeEventHandler,\n type HTMLInputTypeAttribute,\n type ReactNode,\n useId,\n useState,\n} from \"react\";\nimport {\n FormFieldLabel,\n type LabelVisibility,\n} from \"../FormFieldLabel\";\n\nexport interface InputProps {\n name: string;\n onChange?: (value: string) => void;\n /** When set, the input is controlled; the parent must update this from `onChange`. */\n value?: string;\n /** Initial value when uncontrolled (`value` omitted). Does not update after mount if `defaultValue` prop changes. */\n defaultValue?: string;\n placeholder?: string;\n label: string;\n /** Default `visible`. Use `sr-only` to hide the label visually while keeping it for assistive tech. */\n labelVisibility?: LabelVisibility;\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n /** Any standard HTML `input` type (e.g. `date`, `time`, `email`). */\n type?: HTMLInputTypeAttribute;\n maxLength?: number;\n required?: boolean;\n pattern?: string;\n title?: string;\n ariaLabel?: string;\n spellCheck?: boolean;\n disabled?: boolean;\n className?: string;\n icon?: ReactNode;\n /** Sets `data-testid` on the native `<input>` for e2e (e.g. Playwright). */\n testId?: string;\n}\n\nexport const Input = ({\n name,\n onChange,\n value: valueProp,\n defaultValue,\n placeholder,\n label,\n labelVisibility = \"visible\",\n variant = \"primary\",\n type = \"text\",\n maxLength,\n required = false,\n pattern,\n title,\n ariaLabel,\n spellCheck,\n disabled = false,\n className = \"\",\n icon,\n testId,\n}: InputProps) => {\n const labelId = useId();\n const isControlled = valueProp !== undefined;\n const [internalValue, setInternalValue] = useState(() => defaultValue ?? \"\");\n const [isFocused, setIsFocused] = useState(false);\n\n const value = isControlled ? valueProp : internalValue;\n\n const inputClassNames = [\"rounded-sm font-sans z-10 w-full\"];\n\n const spacings = \"py-4 px-5\";\n const outline = \"outline-hidden\";\n\n inputClassNames.push(spacings, outline);\n\n const inputWrapperClassNames = [\"flex rounded-smb p-px w-full\"];\n\n if (isFocused) {\n inputWrapperClassNames.push(\"bg-gradient\");\n } else if (variant === \"primary\" || variant === \"tertiary\") {\n inputWrapperClassNames.push(\"bg-lightgray\");\n }\n\n switch (variant) {\n case \"primary\":\n inputClassNames.push(\"text-primary bg-neutral\");\n break;\n case \"secondary\":\n inputClassNames.push(\"text-neutral bg-neutral dark:bg-gray\");\n break;\n case \"tertiary\":\n inputClassNames.push(\"text-neutral bg-neutral dark:bg-primary\");\n break;\n }\n\n if (disabled) {\n inputClassNames.push(\"cursor-not-allowed opacity-50\");\n }\n\n const onInputChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n const next = event.target.value;\n if (!isControlled) {\n setInternalValue(next);\n }\n onChange?.(next);\n };\n\n return (\n <div className={className}>\n <label htmlFor={name} className=\"block\">\n <FormFieldLabel\n id={labelId}\n label={label}\n labelVisibility={labelVisibility}\n />\n\n <div className={inputWrapperClassNames.join(\" \")}>\n {icon && (\n <div className=\"flex items-center justify-center pl-4\">\n {icon}\n </div>\n )}\n\n <input\n id={name}\n name={name}\n placeholder={placeholder}\n value={value}\n className={inputClassNames.join(\" \")}\n autoComplete=\"off\"\n onChange={onInputChange}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n type={type}\n maxLength={maxLength}\n required={required}\n pattern={pattern}\n title={title}\n aria-label={ariaLabel}\n spellCheck={spellCheck}\n disabled={disabled}\n data-testid={testId}\n />\n </div>\n </label>\n </div>\n );\n};\n\nexport default Input;\n","import { type ChangeEventHandler, useId, useState } from \"react\";\nimport {\n FormFieldLabel,\n type LabelVisibility,\n} from \"../FormFieldLabel\";\n\nexport interface TextareaProps {\n name: string;\n onChange?: (value: string) => void;\n /** When set, the textarea is controlled; the parent must update this from `onChange`. */\n value?: string;\n /** Initial value when uncontrolled (`value` omitted). Does not update after mount if `defaultValue` prop changes. */\n defaultValue?: string;\n placeholder?: string;\n label: string;\n /** Default `visible`. Use `sr-only` to hide the label visually while keeping it for assistive tech. */\n labelVisibility?: LabelVisibility;\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n rows?: number;\n maxLength?: number;\n required?: boolean;\n ariaLabel?: string;\n spellCheck?: boolean;\n disabled?: boolean;\n className?: string;\n /** Sets `data-testid` on the native `<textarea>` for e2e (e.g. Playwright). */\n testId?: string;\n}\n\nexport const Textarea = ({\n name,\n onChange,\n value: valueProp,\n defaultValue,\n placeholder,\n label,\n labelVisibility = \"visible\",\n variant = \"primary\",\n rows = 4,\n maxLength,\n required = false,\n ariaLabel,\n spellCheck,\n disabled = false,\n className = \"\",\n testId,\n}: TextareaProps) => {\n const labelId = useId();\n const isControlled = valueProp !== undefined;\n const [internalValue, setInternalValue] = useState(() => defaultValue ?? \"\");\n const [isFocused, setIsFocused] = useState(false);\n\n const value = isControlled ? valueProp : internalValue;\n\n const fieldClassNames = [\n \"min-h-[6rem] resize-y rounded-sm font-sans z-10 w-full\",\n ];\n\n const spacings = \"py-4 px-5\";\n const outline = \"outline-hidden\";\n\n fieldClassNames.push(spacings, outline);\n\n const inputWrapperClassNames = [\"rounded-smb p-px w-full\"];\n\n if (isFocused) {\n inputWrapperClassNames.push(\"bg-gradient\");\n } else if (variant === \"primary\" || variant === \"tertiary\") {\n inputWrapperClassNames.push(\"bg-lightgray\");\n }\n\n switch (variant) {\n case \"primary\":\n fieldClassNames.push(\"text-primary bg-neutral\");\n break;\n case \"secondary\":\n fieldClassNames.push(\"text-neutral bg-neutral dark:bg-gray\");\n break;\n case \"tertiary\":\n fieldClassNames.push(\"text-neutral bg-neutral dark:bg-primary\");\n break;\n }\n\n if (disabled) {\n fieldClassNames.push(\"cursor-not-allowed opacity-50\");\n }\n\n const onFieldChange: ChangeEventHandler<HTMLTextAreaElement> = (event) => {\n const next = event.target.value;\n if (!isControlled) {\n setInternalValue(next);\n }\n onChange?.(next);\n };\n\n return (\n <div className={className}>\n <label htmlFor={name} className=\"block\">\n <FormFieldLabel\n id={labelId}\n label={label}\n labelVisibility={labelVisibility}\n />\n\n <div className={inputWrapperClassNames.join(\" \")}>\n <textarea\n id={name}\n name={name}\n rows={rows}\n placeholder={placeholder}\n value={value}\n className={fieldClassNames.join(\" \")}\n autoComplete=\"off\"\n onChange={onFieldChange}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n maxLength={maxLength}\n required={required}\n aria-label={ariaLabel}\n spellCheck={spellCheck}\n disabled={disabled}\n data-testid={testId}\n />\n </div>\n </label>\n </div>\n );\n};\n\nexport default Textarea;\n","import {\n FocusEventHandler,\n KeyboardEventHandler,\n MouseEventHandler,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n FormFieldLabel,\n type LabelVisibility,\n} from \"../FormFieldLabel\";\n\nexport type SelectOption = {\n value: string;\n label: string;\n};\n\ntype BaseSelectProps = {\n name: string;\n label: string;\n /** Default `visible`. Use `sr-only` to hide the label visually while keeping it for assistive tech. */\n labelVisibility?: LabelVisibility;\n options: SelectOption[];\n placeholder?: string;\n variant?: \"primary\" | \"secondary\" | \"tertiary\";\n disabled?: boolean;\n className?: string;\n /**\n * Base `data-testid` for Playwright. Listbox: `${testId}-listbox`,\n * options: `${testId}-option-${slug}` where slug is alphanumeric-only (value-based).\n */\n testId?: string;\n};\n\nexport type SingleSelectProps = BaseSelectProps & {\n multi?: false;\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n};\n\nexport type MultiSelectProps = BaseSelectProps & {\n multi: true;\n value?: string[];\n defaultValue?: string[];\n onChange?: (value: string[]) => void;\n};\n\nexport type SelectProps = SingleSelectProps | MultiSelectProps;\n\nfunction optionTestSlug(value: string): string {\n return value.replace(/[^a-zA-Z0-9_-]/g, \"_\");\n}\n\nfunction ChevronDown({ className = \"\" }: { className?: string }) {\n return (\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 className={className}\n aria-hidden\n >\n <path\n d=\"M5 7.5L10 12.5L15 7.5\"\n stroke=\"currentColor\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n}\n\nfunction buildVariantClasses(\n variant: \"primary\" | \"secondary\" | \"tertiary\",\n isFocused: boolean,\n disabled: boolean,\n) {\n const inputClassNames = [\n \"min-w-0 flex-1 rounded-none border-0 font-sans\",\n \"py-4 pl-5 pr-2\",\n \"outline-hidden\",\n \"bg-transparent shadow-none\",\n ];\n\n const inputWrapperClassNames = [\n \"flex min-w-0 w-full items-stretch rounded-smb p-px\",\n ];\n\n // Match Input: gradient and lightgray both set background — only one so the full ring shows on focus.\n if (isFocused) {\n inputWrapperClassNames.push(\"bg-gradient\");\n } else if (variant === \"primary\" || variant === \"tertiary\") {\n inputWrapperClassNames.push(\"bg-lightgray\");\n }\n\n const innerFieldClassNames = [\n \"flex min-h-0 min-w-0 flex-1 overflow-hidden rounded-sm\",\n ];\n\n const chevronClassNames = [\n \"pointer-events-none flex shrink-0 items-center justify-center self-stretch pl-1 pr-4\",\n ];\n\n switch (variant) {\n case \"primary\":\n inputClassNames.push(\"text-primary placeholder:text-lightgray\");\n innerFieldClassNames.push(\"bg-neutral\");\n chevronClassNames.push(\"text-primary\");\n break;\n case \"secondary\":\n inputClassNames.push(\n \"text-neutral placeholder:text-lightgray dark:placeholder:text-icongray\",\n );\n innerFieldClassNames.push(\"bg-neutral dark:bg-gray\");\n chevronClassNames.push(\"text-neutral\");\n break;\n case \"tertiary\":\n inputClassNames.push(\n \"text-neutral placeholder:text-lightgray dark:placeholder:text-icongray\",\n );\n innerFieldClassNames.push(\"bg-neutral dark:bg-primary\");\n chevronClassNames.push(\"text-neutral dark:text-icongray\");\n break;\n }\n\n if (disabled) {\n inputClassNames.push(\"cursor-not-allowed opacity-50\");\n chevronClassNames.push(\"opacity-50\");\n }\n\n return {\n inputClassNames,\n inputWrapperClassNames,\n innerFieldClassNames,\n chevronClassNames,\n };\n}\n\nexport function Select(props: SelectProps) {\n const {\n name,\n label,\n labelVisibility = \"visible\",\n options,\n placeholder = \"Select…\",\n variant = \"primary\",\n disabled = false,\n className = \"\",\n testId: testIdProp,\n } = props;\n\n const labelId = useId();\n\n const isMulti = props.multi === true;\n const singleValueProp = !isMulti\n ? (props as SingleSelectProps).value\n : undefined;\n const multiValueProp = isMulti\n ? (props as MultiSelectProps).value\n : undefined;\n const isControlled = isMulti\n ? multiValueProp !== undefined\n : singleValueProp !== undefined;\n\n const reactId = useId();\n const listboxId = `${name}-listbox-${reactId.replace(/:/g, \"\")}`;\n const baseTestId = testIdProp ?? `select-${name}`;\n\n const [internalSingle, setInternalSingle] = useState(\n !isMulti && !isControlled\n ? ((props as SingleSelectProps).defaultValue ?? \"\")\n : \"\",\n );\n const [internalMulti, setInternalMulti] = useState<string[]>(\n isMulti && !isControlled\n ? [...((props as MultiSelectProps).defaultValue ?? [])]\n : [],\n );\n\n const selectedSingle = useMemo(() => {\n if (isMulti) return \"\";\n if (singleValueProp !== undefined) return singleValueProp;\n return internalSingle;\n }, [isMulti, singleValueProp, internalSingle]);\n\n const selectedMulti = useMemo(() => {\n if (!isMulti) return [];\n if (multiValueProp !== undefined) return multiValueProp;\n return internalMulti;\n }, [isMulti, multiValueProp, internalMulti]);\n\n const [open, setOpen] = useState(false);\n const [filter, setFilter] = useState(\"\");\n const [highlightIndex, setHighlightIndex] = useState(0);\n const [isFocused, setIsFocused] = useState(false);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const listRef = useRef<HTMLUListElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n\n const optionByValue = useMemo(() => {\n const m = new Map<string, SelectOption>();\n for (const o of options) m.set(o.value, o);\n return m;\n }, [options]);\n\n const filteredOptions = useMemo(() => {\n const q = filter.trim().toLowerCase();\n if (!q) return options;\n return options.filter(\n (o) =>\n o.label.toLowerCase().includes(q) ||\n o.value.toLowerCase().includes(q),\n );\n }, [options, filter]);\n\n const closedDisplay = useMemo(() => {\n if (isMulti) {\n if (selectedMulti.length === 0) return \"\";\n return selectedMulti\n .map((v) => optionByValue.get(v)?.label ?? v)\n .join(\", \");\n }\n if (!selectedSingle) return \"\";\n return optionByValue.get(selectedSingle)?.label ?? selectedSingle;\n }, [isMulti, selectedMulti, selectedSingle, optionByValue]);\n\n const inputValue = open ? filter : closedDisplay;\n\n const onSingleChange = !isMulti\n ? (props as SingleSelectProps).onChange\n : undefined;\n const onMultiChange = isMulti\n ? (props as MultiSelectProps).onChange\n : undefined;\n\n const setSingle = useCallback(\n (next: string) => {\n if (!isMulti) {\n if (!isControlled) setInternalSingle(next);\n onSingleChange?.(next);\n }\n },\n [isMulti, isControlled, onSingleChange],\n );\n\n const setMulti = useCallback(\n (next: string[]) => {\n if (isMulti) {\n if (!isControlled) setInternalMulti(next);\n onMultiChange?.(next);\n }\n },\n [isMulti, isControlled, onMultiChange],\n );\n\n const close = useCallback(() => {\n setOpen(false);\n setFilter(\"\");\n setHighlightIndex(0);\n }, []);\n\n const openMenu = useCallback(() => {\n if (disabled) return;\n setOpen(true);\n setFilter(\"\");\n setHighlightIndex(0);\n }, [disabled]);\n\n useEffect(() => {\n if (!open) return;\n const max = Math.max(0, filteredOptions.length - 1);\n setHighlightIndex((i) => Math.min(i, max));\n }, [open, filteredOptions.length]);\n\n useEffect(() => {\n if (!open) return;\n const onDocMouseDown = (e: MouseEvent) => {\n const el = containerRef.current;\n if (el && !el.contains(e.target as Node)) close();\n };\n document.addEventListener(\"mousedown\", onDocMouseDown);\n return () => document.removeEventListener(\"mousedown\", onDocMouseDown);\n }, [open, close]);\n\n const commitHighlight = useCallback(() => {\n const opt = filteredOptions[highlightIndex];\n if (!opt) return;\n\n if (isMulti) {\n const set = new Set(selectedMulti);\n if (set.has(opt.value)) set.delete(opt.value);\n else set.add(opt.value);\n setMulti([...set]);\n } else {\n setSingle(opt.value);\n close();\n inputRef.current?.blur();\n }\n }, [\n filteredOptions,\n highlightIndex,\n isMulti,\n selectedMulti,\n setMulti,\n setSingle,\n close,\n ]);\n\n const onOptionMouseDown: MouseEventHandler = (e) => {\n e.preventDefault();\n };\n\n const onOptionClick = (opt: SelectOption) => {\n if (isMulti) {\n const set = new Set(selectedMulti);\n if (set.has(opt.value)) set.delete(opt.value);\n else set.add(opt.value);\n setMulti([...set]);\n } else {\n setSingle(opt.value);\n close();\n }\n };\n\n const onInputFocus: FocusEventHandler<HTMLInputElement> = () => {\n setIsFocused(true);\n if (!disabled) setOpen(true);\n };\n\n const onInputBlur: FocusEventHandler<HTMLInputElement> = (e) => {\n const next = e.relatedTarget as Node | null;\n if (listRef.current?.contains(next)) return;\n setIsFocused(false);\n close();\n };\n\n const onInputChange = (v: string) => {\n if (!open) setOpen(true);\n setFilter(v);\n setHighlightIndex(0);\n };\n\n const onKeyDown: KeyboardEventHandler<HTMLInputElement> = (e) => {\n if (disabled) return;\n\n if (e.key === \"Escape\") {\n e.preventDefault();\n close();\n inputRef.current?.blur();\n return;\n }\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n if (!open) openMenu();\n else\n setHighlightIndex((i) =>\n Math.min(i + 1, Math.max(0, filteredOptions.length - 1)),\n );\n return;\n }\n\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n if (!open) openMenu();\n else setHighlightIndex((i) => Math.max(0, i - 1));\n return;\n }\n\n if (e.key === \"Enter\" && open) {\n e.preventDefault();\n commitHighlight();\n return;\n }\n\n if (e.key === \"Home\" && open) {\n e.preventDefault();\n setHighlightIndex(0);\n return;\n }\n\n if (e.key === \"End\" && open) {\n e.preventDefault();\n setHighlightIndex(Math.max(0, filteredOptions.length - 1));\n return;\n }\n };\n\n const {\n inputClassNames,\n inputWrapperClassNames,\n innerFieldClassNames,\n chevronClassNames,\n } = buildVariantClasses(variant, isFocused, disabled);\n\n const activeDescendant =\n open && filteredOptions[highlightIndex]\n ? `${name}-option-${optionTestSlug(filteredOptions[highlightIndex].value)}`\n : undefined;\n\n const listboxClass =\n \"absolute left-0 right-0 top-full z-50 mt-1 max-h-60 overflow-auto rounded-sm border border-lightgray bg-neutral py-1 shadow-lg dark:border-gray dark:bg-gray dark:text-white\";\n\n return (\n <div ref={containerRef} className={`relative ${className}`.trim()}>\n <label htmlFor={name} className=\"block\">\n <FormFieldLabel\n id={labelId}\n label={label}\n labelVisibility={labelVisibility}\n />\n\n <div className={inputWrapperClassNames.join(\" \")}>\n <div className={innerFieldClassNames.join(\" \")}>\n <input\n ref={inputRef}\n id={name}\n name={name}\n type=\"text\"\n autoComplete=\"off\"\n spellCheck={false}\n disabled={disabled}\n placeholder={placeholder}\n value={inputValue}\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n aria-controls={listboxId}\n aria-autocomplete=\"list\"\n aria-activedescendant={activeDescendant}\n role=\"combobox\"\n data-testid={baseTestId}\n className={inputClassNames.join(\" \")}\n onChange={(e) => onInputChange(e.target.value)}\n onFocus={onInputFocus}\n onBlur={onInputBlur}\n onKeyDown={onKeyDown}\n />\n <div className={chevronClassNames.join(\" \")} aria-hidden>\n <ChevronDown className=\"block shrink-0\" />\n </div>\n </div>\n </div>\n </label>\n\n {open && (\n <ul\n ref={listRef}\n id={listboxId}\n role=\"listbox\"\n aria-multiselectable={isMulti}\n aria-labelledby={labelId}\n data-testid={`${baseTestId}-listbox`}\n tabIndex={-1}\n className={listboxClass}\n >\n {filteredOptions.length === 0 ? (\n <li\n className=\"px-5 py-3 text-sm text-lightgray dark:text-icongray\"\n role=\"presentation\"\n >\n No matches\n </li>\n ) : (\n filteredOptions.map((opt, index) => {\n const selected = isMulti\n ? selectedMulti.includes(opt.value)\n : selectedSingle === opt.value;\n const highlighted = index === highlightIndex;\n const oid = `${name}-option-${optionTestSlug(opt.value)}`;\n return (\n <li\n key={opt.value}\n id={oid}\n role=\"option\"\n aria-selected={selected}\n data-testid={`${baseTestId}-option-${optionTestSlug(opt.value)}`}\n data-option-value={opt.value}\n className={[\n \"cursor-pointer px-5 py-3 text-sm text-primary dark:text-white\",\n highlighted\n ? \"bg-lightgray/50 dark:bg-white/10\"\n : \"\",\n selected ? \"font-semibold\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \")}\n onMouseDown={onOptionMouseDown}\n onMouseEnter={() => setHighlightIndex(index)}\n onClick={() => onOptionClick(opt)}\n >\n {isMulti && (\n <span className=\"mr-2 inline-block w-4 text-center\" aria-hidden>\n {selected ? \"✓\" : \"\"}\n </span>\n )}\n {opt.label}\n </li>\n );\n })\n )}\n </ul>\n )}\n </div>\n );\n}\n\nexport default Select;\n","import { useCallback, useEffect, useState } from \"react\";\n\nexport interface Tab {\n label: string;\n value: string;\n isActive?: boolean;\n}\n\nexport interface TabsProps {\n tabs: Tab[];\n onTabClick: (value: Tab[\"value\"]) => void;\n className?: string;\n}\n\nexport const Tabs = ({ tabs, onTabClick, className = \"\" }: TabsProps) => {\n const [activeTab, setActiveTab] = useState<Tab[\"value\"] | undefined>(\n tabs.find((tab) => tab.isActive)?.value\n );\n\n const handleTabClick = useCallback(\n (value: Tab[\"value\"]) => {\n setActiveTab(value);\n onTabClick(value);\n },\n [onTabClick]\n );\n\n useEffect(() => {\n if (!activeTab && tabs.length > 0) {\n handleTabClick(tabs[0].value);\n }\n }, [tabs, activeTab, handleTabClick]);\n\n return (\n <div className={`flex gap-4 ${className}`}>\n {tabs.map((tab) => (\n <button\n key={tab.value}\n type=\"button\"\n className={`text-white border-b pb-2 cursor-pointer transition-colors ${\n activeTab === tab.value\n ? \"border-b-white\"\n : \"border-b-transparent hover:border-b-white/50\"\n }`}\n onClick={() => handleTabClick(tab.value)}\n >\n {tab.label}\n </button>\n ))}\n </div>\n );\n};\n\nexport default Tabs;\n","export interface SpinnerProps {\n size?: \"sm\" | \"md\" | \"lg\";\n className?: string;\n}\n\nexport const Spinner = ({ size = \"md\", className = \"\" }: SpinnerProps) => {\n let dimensions = \"w-16 h-16\";\n let borderWidth = \"border-[6px]\";\n\n switch (size) {\n case \"sm\":\n dimensions = \"w-8 h-8\";\n borderWidth = \"border-[3px]\";\n break;\n case \"md\":\n dimensions = \"w-16 h-16\";\n borderWidth = \"border-[6px]\";\n break;\n case \"lg\":\n dimensions = \"w-24 h-24\";\n borderWidth = \"border-8\";\n break;\n }\n\n return (\n <div\n className={`inline-block ${dimensions} ${className}`}\n role=\"status\"\n aria-label=\"Loading\"\n >\n <div\n className={`${dimensions} ${borderWidth} border-white border-t-transparent border-b-transparent rounded-full animate-spin`}\n />\n </div>\n );\n};\n\nexport default Spinner;\n","import { Spinner, type SpinnerProps } from \"./Spinner\";\n\nexport interface SpinnerOverlayProps extends SpinnerProps {\n isVisible: boolean;\n}\n\nexport const SpinnerOverlay = ({\n isVisible,\n size = \"lg\",\n className = \"\",\n}: SpinnerOverlayProps) => {\n if (!isVisible) return null;\n\n return (\n <div\n className={`fixed inset-0 flex items-center justify-center bg-primary/80 z-50 ${className}`}\n >\n <Spinner size={size} />\n </div>\n );\n};\n\nexport default SpinnerOverlay;\n","import { ReactNode } from \"react\";\n\nexport interface BlockQuoteProps {\n children: ReactNode;\n className?: string;\n}\n\nexport const BlockQuote = ({ children, className = \"\" }: BlockQuoteProps) => {\n return (\n <blockquote\n className={`bg-darkgray p-7 my-7 border-2 border-gray rounded-sm font-sans text-neutral dark:text-white ${className}`}\n >\n {children}\n </blockquote>\n );\n};\n\nexport default BlockQuote;\n","export interface HrProps {\n className?: string;\n}\n\nexport const Hr = ({ className = \"\" }: HrProps) => {\n const defaultClassNames = \"border border-gray my-4\";\n\n return <hr className={`${defaultClassNames} ${className}`} />;\n};\n\nexport default Hr;\n","import { ReactNode } from \"react\";\n\nexport interface ContentBoxProps {\n children: ReactNode;\n variant?: \"info\" | \"warning\" | \"success\" | \"danger\";\n icon?: ReactNode;\n className?: string;\n}\n\nconst variantStyles = {\n info: \"border-blue\",\n warning: \"border-warning\",\n success: \"border-success\",\n danger: \"border-danger\",\n};\n\nexport const ContentBox = ({\n children,\n variant = \"info\",\n icon,\n className = \"\",\n}: ContentBoxProps) => {\n return (\n <div\n className={`relative border rounded-md my-9 ${variantStyles[variant]} ${className}`}\n >\n {icon && (\n <div className=\"absolute flex items-center justify-center p-3 -top-6 right-8 bg-primary border border-darkgray\">\n {icon}\n </div>\n )}\n <div className=\"m-7\">{children}</div>\n </div>\n );\n};\n\nexport default ContentBox;\n","import { ReactNode } from \"react\";\n\nexport interface ContainerProps {\n children: ReactNode;\n size?: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\";\n centered?: boolean;\n className?: string;\n}\n\nconst sizeStyles = {\n sm: \"max-w-screen-sm\",\n md: \"max-w-screen-md\",\n lg: \"max-w-screen-lg\",\n xl: \"max-w-screen-xl\",\n full: \"max-w-full\",\n};\n\nexport const Container = ({\n children,\n size = \"lg\",\n centered = true,\n className = \"\",\n}: ContainerProps) => {\n const centeredClass = centered ? \"mx-auto\" : \"\";\n\n return (\n <div\n className={`w-full px-5 ${sizeStyles[size]} ${centeredClass} ${className}`}\n >\n {children}\n </div>\n );\n};\n\nexport default Container;\n","import { ReactNode } from \"react\";\n\nexport interface StackProps {\n children: ReactNode;\n gap?: \"1\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"10\";\n direction?: \"vertical\" | \"horizontal\";\n align?: \"start\" | \"center\" | \"end\" | \"stretch\";\n justify?: \"start\" | \"center\" | \"end\" | \"between\" | \"around\";\n wrap?: boolean;\n className?: string;\n}\n\nconst gapStyles = {\n \"1\": \"gap-1\",\n \"2\": \"gap-2\",\n \"3\": \"gap-3\",\n \"4\": \"gap-4\",\n \"5\": \"gap-5\",\n \"6\": \"gap-6\",\n \"7\": \"gap-7\",\n \"8\": \"gap-8\",\n \"9\": \"gap-9\",\n \"10\": \"gap-10\",\n};\n\nconst alignStyles = {\n start: \"items-start\",\n center: \"items-center\",\n end: \"items-end\",\n stretch: \"items-stretch\",\n};\n\nconst justifyStyles = {\n start: \"justify-start\",\n center: \"justify-center\",\n end: \"justify-end\",\n between: \"justify-between\",\n around: \"justify-around\",\n};\n\nexport const Stack = ({\n children,\n gap = \"4\",\n direction = \"vertical\",\n align = \"stretch\",\n justify = \"start\",\n wrap = false,\n className = \"\",\n}: StackProps) => {\n const directionClass = direction === \"vertical\" ? \"flex-col\" : \"flex-row\";\n const wrapClass = wrap ? \"flex-wrap\" : \"\";\n\n return (\n <div\n className={`flex ${directionClass} ${gapStyles[gap]} ${alignStyles[align]} ${justifyStyles[justify]} ${wrapClass} ${className}`}\n >\n {children}\n </div>\n );\n};\n\nexport default Stack;\n","import { ReactNode } from \"react\";\n\nexport interface GridProps {\n children: ReactNode;\n cols?: 1 | 2 | 3 | 4 | 5 | 6 | 12;\n gap?: \"1\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"7\" | \"8\" | \"9\" | \"10\";\n className?: string;\n}\n\nconst colStyles = {\n 1: \"grid-cols-1\",\n 2: \"grid-cols-2\",\n 3: \"grid-cols-3\",\n 4: \"grid-cols-4\",\n 5: \"grid-cols-5\",\n 6: \"grid-cols-6\",\n 12: \"grid-cols-12\",\n};\n\nconst gapStyles = {\n \"1\": \"gap-1\",\n \"2\": \"gap-2\",\n \"3\": \"gap-3\",\n \"4\": \"gap-4\",\n \"5\": \"gap-5\",\n \"6\": \"gap-6\",\n \"7\": \"gap-7\",\n \"8\": \"gap-8\",\n \"9\": \"gap-9\",\n \"10\": \"gap-10\",\n};\n\nexport const Grid = ({\n children,\n cols = 3,\n gap = \"5\",\n className = \"\",\n}: GridProps) => {\n return (\n <div className={`grid ${colStyles[cols]} ${gapStyles[gap]} ${className}`}>\n {children}\n </div>\n );\n};\n\nexport interface GridItemProps {\n children: ReactNode;\n colSpan?: 1 | 2 | 3 | 4 | 5 | 6 | 12 | \"full\";\n className?: string;\n}\n\nconst colSpanStyles = {\n 1: \"col-span-1\",\n 2: \"col-span-2\",\n 3: \"col-span-3\",\n 4: \"col-span-4\",\n 5: \"col-span-5\",\n 6: \"col-span-6\",\n 12: \"col-span-12\",\n full: \"col-span-full\",\n};\n\nexport const GridItem = ({\n children,\n colSpan = 1,\n className = \"\",\n}: GridItemProps) => {\n return (\n <div className={`${colSpanStyles[colSpan]} ${className}`}>{children}</div>\n );\n};\n\nexport default Grid;\n","import { ReactNode, createElement } from \"react\";\n\nexport interface HeadingProps {\n children: ReactNode;\n level?: 1 | 2 | 3 | 4 | 5 | 6;\n size?: \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\" | \"2xl\" | \"3xl\" | \"4xl\";\n weight?: \"normal\" | \"medium\" | \"semibold\" | \"bold\";\n color?: \"default\" | \"muted\" | \"primary\" | \"success\" | \"warning\" | \"danger\";\n className?: string;\n}\n\nconst sizeStyles = {\n xs: \"text-xs\",\n sm: \"text-sm\",\n md: \"text-md\",\n lg: \"text-lg\",\n xl: \"text-xl\",\n \"2xl\": \"text-2xl\",\n \"3xl\": \"text-3xl\",\n \"4xl\": \"text-4xl\",\n};\n\nconst weightStyles = {\n normal: \"font-normal\",\n medium: \"font-medium\",\n semibold: \"font-semibold\",\n bold: \"font-bold\",\n};\n\nconst colorStyles = {\n default: \"text-white dark:text-white\",\n muted: \"text-lightgray dark:text-lightgray\",\n primary: \"text-primary dark:text-white\",\n success: \"text-success\",\n warning: \"text-warning\",\n danger: \"text-danger\",\n};\n\nconst defaultSizeByLevel = {\n 1: \"4xl\",\n 2: \"3xl\",\n 3: \"2xl\",\n 4: \"xl\",\n 5: \"lg\",\n 6: \"md\",\n} as const;\n\nexport const Heading = ({\n children,\n level = 2,\n size,\n weight = \"bold\",\n color = \"default\",\n className = \"\",\n}: HeadingProps) => {\n const tag = `h${level}` as \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\";\n const resolvedSize = size ?? defaultSizeByLevel[level];\n\n return createElement(\n tag,\n {\n className: `${sizeStyles[resolvedSize]} ${weightStyles[weight]} ${colorStyles[color]} ${className}`,\n },\n children\n );\n};\n\nexport default Heading;\n","export interface HeartProps {\n variant?: \"outline\" | \"filled\" | \"gradient\";\n className?: string;\n size?: number;\n}\n\nexport const Heart = ({\n variant = \"outline\",\n className = \"\",\n size = 23,\n}: HeartProps) => {\n if (variant === \"filled\") {\n return (\n <svg\n width={size}\n height={(size * 19) / 23}\n viewBox=\"0 0 23 19\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.49104 2.55471C3.44605 1.6 4.74114 1.06367 6.09152 1.06367C7.44189 1.06367 8.73698 1.6 9.69199 2.55471L11.1841 4.04557L12.6763 2.55471C13.146 2.06832 13.708 1.68035 14.3293 1.41345C14.9506 1.14655 15.6189 1.00607 16.295 1.00019C16.9712 0.994314 17.6418 1.12317 18.2677 1.37923C18.8936 1.63529 19.4622 2.01343 19.9403 2.49159C20.4185 2.96975 20.7966 3.53835 21.0527 4.16421C21.3087 4.79007 21.4376 5.46066 21.4317 6.13686C21.4258 6.81305 21.2853 7.4813 21.0184 8.10262C20.7516 8.72394 20.3636 9.28588 19.8772 9.75565L12.5984 17.0355C11.8174 17.8167 10.5509 17.8167 9.7698 17.0355L2.49104 9.75565C1.53633 8.80065 1 7.50556 1 6.15518C1 4.80481 1.53633 3.50972 2.49104 2.55471Z\"\n strokeWidth=\"1.5\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n }\n\n if (variant === \"gradient\") {\n return (\n <svg\n width={size}\n height={(size * 19) / 23}\n viewBox=\"0 0 23 19\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.49104 2.55471C3.44605 1.6 4.74114 1.06367 6.09152 1.06367C7.44189 1.06367 8.73698 1.6 9.69199 2.55471L11.1841 4.04557L12.6763 2.55471C13.146 2.06832 13.708 1.68035 14.3293 1.41345C14.9506 1.14655 15.6189 1.00607 16.295 1.00019C16.9712 0.994314 17.6418 1.12317 18.2677 1.37923C18.8936 1.63529 19.4622 2.01343 19.9403 2.49159C20.4185 2.96975 20.7966 3.53835 21.0527 4.16421C21.3087 4.79007 21.4376 5.46066 21.4317 6.13686C21.4258 6.81305 21.2853 7.4813 21.0184 8.10262C20.7516 8.72394 20.3636 9.28588 19.8772 9.75565L12.5984 17.0355C11.8174 17.8167 10.5509 17.8167 9.7698 17.0355L2.49104 9.75565C1.53633 8.80065 1 7.50556 1 6.15518C1 4.80481 1.53633 3.50972 2.49104 2.55471Z\"\n stroke=\"url(#paint0_radial_heart)\"\n strokeWidth=\"1.5\"\n strokeLinejoin=\"round\"\n />\n <defs>\n <radialGradient\n id=\"paint0_radial_heart\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(1.01602 16.6647) rotate(-32.7891) scale(24.2852 19.4645)\"\n >\n <stop stopColor=\"#EDA867\" />\n <stop offset=\"0.23\" stopColor=\"#EDA867\" />\n <stop offset=\"0.59\" stopColor=\"#CB5065\" />\n <stop offset=\"0.96\" stopColor=\"#714E8E\" />\n </radialGradient>\n </defs>\n </svg>\n );\n }\n\n // Default: outline\n return (\n <svg\n width={size}\n height={(size * 19) / 23}\n viewBox=\"0 0 23 19\"\n fill=\"none\"\n stroke=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M2.49104 2.55471C3.44605 1.6 4.74114 1.06367 6.09152 1.06367C7.44189 1.06367 8.73698 1.6 9.69199 2.55471L11.1841 4.04557L12.6763 2.55471C13.146 2.06832 13.708 1.68035 14.3293 1.41345C14.9506 1.14655 15.6189 1.00607 16.295 1.00019C16.9712 0.994314 17.6418 1.12317 18.2677 1.37923C18.8936 1.63529 19.4622 2.01343 19.9403 2.49159C20.4185 2.96975 20.7966 3.53835 21.0527 4.16421C21.3087 4.79007 21.4376 5.46066 21.4317 6.13686C21.4258 6.81305 21.2853 7.4813 21.0184 8.10262C20.7516 8.72394 20.3636 9.28588 19.8772 9.75565L12.5984 17.0355C11.8174 17.8167 10.5509 17.8167 9.7698 17.0355L2.49104 9.75565C1.53633 8.80065 1 7.50556 1 6.15518C1 4.80481 1.53633 3.50972 2.49104 2.55471Z\"\n strokeWidth=\"1.5\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nexport default Heart;\n","export interface ShareProps {\n variant?: \"default\" | \"gradient\";\n className?: string;\n size?: number;\n}\n\nexport const Share = ({\n variant = \"default\",\n className = \"\",\n size = 20,\n}: ShareProps) => {\n if (variant === \"gradient\") {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 20 21\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M12.8586 3.64258L17.8586 8.64258L12.8586 13.6426\"\n stroke=\"url(#paint0_radial_share)\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M17.8586 8.64258H6.85864C4.09721 8.64258 1.85864 10.8812 1.85864 13.6426V17.6426\"\n stroke=\"url(#paint1_radial_share)\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <defs>\n <radialGradient\n id=\"paint0_radial_share\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(12.8716 13.3236) rotate(-72.2554) scale(11.4659 5.85856)\"\n >\n <stop stopColor=\"#EDA867\" />\n <stop offset=\"0.23\" stopColor=\"#EDA867\" />\n <stop offset=\"0.59\" stopColor=\"#CB5065\" />\n <stop offset=\"0.96\" stopColor=\"#714E8E\" />\n </radialGradient>\n <radialGradient\n id=\"paint1_radial_share\"\n cx=\"0\"\n cy=\"0\"\n r=\"1\"\n gradientUnits=\"userSpaceOnUse\"\n gradientTransform=\"translate(1.87434 17.2831) rotate(-52.5553) scale(19.0816 18.8095)\"\n >\n <stop stopColor=\"#EDA867\" />\n <stop offset=\"0.23\" stopColor=\"#EDA867\" />\n <stop offset=\"0.59\" stopColor=\"#CB5065\" />\n <stop offset=\"0.96\" stopColor=\"#714E8E\" />\n </radialGradient>\n </defs>\n </svg>\n );\n }\n\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 20 21\"\n fill=\"none\"\n stroke=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M12.8586 3.64258L17.8586 8.64258L12.8586 13.6426\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M17.8586 8.64258H6.85864C4.09721 8.64258 1.85864 10.8812 1.85864 13.6426V17.6426\"\n strokeWidth=\"1.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nexport default Share;\n","export interface SearchProps {\n className?: string;\n size?: number;\n}\n\nexport const Search = ({ className = \"\", size = 20 }: SearchProps) => {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 36 36\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M36.5931 33.842C36.8009 33.6342 36.8009 33.2974 36.5932 33.0896L31.2308 27.7263C32.3896 26.2409 33.0249 24.4266 33.0249 22.5124C33.0249 20.2386 32.1385 18.1029 30.5307 16.4941C28.923 14.8853 26.7863 14 24.5124 14C22.2386 14 20.1009 14.8853 18.4941 16.4941C16.8853 18.1029 16 20.2386 16 22.5124C16 24.7863 16.8853 26.924 18.4941 28.5307C20.1009 30.1395 22.2386 31.0249 24.5124 31.0249C26.4266 31.0249 28.2409 30.3907 29.7263 29.2319L35.0886 34.5942C35.2964 34.8019 35.6332 34.8019 35.841 34.5942L36.5931 33.842ZM29.0261 27.0273C27.8206 28.2328 26.2171 28.8968 24.5124 28.8968C22.8067 28.8968 21.2043 28.2328 19.9988 27.0273C18.7921 25.8216 18.1281 24.2181 18.1281 22.5124C18.1281 20.8078 18.7921 19.2043 19.9988 17.9988C21.2043 16.7921 22.8067 16.1281 24.5124 16.1281C26.2171 16.1281 27.8206 16.7921 29.0261 17.9988C30.2328 19.2043 30.8968 20.8078 30.8968 22.5124C30.8968 24.2181 30.2328 25.8216 29.0261 27.0273Z\"\n />\n </svg>\n );\n};\n\nexport default Search;\n","export interface InfoProps {\n className?: string;\n size?: number;\n}\n\nexport const Info = ({ className = \"\", size = 16 }: InfoProps) => {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <circle cx=\"8\" cy=\"8\" r=\"8\" fill=\"#2084E1\" />\n <path\n d=\"M8 8V10V12M8 5.03516V5\"\n stroke=\"#FCFAF7\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nexport default Info;\n","export interface WarningProps {\n className?: string;\n size?: number;\n}\n\nexport const Warning = ({ className = \"\", size = 22 }: WarningProps) => {\n return (\n <svg\n width={size}\n height={(size * 23) / 22}\n viewBox=\"0 0 22 23\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n d=\"M11 1L20.5263 16.8125H1.47372L11 1Z\"\n fill=\"#EDA867\"\n stroke=\"#EDA867\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n <path\n d=\"M10.9268 10.6249L10.9268 7.15992M10.9268 13.1932L10.9268 13.2236\"\n stroke=\"#FCFAF7\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n />\n </svg>\n );\n};\n\nexport default Warning;\n","interface SocialIconWrapperProps {\n children: React.ReactNode;\n className?: string;\n}\n\nconst SocialIconWrapper = ({\n children,\n className = \"\",\n}: SocialIconWrapperProps) => (\n <div\n className={`border-2 border-icongray rounded-[7px] w-9 h-9 flex items-center justify-center ${className}`}\n >\n {children}\n </div>\n);\n\nexport interface SocialIconProps {\n className?: string;\n size?: number;\n withWrapper?: boolean;\n}\n\nexport const TwitterIcon = ({\n className = \"\",\n size = 18,\n withWrapper = true,\n}: SocialIconProps) => {\n const icon = (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"#BFBFBF\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path d=\"M18.244 2.25H21.552L14.325 10.51L22.827 21.75H16.17L10.956 14.933L4.99 21.75H1.68L9.41 12.915L1.254 2.25H8.08L12.793 8.481L18.244 2.25ZM17.083 19.77H18.916L7.084 4.126H5.117L17.083 19.77Z\" />\n </svg>\n );\n\n if (withWrapper) {\n return <SocialIconWrapper>{icon}</SocialIconWrapper>;\n }\n return icon;\n};\n\nexport const LinkedInIcon = ({\n className = \"\",\n size = 18,\n withWrapper = true,\n}: SocialIconProps) => {\n const icon = (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 18 18\"\n fill=\"#BFBFBF\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M1.07227 2.59044C1.07227 2.24494 1.21333 1.91359 1.46442 1.66928C1.71552 1.42497 2.05607 1.28772 2.41118 1.28772H15.758C15.934 1.28744 16.1083 1.32094 16.271 1.38629C16.4336 1.45164 16.5814 1.54756 16.7059 1.66857C16.8304 1.78958 16.9292 1.93329 16.9965 2.09148C17.0639 2.24966 17.0985 2.41922 17.0984 2.59044V15.5766C17.0986 15.7478 17.0641 15.9174 16.9968 16.0757C16.9296 16.234 16.8309 16.3778 16.7065 16.4989C16.5821 16.62 16.4343 16.7161 16.2717 16.7816C16.1091 16.8471 15.9348 16.8808 15.7587 16.8807H2.41118C2.23529 16.8807 2.06112 16.847 1.89863 16.7815C1.73614 16.716 1.5885 16.6199 1.46417 16.4989C1.33983 16.3779 1.24122 16.2342 1.17398 16.076C1.10673 15.9179 1.07217 15.7484 1.07227 15.5773V2.59044ZM7.4157 7.2329H9.58578V8.29322C9.89902 7.68368 10.7003 7.13509 11.9045 7.13509C14.213 7.13509 14.76 8.34922 14.76 10.5769V14.7034H12.4239V11.0844C12.4239 9.81567 12.1106 9.09981 11.3151 9.09981C10.2115 9.09981 9.7526 9.87166 9.7526 11.0844V14.7034H7.4157V7.2329ZM3.40917 14.6063H5.74607V7.13509H3.40917V14.6055V14.6063ZM6.08043 4.69833C6.08484 4.89301 6.04923 5.08659 5.97571 5.2677C5.90218 5.44881 5.79221 5.61381 5.65226 5.75301C5.51231 5.89221 5.34519 6.00281 5.16072 6.07832C4.97624 6.15382 4.77812 6.19272 4.57798 6.19272C4.37784 6.19272 4.17972 6.15382 3.99524 6.07832C3.81077 6.00281 3.64365 5.89221 3.5037 5.75301C3.36375 5.61381 3.25378 5.44881 3.18025 5.2677C3.10673 5.08659 3.07112 4.89301 3.07553 4.69833C3.08418 4.3162 3.24627 3.95256 3.52709 3.68527C3.80791 3.41799 4.18514 3.26833 4.57798 3.26833C4.97082 3.26833 5.34805 3.41799 5.62887 3.68527C5.90969 3.95256 6.07178 4.3162 6.08043 4.69833Z\"\n />\n </svg>\n );\n\n if (withWrapper) {\n return <SocialIconWrapper>{icon}</SocialIconWrapper>;\n }\n return icon;\n};\n\nexport const InstagramIcon = ({\n className = \"\",\n size = 18,\n withWrapper = true,\n}: SocialIconProps) => {\n const icon = (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"#BFBFBF\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path d=\"M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zm0-2.163c-3.259 0-3.667.014-4.947.072-4.358.2-6.78 2.618-6.98 6.98-.059 1.281-.073 1.689-.073 4.948 0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98-1.281-.059-1.69-.073-4.949-.073zm0 5.838c-3.403 0-6.162 2.759-6.162 6.162s2.759 6.163 6.162 6.163 6.162-2.759 6.162-6.163c0-3.403-2.759-6.162-6.162-6.162zm0 10.162c-2.209 0-4-1.79-4-4 0-2.209 1.791-4 4-4s4 1.791 4 4c0 2.21-1.791 4-4 4zm6.406-11.845c-.796 0-1.441.645-1.441 1.44s.645 1.44 1.441 1.44c.795 0 1.439-.645 1.439-1.44s-.644-1.44-1.439-1.44z\" />\n </svg>\n );\n\n if (withWrapper) {\n return <SocialIconWrapper>{icon}</SocialIconWrapper>;\n }\n return icon;\n};\n"]}
|