@fairmint/ui 0.3.42 → 0.4.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/dist/_virtual/index3.cjs +5 -3
- package/dist/_virtual/index3.cjs.map +1 -1
- package/dist/_virtual/index3.js +5 -2
- package/dist/_virtual/index3.js.map +1 -1
- package/dist/_virtual/index4.cjs +3 -5
- package/dist/_virtual/index4.cjs.map +1 -1
- package/dist/_virtual/index4.js +2 -5
- package/dist/_virtual/index4.js.map +1 -1
- package/dist/components/FairmintLogo/FairmintLogoMark.cjs.map +1 -1
- package/dist/components/FairmintLogo/FairmintLogoMark.d.ts +1 -1
- package/dist/components/FairmintLogo/FairmintLogoMark.js.map +1 -1
- package/dist/components/FairmintLogo/FairmintLogoMarkRounded.cjs +16 -7
- package/dist/components/FairmintLogo/FairmintLogoMarkRounded.cjs.map +1 -1
- package/dist/components/FairmintLogo/FairmintLogoMarkRounded.d.ts +17 -8
- package/dist/components/FairmintLogo/FairmintLogoMarkRounded.d.ts.map +1 -1
- package/dist/components/FairmintLogo/FairmintLogoMarkRounded.js +16 -7
- package/dist/components/FairmintLogo/FairmintLogoMarkRounded.js.map +1 -1
- package/dist/components/layout/AppHeader/AppHeader.cjs.map +1 -1
- package/dist/components/layout/AppHeader/AppHeader.d.ts +2 -2
- package/dist/components/layout/AppHeader/AppHeader.d.ts.map +1 -1
- package/dist/components/layout/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/layout/SideNav/studioNavFixtures.d.ts +2 -2
- package/dist/components/layout/SideNav/studioNavFixtures.d.ts.map +1 -1
- package/dist/components/primitives/muiCompat.cjs +34 -1
- package/dist/components/primitives/muiCompat.cjs.map +1 -1
- package/dist/components/primitives/muiCompat.d.ts +1 -1
- package/dist/components/primitives/muiCompat.d.ts.map +1 -1
- package/dist/components/primitives/muiCompat.js +34 -1
- package/dist/components/primitives/muiCompat.js.map +1 -1
- package/dist/components/specific/EquityRibbonChart/FairmintRibbonMark.cjs.map +1 -1
- package/dist/components/specific/EquityRibbonChart/FairmintRibbonMark.d.ts +2 -1
- package/dist/components/specific/EquityRibbonChart/FairmintRibbonMark.d.ts.map +1 -1
- package/dist/components/specific/EquityRibbonChart/FairmintRibbonMark.js.map +1 -1
- package/dist/fairmint-ui.cjs +0 -2
- package/dist/fairmint-ui.cjs.map +1 -1
- package/dist/fairmint-ui.js +0 -2
- package/dist/fairmint-ui.js.map +1 -1
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/node_modules/@mantine/form/esm/hooks/use-form-status/use-form-status.cjs +1 -1
- package/dist/node_modules/@mantine/form/esm/hooks/use-form-status/use-form-status.js +1 -1
- package/dist/node_modules/prop-types/index.cjs +1 -1
- package/dist/node_modules/prop-types/index.js +1 -1
- package/dist/styles.css +79 -79
- package/package.json +1 -1
- package/dist/components/FairmintLogo/FairmintBrandLogo.cjs +0 -66
- package/dist/components/FairmintLogo/FairmintBrandLogo.cjs.map +0 -1
- package/dist/components/FairmintLogo/FairmintBrandLogo.d.ts +0 -46
- package/dist/components/FairmintLogo/FairmintBrandLogo.d.ts.map +0 -1
- package/dist/components/FairmintLogo/FairmintBrandLogo.js +0 -66
- package/dist/components/FairmintLogo/FairmintBrandLogo.js.map +0 -1
- package/dist/components/FairmintLogo/brandLogoLayout.cjs +0 -25
- package/dist/components/FairmintLogo/brandLogoLayout.cjs.map +0 -1
- package/dist/components/FairmintLogo/brandLogoLayout.d.ts +0 -19
- package/dist/components/FairmintLogo/brandLogoLayout.d.ts.map +0 -1
- package/dist/components/FairmintLogo/brandLogoLayout.js +0 -25
- package/dist/components/FairmintLogo/brandLogoLayout.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"muiCompat.cjs","sources":["../../../src/components/primitives/muiCompat.tsx"],"sourcesContent":["// biome-ignore-all lint/suspicious/noExplicitAny: Compatibility adapters mirror external prop shapes.\nimport {\n Center,\n Flex,\n Group,\n Accordion as MantineAccordion,\n Box as MantineBox,\n Container as MantineContainer,\n Grid as MantineGrid,\n List as MantineList,\n Menu as MantineMenu,\n Modal as MantineModal,\n MultiSelect as MantineMultiSelect,\n Select as MantineSelect,\n Stack as MantineStack,\n Table as MantineTable,\n Tabs as MantineTabs,\n Paper,\n Text,\n TextInput,\n Title,\n} from \"@mantine/core\";\nimport { DateInput } from \"@mantine/dates\";\nimport { useMediaQuery as useMantineMediaQuery } from \"@mantine/hooks\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport type {\n ComponentProps,\n CSSProperties,\n ElementType,\n FocusEvent,\n ReactElement,\n ReactNode,\n Ref,\n} from \"react\";\nimport {\n Children,\n cloneElement,\n createContext,\n createElement,\n isValidElement,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { brandColors, commonColors, fairmintVars, semanticColors, theme } from \"../../theme\";\nimport { ActionIcon } from \"./ActionIcon/ActionIcon\";\nimport { Alert } from \"./Alert/Alert\";\nimport { Avatar } from \"./Avatar/Avatar\";\nimport { Badge } from \"./Badge/Badge\";\nimport { Button } from \"./Button/Button\";\nimport { Card } from \"./Card/Card\";\nimport { Checkbox } from \"./Checkbox/Checkbox\";\nimport { Loader } from \"./Loader/Loader\";\nimport { Skeleton } from \"./Skeleton/Skeleton\";\nimport { Switch } from \"./Switch/Switch\";\nimport { type Sx as PrimitiveSx, sxToStyle as primitiveSxToStyle } from \"./sx\";\nimport { Textarea } from \"./Textarea/Textarea\";\nimport { Tooltip } from \"./Tooltip/Tooltip\";\n\ndayjs.extend(customParseFormat);\n\ntype SxEntry = CSSProperties | false | null | undefined;\ntype Sx = CSSProperties | SxEntry[] | ((theme: unknown) => CSSProperties | SxEntry[]);\n\nconst compatBreakpointKeys = [\"xs\", \"sm\", \"md\", \"lg\", \"xl\"] as const;\ntype CompatBreakpointKey = (typeof compatBreakpointKeys)[number];\nconst compatFallbackBreakpoints: Record<CompatBreakpointKey, string> = {\n xs: \"30em\",\n sm: \"48em\",\n md: \"64em\",\n lg: \"74em\",\n xl: \"90em\",\n};\nconst compatBreakpointWidth = (key: CompatBreakpointKey | string) =>\n compatBreakpointKeys.includes(key as CompatBreakpointKey)\n ? theme.breakpoints?.[key as CompatBreakpointKey] ||\n compatFallbackBreakpoints[key as CompatBreakpointKey]\n : key;\nconst compatBreakpoints = {\n down: (key: CompatBreakpointKey | string) => `@media (max-width: ${compatBreakpointWidth(key)})`,\n up: (key: CompatBreakpointKey | string) => `@media (min-width: ${compatBreakpointWidth(key)})`,\n};\n\nconst compatColorMap: Record<string, string> = {\n action: fairmintVars.colorIconSecondary,\n \"action.active\": fairmintVars.colorIconPrimary,\n \"action.selected\": fairmintVars.colorBgSelected,\n brand: fairmintVars.colorBrandPrimary,\n default: fairmintVars.colorTextSecondary,\n disabled: fairmintVars.colorTextDisabled,\n error: fairmintVars.colorErrorText,\n \"error.main\": fairmintVars.colorErrorText,\n info: fairmintVars.colorInfoText,\n \"info.darkest\": fairmintVars.colorInfoSolid,\n inherit: \"inherit\",\n primary: fairmintVars.colorBrandPrimary,\n secondary: fairmintVars.colorTextSecondary,\n success: fairmintVars.colorSuccessText,\n \"success.dark\": fairmintVars.colorSuccessSolid,\n \"text.disabled\": fairmintVars.colorTextDisabled,\n \"text.primary\": fairmintVars.colorTextPrimary,\n \"text.secondary\": fairmintVars.colorTextSecondary,\n warning: fairmintVars.colorWarningText,\n \"warning.darkest\": fairmintVars.colorWarningSolid,\n};\n\nconst resolveCompatColor = (color: unknown): string | undefined => {\n if (typeof color !== \"string\" || !color) return undefined;\n return compatColorMap[color] || color;\n};\n\nconst isStyleRecord = (value: unknown): value is CSSProperties =>\n Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n\nconst normalizeSxEntries = (sx: CSSProperties | SxEntry[]): CSSProperties[] =>\n Array.isArray(sx) ? sx.filter(isStyleRecord) : [sx];\n\nconst nodeToText = (node: ReactNode): string => {\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\n if (Array.isArray(node)) return node.map(nodeToText).join(\"\");\n if (isValidElement(node)) return nodeToText((node as any).props.children);\n return \"\";\n};\n\nconst cssStyleObjectToInlineStyle = (sx?: CSSProperties | SxEntry[]): CSSProperties | undefined => {\n if (!sx) return undefined;\n const styleEntries = normalizeSxEntries(sx).flatMap((entry) =>\n Object.entries(entry).filter(\n ([key, value]) => !key.startsWith(\"&\") && !key.startsWith(\"@\") && typeof value !== \"object\",\n ),\n );\n\n return Object.fromEntries(styleEntries);\n};\n\nconst sxToStyle = (sx?: PrimitiveSx | Sx): CSSProperties | undefined =>\n primitiveSxToStyle(sx as PrimitiveSx | undefined);\n\nconst hasNestedStyle = (sx: CSSProperties | SxEntry[]) =>\n normalizeSxEntries(sx).some((entry) =>\n Object.entries(entry).some(\n ([key, value]) => (key.startsWith(\"&\") || key.startsWith(\"@\")) && isObjectRecord(value),\n ),\n );\n\nconst mapCompatSize = (size: unknown) => {\n if (size === \"small\") return \"sm\";\n if (size === \"medium\") return \"md\";\n if (size === \"large\") return \"lg\";\n if (size === \"xs\" || size === \"sm\" || size === \"md\" || size === \"lg\" || size === \"xl\") {\n return size;\n }\n\n return undefined;\n};\nconst mapCompatIconButtonSize = (size: unknown) =>\n size === \"small\" ? \"sm\" : size === \"medium\" ? \"md\" : size === \"large\" ? \"lg\" : size;\nconst optionalBoolean = (value: unknown) => (typeof value === \"boolean\" ? value : undefined);\nconst optionalString = (value: unknown) => (typeof value === \"string\" ? value : undefined);\nconst inputControlValue = (value: unknown) =>\n typeof value === \"string\" || typeof value === \"number\" || Array.isArray(value)\n ? value\n : undefined;\nconst assignCompatRef = <T,>(ref: Ref<T> | undefined, value: T | null) => {\n if (typeof ref === \"function\") {\n ref(value);\n return;\n }\n if (ref && \"current\" in ref) {\n ref.current = value;\n }\n};\n\nconst formControlStyle = ({\n fullWidth,\n style,\n sx,\n}: {\n fullWidth?: boolean;\n style?: CSSProperties;\n sx?: PrimitiveSx | Sx;\n}) => ({\n ...(fullWidth ? { width: \"100%\" } : {}),\n ...sxToStyle(sx),\n ...style,\n});\n\nconst composeEventHandlers =\n (...handlers: Array<((event: any) => void) | undefined>) =>\n (event: any) => {\n for (const handler of handlers) {\n handler?.(event);\n }\n };\n\nconst composeOptionalEventHandlers = (...handlers: Array<((event: any) => void) | undefined>) =>\n handlers.some(Boolean) ? composeEventHandlers(...handlers) : undefined;\n\nconst forwardedAutocompleteInputProps = new Set([\n \"autoComplete\",\n \"autoFocus\",\n \"disabled\",\n \"id\",\n \"name\",\n \"onBlur\",\n \"onFocus\",\n \"onKeyDown\",\n \"onKeyPress\",\n \"onKeyUp\",\n \"placeholder\",\n \"readOnly\",\n \"required\",\n \"title\",\n]);\n\nconst pickAutocompleteInputProps = (...sources: Array<Record<string, any> | undefined>) => {\n const result: Record<string, any> = {};\n\n sources.forEach((source) => {\n if (!source) return;\n\n Object.entries(source).forEach(([key, value]) => {\n if (\n key.startsWith(\"aria-\") ||\n key.startsWith(\"data-\") ||\n forwardedAutocompleteInputProps.has(key)\n ) {\n result[key] = value;\n }\n });\n });\n\n return result;\n};\n\nconst sizeValue = (value: unknown) => (typeof value === \"number\" ? value : undefined);\n\nexport type SxProps<T = unknown> = any & T;\nexport type Theme = any;\n\ntype CompatClassNames = Record<string, string | undefined> | ((...args: unknown[]) => unknown);\ntype CompatStyles = Record<string, CSSProperties | undefined>;\ntype CompatInputProps = object & {\n disabled?: boolean;\n endAdornment?: ReactNode;\n inputProps?: object;\n notched?: boolean;\n readOnly?: boolean;\n startAdornment?: ReactNode;\n};\ntype SelectChangeEvent = {\n currentTarget: { name?: unknown; value: string };\n target: { name?: unknown; value: string };\n};\ntype TextFieldValue = unknown;\ntype TextFieldInputRef = Ref<HTMLInputElement | HTMLTextAreaElement>;\n\ninterface DialogPaperProps extends Record<string, unknown> {\n className?: string;\n component?: ElementType;\n elevation?: unknown;\n style?: CSSProperties;\n sx?: Sx;\n}\n\ninterface DialogProps\n extends Omit<\n ComponentProps<typeof MantineModal.Root>,\n \"children\" | \"classNames\" | \"onClose\" | \"opened\" | \"size\" | \"style\" | \"styles\"\n > {\n centered?: boolean;\n children?: ReactNode;\n classNames?: CompatClassNames;\n closeButtonProps?: ComponentProps<typeof MantineModal.CloseButton>;\n closeOnEscape?: boolean;\n disableEscapeKeyDown?: boolean;\n fullWidth?: boolean;\n maxWidth?: boolean | number | string;\n onClose?: (event: typeof dialogCloseEvent, reason: DialogCloseReason) => void;\n open?: boolean;\n overlayProps?: ComponentProps<typeof MantineModal.Overlay>;\n PaperProps?: DialogPaperProps;\n shadow?: ComponentProps<typeof MantineModal.Content>[\"shadow\"];\n style?: CSSProperties;\n styles?: CompatStyles;\n sx?: Sx;\n title?: ReactNode;\n withCloseButton?: boolean;\n withOverlay?: boolean;\n}\n\nexport interface TextFieldProps extends Record<string, unknown> {\n children?: ReactNode;\n defaultValue?: TextFieldValue;\n endAdornment?: ReactNode;\n error?: boolean;\n fullWidth?: boolean;\n helperText?: ReactNode;\n inputProps?: object;\n InputLabelProps?: object;\n inputRef?: TextFieldInputRef;\n InputProps?: CompatInputProps;\n label?: ReactNode;\n multiline?: boolean;\n onChange?: (event: SelectChangeEvent) => void;\n placeholder?: string;\n select?: boolean;\n size?: unknown;\n startAdornment?: ReactNode;\n style?: CSSProperties;\n styles?: CompatStyles;\n sx?: PrimitiveSx;\n value?: TextFieldValue;\n variant?: unknown;\n}\n\ntype ParsedColor = {\n r: number;\n g: number;\n b: number;\n a?: number;\n};\n\nconst clamp = (value: number, min: number, max: number) => Math.min(max, Math.max(min, value));\n\nconst clampRatio = (value = 0) => clamp(value, 0, 1);\n\nconst formatRatio = (value: number) => Number(clampRatio(value).toFixed(3)).toString();\n\nconst formatPercent = (value: number) => Number(clamp(value, 0, 100).toFixed(3)).toString();\n\nconst formatRgba = ({ r, g, b }: ParsedColor, value: number) =>\n `rgba(${r}, ${g}, ${b}, ${formatRatio(value)})`;\n\nconst formatColor = ({ r, g, b, a }: ParsedColor) =>\n a === undefined || a >= 1 ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${formatRatio(a)})`;\n\nconst normalizeChannel = (value: string) => {\n if (value.endsWith(\"%\")) return Math.round((clamp(Number.parseFloat(value), 0, 100) / 100) * 255);\n return Math.round(clamp(Number.parseFloat(value), 0, 255));\n};\n\nconst normalizeAlpha = (value: string | undefined) => {\n if (value === undefined) return undefined;\n if (value.endsWith(\"%\")) return clampRatio(Number.parseFloat(value) / 100);\n return clampRatio(Number.parseFloat(value));\n};\n\nconst splitWhitespace = (value: string) => {\n const tokens: string[] = [];\n let current = \"\";\n\n for (const char of value) {\n if (char === \" \" || char === \"\\n\" || char === \"\\r\" || char === \"\\t\") {\n if (current) tokens.push(current);\n current = \"\";\n } else {\n current += char;\n }\n }\n\n if (current) tokens.push(current);\n return tokens;\n};\n\nconst parseHexColor = (color: string): ParsedColor | undefined => {\n const hex = color.trim().replace(/^#/, \"\");\n if (![3, 4, 6, 8].includes(hex.length) || !/^[\\da-f]+$/i.test(hex)) return undefined;\n\n const normalized =\n hex.length === 3 || hex.length === 4\n ? Array.from(hex)\n .map((char) => `${char}${char}`)\n .join(\"\")\n : hex;\n\n return {\n r: Number.parseInt(normalized.slice(0, 2), 16),\n g: Number.parseInt(normalized.slice(2, 4), 16),\n b: Number.parseInt(normalized.slice(4, 6), 16),\n a:\n normalized.length === 8\n ? clampRatio(Number.parseInt(normalized.slice(6, 8), 16) / 255)\n : undefined,\n };\n};\n\nconst parseRgbColor = (color: string): ParsedColor | undefined => {\n const trimmed = color.trim();\n const lower = trimmed.toLowerCase();\n const openParenIndex = trimmed.indexOf(\"(\");\n\n if (\n openParenIndex === -1 ||\n !trimmed.endsWith(\")\") ||\n (!lower.startsWith(\"rgb(\") && !lower.startsWith(\"rgba(\"))\n ) {\n return undefined;\n }\n\n const body = trimmed.slice(openParenIndex + 1, -1).trim();\n const slashIndex = body.indexOf(\"/\");\n const channelBody = slashIndex === -1 ? body : body.slice(0, slashIndex).trim();\n const slashAlpha = slashIndex === -1 ? undefined : body.slice(slashIndex + 1).trim();\n const parts = channelBody.includes(\",\")\n ? channelBody\n .split(\",\")\n .map((part) => part.trim())\n .filter(Boolean)\n : splitWhitespace(channelBody);\n const alphaValue = slashAlpha ?? (parts.length > 3 ? parts[3] : undefined);\n\n if (parts.length < 3) return undefined;\n\n return {\n r: normalizeChannel(parts[0] ?? \"0\"),\n g: normalizeChannel(parts[1] ?? \"0\"),\n b: normalizeChannel(parts[2] ?? \"0\"),\n a: normalizeAlpha(alphaValue),\n };\n};\n\nconst parseColor = (color: string) => parseHexColor(color) ?? parseRgbColor(color);\n\nconst mixChannel = (channel: number, target: number, coefficient: number) =>\n Math.round(channel + (target - channel) * clampRatio(coefficient));\n\nconst mixColor = (color: ParsedColor, target: 0 | 255, coefficient = 0.2) =>\n formatColor({\n r: mixChannel(color.r, target, coefficient),\n g: mixChannel(color.g, target, coefficient),\n b: mixChannel(color.b, target, coefficient),\n a: color.a,\n });\n\nconst hashString = (value: string) =>\n Array.from(value)\n .reduce((result, char) => (result * 31 + char.charCodeAt(0)) >>> 0, 0)\n .toString(36);\n\nconst cssPropertyName = (property: string) =>\n property.replace(/[A-Z]/g, (char) => `-${char.toLowerCase()}`);\n\nconst cssPropertyValue = (value: string | number) =>\n typeof value === \"number\" ? `${value}px` : value;\n\nconst styleObjectToCss = (selector: string, sx: CSSProperties | SxEntry[]): string => {\n const declarations: string[] = [];\n const nestedRules: string[] = [];\n\n normalizeSxEntries(sx).forEach((entry) => {\n Object.entries(entry).forEach(([key, value]) => {\n if (key.startsWith(\"&\") && isObjectRecord(value)) {\n nestedRules.push(styleObjectToCss(key.replace(/&/g, selector), value));\n return;\n }\n\n if (key.startsWith(\"@\") && isObjectRecord(value)) {\n nestedRules.push(`${key}{${styleObjectToCss(selector, value)}}`);\n return;\n }\n\n if (typeof value === \"string\" || typeof value === \"number\") {\n declarations.push(`${cssPropertyName(key)}:${cssPropertyValue(value)};`);\n }\n });\n });\n\n return `${selector}{${declarations.join(\"\")}}${nestedRules.join(\"\")}`;\n};\n\nconst ensureCompatStyleClass = (sx: CSSProperties | SxEntry[]) => {\n if (!hasNestedStyle(sx)) return undefined;\n\n const className = `fm-styled-${hashString(JSON.stringify(sx))}`;\n const styleId = `${className}-style`;\n\n if (typeof document !== \"undefined\" && !document.getElementById(styleId)) {\n const style = document.createElement(\"style\");\n style.id = styleId;\n style.textContent = styleObjectToCss(`.${className}`, sx);\n document.head.appendChild(style);\n }\n\n return className;\n};\n\nexport const alpha = (color: string, value = 1) => {\n const parsedColor = parseColor(color);\n if (parsedColor) return formatRgba(parsedColor, value);\n return `color-mix(in srgb, ${color} ${formatPercent(clampRatio(value) * 100)}%, transparent)`;\n};\n\nexport const darken = (color: string, coefficient = 0.2) => {\n const parsedColor = parseColor(color);\n if (parsedColor) return mixColor(parsedColor, 0, coefficient);\n return `color-mix(in srgb, ${color} ${formatPercent((1 - clampRatio(coefficient)) * 100)}%, black)`;\n};\n\nexport const lighten = (color: string, coefficient = 0.2) => {\n const parsedColor = parseColor(color);\n if (parsedColor) return mixColor(parsedColor, 255, coefficient);\n return `color-mix(in srgb, ${color} ${formatPercent((1 - clampRatio(coefficient)) * 100)}%, white)`;\n};\n\n/**\n * Injects keyframes into document.head at runtime for styled-component compatibility.\n * On the server it only returns the generated animation name; strict CSP consumers\n * should prefer static CSS classes.\n */\nexport const keyframes = (strings: TemplateStringsArray | string[], ...values: unknown[]) => {\n const body = strings.reduce(\n (result, part, index) => `${result}${part}${values[index] ?? \"\"}`,\n \"\",\n );\n const hash = hashString(body);\n const name = `fm-keyframes-${hash}`;\n\n if (typeof document !== \"undefined\" && !document.getElementById(name)) {\n const style = document.createElement(\"style\");\n style.id = name;\n style.textContent = `@keyframes ${name} { ${body} }`;\n document.head.appendChild(style);\n }\n\n return name;\n};\nconst compatTheme = {\n breakpoints: compatBreakpoints,\n palette: {\n action: {\n active: fairmintVars.colorIconPrimary,\n hover: fairmintVars.colorBgHover,\n selected: fairmintVars.colorBgSelected,\n },\n background: { default: fairmintVars.colorBgCanvas, paper: fairmintVars.colorBgSurface },\n common: { black: commonColors.black, white: commonColors.white },\n divider: fairmintVars.colorBorderDefault,\n error: { main: fairmintVars.colorErrorText },\n grey: {\n 50: fairmintVars.colorBgSurfaceSecondary,\n 100: fairmintVars.colorBgHover,\n 500: fairmintVars.colorTextSecondary,\n 900: fairmintVars.colorTextPrimary,\n },\n info: { main: fairmintVars.colorInfoText },\n mode: \"light\",\n primary: {\n contrastText: commonColors.white,\n dark: fairmintVars.colorBrandPrimaryHover,\n light: fairmintVars.colorBrandPrimaryActive,\n main: fairmintVars.colorBrandPrimary,\n },\n secondary: { main: fairmintVars.colorTextSecondary },\n success: { main: fairmintVars.colorSuccessText },\n text: {\n disabled: fairmintVars.colorTextDisabled,\n primary: fairmintVars.colorTextPrimary,\n secondary: fairmintVars.colorTextSecondary,\n },\n warning: { main: fairmintVars.colorWarningText },\n },\n shape: { borderRadius: 4 },\n spacing: (...values: Array<number | string>) =>\n values.map((value) => (typeof value === \"number\" ? `${value * 8}px` : value)).join(\" \"),\n transitions: {\n create: (\n props: string | string[],\n options?: { duration?: number | string; easing?: string },\n ) => {\n const properties = Array.isArray(props) ? props : [props];\n const duration = options?.duration ?? \"150ms\";\n const easing = options?.easing ?? \"ease\";\n\n return properties.map((property) => `${property} ${duration} ${easing}`).join(\",\");\n },\n },\n};\n\nconst isObjectRecord = (value: unknown): value is Record<string, any> =>\n typeof value === \"object\" && value !== null && !Array.isArray(value);\n\nconst mergeCompatTheme = (base: any, ...overrides: unknown[]): any => {\n const merged = { ...base };\n\n for (const override of overrides) {\n if (!isObjectRecord(override)) continue;\n\n for (const [key, value] of Object.entries(override)) {\n const baseValue = merged[key];\n merged[key] =\n isObjectRecord(baseValue) && isObjectRecord(value)\n ? mergeCompatTheme(baseValue, value)\n : value;\n }\n }\n\n return merged;\n};\n\nconst CompatThemeContext = createContext(compatTheme);\n\nexport const createTheme = (...overrides: unknown[]) => mergeCompatTheme(compatTheme, ...overrides);\nexport const responsiveFontSizes = (theme: unknown) => theme;\nexport const CssBaseline = () => null;\nexport const common = commonColors;\nexport const inputLabelClasses = { root: \"fm-input-label-root\" };\nexport const tableCellClasses = { root: \"fm-table-cell-root\" };\nexport const backdropClasses = { root: \"fm-backdrop-root\" };\nexport const filledInputClasses = { root: \"fm-filled-input-root\" };\nexport const outlinedInputClasses = { root: \"fm-outlined-input-root\" };\nexport const paperClasses = { root: \"fm-paper-root\" };\nexport const styled =\n (Component: any) =>\n (styles: any) =>\n ({ sx, style, ...props }: any) => {\n const currentTheme = useTheme();\n const computedStyles =\n typeof styles === \"function\"\n ? styles({ ...currentTheme, theme: currentTheme, ...props })\n : styles;\n const resolvedStyle = {\n ...cssStyleObjectToInlineStyle(computedStyles),\n ...sxToStyle(sx),\n ...style,\n };\n const nestedClassName = ensureCompatStyleClass(computedStyles);\n const className = [props.className, nestedClassName].filter(Boolean).join(\" \");\n\n if (typeof Component === \"string\") {\n return <Component {...props} className={className || undefined} style={resolvedStyle} />;\n }\n\n return (\n <Component\n {...props}\n className={className || undefined}\n sx={{ ...computedStyles, ...sx }}\n style={resolvedStyle}\n />\n );\n };\nexport const ThemeProvider = ({\n children,\n theme: providedTheme,\n}: {\n children: ReactNode;\n theme?: unknown;\n}) => {\n const parentTheme = useTheme();\n const resolvedTheme = useMemo(\n () => mergeCompatTheme(parentTheme, providedTheme),\n [parentTheme, providedTheme],\n );\n\n return (\n <CompatThemeContext.Provider value={resolvedTheme}>{children}</CompatThemeContext.Provider>\n );\n};\nexport const useTheme = () => useContext(CompatThemeContext);\n\nexport const Typography = ({\n align,\n children,\n className,\n color,\n component,\n noWrap,\n sx,\n variant,\n ...props\n}: any) => {\n const Component = variant?.startsWith?.(\"h\") ? Title : Text;\n const order = variant?.startsWith?.(\"h\") ? Number(variant.slice(1)) : undefined;\n const resolvedColor = resolveCompatColor(color);\n return (\n <Component\n {...(resolvedColor ? { c: resolvedColor } : {})}\n className={[\n \"fairmint-typography-root\",\n typeof variant === \"string\" ? `fairmint-typography-${variant}` : undefined,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n component={component}\n order={order}\n style={{\n ...sxToStyle(sx),\n ...(noWrap ? { overflow: \"hidden\", textOverflow: \"ellipsis\", whiteSpace: \"nowrap\" } : {}),\n }}\n ta={align}\n {...props}\n >\n {children}\n </Component>\n );\n};\n\nexport const IconButton = ({\n children,\n className,\n color = \"default\",\n edge,\n size,\n sx,\n ...props\n}: any) => (\n <ActionIcon\n className={[\n \"MuiIconButton-root\",\n \"fairmint-icon-button-root\",\n `MuiIconButton-color${String(color).charAt(0).toUpperCase()}${String(color).slice(1)}`,\n `fairmint-icon-button-color${String(color).charAt(0).toUpperCase()}${String(color).slice(1)}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n color={resolveCompatColor(color)}\n size={mapCompatIconButtonSize(size)}\n style={sxToStyle(sx)}\n {...props}\n >\n {children}\n </ActionIcon>\n);\n\nexport const CircularProgress = ({ size, sx, ...props }: any) => (\n <Loader size={sizeValue(size) || \"sm\"} style={sxToStyle(sx)} {...props} />\n);\n\nexport const CardHeader = ({ action, subheader, title, titleTypographyProps }: any) => (\n <Group justify=\"space-between\" align=\"flex-start\" mb=\"md\">\n <div>\n <Title order={3} size=\"h5\" {...titleTypographyProps}>\n {title}\n </Title>\n {subheader && (\n <Text c={resolveCompatColor(\"text.secondary\")} size=\"sm\">\n {subheader}\n </Text>\n )}\n </div>\n {action}\n </Group>\n);\n\nexport const CardContent = ({ children, sx, ...props }: any) => (\n <MantineBox style={sxToStyle(sx)} {...props}>\n {children}\n </MantineBox>\n);\n\nexport const CardActions = ({ children, sx, ...props }: any) => (\n <Group style={sxToStyle(sx)} {...props}>\n {children}\n </Group>\n);\n\nconst dialogMaxWidthBySize: Record<string, number> = {\n lg: 1200,\n md: 900,\n sm: 600,\n xl: 1536,\n xs: 444,\n};\n\nconst dialogPaperStyleFromSx = (sx?: Sx) => {\n if (!sx) return undefined;\n const resolved = typeof sx === \"function\" ? sx(compatTheme) : sx;\n const paperSx =\n (resolved as Record<string, unknown>)[\"& .fairmint-dialog-content\"] ||\n (resolved as Record<string, unknown>)[\"& .MuiDialog-paper\"];\n\n return paperSx && typeof paperSx === \"object\" ? sxToStyle(paperSx as Sx) : undefined;\n};\n\nconst resolveDialogSize = (maxWidth: unknown, paperStyle?: CSSProperties) => {\n if (paperStyle?.maxWidth) return paperStyle.maxWidth;\n if (maxWidth === false) return \"100%\";\n if (typeof maxWidth === \"number\") return maxWidth;\n if (typeof maxWidth === \"string\") return dialogMaxWidthBySize[maxWidth] || maxWidth;\n\n return dialogMaxWidthBySize.sm;\n};\n\nconst dialogCloseEvent = { currentTarget: null, target: null };\ntype DialogCloseReason = \"backdropClick\" | \"escapeKeyDown\";\n\nexport const Dialog = ({\n centered,\n children,\n closeButtonProps,\n closeOnEscape,\n disableEscapeKeyDown,\n fullWidth,\n maxWidth,\n onClose,\n open,\n overlayProps,\n PaperProps,\n classNames,\n shadow,\n styles,\n sx,\n title,\n withCloseButton = true,\n withOverlay = true,\n ...props\n}: DialogProps) => {\n const {\n className: paperClassName,\n component: PaperComponent,\n elevation,\n style: paperInlineStyle,\n sx: paperSx,\n ...paperElementProps\n } = PaperProps || {};\n const paperStyle = {\n ...sxToStyle(paperSx),\n ...paperInlineStyle,\n ...dialogPaperStyleFromSx(sx),\n };\n const contentStyle = {\n ...(fullWidth ? { width: \"100%\" } : {}),\n ...paperStyle,\n ...styles?.content,\n };\n const classNameMap = typeof classNames === \"function\" ? undefined : classNames;\n const contentClassName = [\"fairmint-dialog-content\", classNameMap?.content, paperClassName]\n .filter(Boolean)\n .join(\" \");\n const bodyContent = PaperComponent\n ? createElement(PaperComponent, paperElementProps, children)\n : children;\n const contentProps = PaperComponent ? {} : paperElementProps;\n const hasHeader = Boolean(title) || withCloseButton;\n const closeReasonRef = useRef<DialogCloseReason>(\"escapeKeyDown\");\n const handleClose = () => {\n onClose?.(dialogCloseEvent, closeReasonRef.current);\n closeReasonRef.current = \"escapeKeyDown\";\n };\n\n return (\n <MantineModal.Root\n centered={centered ?? true}\n closeOnEscape={disableEscapeKeyDown ? false : closeOnEscape}\n opened={!!open}\n onClose={handleClose}\n size={resolveDialogSize(maxWidth, paperStyle)}\n style={sxToStyle(sx)}\n classNames={{\n ...classNameMap,\n body: [\"fairmint-dialog-body\", classNameMap?.body].filter(Boolean).join(\" \"),\n content: contentClassName,\n inner: [\"fairmint-dialog-container\", classNameMap?.inner].filter(Boolean).join(\" \"),\n root: [\"fairmint-dialog-root\", classNameMap?.root].filter(Boolean).join(\" \"),\n }}\n styles={{ ...styles, content: contentStyle }}\n {...props}\n >\n {withOverlay && (\n <MantineModal.Overlay\n {...overlayProps}\n onClick={(event) => {\n closeReasonRef.current = \"backdropClick\";\n overlayProps?.onClick?.(event);\n }}\n onMouseDown={(event) => {\n closeReasonRef.current = \"backdropClick\";\n overlayProps?.onMouseDown?.(event);\n }}\n />\n )}\n <MantineModal.Content\n {...contentProps}\n className={contentClassName}\n shadow={shadow ?? (elevation ? \"xl\" : undefined)}\n style={contentStyle}\n >\n {hasHeader && (\n <MantineModal.Header className={classNameMap?.header}>\n {title && (\n <MantineModal.Title className={classNameMap?.title}>{title}</MantineModal.Title>\n )}\n {withCloseButton && (\n <MantineModal.CloseButton\n aria-label=\"Close\"\n {...closeButtonProps}\n onClick={(event) => {\n closeReasonRef.current = \"escapeKeyDown\";\n closeButtonProps?.onClick?.(event);\n }}\n className={[classNameMap?.close, closeButtonProps?.className]\n .filter(Boolean)\n .join(\" \")}\n />\n )}\n </MantineModal.Header>\n )}\n <MantineModal.Body\n className={[\"fairmint-dialog-body\", classNameMap?.body].filter(Boolean).join(\" \")}\n >\n {bodyContent}\n </MantineModal.Body>\n </MantineModal.Content>\n </MantineModal.Root>\n );\n};\n\nexport const DialogTitle = ({ children, sx, ...props }: any) => (\n <Title order={3} style={sxToStyle(sx)} {...props}>\n {children}\n </Title>\n);\n\nexport const DialogContent = ({ children, sx, ...props }: any) => (\n <MantineBox style={sxToStyle(sx)} {...props}>\n {children}\n </MantineBox>\n);\n\nexport const DialogActions = ({ children, sx, ...props }: any) => (\n <Group justify=\"flex-end\" style={sxToStyle(sx)} {...props}>\n {children}\n </Group>\n);\n\nexport const TableHead = MantineTable.Thead;\nexport const TableBody = MantineTable.Tbody;\nexport const TableRow = ({ hover: _hover, style, sx, ...props }: any) => (\n <MantineTable.Tr style={{ ...sxToStyle(sx), ...style }} {...props} />\n);\nexport const TableCell = ({ align, children, component, style, sx, ...props }: any) => {\n const CellComponent = component === \"th\" ? MantineTable.Th : MantineTable.Td;\n\n return (\n <CellComponent ta={align} style={{ ...sxToStyle(sx), ...style }} {...props}>\n {children}\n </CellComponent>\n );\n};\n\nexport {\n TablePagination,\n type TablePaginationProps,\n type TablePaginationRowsPerPageOption,\n} from \"../generic/TablePagination/TablePagination\";\n\nconst isTabsListChild = (child: ReactNode) =>\n isValidElement(child) && child.type === MantineTabs.List;\n\nconst isTabLabelChild = (child: ReactNode) =>\n isValidElement(child) &&\n (() => {\n const props = child.props as { label?: unknown; value?: unknown };\n return (\n child.type === MantineTabs.Tab ||\n (typeof child.type !== \"string\" &&\n \"label\" in props &&\n \"value\" in props &&\n child.type !== MantineTabs.Panel)\n );\n })();\n\nexport const Tabs = ({\n children,\n className,\n classNames,\n indicatorColor: _indicatorColor,\n onChange,\n scrollButtons,\n textColor: _textColor,\n value,\n variant,\n ...props\n}: any) => {\n const classNameMap = typeof classNames === \"function\" ? undefined : classNames;\n const childArray = Children.toArray(children);\n const explicitList = childArray.find(isTabsListChild);\n const tabChildren = explicitList\n ? undefined\n : childArray.filter((child) => isTabLabelChild(child));\n const panelChildren = explicitList\n ? childArray.filter((child) => !isTabsListChild(child))\n : childArray.filter((child) => !isTabLabelChild(child));\n\n return (\n <MantineTabs\n className={[\"fairmint-tabs-root\", className].filter(Boolean).join(\" \")}\n classNames={{\n ...classNameMap,\n list: [\"fairmint-tabs-list\", classNameMap?.list].filter(Boolean).join(\" \"),\n panel: [\"fairmint-tabs-panel\", classNameMap?.panel].filter(Boolean).join(\" \"),\n root: [\"fairmint-tabs-root\", classNameMap?.root].filter(Boolean).join(\" \"),\n tab: [\"fairmint-tab-root\", \"fairmint-tabs-tab\", classNameMap?.tab]\n .filter(Boolean)\n .join(\" \"),\n }}\n value={value}\n onChange={(next) => onChange?.({}, next)}\n variant={variant === \"scrollable\" ? \"default\" : variant}\n {...props}\n >\n {explicitList || (\n <MantineTabs.List\n className=\"fairmint-tabs-list\"\n style={\n variant === \"scrollable\" || scrollButtons\n ? { flexWrap: \"nowrap\", overflowX: \"auto\", overflowY: \"hidden\" }\n : undefined\n }\n >\n {tabChildren}\n </MantineTabs.List>\n )}\n {panelChildren}\n </MantineTabs>\n );\n};\nexport const Tab = ({ className, disableRipple: _disableRipple, label, value, ...props }: any) => (\n <MantineTabs.Tab\n className={[\"fairmint-tab-root\", className].filter(Boolean).join(\" \")}\n value={value}\n {...props}\n >\n {label}\n </MantineTabs.Tab>\n);\n\nconst resolveAnchorElement = (anchorEl: any): HTMLElement | undefined => {\n const resolvedAnchor = typeof anchorEl === \"function\" ? anchorEl() : anchorEl;\n if (typeof HTMLElement === \"undefined\") return undefined;\n return resolvedAnchor instanceof HTMLElement ? resolvedAnchor : undefined;\n};\n\nconst getAnchorStyle = (anchorEl: any): CSSProperties => {\n const anchor = resolveAnchorElement(anchorEl);\n if (!anchor)\n return { height: 0, left: 0, pointerEvents: \"none\", position: \"fixed\", top: 0, width: 0 };\n\n const rect = anchor.getBoundingClientRect();\n return {\n height: rect.height,\n left: rect.left,\n pointerEvents: \"none\",\n position: \"fixed\",\n top: rect.top,\n width: rect.width,\n };\n};\n\nconst useAnchorStyle = (anchorEl: any, open: boolean | undefined) => {\n const [style, setStyle] = useState<CSSProperties>(() => getAnchorStyle(anchorEl));\n\n useEffect(() => {\n const updateStyle = () => setStyle(getAnchorStyle(anchorEl));\n const anchor = resolveAnchorElement(anchorEl);\n\n updateStyle();\n if (!open || typeof window === \"undefined\") return undefined;\n\n window.addEventListener(\"scroll\", updateStyle, true);\n window.addEventListener(\"resize\", updateStyle);\n\n const resizeObserver =\n typeof ResizeObserver !== \"undefined\" && anchor ? new ResizeObserver(updateStyle) : undefined;\n if (resizeObserver && anchor) resizeObserver.observe(anchor);\n\n return () => {\n window.removeEventListener(\"scroll\", updateStyle, true);\n window.removeEventListener(\"resize\", updateStyle);\n resizeObserver?.disconnect();\n };\n }, [anchorEl, open]);\n\n return style;\n};\n\nexport const Menu = ({ anchorEl, children, onClose, open, ...props }: any) => {\n const anchorStyle = useAnchorStyle(anchorEl, open);\n const target = isValidElement(anchorEl) ? (\n anchorEl\n ) : (\n <span aria-hidden=\"true\" data-fairmint-menu-anchor=\"true\" style={anchorStyle} />\n );\n\n return (\n <MantineMenu opened={open} onChange={(next) => !next && onClose?.()} {...props}>\n <MantineMenu.Target>{target}</MantineMenu.Target>\n <MantineMenu.Dropdown>{children}</MantineMenu.Dropdown>\n </MantineMenu>\n );\n};\n\nexport const MenuItem = ({ children, component, disabled, onClick, value, ...props }: any) => {\n const Component: any = component || MantineMenu.Item;\n return (\n <Component disabled={disabled} onClick={onClick} value={value} {...props}>\n {children}\n </Component>\n );\n};\n\nexport const TextField = ({\n children,\n error,\n fullWidth,\n helperText,\n inputProps,\n InputProps,\n InputLabelProps: _InputLabelProps,\n inputRef,\n label,\n endAdornment,\n multiline,\n onChange,\n placeholder,\n select,\n size,\n startAdornment,\n style,\n styles,\n sx,\n defaultValue,\n value,\n variant: _variant,\n ...props\n}: TextFieldProps) => {\n const mantineSize = mapCompatSize(size);\n const resolvedStyle = formControlStyle({ fullWidth, style, sx });\n const { disabled, readOnly, ...fieldProps } = props;\n const mergedInputProps: Record<string, unknown> = {\n ...(InputProps?.inputProps || {}),\n ...(inputProps || {}),\n };\n const {\n disabled: inputDisabled,\n readOnly: inputReadOnly,\n ...passthroughInputProps\n } = mergedInputProps;\n const resolvedDisabled =\n optionalBoolean(disabled) ??\n optionalBoolean(InputProps?.disabled) ??\n optionalBoolean(inputDisabled);\n const resolvedReadOnly =\n optionalBoolean(readOnly) ??\n optionalBoolean(InputProps?.readOnly) ??\n optionalBoolean(inputReadOnly);\n const helperDescription = error ? undefined : helperText || undefined;\n const ariaLabel =\n optionalString(fieldProps[\"aria-label\"]) || optionalString(passthroughInputProps[\"aria-label\"]);\n const textInputRef = inputRef\n ? (node: HTMLInputElement | HTMLTextAreaElement | null) => assignCompatRef(inputRef, node)\n : undefined;\n\n if (select) {\n const data = Children.toArray(children)\n .filter((child): child is ReactElement<{ children?: ReactNode; value?: unknown }> =>\n isValidElement(child),\n )\n .map((child) => ({\n label: nodeToText(child.props.children),\n originalValue: child.props.value,\n value: String(child.props.value),\n }));\n const optionValuesByString = new Map(\n data.map((option) => [option.value, option.originalValue]),\n );\n\n return (\n <MantineSelect\n data={data.map(({ label, value }) => ({ label, value }))}\n defaultValue={defaultValue == null ? undefined : String(defaultValue)}\n value={value === undefined ? undefined : value == null ? null : String(value)}\n onChange={(next) => {\n const originalValue =\n next == null\n ? null\n : optionValuesByString.has(next)\n ? optionValuesByString.get(next)\n : next;\n onChange?.({\n currentTarget: { name: fieldProps.name, value: originalValue },\n target: { name: fieldProps.name, value: originalValue },\n } as SelectChangeEvent);\n }}\n description={helperDescription}\n disabled={resolvedDisabled}\n error={error ? helperText : undefined}\n label={label}\n readOnly={resolvedReadOnly}\n size={mantineSize}\n style={resolvedStyle}\n classNames={{\n input: \"fairmint-input-input fairmint-select-input\",\n wrapper: \"fairmint-input-root\",\n }}\n styles={styles}\n {...fieldProps}\n />\n );\n }\n const Component = multiline ? Textarea : TextInput;\n return (\n <Component\n defaultValue={inputControlValue(defaultValue)}\n value={inputControlValue(value)}\n onChange={onChange}\n description={helperDescription}\n disabled={resolvedDisabled}\n error={error ? helperText : undefined}\n label={label}\n leftSection={InputProps?.startAdornment || startAdornment}\n placeholder={placeholder}\n readOnly={resolvedReadOnly}\n rightSection={InputProps?.endAdornment || endAdornment}\n size={mantineSize}\n style={resolvedStyle}\n classNames={{\n input: \"fairmint-input-input fairmint-outlined-input-input\",\n root: \"fairmint-input-root fairmint-outlined-input-root\",\n wrapper: \"fairmint-input-wrapper fairmint-outlined-input-wrapper\",\n }}\n styles={styles}\n ref={textInputRef}\n {...fieldProps}\n {...passthroughInputProps}\n aria-label={ariaLabel}\n />\n );\n};\n\nexport const OutlinedInput = ({\n error,\n fullWidth,\n inputProps,\n inputRef,\n InputProps,\n endAdornment,\n size,\n startAdornment,\n style,\n sx,\n ...props\n}: any) => {\n const mantineSize = mapCompatSize(size);\n return (\n <TextInput\n error={error}\n leftSection={InputProps?.startAdornment || startAdornment}\n rightSection={InputProps?.endAdornment || endAdornment}\n ref={inputRef}\n size={mantineSize}\n style={formControlStyle({ fullWidth, style, sx })}\n classNames={{\n input: \"fairmint-input-input fairmint-outlined-input-input\",\n root: \"fairmint-input-root fairmint-outlined-input-root\",\n wrapper: \"fairmint-input-wrapper fairmint-outlined-input-wrapper\",\n }}\n {...props}\n {...inputProps}\n />\n );\n};\nexport const InputAdornment = ({ children }: any) => <>{children}</>;\nexport const InputLabel = ({ children }: any) => <Text size=\"sm\">{children}</Text>;\nexport const FormControl = ({ children, fullWidth, style, sx, ...props }: any) => (\n <Stack style={formControlStyle({ fullWidth, style, sx })} {...props}>\n {children}\n </Stack>\n);\nexport const FormHelperText = ({ children, error }: any) => (\n <Text c={resolveCompatColor(error ? \"error\" : \"text.secondary\")} size=\"xs\">\n {children}\n </Text>\n);\nexport const FormControlLabel = ({\n checked,\n control,\n disabled,\n label,\n onChange,\n sx,\n ...props\n}: any) => {\n const controlProps = isValidElement(control) ? (control.props as any) : {};\n const handleChange =\n onChange || controlProps.onChange\n ? (event: any, ...args: any[]) => {\n controlProps.onChange?.(event, ...args);\n onChange?.(event, event.currentTarget?.checked ?? event.target?.checked);\n }\n : undefined;\n\n return (\n <Group\n align=\"center\"\n component=\"label\"\n gap=\"xs\"\n style={{ width: \"100%\", ...sxToStyle(sx) }}\n {...props}\n >\n <MantineBox\n component=\"span\"\n style={{\n alignItems: \"center\",\n display: \"inline-flex\",\n }}\n >\n {isValidElement(control)\n ? cloneElement(control, {\n ...(checked !== undefined ? { checked } : {}),\n ...(disabled !== undefined ? { disabled } : {}),\n ...(handleChange ? { onChange: handleChange } : {}),\n } as any)\n : control}\n </MantineBox>\n <MantineBox\n component=\"span\"\n style={{\n color: disabled ? resolveCompatColor(\"text.disabled\") : undefined,\n flex: 1,\n minWidth: 0,\n }}\n >\n {isValidElement(label) ? label : <Text component=\"span\">{label}</Text>}\n </MantineBox>\n </Group>\n );\n};\n\nexport const AccordionSummary = ({ children, className, expandIcon, style, sx, ...props }: any) => (\n <MantineAccordion.Control\n chevron={expandIcon}\n className={[\"fairmint-accordion-summary-root\", className].filter(Boolean).join(\" \")}\n style={{ ...sxToStyle(sx), ...style }}\n {...props}\n >\n {children}\n </MantineAccordion.Control>\n);\nexport const AccordionDetails = ({ children, className, style, sx, ...props }: any) => (\n <MantineAccordion.Panel\n className={[\"fairmint-accordion-details-root\", className].filter(Boolean).join(\" \")}\n style={{ ...sxToStyle(sx), ...style }}\n {...props}\n >\n {children}\n </MantineAccordion.Panel>\n);\n\nconst isAccordionSummaryChild = (child: ReactNode) =>\n isValidElement(child) && child.type === AccordionSummary;\n\nconst groupAccordionChildren = (children: ReactNode) => {\n const groups: ReactNode[][] = [];\n\n Children.forEach(children, (child) => {\n if (isAccordionSummaryChild(child) || groups.length === 0) {\n groups.push([child]);\n return;\n }\n\n groups[groups.length - 1].push(child);\n });\n\n return groups;\n};\n\nexport const Accordion = ({\n children,\n className,\n defaultExpanded,\n expanded,\n multiple,\n onChange,\n ...props\n}: any) => {\n const groups = groupAccordionChildren(children);\n const itemValues = groups.map((_, index) => `item-${index}`);\n const isControlled = expanded !== undefined;\n const allowMultiple = multiple ?? false;\n const accordionValue = allowMultiple\n ? expanded\n ? itemValues\n : []\n : expanded\n ? itemValues[0]\n : null;\n\n return (\n <MantineAccordion\n className={[\"fairmint-accordion-root\", className].filter(Boolean).join(\" \")}\n classNames={{\n content: \"fairmint-accordion-details-content\",\n control: \"fairmint-accordion-summary-root\",\n item: \"fairmint-accordion-item\",\n label: \"fairmint-accordion-summary-content\",\n panel: \"fairmint-accordion-details-root\",\n }}\n defaultValue={\n !isControlled && defaultExpanded ? (allowMultiple ? itemValues : itemValues[0]) : undefined\n }\n multiple={allowMultiple}\n value={isControlled ? accordionValue : undefined}\n onChange={(value) => onChange?.({}, Array.isArray(value) ? value.length > 0 : Boolean(value))}\n {...props}\n >\n {groups.map((group, index) => (\n <MantineAccordion.Item key={itemValues[index]} value={itemValues[index]}>\n {group}\n </MantineAccordion.Item>\n ))}\n </MantineAccordion>\n );\n};\n\nexport const ButtonGroup = Group;\nexport const Chip = ({\n className,\n label,\n children,\n clickable,\n color = \"default\",\n icon,\n onClick,\n onDelete,\n sx,\n ...props\n}: any) => {\n const chipClassName = [\n \"MuiChip-root\",\n \"fairmint-chip-root\",\n `MuiChip-color${String(color).charAt(0).toUpperCase()}${String(color).slice(1)}`,\n `fairmint-chip-color${String(color).charAt(0).toUpperCase()}${String(color).slice(1)}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n const content = label || children;\n\n if (onClick || onDelete) {\n return (\n <button\n className={chipClassName}\n onClick={onClick}\n style={{\n alignItems: \"center\",\n background: \"transparent\",\n border: \"1px solid currentColor\",\n borderRadius: 999,\n cursor: onClick ? \"pointer\" : \"default\",\n display: \"inline-flex\",\n gap: 4,\n padding: \"2px 8px\",\n ...sxToStyle(sx),\n }}\n type=\"button\"\n {...props}\n >\n {icon && <span className=\"fairmint-chip-icon\">{icon}</span>}\n <span className=\"MuiChip-label fairmint-chip-label\">{content}</span>\n {onDelete && (\n <span\n aria-hidden=\"true\"\n className=\"fairmint-chip-delete-icon\"\n data-testid=\"CancelIcon\"\n onClick={(event) => {\n event.stopPropagation();\n onDelete(event);\n }}\n style={{ cursor: \"pointer\", lineHeight: 1 }}\n >\n ×\n </span>\n )}\n </button>\n );\n }\n\n return (\n <Badge\n className={chipClassName}\n color={resolveCompatColor(color)}\n leftSection={icon ? <span className=\"fairmint-chip-icon\">{icon}</span> : undefined}\n style={{ textTransform: \"none\", ...sxToStyle(sx) }}\n {...props}\n >\n {content}\n </Badge>\n );\n};\nconst mouseEventMap: Record<string, keyof DocumentEventMap> = {\n onClick: \"click\",\n onMouseDown: \"mousedown\",\n onMouseUp: \"mouseup\",\n onPointerDown: \"pointerdown\",\n onPointerUp: \"pointerup\",\n};\n\nconst touchEventMap: Record<string, keyof DocumentEventMap> = {\n onTouchEnd: \"touchend\",\n onTouchStart: \"touchstart\",\n};\n\nconst isDocumentEventName = (\n eventName: keyof DocumentEventMap | undefined,\n): eventName is keyof DocumentEventMap => eventName !== undefined;\n\nconst assignRef = <T,>(ref: Ref<T> | undefined, value: T | null) => {\n if (typeof ref === \"function\") {\n ref(value);\n return;\n }\n if (ref && \"current\" in ref) {\n ref.current = value;\n }\n};\n\nconst createAutocompleteEvent = (value: unknown) => ({\n currentTarget: { value },\n target: { value },\n});\n\nexport const ClickAwayListener = ({\n children,\n mouseEvent = \"onClick\",\n onClickAway,\n touchEvent = \"onTouchEnd\",\n}: any) => {\n const nodeRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (!onClickAway) return;\n\n const handleClickAway = (event: Event) => {\n const node = nodeRef.current;\n if (node && event.target instanceof Node && node.contains(event.target)) return;\n onClickAway(event);\n };\n const eventNames = [\n mouseEvent === false ? undefined : mouseEventMap[mouseEvent] || \"click\",\n touchEvent === false ? undefined : touchEventMap[touchEvent] || \"touchend\",\n ].filter(isDocumentEventName);\n\n for (const eventName of eventNames) {\n document.addEventListener(eventName, handleClickAway, true);\n }\n\n return () => {\n for (const eventName of eventNames) {\n document.removeEventListener(eventName, handleClickAway, true);\n }\n };\n }, [mouseEvent, onClickAway, touchEvent]);\n\n if (Children.count(children) === 1) {\n const child = Children.only(children);\n if (isValidElement<{ ref?: Ref<HTMLElement> }>(child)) {\n const originalRef = child.props.ref;\n return cloneElement(child, {\n ref: (node: HTMLElement | null) => {\n nodeRef.current = node;\n assignRef(originalRef, node);\n },\n });\n }\n }\n\n return <span ref={nodeRef}>{children}</span>;\n};\nconst linkUnderlineStyle = (underline: unknown): CSSProperties => {\n if (underline === \"always\") return { textDecoration: \"underline\" };\n if (underline === \"none\" || underline === \"hover\") return { textDecoration: \"none\" };\n return {};\n};\n\nexport const Link = ({ children, color, style, sx, underline, ...props }: any) => (\n <Text\n component=\"a\"\n style={{ ...sxToStyle(sx), ...linkUnderlineStyle(underline), ...style }}\n {...(resolveCompatColor(color) ? { c: resolveCompatColor(color) } : {})}\n {...props}\n >\n {children}\n </Text>\n);\nexport const ListItemButton = ({ children, selected, sx, style, ...props }: any) => (\n <MantineBox\n aria-selected={selected || undefined}\n style={{\n backgroundColor: selected ? resolveCompatColor(\"action.selected\") : undefined,\n ...sxToStyle(sx),\n ...style,\n }}\n {...props}\n >\n {children}\n </MantineBox>\n);\nexport const ListItemIcon = ({ children, sx, style, ...props }: any) => (\n <MantineBox style={{ ...sxToStyle(sx), ...style }} {...props}>\n {children}\n </MantineBox>\n);\nexport const ListItemText = ({ primary, secondary }: any) => (\n <Stack gap={0}>\n <Text>{primary}</Text>\n {secondary && (\n <Text c={resolveCompatColor(\"text.secondary\")} size=\"sm\">\n {secondary}\n </Text>\n )}\n </Stack>\n);\nexport const SvgIcon = ({\n children,\n color,\n fontSize,\n htmlColor,\n style,\n sx,\n titleAccess,\n viewBox = \"0 0 24 24\",\n ...props\n}: any) => {\n const mappedFontSize =\n fontSize === \"small\" ? 20 : fontSize === \"large\" ? 35 : fontSize === \"inherit\" ? \"inherit\" : 24;\n\n return (\n <svg\n aria-hidden={titleAccess ? undefined : true}\n color={htmlColor || resolveCompatColor(color)}\n fill=\"currentColor\"\n focusable=\"false\"\n height=\"1em\"\n role={titleAccess ? \"img\" : undefined}\n style={{\n color: htmlColor || resolveCompatColor(color),\n fontSize: mappedFontSize,\n ...sxToStyle(sx),\n ...style,\n }}\n viewBox={viewBox}\n width=\"1em\"\n {...props}\n >\n <title>{titleAccess || \"icon\"}</title>\n {children}\n </svg>\n );\n};\nexport const AlertTitle = ({ children }: any) => <Text fw={700}>{children}</Text>;\nexport class AdapterDayjs {}\nexport const LocalizationProvider = ({\n children,\n}: {\n children: ReactNode;\n dateAdapter?: unknown;\n}) => <>{children}</>;\nexport const DatePicker = ({\n defaultValue,\n fullWidth,\n label,\n onAccept,\n onChange,\n slotProps,\n sx,\n value,\n views: _views,\n ...props\n}: any) => {\n const {\n fullWidth: textFieldFullWidth,\n error: textFieldError,\n helperText,\n onBlur: textFieldOnBlur,\n required,\n size,\n style,\n sx: textFieldSx,\n ...textFieldProps\n } = slotProps?.textField || {};\n const mantineSize = mapCompatSize(size);\n const isControlled = value !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? null);\n const resolvedValue = isControlled ? value : uncontrolledValue;\n const dateValue = resolvedValue?.format\n ? resolvedValue.format(\"YYYY-MM-DD\")\n : resolvedValue || \"\";\n const latestDateRef = useRef<string | null>(dateValue || null);\n latestDateRef.current = dateValue || null;\n const normalizePickerValue = (next: string | Date | null) => {\n if (!next) return null;\n if (next instanceof Date) return dayjs(next).format(\"YYYY-MM-DD\");\n return next;\n };\n const toDateValue = (next: string | null) => (next ? dayjs(next) : null);\n const emitChange = (next: string | Date | null) => {\n const iso = normalizePickerValue(next);\n latestDateRef.current = iso;\n const nextValue = toDateValue(iso);\n if (!isControlled) setUncontrolledValue(nextValue);\n onChange?.(nextValue);\n };\n const parseTypedDate = (raw: string) => {\n const trimmed = raw.trim();\n if (!trimmed) return null;\n const parsed = dayjs(trimmed, [\"MM/DD/YYYY\", \"M/D/YYYY\", \"YYYY-MM-DD\"], true);\n return parsed.isValid() ? parsed : null;\n };\n return (\n <DateInput\n label={label || textFieldProps.label}\n value={dateValue || null}\n onChange={(next) => emitChange(next)}\n onBlur={(event: FocusEvent<HTMLInputElement>) => {\n textFieldOnBlur?.(event);\n const raw = event.currentTarget.value ?? \"\";\n const parsed = parseTypedDate(raw);\n if (!raw.trim()) {\n emitChange(null);\n onAccept?.(null);\n return;\n }\n if (parsed) {\n emitChange(parsed.format(\"YYYY-MM-DD\"));\n onAccept?.(parsed);\n return;\n }\n onAccept?.(toDateValue(latestDateRef.current));\n }}\n valueFormat=\"MM/DD/YYYY\"\n placeholder=\"MM/DD/YYYY\"\n description={textFieldError ? undefined : helperText}\n error={textFieldError ? helperText : undefined}\n required={required}\n size={mantineSize}\n clearable\n allowDeselect={false}\n defaultDate={dateValue || dayjs().format(\"YYYY-MM-DD\")}\n w={fullWidth || textFieldFullWidth ? \"100%\" : undefined}\n style={formControlStyle({\n fullWidth: fullWidth || textFieldFullWidth,\n style,\n sx: { ...sxToStyle(sx), ...sxToStyle(textFieldSx) },\n })}\n // Mantine's popover z-index (300) sits below MUI's Dialog z-index (1300),\n // so the dropdown renders behind any MUI Dialog this picker is used in\n // unless raised above it. Callers can still override via props.popoverProps.\n popoverProps={{ zIndex: 1400 }}\n {...textFieldProps}\n {...props}\n />\n );\n};\nexport function Autocomplete<T = any, _Multiple = any, _DisableClearable = any, _FreeSolo = any>(\n componentProps: any & { options?: T[] },\n) {\n const {\n disableClearable,\n disableCloseOnSelect: _disableCloseOnSelect,\n disabled,\n filterOptions,\n freeSolo,\n fullWidth,\n getOptionLabel,\n defaultValue,\n inputValue,\n isOptionEqualToValue,\n ListboxProps: _ListboxProps,\n loading: _loading,\n label,\n multiple,\n noOptionsText: _noOptionsText,\n onBlur,\n onChange,\n onFocus,\n onInputChange,\n onKeyDown,\n onKeyPress,\n onKeyUp,\n options = [],\n placeholder,\n renderInput,\n renderOption: _renderOption,\n renderTags: _renderTags,\n required,\n size,\n style,\n sx,\n value,\n ...props\n } = componentProps;\n const optionLabel = (option: any) =>\n typeof option === \"string\"\n ? option\n : getOptionLabel?.(option) ||\n option?.label ||\n option?.name ||\n option?.value ||\n String(option);\n const optionValue = (option: any) =>\n typeof option === \"string\"\n ? option\n : String(option?.id ?? option?.value ?? optionLabel(option));\n const optionMatchesValue = (option: any, selected: any) => {\n if (selected == null) return false;\n if (typeof isOptionEqualToValue === \"function\" && typeof selected !== \"string\") {\n return isOptionEqualToValue(option, selected);\n }\n\n const nextValue = typeof selected === \"string\" ? selected : optionValue(selected);\n return optionValue(option) === nextValue || optionLabel(option) === nextValue;\n };\n const findKnownOption = (next: any) => {\n if (next == null) return null;\n return options.find((option: any) => optionMatchesValue(option, next)) || null;\n };\n const selectedValue = (selected: any) => {\n if (selected == null) return null;\n const knownOption = findKnownOption(selected);\n if (knownOption) return optionValue(knownOption);\n if (typeof selected === \"string\") return selected;\n return optionValue(selected);\n };\n const selectedValuesFrom = (values: any[]) =>\n values\n .map(selectedValue)\n .filter((selected): selected is string => typeof selected === \"string\" && selected !== \"\");\n const [uncontrolledSearchValue, setUncontrolledSearchValue] = useState(\"\");\n const [uncontrolledSingleValue, setUncontrolledSingleValue] = useState<string | null>(() =>\n selectedValue(defaultValue),\n );\n const [uncontrolledMultipleValues, setUncontrolledMultipleValues] = useState<string[]>(() =>\n Array.isArray(defaultValue) ? selectedValuesFrom(defaultValue) : [],\n );\n const [createdFreeSoloOptions, setCreatedFreeSoloOptions] = useState<string[]>([]);\n const resolvedSearchValue = inputValue ?? uncontrolledSearchValue;\n const filteredOptions =\n typeof filterOptions === \"function\"\n ? filterOptions(options, { getOptionLabel: optionLabel, inputValue: resolvedSearchValue })\n : options;\n const data: Array<{ label: string; value: string }> = [];\n const dataValues = new Set<string>();\n const addDataOption = (option: any) => {\n const nextValue = optionValue(option);\n if (dataValues.has(nextValue)) return;\n\n data.push({ label: optionLabel(option), value: nextValue });\n dataValues.add(nextValue);\n };\n filteredOptions.forEach(addDataOption);\n const addSelectedDataOption = (selected: unknown) => {\n const option = findKnownOption(selected);\n if (option) addDataOption(option);\n };\n if (!Array.isArray(value)) addSelectedDataOption(value);\n if (!Array.isArray(defaultValue)) addSelectedDataOption(defaultValue);\n if (Array.isArray(value)) value.forEach(addSelectedDataOption);\n if (Array.isArray(defaultValue)) defaultValue.forEach(addSelectedDataOption);\n uncontrolledMultipleValues.forEach(addSelectedDataOption);\n const addFreeSoloOption = (next: unknown) => {\n if (!freeSolo || multiple) return;\n const nextValue = selectedValue(next);\n if (!nextValue || dataValues.has(nextValue)) return;\n\n data.push({ label: typeof next === \"string\" ? next : nextValue, value: nextValue });\n dataValues.add(nextValue);\n };\n addFreeSoloOption(value);\n addFreeSoloOption(defaultValue);\n addFreeSoloOption(uncontrolledSingleValue);\n addFreeSoloOption(resolvedSearchValue);\n createdFreeSoloOptions.forEach(addFreeSoloOption);\n\n const findOption = (next: string | null) => findKnownOption(next) || (freeSolo ? next : null);\n const commitFreeSoloValue = (next: string, event?: any) => {\n if (!freeSolo || multiple) return false;\n const nextValue = next.trim();\n if (!nextValue) return false;\n\n const nextOption = findKnownOption(nextValue) || nextValue;\n const selectedNextValue = selectedValue(nextOption);\n if (!selectedNextValue) return false;\n\n setCreatedFreeSoloOptions((current) =>\n current.includes(selectedNextValue) ? current : [...current, selectedNextValue],\n );\n setUncontrolledSearchValue(nextValue);\n if (value === undefined) setUncontrolledSingleValue(selectedNextValue);\n\n onChange?.(\n event || createAutocompleteEvent(nextValue),\n nextOption,\n findKnownOption(nextValue) ? \"selectOption\" : \"createOption\",\n { option: nextOption },\n );\n return true;\n };\n const input = renderInput?.({\n inputProps: {\n value: inputValue ?? \"\",\n onChange: (event: any) => onInputChange?.(event, event.currentTarget.value, \"input\"),\n },\n InputProps: {},\n label,\n });\n const inputProps = isValidElement(input) ? (input.props as any) : {};\n const renderInputInputProps = isObjectRecord(inputProps.inputProps)\n ? inputProps.inputProps\n : undefined;\n const autocompleteInputProps = pickAutocompleteInputProps(inputProps, renderInputInputProps);\n const inputAdornment = inputProps.InputProps?.endAdornment || inputProps.endAdornment;\n const mantineSize = mapCompatSize(size);\n const controlStyle = formControlStyle({\n fullWidth,\n style: { ...style, ...inputProps.style },\n sx,\n });\n const commonSelectProps = {\n ...autocompleteInputProps,\n clearable: !disableClearable,\n disabled: disabled ?? autocompleteInputProps.disabled,\n label: inputProps.label || label,\n nothingFoundMessage: _noOptionsText,\n onBlur: composeOptionalEventHandlers(autocompleteInputProps.onBlur, onBlur),\n onFocus: composeOptionalEventHandlers(autocompleteInputProps.onFocus, onFocus),\n onKeyDown: (event: any) => {\n onKeyDown?.(event);\n autocompleteInputProps.onKeyDown?.(event);\n if (event.defaultPrevented || event.key !== \"Enter\") return;\n\n if (commitFreeSoloValue(String(event.currentTarget?.value ?? resolvedSearchValue), event)) {\n event.preventDefault?.();\n }\n },\n onKeyPress: composeOptionalEventHandlers(onKeyPress, autocompleteInputProps.onKeyPress),\n onKeyUp: composeOptionalEventHandlers(onKeyUp, autocompleteInputProps.onKeyUp),\n placeholder: autocompleteInputProps.placeholder || inputProps.placeholder || placeholder,\n readOnly: autocompleteInputProps.readOnly,\n required: autocompleteInputProps.required ?? inputProps.required ?? required,\n rightSection: inputAdornment,\n searchable: true,\n size: mantineSize,\n style: controlStyle,\n ...(inputProps.error ? { error: inputProps.helperText || true } : {}),\n ...(inputValue !== undefined || freeSolo ? { searchValue: resolvedSearchValue } : {}),\n ...(onInputChange || freeSolo\n ? {\n onSearchChange: (next: string) => {\n if (inputValue === undefined) setUncontrolledSearchValue(next);\n onInputChange?.(createAutocompleteEvent(next), next, \"input\");\n },\n }\n : {}),\n };\n\n if (multiple) {\n const selectedValues = Array.isArray(value)\n ? selectedValuesFrom(value)\n : uncontrolledMultipleValues;\n return (\n <MantineMultiSelect\n data={data}\n value={selectedValues}\n onChange={(nextValues) => {\n const nextOptions = nextValues.map((next) => findOption(next)).filter(Boolean);\n const removedValue = selectedValues.find((selected) => !nextValues.includes(selected));\n const addedValue = nextValues.find((next) => !selectedValues.includes(next));\n const detailValue = removedValue || addedValue;\n const detailOption = detailValue ? findOption(detailValue) : undefined;\n const reason =\n nextValues.length === 0 ? \"clear\" : removedValue ? \"removeOption\" : \"selectOption\";\n\n if (value === undefined) setUncontrolledMultipleValues(nextValues);\n\n onChange?.(\n createAutocompleteEvent(nextValues),\n nextOptions,\n reason,\n detailOption && reason !== \"clear\" ? { option: detailOption } : undefined,\n );\n }}\n {...commonSelectProps}\n {...props}\n />\n );\n }\n\n return (\n <MantineSelect\n data={data}\n value={value !== undefined ? selectedValue(value) : uncontrolledSingleValue}\n onChange={(next) => {\n const nextOption = findOption(next);\n const nextValue = selectedValue(nextOption);\n const isKnownOption = Boolean(findKnownOption(next));\n\n if (value === undefined) setUncontrolledSingleValue(nextValue);\n if (freeSolo && nextValue) {\n setCreatedFreeSoloOptions((current) =>\n current.includes(nextValue) ? current : [...current, nextValue],\n );\n }\n\n onChange?.(\n createAutocompleteEvent(next),\n nextOption,\n next == null ? \"clear\" : isKnownOption ? \"selectOption\" : \"createOption\",\n nextOption ? { option: nextOption } : undefined,\n );\n }}\n {...commonSelectProps}\n {...props}\n />\n );\n}\n\nexport const Container = MantineContainer;\nexport const Grid = MantineGrid;\nexport const List = MantineList;\nexport const ListItem = MantineList.Item;\nexport const Modal = MantineModal;\nexport const Select = MantineSelect;\nexport const Stack = MantineStack;\nexport const Table = MantineTable;\nconst pieFallbackColors = [\n brandColors.indigo,\n brandColors.blue,\n brandColors.purple,\n semanticColors.info,\n semanticColors.success,\n semanticColors.warning,\n semanticColors.error,\n];\n\nexport const PieChart = ({ height = 200, series = [], width = 200 }: any) => {\n const config = series[0] || {};\n const data = config.data || [];\n const total = data.reduce(\n (sum: number, item: any) => sum + Math.max(Number(item.value) || 0, 0),\n 0,\n );\n const cx = config.cx ?? width / 2;\n const cy = config.cy ?? height / 2;\n const outerRadius = config.outerRadius ?? Math.min(width, height) / 2;\n const innerRadius = config.innerRadius ?? 0;\n const seenSliceKeys = new Map<string, number>();\n let angle = -90;\n\n const point = (radius: number, degrees: number) => {\n const radians = (degrees * Math.PI) / 180;\n return [cx + radius * Math.cos(radians), cy + radius * Math.sin(radians)];\n };\n\n return (\n <svg\n aria-hidden=\"true\"\n height={height}\n role=\"img\"\n viewBox={`0 0 ${width} ${height}`}\n width={width}\n >\n {data.map((item: any, index: number) => {\n const value = Math.max(Number(item.value) || 0, 0);\n const sweep = total > 0 ? (value / total) * 360 : 0;\n const start = angle;\n const end = angle + sweep;\n angle = end;\n const largeArc = sweep > 180 ? 1 : 0;\n const [outerStartX, outerStartY] = point(outerRadius, start);\n const [outerEndX, outerEndY] = point(outerRadius, end);\n const [innerEndX, innerEndY] = point(innerRadius, end);\n const [innerStartX, innerStartY] = point(innerRadius, start);\n const path =\n innerRadius > 0\n ? `M ${outerStartX} ${outerStartY} A ${outerRadius} ${outerRadius} 0 ${largeArc} 1 ${outerEndX} ${outerEndY} L ${innerEndX} ${innerEndY} A ${innerRadius} ${innerRadius} 0 ${largeArc} 0 ${innerStartX} ${innerStartY} Z`\n : `M ${cx} ${cy} L ${outerStartX} ${outerStartY} A ${outerRadius} ${outerRadius} 0 ${largeArc} 1 ${outerEndX} ${outerEndY} Z`;\n const rawKey = `${String(item.id ?? item.label ?? item.name ?? item.color ?? item.value ?? \"slice\")}-${start}-${end}`;\n const duplicateCount = seenSliceKeys.get(rawKey) ?? 0;\n seenSliceKeys.set(rawKey, duplicateCount + 1);\n const sliceKey = duplicateCount === 0 ? rawKey : `${rawKey}-${duplicateCount}`;\n return (\n <path\n key={sliceKey}\n d={path}\n fill={item.color || pieFallbackColors[index % pieFallbackColors.length]}\n />\n );\n })}\n </svg>\n );\n};\nexport {\n ActionIcon,\n Alert,\n Avatar,\n Badge,\n Button,\n Card,\n Center,\n Checkbox,\n Flex,\n Group,\n Loader,\n Paper,\n Skeleton,\n Switch,\n Tooltip,\n useMantineMediaQuery as useMediaQuery,\n};\n"],"names":["dayjs","theme","fairmintVars","sx","isValidElement","primitiveSxToStyle","index","commonColors","createContext","jsx","useMemo","useContext","Title","Text","ActionIcon","Loader","jsxs","Group","MantineBox","createElement","useRef","MantineModal","MantineTable","MantineMenu","Children","MantineSelect","label","value","Textarea","TextInput","cloneElement","MantineAccordion","Badge","useEffect","useState","DateInput","MantineMultiSelect","MantineList","MantineStack","brandColors","semanticColors"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"muiCompat.cjs","sources":["../../../src/components/primitives/muiCompat.tsx"],"sourcesContent":["// biome-ignore-all lint/suspicious/noExplicitAny: Compatibility adapters mirror external prop shapes.\nimport {\n Center,\n Flex,\n Group,\n Accordion as MantineAccordion,\n Box as MantineBox,\n Container as MantineContainer,\n Grid as MantineGrid,\n List as MantineList,\n Menu as MantineMenu,\n Modal as MantineModal,\n MultiSelect as MantineMultiSelect,\n Select as MantineSelect,\n Stack as MantineStack,\n Table as MantineTable,\n Tabs as MantineTabs,\n Paper,\n Text,\n TextInput,\n Title,\n} from \"@mantine/core\";\nimport { DateInput } from \"@mantine/dates\";\nimport { useMediaQuery as useMantineMediaQuery } from \"@mantine/hooks\";\nimport dayjs from \"dayjs\";\nimport customParseFormat from \"dayjs/plugin/customParseFormat\";\nimport type {\n ComponentProps,\n CSSProperties,\n ElementType,\n FocusEvent,\n ReactElement,\n ReactNode,\n Ref,\n} from \"react\";\nimport {\n Children,\n cloneElement,\n createContext,\n createElement,\n isValidElement,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport {\n brandColors,\n colors,\n commonColors,\n fairmintVars,\n semanticColors,\n theme,\n} from \"../../theme\";\nimport { ActionIcon } from \"./ActionIcon/ActionIcon\";\nimport { Alert } from \"./Alert/Alert\";\nimport { Avatar } from \"./Avatar/Avatar\";\nimport { Badge } from \"./Badge/Badge\";\nimport { Button } from \"./Button/Button\";\nimport { Card } from \"./Card/Card\";\nimport { Checkbox } from \"./Checkbox/Checkbox\";\nimport { Loader } from \"./Loader/Loader\";\nimport { Skeleton } from \"./Skeleton/Skeleton\";\nimport { Switch } from \"./Switch/Switch\";\nimport { type Sx as PrimitiveSx, sxToStyle as primitiveSxToStyle } from \"./sx\";\nimport { Textarea } from \"./Textarea/Textarea\";\nimport { Tooltip } from \"./Tooltip/Tooltip\";\n\ndayjs.extend(customParseFormat);\n\ntype SxEntry = CSSProperties | false | null | undefined;\ntype Sx = CSSProperties | SxEntry[] | ((theme: unknown) => CSSProperties | SxEntry[]);\n\nconst compatBreakpointKeys = [\"xs\", \"sm\", \"md\", \"lg\", \"xl\"] as const;\ntype CompatBreakpointKey = (typeof compatBreakpointKeys)[number];\nconst compatFallbackBreakpoints: Record<CompatBreakpointKey, string> = {\n xs: \"30em\",\n sm: \"48em\",\n md: \"64em\",\n lg: \"74em\",\n xl: \"90em\",\n};\nconst compatBreakpointWidth = (key: CompatBreakpointKey | string) =>\n compatBreakpointKeys.includes(key as CompatBreakpointKey)\n ? theme.breakpoints?.[key as CompatBreakpointKey] ||\n compatFallbackBreakpoints[key as CompatBreakpointKey]\n : key;\nconst compatBreakpoints = {\n down: (key: CompatBreakpointKey | string) => `@media (max-width: ${compatBreakpointWidth(key)})`,\n up: (key: CompatBreakpointKey | string) => `@media (min-width: ${compatBreakpointWidth(key)})`,\n};\n\nconst compatColorMap: Record<string, string> = {\n action: fairmintVars.colorIconSecondary,\n \"action.active\": fairmintVars.colorIconPrimary,\n \"action.selected\": fairmintVars.colorBgSelected,\n brand: fairmintVars.colorBrandPrimary,\n default: fairmintVars.colorTextSecondary,\n disabled: fairmintVars.colorTextDisabled,\n error: fairmintVars.colorErrorText,\n \"error.main\": fairmintVars.colorErrorText,\n info: fairmintVars.colorInfoText,\n \"info.darkest\": fairmintVars.colorInfoSolid,\n inherit: \"inherit\",\n primary: fairmintVars.colorBrandPrimary,\n secondary: fairmintVars.colorTextSecondary,\n success: fairmintVars.colorSuccessText,\n \"success.dark\": fairmintVars.colorSuccessSolid,\n \"text.disabled\": fairmintVars.colorTextDisabled,\n \"text.primary\": fairmintVars.colorTextPrimary,\n \"text.secondary\": fairmintVars.colorTextSecondary,\n warning: fairmintVars.colorWarningText,\n \"warning.darkest\": fairmintVars.colorWarningSolid,\n};\n\nconst resolveCompatColor = (color: unknown): string | undefined => {\n if (typeof color !== \"string\" || !color) return undefined;\n return compatColorMap[color] || color;\n};\n\nconst isStyleRecord = (value: unknown): value is CSSProperties =>\n Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n\nconst normalizeSxEntries = (sx: CSSProperties | SxEntry[]): CSSProperties[] =>\n Array.isArray(sx) ? sx.filter(isStyleRecord) : [sx];\n\nconst nodeToText = (node: ReactNode): string => {\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\n if (Array.isArray(node)) return node.map(nodeToText).join(\"\");\n if (isValidElement(node)) return nodeToText((node as any).props.children);\n return \"\";\n};\n\nconst cssStyleObjectToInlineStyle = (sx?: CSSProperties | SxEntry[]): CSSProperties | undefined => {\n if (!sx) return undefined;\n const styleEntries = normalizeSxEntries(sx).flatMap((entry) =>\n Object.entries(entry).filter(\n ([key, value]) => !key.startsWith(\"&\") && !key.startsWith(\"@\") && typeof value !== \"object\",\n ),\n );\n\n return Object.fromEntries(styleEntries);\n};\n\nconst sxToStyle = (sx?: PrimitiveSx | Sx): CSSProperties | undefined =>\n primitiveSxToStyle(sx as PrimitiveSx | undefined);\n\nconst hasNestedStyle = (sx: CSSProperties | SxEntry[]) =>\n normalizeSxEntries(sx).some((entry) =>\n Object.entries(entry).some(\n ([key, value]) => (key.startsWith(\"&\") || key.startsWith(\"@\")) && isObjectRecord(value),\n ),\n );\n\nconst mapCompatSize = (size: unknown) => {\n if (size === \"small\") return \"sm\";\n if (size === \"medium\") return \"md\";\n if (size === \"large\") return \"lg\";\n if (size === \"xs\" || size === \"sm\" || size === \"md\" || size === \"lg\" || size === \"xl\") {\n return size;\n }\n\n return undefined;\n};\n\nconst mantineChipVariants = new Set([\n \"default\",\n \"dot\",\n \"filled\",\n \"gradient\",\n \"light\",\n \"outline\",\n \"transparent\",\n \"white\",\n]);\n\nconst mapChipVariant = (variant: unknown) => {\n if (variant === \"outlined\") return \"outline\";\n if (typeof variant === \"string\" && mantineChipVariants.has(variant)) return variant;\n return undefined;\n};\n\nconst chipBadgeColorMap: Record<string, string> = {\n default: colors.neutral,\n error: colors.error,\n info: colors.info,\n primary: colors.primary,\n secondary: colors.neutral,\n success: colors.success,\n warning: colors.warning,\n};\n\nconst mapChipBadgeColor = (color: unknown) => {\n if (typeof color !== \"string\" || !color) return colors.neutral;\n return chipBadgeColorMap[color] || color;\n};\nconst mapCompatIconButtonSize = (size: unknown) =>\n size === \"small\" ? \"sm\" : size === \"medium\" ? \"md\" : size === \"large\" ? \"lg\" : size;\nconst optionalBoolean = (value: unknown) => (typeof value === \"boolean\" ? value : undefined);\nconst optionalString = (value: unknown) => (typeof value === \"string\" ? value : undefined);\nconst inputControlValue = (value: unknown) =>\n typeof value === \"string\" || typeof value === \"number\" || Array.isArray(value)\n ? value\n : undefined;\nconst assignCompatRef = <T,>(ref: Ref<T> | undefined, value: T | null) => {\n if (typeof ref === \"function\") {\n ref(value);\n return;\n }\n if (ref && \"current\" in ref) {\n ref.current = value;\n }\n};\n\nconst formControlStyle = ({\n fullWidth,\n style,\n sx,\n}: {\n fullWidth?: boolean;\n style?: CSSProperties;\n sx?: PrimitiveSx | Sx;\n}) => ({\n ...(fullWidth ? { width: \"100%\" } : {}),\n ...sxToStyle(sx),\n ...style,\n});\n\nconst composeEventHandlers =\n (...handlers: Array<((event: any) => void) | undefined>) =>\n (event: any) => {\n for (const handler of handlers) {\n handler?.(event);\n }\n };\n\nconst composeOptionalEventHandlers = (...handlers: Array<((event: any) => void) | undefined>) =>\n handlers.some(Boolean) ? composeEventHandlers(...handlers) : undefined;\n\nconst forwardedAutocompleteInputProps = new Set([\n \"autoComplete\",\n \"autoFocus\",\n \"disabled\",\n \"id\",\n \"name\",\n \"onBlur\",\n \"onFocus\",\n \"onKeyDown\",\n \"onKeyPress\",\n \"onKeyUp\",\n \"placeholder\",\n \"readOnly\",\n \"required\",\n \"title\",\n]);\n\nconst pickAutocompleteInputProps = (...sources: Array<Record<string, any> | undefined>) => {\n const result: Record<string, any> = {};\n\n sources.forEach((source) => {\n if (!source) return;\n\n Object.entries(source).forEach(([key, value]) => {\n if (\n key.startsWith(\"aria-\") ||\n key.startsWith(\"data-\") ||\n forwardedAutocompleteInputProps.has(key)\n ) {\n result[key] = value;\n }\n });\n });\n\n return result;\n};\n\nconst sizeValue = (value: unknown) => (typeof value === \"number\" ? value : undefined);\n\nexport type SxProps<T = unknown> = any & T;\nexport type Theme = any;\n\ntype CompatClassNames = Record<string, string | undefined> | ((...args: unknown[]) => unknown);\ntype CompatStyles = Record<string, CSSProperties | undefined>;\ntype CompatInputProps = object & {\n disabled?: boolean;\n endAdornment?: ReactNode;\n inputProps?: object;\n notched?: boolean;\n readOnly?: boolean;\n startAdornment?: ReactNode;\n};\ntype SelectChangeEvent = {\n currentTarget: { name?: unknown; value: string };\n target: { name?: unknown; value: string };\n};\ntype TextFieldValue = unknown;\ntype TextFieldInputRef = Ref<HTMLInputElement | HTMLTextAreaElement>;\n\ninterface DialogPaperProps extends Record<string, unknown> {\n className?: string;\n component?: ElementType;\n elevation?: unknown;\n style?: CSSProperties;\n sx?: Sx;\n}\n\ninterface DialogProps\n extends Omit<\n ComponentProps<typeof MantineModal.Root>,\n \"children\" | \"classNames\" | \"onClose\" | \"opened\" | \"size\" | \"style\" | \"styles\"\n > {\n centered?: boolean;\n children?: ReactNode;\n classNames?: CompatClassNames;\n closeButtonProps?: ComponentProps<typeof MantineModal.CloseButton>;\n closeOnEscape?: boolean;\n disableEscapeKeyDown?: boolean;\n fullWidth?: boolean;\n maxWidth?: boolean | number | string;\n onClose?: (event: typeof dialogCloseEvent, reason: DialogCloseReason) => void;\n open?: boolean;\n overlayProps?: ComponentProps<typeof MantineModal.Overlay>;\n PaperProps?: DialogPaperProps;\n shadow?: ComponentProps<typeof MantineModal.Content>[\"shadow\"];\n style?: CSSProperties;\n styles?: CompatStyles;\n sx?: Sx;\n title?: ReactNode;\n withCloseButton?: boolean;\n withOverlay?: boolean;\n}\n\nexport interface TextFieldProps extends Record<string, unknown> {\n children?: ReactNode;\n defaultValue?: TextFieldValue;\n endAdornment?: ReactNode;\n error?: boolean;\n fullWidth?: boolean;\n helperText?: ReactNode;\n inputProps?: object;\n InputLabelProps?: object;\n inputRef?: TextFieldInputRef;\n InputProps?: CompatInputProps;\n label?: ReactNode;\n multiline?: boolean;\n onChange?: (event: SelectChangeEvent) => void;\n placeholder?: string;\n select?: boolean;\n size?: unknown;\n startAdornment?: ReactNode;\n style?: CSSProperties;\n styles?: CompatStyles;\n sx?: PrimitiveSx;\n value?: TextFieldValue;\n variant?: unknown;\n}\n\ntype ParsedColor = {\n r: number;\n g: number;\n b: number;\n a?: number;\n};\n\nconst clamp = (value: number, min: number, max: number) => Math.min(max, Math.max(min, value));\n\nconst clampRatio = (value = 0) => clamp(value, 0, 1);\n\nconst formatRatio = (value: number) => Number(clampRatio(value).toFixed(3)).toString();\n\nconst formatPercent = (value: number) => Number(clamp(value, 0, 100).toFixed(3)).toString();\n\nconst formatRgba = ({ r, g, b }: ParsedColor, value: number) =>\n `rgba(${r}, ${g}, ${b}, ${formatRatio(value)})`;\n\nconst formatColor = ({ r, g, b, a }: ParsedColor) =>\n a === undefined || a >= 1 ? `rgb(${r}, ${g}, ${b})` : `rgba(${r}, ${g}, ${b}, ${formatRatio(a)})`;\n\nconst normalizeChannel = (value: string) => {\n if (value.endsWith(\"%\")) return Math.round((clamp(Number.parseFloat(value), 0, 100) / 100) * 255);\n return Math.round(clamp(Number.parseFloat(value), 0, 255));\n};\n\nconst normalizeAlpha = (value: string | undefined) => {\n if (value === undefined) return undefined;\n if (value.endsWith(\"%\")) return clampRatio(Number.parseFloat(value) / 100);\n return clampRatio(Number.parseFloat(value));\n};\n\nconst splitWhitespace = (value: string) => {\n const tokens: string[] = [];\n let current = \"\";\n\n for (const char of value) {\n if (char === \" \" || char === \"\\n\" || char === \"\\r\" || char === \"\\t\") {\n if (current) tokens.push(current);\n current = \"\";\n } else {\n current += char;\n }\n }\n\n if (current) tokens.push(current);\n return tokens;\n};\n\nconst parseHexColor = (color: string): ParsedColor | undefined => {\n const hex = color.trim().replace(/^#/, \"\");\n if (![3, 4, 6, 8].includes(hex.length) || !/^[\\da-f]+$/i.test(hex)) return undefined;\n\n const normalized =\n hex.length === 3 || hex.length === 4\n ? Array.from(hex)\n .map((char) => `${char}${char}`)\n .join(\"\")\n : hex;\n\n return {\n r: Number.parseInt(normalized.slice(0, 2), 16),\n g: Number.parseInt(normalized.slice(2, 4), 16),\n b: Number.parseInt(normalized.slice(4, 6), 16),\n a:\n normalized.length === 8\n ? clampRatio(Number.parseInt(normalized.slice(6, 8), 16) / 255)\n : undefined,\n };\n};\n\nconst parseRgbColor = (color: string): ParsedColor | undefined => {\n const trimmed = color.trim();\n const lower = trimmed.toLowerCase();\n const openParenIndex = trimmed.indexOf(\"(\");\n\n if (\n openParenIndex === -1 ||\n !trimmed.endsWith(\")\") ||\n (!lower.startsWith(\"rgb(\") && !lower.startsWith(\"rgba(\"))\n ) {\n return undefined;\n }\n\n const body = trimmed.slice(openParenIndex + 1, -1).trim();\n const slashIndex = body.indexOf(\"/\");\n const channelBody = slashIndex === -1 ? body : body.slice(0, slashIndex).trim();\n const slashAlpha = slashIndex === -1 ? undefined : body.slice(slashIndex + 1).trim();\n const parts = channelBody.includes(\",\")\n ? channelBody\n .split(\",\")\n .map((part) => part.trim())\n .filter(Boolean)\n : splitWhitespace(channelBody);\n const alphaValue = slashAlpha ?? (parts.length > 3 ? parts[3] : undefined);\n\n if (parts.length < 3) return undefined;\n\n return {\n r: normalizeChannel(parts[0] ?? \"0\"),\n g: normalizeChannel(parts[1] ?? \"0\"),\n b: normalizeChannel(parts[2] ?? \"0\"),\n a: normalizeAlpha(alphaValue),\n };\n};\n\nconst parseColor = (color: string) => parseHexColor(color) ?? parseRgbColor(color);\n\nconst mixChannel = (channel: number, target: number, coefficient: number) =>\n Math.round(channel + (target - channel) * clampRatio(coefficient));\n\nconst mixColor = (color: ParsedColor, target: 0 | 255, coefficient = 0.2) =>\n formatColor({\n r: mixChannel(color.r, target, coefficient),\n g: mixChannel(color.g, target, coefficient),\n b: mixChannel(color.b, target, coefficient),\n a: color.a,\n });\n\nconst hashString = (value: string) =>\n Array.from(value)\n .reduce((result, char) => (result * 31 + char.charCodeAt(0)) >>> 0, 0)\n .toString(36);\n\nconst cssPropertyName = (property: string) =>\n property.replace(/[A-Z]/g, (char) => `-${char.toLowerCase()}`);\n\nconst cssPropertyValue = (value: string | number) =>\n typeof value === \"number\" ? `${value}px` : value;\n\nconst styleObjectToCss = (selector: string, sx: CSSProperties | SxEntry[]): string => {\n const declarations: string[] = [];\n const nestedRules: string[] = [];\n\n normalizeSxEntries(sx).forEach((entry) => {\n Object.entries(entry).forEach(([key, value]) => {\n if (key.startsWith(\"&\") && isObjectRecord(value)) {\n nestedRules.push(styleObjectToCss(key.replace(/&/g, selector), value));\n return;\n }\n\n if (key.startsWith(\"@\") && isObjectRecord(value)) {\n nestedRules.push(`${key}{${styleObjectToCss(selector, value)}}`);\n return;\n }\n\n if (typeof value === \"string\" || typeof value === \"number\") {\n declarations.push(`${cssPropertyName(key)}:${cssPropertyValue(value)};`);\n }\n });\n });\n\n return `${selector}{${declarations.join(\"\")}}${nestedRules.join(\"\")}`;\n};\n\nconst ensureCompatStyleClass = (sx: CSSProperties | SxEntry[]) => {\n if (!hasNestedStyle(sx)) return undefined;\n\n const className = `fm-styled-${hashString(JSON.stringify(sx))}`;\n const styleId = `${className}-style`;\n\n if (typeof document !== \"undefined\" && !document.getElementById(styleId)) {\n const style = document.createElement(\"style\");\n style.id = styleId;\n style.textContent = styleObjectToCss(`.${className}`, sx);\n document.head.appendChild(style);\n }\n\n return className;\n};\n\nexport const alpha = (color: string, value = 1) => {\n const parsedColor = parseColor(color);\n if (parsedColor) return formatRgba(parsedColor, value);\n return `color-mix(in srgb, ${color} ${formatPercent(clampRatio(value) * 100)}%, transparent)`;\n};\n\nexport const darken = (color: string, coefficient = 0.2) => {\n const parsedColor = parseColor(color);\n if (parsedColor) return mixColor(parsedColor, 0, coefficient);\n return `color-mix(in srgb, ${color} ${formatPercent((1 - clampRatio(coefficient)) * 100)}%, black)`;\n};\n\nexport const lighten = (color: string, coefficient = 0.2) => {\n const parsedColor = parseColor(color);\n if (parsedColor) return mixColor(parsedColor, 255, coefficient);\n return `color-mix(in srgb, ${color} ${formatPercent((1 - clampRatio(coefficient)) * 100)}%, white)`;\n};\n\n/**\n * Injects keyframes into document.head at runtime for styled-component compatibility.\n * On the server it only returns the generated animation name; strict CSP consumers\n * should prefer static CSS classes.\n */\nexport const keyframes = (strings: TemplateStringsArray | string[], ...values: unknown[]) => {\n const body = strings.reduce(\n (result, part, index) => `${result}${part}${values[index] ?? \"\"}`,\n \"\",\n );\n const hash = hashString(body);\n const name = `fm-keyframes-${hash}`;\n\n if (typeof document !== \"undefined\" && !document.getElementById(name)) {\n const style = document.createElement(\"style\");\n style.id = name;\n style.textContent = `@keyframes ${name} { ${body} }`;\n document.head.appendChild(style);\n }\n\n return name;\n};\nconst compatTheme = {\n breakpoints: compatBreakpoints,\n palette: {\n action: {\n active: fairmintVars.colorIconPrimary,\n hover: fairmintVars.colorBgHover,\n selected: fairmintVars.colorBgSelected,\n },\n background: { default: fairmintVars.colorBgCanvas, paper: fairmintVars.colorBgSurface },\n common: { black: commonColors.black, white: commonColors.white },\n divider: fairmintVars.colorBorderDefault,\n error: { main: fairmintVars.colorErrorText },\n grey: {\n 50: fairmintVars.colorBgSurfaceSecondary,\n 100: fairmintVars.colorBgHover,\n 500: fairmintVars.colorTextSecondary,\n 900: fairmintVars.colorTextPrimary,\n },\n info: { main: fairmintVars.colorInfoText },\n mode: \"light\",\n primary: {\n contrastText: commonColors.white,\n dark: fairmintVars.colorBrandPrimaryHover,\n light: fairmintVars.colorBrandPrimaryActive,\n main: fairmintVars.colorBrandPrimary,\n },\n secondary: { main: fairmintVars.colorTextSecondary },\n success: { main: fairmintVars.colorSuccessText },\n text: {\n disabled: fairmintVars.colorTextDisabled,\n primary: fairmintVars.colorTextPrimary,\n secondary: fairmintVars.colorTextSecondary,\n },\n warning: { main: fairmintVars.colorWarningText },\n },\n shape: { borderRadius: 4 },\n spacing: (...values: Array<number | string>) =>\n values.map((value) => (typeof value === \"number\" ? `${value * 8}px` : value)).join(\" \"),\n transitions: {\n create: (\n props: string | string[],\n options?: { duration?: number | string; easing?: string },\n ) => {\n const properties = Array.isArray(props) ? props : [props];\n const duration = options?.duration ?? \"150ms\";\n const easing = options?.easing ?? \"ease\";\n\n return properties.map((property) => `${property} ${duration} ${easing}`).join(\",\");\n },\n },\n};\n\nconst isObjectRecord = (value: unknown): value is Record<string, any> =>\n typeof value === \"object\" && value !== null && !Array.isArray(value);\n\nconst mergeCompatTheme = (base: any, ...overrides: unknown[]): any => {\n const merged = { ...base };\n\n for (const override of overrides) {\n if (!isObjectRecord(override)) continue;\n\n for (const [key, value] of Object.entries(override)) {\n const baseValue = merged[key];\n merged[key] =\n isObjectRecord(baseValue) && isObjectRecord(value)\n ? mergeCompatTheme(baseValue, value)\n : value;\n }\n }\n\n return merged;\n};\n\nconst CompatThemeContext = createContext(compatTheme);\n\nexport const createTheme = (...overrides: unknown[]) => mergeCompatTheme(compatTheme, ...overrides);\nexport const responsiveFontSizes = (theme: unknown) => theme;\nexport const CssBaseline = () => null;\nexport const common = commonColors;\nexport const inputLabelClasses = { root: \"fm-input-label-root\" };\nexport const tableCellClasses = { root: \"fm-table-cell-root\" };\nexport const backdropClasses = { root: \"fm-backdrop-root\" };\nexport const filledInputClasses = { root: \"fm-filled-input-root\" };\nexport const outlinedInputClasses = { root: \"fm-outlined-input-root\" };\nexport const paperClasses = { root: \"fm-paper-root\" };\nexport const styled =\n (Component: any) =>\n (styles: any) =>\n ({ sx, style, ...props }: any) => {\n const currentTheme = useTheme();\n const computedStyles =\n typeof styles === \"function\"\n ? styles({ ...currentTheme, theme: currentTheme, ...props })\n : styles;\n const resolvedStyle = {\n ...cssStyleObjectToInlineStyle(computedStyles),\n ...sxToStyle(sx),\n ...style,\n };\n const nestedClassName = ensureCompatStyleClass(computedStyles);\n const className = [props.className, nestedClassName].filter(Boolean).join(\" \");\n\n if (typeof Component === \"string\") {\n return <Component {...props} className={className || undefined} style={resolvedStyle} />;\n }\n\n return (\n <Component\n {...props}\n className={className || undefined}\n sx={{ ...computedStyles, ...sx }}\n style={resolvedStyle}\n />\n );\n };\nexport const ThemeProvider = ({\n children,\n theme: providedTheme,\n}: {\n children: ReactNode;\n theme?: unknown;\n}) => {\n const parentTheme = useTheme();\n const resolvedTheme = useMemo(\n () => mergeCompatTheme(parentTheme, providedTheme),\n [parentTheme, providedTheme],\n );\n\n return (\n <CompatThemeContext.Provider value={resolvedTheme}>{children}</CompatThemeContext.Provider>\n );\n};\nexport const useTheme = () => useContext(CompatThemeContext);\n\nexport const Typography = ({\n align,\n children,\n className,\n color,\n component,\n noWrap,\n sx,\n variant,\n ...props\n}: any) => {\n const Component = variant?.startsWith?.(\"h\") ? Title : Text;\n const order = variant?.startsWith?.(\"h\") ? Number(variant.slice(1)) : undefined;\n const resolvedColor = resolveCompatColor(color);\n return (\n <Component\n {...(resolvedColor ? { c: resolvedColor } : {})}\n className={[\n \"fairmint-typography-root\",\n typeof variant === \"string\" ? `fairmint-typography-${variant}` : undefined,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n component={component}\n order={order}\n style={{\n ...sxToStyle(sx),\n ...(noWrap ? { overflow: \"hidden\", textOverflow: \"ellipsis\", whiteSpace: \"nowrap\" } : {}),\n }}\n ta={align}\n {...props}\n >\n {children}\n </Component>\n );\n};\n\nexport const IconButton = ({\n children,\n className,\n color = \"default\",\n edge,\n size,\n sx,\n ...props\n}: any) => (\n <ActionIcon\n className={[\n \"MuiIconButton-root\",\n \"fairmint-icon-button-root\",\n `MuiIconButton-color${String(color).charAt(0).toUpperCase()}${String(color).slice(1)}`,\n `fairmint-icon-button-color${String(color).charAt(0).toUpperCase()}${String(color).slice(1)}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \")}\n color={resolveCompatColor(color)}\n size={mapCompatIconButtonSize(size)}\n style={sxToStyle(sx)}\n {...props}\n >\n {children}\n </ActionIcon>\n);\n\nexport const CircularProgress = ({ size, sx, ...props }: any) => (\n <Loader size={sizeValue(size) || \"sm\"} style={sxToStyle(sx)} {...props} />\n);\n\nexport const CardHeader = ({ action, subheader, title, titleTypographyProps }: any) => (\n <Group justify=\"space-between\" align=\"flex-start\" mb=\"md\">\n <div>\n <Title order={3} size=\"h5\" {...titleTypographyProps}>\n {title}\n </Title>\n {subheader && (\n <Text c={resolveCompatColor(\"text.secondary\")} size=\"sm\">\n {subheader}\n </Text>\n )}\n </div>\n {action}\n </Group>\n);\n\nexport const CardContent = ({ children, sx, ...props }: any) => (\n <MantineBox style={sxToStyle(sx)} {...props}>\n {children}\n </MantineBox>\n);\n\nexport const CardActions = ({ children, sx, ...props }: any) => (\n <Group style={sxToStyle(sx)} {...props}>\n {children}\n </Group>\n);\n\nconst dialogMaxWidthBySize: Record<string, number> = {\n lg: 1200,\n md: 900,\n sm: 600,\n xl: 1536,\n xs: 444,\n};\n\nconst dialogPaperStyleFromSx = (sx?: Sx) => {\n if (!sx) return undefined;\n const resolved = typeof sx === \"function\" ? sx(compatTheme) : sx;\n const paperSx =\n (resolved as Record<string, unknown>)[\"& .fairmint-dialog-content\"] ||\n (resolved as Record<string, unknown>)[\"& .MuiDialog-paper\"];\n\n return paperSx && typeof paperSx === \"object\" ? sxToStyle(paperSx as Sx) : undefined;\n};\n\nconst resolveDialogSize = (maxWidth: unknown, paperStyle?: CSSProperties) => {\n if (paperStyle?.maxWidth) return paperStyle.maxWidth;\n if (maxWidth === false) return \"100%\";\n if (typeof maxWidth === \"number\") return maxWidth;\n if (typeof maxWidth === \"string\") return dialogMaxWidthBySize[maxWidth] || maxWidth;\n\n return dialogMaxWidthBySize.sm;\n};\n\nconst dialogCloseEvent = { currentTarget: null, target: null };\ntype DialogCloseReason = \"backdropClick\" | \"escapeKeyDown\";\n\nexport const Dialog = ({\n centered,\n children,\n closeButtonProps,\n closeOnEscape,\n disableEscapeKeyDown,\n fullWidth,\n maxWidth,\n onClose,\n open,\n overlayProps,\n PaperProps,\n classNames,\n shadow,\n styles,\n sx,\n title,\n withCloseButton = true,\n withOverlay = true,\n ...props\n}: DialogProps) => {\n const {\n className: paperClassName,\n component: PaperComponent,\n elevation,\n style: paperInlineStyle,\n sx: paperSx,\n ...paperElementProps\n } = PaperProps || {};\n const paperStyle = {\n ...sxToStyle(paperSx),\n ...paperInlineStyle,\n ...dialogPaperStyleFromSx(sx),\n };\n const contentStyle = {\n ...(fullWidth ? { width: \"100%\" } : {}),\n ...paperStyle,\n ...styles?.content,\n };\n const classNameMap = typeof classNames === \"function\" ? undefined : classNames;\n const contentClassName = [\"fairmint-dialog-content\", classNameMap?.content, paperClassName]\n .filter(Boolean)\n .join(\" \");\n const bodyContent = PaperComponent\n ? createElement(PaperComponent, paperElementProps, children)\n : children;\n const contentProps = PaperComponent ? {} : paperElementProps;\n const hasHeader = Boolean(title) || withCloseButton;\n const closeReasonRef = useRef<DialogCloseReason>(\"escapeKeyDown\");\n const handleClose = () => {\n onClose?.(dialogCloseEvent, closeReasonRef.current);\n closeReasonRef.current = \"escapeKeyDown\";\n };\n\n return (\n <MantineModal.Root\n centered={centered ?? true}\n closeOnEscape={disableEscapeKeyDown ? false : closeOnEscape}\n opened={!!open}\n onClose={handleClose}\n size={resolveDialogSize(maxWidth, paperStyle)}\n style={sxToStyle(sx)}\n classNames={{\n ...classNameMap,\n body: [\"fairmint-dialog-body\", classNameMap?.body].filter(Boolean).join(\" \"),\n content: contentClassName,\n inner: [\"fairmint-dialog-container\", classNameMap?.inner].filter(Boolean).join(\" \"),\n root: [\"fairmint-dialog-root\", classNameMap?.root].filter(Boolean).join(\" \"),\n }}\n styles={{ ...styles, content: contentStyle }}\n {...props}\n >\n {withOverlay && (\n <MantineModal.Overlay\n {...overlayProps}\n onClick={(event) => {\n closeReasonRef.current = \"backdropClick\";\n overlayProps?.onClick?.(event);\n }}\n onMouseDown={(event) => {\n closeReasonRef.current = \"backdropClick\";\n overlayProps?.onMouseDown?.(event);\n }}\n />\n )}\n <MantineModal.Content\n {...contentProps}\n className={contentClassName}\n shadow={shadow ?? (elevation ? \"xl\" : undefined)}\n style={contentStyle}\n >\n {hasHeader && (\n <MantineModal.Header className={classNameMap?.header}>\n {title && (\n <MantineModal.Title className={classNameMap?.title}>{title}</MantineModal.Title>\n )}\n {withCloseButton && (\n <MantineModal.CloseButton\n aria-label=\"Close\"\n {...closeButtonProps}\n onClick={(event) => {\n closeReasonRef.current = \"escapeKeyDown\";\n closeButtonProps?.onClick?.(event);\n }}\n className={[classNameMap?.close, closeButtonProps?.className]\n .filter(Boolean)\n .join(\" \")}\n />\n )}\n </MantineModal.Header>\n )}\n <MantineModal.Body\n className={[\"fairmint-dialog-body\", classNameMap?.body].filter(Boolean).join(\" \")}\n >\n {bodyContent}\n </MantineModal.Body>\n </MantineModal.Content>\n </MantineModal.Root>\n );\n};\n\nexport const DialogTitle = ({ children, sx, ...props }: any) => (\n <Title order={3} style={sxToStyle(sx)} {...props}>\n {children}\n </Title>\n);\n\nexport const DialogContent = ({ children, sx, ...props }: any) => (\n <MantineBox style={sxToStyle(sx)} {...props}>\n {children}\n </MantineBox>\n);\n\nexport const DialogActions = ({ children, sx, ...props }: any) => (\n <Group justify=\"flex-end\" style={sxToStyle(sx)} {...props}>\n {children}\n </Group>\n);\n\nexport const TableHead = MantineTable.Thead;\nexport const TableBody = MantineTable.Tbody;\nexport const TableRow = ({ hover: _hover, style, sx, ...props }: any) => (\n <MantineTable.Tr style={{ ...sxToStyle(sx), ...style }} {...props} />\n);\nexport const TableCell = ({ align, children, component, style, sx, ...props }: any) => {\n const CellComponent = component === \"th\" ? MantineTable.Th : MantineTable.Td;\n\n return (\n <CellComponent ta={align} style={{ ...sxToStyle(sx), ...style }} {...props}>\n {children}\n </CellComponent>\n );\n};\n\nexport {\n TablePagination,\n type TablePaginationProps,\n type TablePaginationRowsPerPageOption,\n} from \"../generic/TablePagination/TablePagination\";\n\nconst isTabsListChild = (child: ReactNode) =>\n isValidElement(child) && child.type === MantineTabs.List;\n\nconst isTabLabelChild = (child: ReactNode) =>\n isValidElement(child) &&\n (() => {\n const props = child.props as { label?: unknown; value?: unknown };\n return (\n child.type === MantineTabs.Tab ||\n (typeof child.type !== \"string\" &&\n \"label\" in props &&\n \"value\" in props &&\n child.type !== MantineTabs.Panel)\n );\n })();\n\nexport const Tabs = ({\n children,\n className,\n classNames,\n indicatorColor: _indicatorColor,\n onChange,\n scrollButtons,\n textColor: _textColor,\n value,\n variant,\n ...props\n}: any) => {\n const classNameMap = typeof classNames === \"function\" ? undefined : classNames;\n const childArray = Children.toArray(children);\n const explicitList = childArray.find(isTabsListChild);\n const tabChildren = explicitList\n ? undefined\n : childArray.filter((child) => isTabLabelChild(child));\n const panelChildren = explicitList\n ? childArray.filter((child) => !isTabsListChild(child))\n : childArray.filter((child) => !isTabLabelChild(child));\n\n return (\n <MantineTabs\n className={[\"fairmint-tabs-root\", className].filter(Boolean).join(\" \")}\n classNames={{\n ...classNameMap,\n list: [\"fairmint-tabs-list\", classNameMap?.list].filter(Boolean).join(\" \"),\n panel: [\"fairmint-tabs-panel\", classNameMap?.panel].filter(Boolean).join(\" \"),\n root: [\"fairmint-tabs-root\", classNameMap?.root].filter(Boolean).join(\" \"),\n tab: [\"fairmint-tab-root\", \"fairmint-tabs-tab\", classNameMap?.tab]\n .filter(Boolean)\n .join(\" \"),\n }}\n value={value}\n onChange={(next) => onChange?.({}, next)}\n variant={variant === \"scrollable\" ? \"default\" : variant}\n {...props}\n >\n {explicitList || (\n <MantineTabs.List\n className=\"fairmint-tabs-list\"\n style={\n variant === \"scrollable\" || scrollButtons\n ? { flexWrap: \"nowrap\", overflowX: \"auto\", overflowY: \"hidden\" }\n : undefined\n }\n >\n {tabChildren}\n </MantineTabs.List>\n )}\n {panelChildren}\n </MantineTabs>\n );\n};\nexport const Tab = ({ className, disableRipple: _disableRipple, label, value, ...props }: any) => (\n <MantineTabs.Tab\n className={[\"fairmint-tab-root\", className].filter(Boolean).join(\" \")}\n value={value}\n {...props}\n >\n {label}\n </MantineTabs.Tab>\n);\n\nconst resolveAnchorElement = (anchorEl: any): HTMLElement | undefined => {\n const resolvedAnchor = typeof anchorEl === \"function\" ? anchorEl() : anchorEl;\n if (typeof HTMLElement === \"undefined\") return undefined;\n return resolvedAnchor instanceof HTMLElement ? resolvedAnchor : undefined;\n};\n\nconst getAnchorStyle = (anchorEl: any): CSSProperties => {\n const anchor = resolveAnchorElement(anchorEl);\n if (!anchor)\n return { height: 0, left: 0, pointerEvents: \"none\", position: \"fixed\", top: 0, width: 0 };\n\n const rect = anchor.getBoundingClientRect();\n return {\n height: rect.height,\n left: rect.left,\n pointerEvents: \"none\",\n position: \"fixed\",\n top: rect.top,\n width: rect.width,\n };\n};\n\nconst useAnchorStyle = (anchorEl: any, open: boolean | undefined) => {\n const [style, setStyle] = useState<CSSProperties>(() => getAnchorStyle(anchorEl));\n\n useEffect(() => {\n const updateStyle = () => setStyle(getAnchorStyle(anchorEl));\n const anchor = resolveAnchorElement(anchorEl);\n\n updateStyle();\n if (!open || typeof window === \"undefined\") return undefined;\n\n window.addEventListener(\"scroll\", updateStyle, true);\n window.addEventListener(\"resize\", updateStyle);\n\n const resizeObserver =\n typeof ResizeObserver !== \"undefined\" && anchor ? new ResizeObserver(updateStyle) : undefined;\n if (resizeObserver && anchor) resizeObserver.observe(anchor);\n\n return () => {\n window.removeEventListener(\"scroll\", updateStyle, true);\n window.removeEventListener(\"resize\", updateStyle);\n resizeObserver?.disconnect();\n };\n }, [anchorEl, open]);\n\n return style;\n};\n\nexport const Menu = ({ anchorEl, children, onClose, open, ...props }: any) => {\n const anchorStyle = useAnchorStyle(anchorEl, open);\n const target = isValidElement(anchorEl) ? (\n anchorEl\n ) : (\n <span aria-hidden=\"true\" data-fairmint-menu-anchor=\"true\" style={anchorStyle} />\n );\n\n return (\n <MantineMenu opened={open} onChange={(next) => !next && onClose?.()} {...props}>\n <MantineMenu.Target>{target}</MantineMenu.Target>\n <MantineMenu.Dropdown>{children}</MantineMenu.Dropdown>\n </MantineMenu>\n );\n};\n\nexport const MenuItem = ({ children, component, disabled, onClick, value, ...props }: any) => {\n const Component: any = component || MantineMenu.Item;\n return (\n <Component disabled={disabled} onClick={onClick} value={value} {...props}>\n {children}\n </Component>\n );\n};\n\nexport const TextField = ({\n children,\n error,\n fullWidth,\n helperText,\n inputProps,\n InputProps,\n InputLabelProps: _InputLabelProps,\n inputRef,\n label,\n endAdornment,\n multiline,\n onChange,\n placeholder,\n select,\n size,\n startAdornment,\n style,\n styles,\n sx,\n defaultValue,\n value,\n variant: _variant,\n ...props\n}: TextFieldProps) => {\n const mantineSize = mapCompatSize(size);\n const resolvedStyle = formControlStyle({ fullWidth, style, sx });\n const { disabled, readOnly, ...fieldProps } = props;\n const mergedInputProps: Record<string, unknown> = {\n ...(InputProps?.inputProps || {}),\n ...(inputProps || {}),\n };\n const {\n disabled: inputDisabled,\n readOnly: inputReadOnly,\n ...passthroughInputProps\n } = mergedInputProps;\n const resolvedDisabled =\n optionalBoolean(disabled) ??\n optionalBoolean(InputProps?.disabled) ??\n optionalBoolean(inputDisabled);\n const resolvedReadOnly =\n optionalBoolean(readOnly) ??\n optionalBoolean(InputProps?.readOnly) ??\n optionalBoolean(inputReadOnly);\n const helperDescription = error ? undefined : helperText || undefined;\n const ariaLabel =\n optionalString(fieldProps[\"aria-label\"]) || optionalString(passthroughInputProps[\"aria-label\"]);\n const textInputRef = inputRef\n ? (node: HTMLInputElement | HTMLTextAreaElement | null) => assignCompatRef(inputRef, node)\n : undefined;\n\n if (select) {\n const data = Children.toArray(children)\n .filter((child): child is ReactElement<{ children?: ReactNode; value?: unknown }> =>\n isValidElement(child),\n )\n .map((child) => ({\n label: nodeToText(child.props.children),\n originalValue: child.props.value,\n value: String(child.props.value),\n }));\n const optionValuesByString = new Map(\n data.map((option) => [option.value, option.originalValue]),\n );\n\n return (\n <MantineSelect\n data={data.map(({ label, value }) => ({ label, value }))}\n defaultValue={defaultValue == null ? undefined : String(defaultValue)}\n value={value === undefined ? undefined : value == null ? null : String(value)}\n onChange={(next) => {\n const originalValue =\n next == null\n ? null\n : optionValuesByString.has(next)\n ? optionValuesByString.get(next)\n : next;\n onChange?.({\n currentTarget: { name: fieldProps.name, value: originalValue },\n target: { name: fieldProps.name, value: originalValue },\n } as SelectChangeEvent);\n }}\n description={helperDescription}\n disabled={resolvedDisabled}\n error={error ? helperText : undefined}\n label={label}\n readOnly={resolvedReadOnly}\n size={mantineSize}\n style={resolvedStyle}\n classNames={{\n input: \"fairmint-input-input fairmint-select-input\",\n wrapper: \"fairmint-input-root\",\n }}\n styles={styles}\n {...fieldProps}\n />\n );\n }\n const Component = multiline ? Textarea : TextInput;\n return (\n <Component\n defaultValue={inputControlValue(defaultValue)}\n value={inputControlValue(value)}\n onChange={onChange}\n description={helperDescription}\n disabled={resolvedDisabled}\n error={error ? helperText : undefined}\n label={label}\n leftSection={InputProps?.startAdornment || startAdornment}\n placeholder={placeholder}\n readOnly={resolvedReadOnly}\n rightSection={InputProps?.endAdornment || endAdornment}\n size={mantineSize}\n style={resolvedStyle}\n classNames={{\n input: \"fairmint-input-input fairmint-outlined-input-input\",\n root: \"fairmint-input-root fairmint-outlined-input-root\",\n wrapper: \"fairmint-input-wrapper fairmint-outlined-input-wrapper\",\n }}\n styles={styles}\n ref={textInputRef}\n {...fieldProps}\n {...passthroughInputProps}\n aria-label={ariaLabel}\n />\n );\n};\n\nexport const OutlinedInput = ({\n error,\n fullWidth,\n inputProps,\n inputRef,\n InputProps,\n endAdornment,\n size,\n startAdornment,\n style,\n sx,\n ...props\n}: any) => {\n const mantineSize = mapCompatSize(size);\n return (\n <TextInput\n error={error}\n leftSection={InputProps?.startAdornment || startAdornment}\n rightSection={InputProps?.endAdornment || endAdornment}\n ref={inputRef}\n size={mantineSize}\n style={formControlStyle({ fullWidth, style, sx })}\n classNames={{\n input: \"fairmint-input-input fairmint-outlined-input-input\",\n root: \"fairmint-input-root fairmint-outlined-input-root\",\n wrapper: \"fairmint-input-wrapper fairmint-outlined-input-wrapper\",\n }}\n {...props}\n {...inputProps}\n />\n );\n};\nexport const InputAdornment = ({ children }: any) => <>{children}</>;\nexport const InputLabel = ({ children }: any) => <Text size=\"sm\">{children}</Text>;\nexport const FormControl = ({ children, fullWidth, style, sx, ...props }: any) => (\n <Stack style={formControlStyle({ fullWidth, style, sx })} {...props}>\n {children}\n </Stack>\n);\nexport const FormHelperText = ({ children, error }: any) => (\n <Text c={resolveCompatColor(error ? \"error\" : \"text.secondary\")} size=\"xs\">\n {children}\n </Text>\n);\nexport const FormControlLabel = ({\n checked,\n control,\n disabled,\n label,\n onChange,\n sx,\n ...props\n}: any) => {\n const controlProps = isValidElement(control) ? (control.props as any) : {};\n const handleChange =\n onChange || controlProps.onChange\n ? (event: any, ...args: any[]) => {\n controlProps.onChange?.(event, ...args);\n onChange?.(event, event.currentTarget?.checked ?? event.target?.checked);\n }\n : undefined;\n\n return (\n <Group\n align=\"center\"\n component=\"label\"\n gap=\"xs\"\n style={{ width: \"100%\", ...sxToStyle(sx) }}\n {...props}\n >\n <MantineBox\n component=\"span\"\n style={{\n alignItems: \"center\",\n display: \"inline-flex\",\n }}\n >\n {isValidElement(control)\n ? cloneElement(control, {\n ...(checked !== undefined ? { checked } : {}),\n ...(disabled !== undefined ? { disabled } : {}),\n ...(handleChange ? { onChange: handleChange } : {}),\n } as any)\n : control}\n </MantineBox>\n <MantineBox\n component=\"span\"\n style={{\n color: disabled ? resolveCompatColor(\"text.disabled\") : undefined,\n flex: 1,\n minWidth: 0,\n }}\n >\n {isValidElement(label) ? label : <Text component=\"span\">{label}</Text>}\n </MantineBox>\n </Group>\n );\n};\n\nexport const AccordionSummary = ({ children, className, expandIcon, style, sx, ...props }: any) => (\n <MantineAccordion.Control\n chevron={expandIcon}\n className={[\"fairmint-accordion-summary-root\", className].filter(Boolean).join(\" \")}\n style={{ ...sxToStyle(sx), ...style }}\n {...props}\n >\n {children}\n </MantineAccordion.Control>\n);\nexport const AccordionDetails = ({ children, className, style, sx, ...props }: any) => (\n <MantineAccordion.Panel\n className={[\"fairmint-accordion-details-root\", className].filter(Boolean).join(\" \")}\n style={{ ...sxToStyle(sx), ...style }}\n {...props}\n >\n {children}\n </MantineAccordion.Panel>\n);\n\nconst isAccordionSummaryChild = (child: ReactNode) =>\n isValidElement(child) && child.type === AccordionSummary;\n\nconst groupAccordionChildren = (children: ReactNode) => {\n const groups: ReactNode[][] = [];\n\n Children.forEach(children, (child) => {\n if (isAccordionSummaryChild(child) || groups.length === 0) {\n groups.push([child]);\n return;\n }\n\n groups[groups.length - 1].push(child);\n });\n\n return groups;\n};\n\nexport const Accordion = ({\n children,\n className,\n defaultExpanded,\n expanded,\n multiple,\n onChange,\n ...props\n}: any) => {\n const groups = groupAccordionChildren(children);\n const itemValues = groups.map((_, index) => `item-${index}`);\n const isControlled = expanded !== undefined;\n const allowMultiple = multiple ?? false;\n const accordionValue = allowMultiple\n ? expanded\n ? itemValues\n : []\n : expanded\n ? itemValues[0]\n : null;\n\n return (\n <MantineAccordion\n className={[\"fairmint-accordion-root\", className].filter(Boolean).join(\" \")}\n classNames={{\n content: \"fairmint-accordion-details-content\",\n control: \"fairmint-accordion-summary-root\",\n item: \"fairmint-accordion-item\",\n label: \"fairmint-accordion-summary-content\",\n panel: \"fairmint-accordion-details-root\",\n }}\n defaultValue={\n !isControlled && defaultExpanded ? (allowMultiple ? itemValues : itemValues[0]) : undefined\n }\n multiple={allowMultiple}\n value={isControlled ? accordionValue : undefined}\n onChange={(value) => onChange?.({}, Array.isArray(value) ? value.length > 0 : Boolean(value))}\n {...props}\n >\n {groups.map((group, index) => (\n <MantineAccordion.Item key={itemValues[index]} value={itemValues[index]}>\n {group}\n </MantineAccordion.Item>\n ))}\n </MantineAccordion>\n );\n};\n\nexport const ButtonGroup = Group;\nexport const Chip = ({\n className,\n label,\n children,\n clickable,\n color = \"default\",\n icon,\n onClick,\n onDelete,\n size,\n sx,\n variant,\n ...props\n}: any) => {\n const chipClassName = [\n \"MuiChip-root\",\n \"fairmint-chip-root\",\n `MuiChip-color${String(color).charAt(0).toUpperCase()}${String(color).slice(1)}`,\n `fairmint-chip-color${String(color).charAt(0).toUpperCase()}${String(color).slice(1)}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n const content = label || children;\n\n if (onClick || onDelete) {\n return (\n <button\n className={chipClassName}\n onClick={onClick}\n style={{\n alignItems: \"center\",\n background: \"transparent\",\n border: \"1px solid currentColor\",\n borderRadius: 999,\n cursor: onClick ? \"pointer\" : \"default\",\n display: \"inline-flex\",\n gap: 4,\n padding: \"2px 8px\",\n ...sxToStyle(sx),\n }}\n type=\"button\"\n {...props}\n >\n {icon && <span className=\"fairmint-chip-icon\">{icon}</span>}\n <span className=\"MuiChip-label fairmint-chip-label\">{content}</span>\n {onDelete && (\n <span\n aria-hidden=\"true\"\n className=\"fairmint-chip-delete-icon\"\n data-testid=\"CancelIcon\"\n onClick={(event) => {\n event.stopPropagation();\n onDelete(event);\n }}\n style={{ cursor: \"pointer\", lineHeight: 1 }}\n >\n ×\n </span>\n )}\n </button>\n );\n }\n\n return (\n <Badge\n className={chipClassName}\n color={mapChipBadgeColor(color)}\n leftSection={icon ? <span className=\"fairmint-chip-icon\">{icon}</span> : undefined}\n size={mapCompatSize(size)}\n style={{ textTransform: \"none\", ...sxToStyle(sx) }}\n variant={mapChipVariant(variant)}\n {...props}\n >\n {content}\n </Badge>\n );\n};\nconst mouseEventMap: Record<string, keyof DocumentEventMap> = {\n onClick: \"click\",\n onMouseDown: \"mousedown\",\n onMouseUp: \"mouseup\",\n onPointerDown: \"pointerdown\",\n onPointerUp: \"pointerup\",\n};\n\nconst touchEventMap: Record<string, keyof DocumentEventMap> = {\n onTouchEnd: \"touchend\",\n onTouchStart: \"touchstart\",\n};\n\nconst isDocumentEventName = (\n eventName: keyof DocumentEventMap | undefined,\n): eventName is keyof DocumentEventMap => eventName !== undefined;\n\nconst assignRef = <T,>(ref: Ref<T> | undefined, value: T | null) => {\n if (typeof ref === \"function\") {\n ref(value);\n return;\n }\n if (ref && \"current\" in ref) {\n ref.current = value;\n }\n};\n\nconst createAutocompleteEvent = (value: unknown) => ({\n currentTarget: { value },\n target: { value },\n});\n\nexport const ClickAwayListener = ({\n children,\n mouseEvent = \"onClick\",\n onClickAway,\n touchEvent = \"onTouchEnd\",\n}: any) => {\n const nodeRef = useRef<HTMLElement | null>(null);\n\n useEffect(() => {\n if (!onClickAway) return;\n\n const handleClickAway = (event: Event) => {\n const node = nodeRef.current;\n if (node && event.target instanceof Node && node.contains(event.target)) return;\n onClickAway(event);\n };\n const eventNames = [\n mouseEvent === false ? undefined : mouseEventMap[mouseEvent] || \"click\",\n touchEvent === false ? undefined : touchEventMap[touchEvent] || \"touchend\",\n ].filter(isDocumentEventName);\n\n for (const eventName of eventNames) {\n document.addEventListener(eventName, handleClickAway, true);\n }\n\n return () => {\n for (const eventName of eventNames) {\n document.removeEventListener(eventName, handleClickAway, true);\n }\n };\n }, [mouseEvent, onClickAway, touchEvent]);\n\n if (Children.count(children) === 1) {\n const child = Children.only(children);\n if (isValidElement<{ ref?: Ref<HTMLElement> }>(child)) {\n const originalRef = child.props.ref;\n return cloneElement(child, {\n ref: (node: HTMLElement | null) => {\n nodeRef.current = node;\n assignRef(originalRef, node);\n },\n });\n }\n }\n\n return <span ref={nodeRef}>{children}</span>;\n};\nconst linkUnderlineStyle = (underline: unknown): CSSProperties => {\n if (underline === \"always\") return { textDecoration: \"underline\" };\n if (underline === \"none\" || underline === \"hover\") return { textDecoration: \"none\" };\n return {};\n};\n\nexport const Link = ({ children, color, style, sx, underline, ...props }: any) => (\n <Text\n component=\"a\"\n style={{ ...sxToStyle(sx), ...linkUnderlineStyle(underline), ...style }}\n {...(resolveCompatColor(color) ? { c: resolveCompatColor(color) } : {})}\n {...props}\n >\n {children}\n </Text>\n);\nexport const ListItemButton = ({ children, selected, sx, style, ...props }: any) => (\n <MantineBox\n aria-selected={selected || undefined}\n style={{\n backgroundColor: selected ? resolveCompatColor(\"action.selected\") : undefined,\n ...sxToStyle(sx),\n ...style,\n }}\n {...props}\n >\n {children}\n </MantineBox>\n);\nexport const ListItemIcon = ({ children, sx, style, ...props }: any) => (\n <MantineBox style={{ ...sxToStyle(sx), ...style }} {...props}>\n {children}\n </MantineBox>\n);\nexport const ListItemText = ({ primary, secondary }: any) => (\n <Stack gap={0}>\n <Text>{primary}</Text>\n {secondary && (\n <Text c={resolveCompatColor(\"text.secondary\")} size=\"sm\">\n {secondary}\n </Text>\n )}\n </Stack>\n);\nexport const SvgIcon = ({\n children,\n color,\n fontSize,\n htmlColor,\n style,\n sx,\n titleAccess,\n viewBox = \"0 0 24 24\",\n ...props\n}: any) => {\n const mappedFontSize =\n fontSize === \"small\" ? 20 : fontSize === \"large\" ? 35 : fontSize === \"inherit\" ? \"inherit\" : 24;\n\n return (\n <svg\n aria-hidden={titleAccess ? undefined : true}\n color={htmlColor || resolveCompatColor(color)}\n fill=\"currentColor\"\n focusable=\"false\"\n height=\"1em\"\n role={titleAccess ? \"img\" : undefined}\n style={{\n color: htmlColor || resolveCompatColor(color),\n fontSize: mappedFontSize,\n ...sxToStyle(sx),\n ...style,\n }}\n viewBox={viewBox}\n width=\"1em\"\n {...props}\n >\n <title>{titleAccess || \"icon\"}</title>\n {children}\n </svg>\n );\n};\nexport const AlertTitle = ({ children }: any) => <Text fw={700}>{children}</Text>;\nexport class AdapterDayjs {}\nexport const LocalizationProvider = ({\n children,\n}: {\n children: ReactNode;\n dateAdapter?: unknown;\n}) => <>{children}</>;\nexport const DatePicker = ({\n defaultValue,\n fullWidth,\n label,\n onAccept,\n onChange,\n slotProps,\n sx,\n value,\n views: _views,\n ...props\n}: any) => {\n const {\n fullWidth: textFieldFullWidth,\n error: textFieldError,\n helperText,\n onBlur: textFieldOnBlur,\n required,\n size,\n style,\n sx: textFieldSx,\n ...textFieldProps\n } = slotProps?.textField || {};\n const mantineSize = mapCompatSize(size);\n const isControlled = value !== undefined;\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue ?? null);\n const resolvedValue = isControlled ? value : uncontrolledValue;\n const dateValue = resolvedValue?.format\n ? resolvedValue.format(\"YYYY-MM-DD\")\n : resolvedValue || \"\";\n const latestDateRef = useRef<string | null>(dateValue || null);\n latestDateRef.current = dateValue || null;\n const normalizePickerValue = (next: string | Date | null) => {\n if (!next) return null;\n if (next instanceof Date) return dayjs(next).format(\"YYYY-MM-DD\");\n return next;\n };\n const toDateValue = (next: string | null) => (next ? dayjs(next) : null);\n const emitChange = (next: string | Date | null) => {\n const iso = normalizePickerValue(next);\n latestDateRef.current = iso;\n const nextValue = toDateValue(iso);\n if (!isControlled) setUncontrolledValue(nextValue);\n onChange?.(nextValue);\n };\n const parseTypedDate = (raw: string) => {\n const trimmed = raw.trim();\n if (!trimmed) return null;\n const parsed = dayjs(trimmed, [\"MM/DD/YYYY\", \"M/D/YYYY\", \"YYYY-MM-DD\"], true);\n return parsed.isValid() ? parsed : null;\n };\n return (\n <DateInput\n label={label || textFieldProps.label}\n value={dateValue || null}\n onChange={(next) => emitChange(next)}\n onBlur={(event: FocusEvent<HTMLInputElement>) => {\n textFieldOnBlur?.(event);\n const raw = event.currentTarget.value ?? \"\";\n const parsed = parseTypedDate(raw);\n if (!raw.trim()) {\n emitChange(null);\n onAccept?.(null);\n return;\n }\n if (parsed) {\n emitChange(parsed.format(\"YYYY-MM-DD\"));\n onAccept?.(parsed);\n return;\n }\n onAccept?.(toDateValue(latestDateRef.current));\n }}\n valueFormat=\"MM/DD/YYYY\"\n placeholder=\"MM/DD/YYYY\"\n description={textFieldError ? undefined : helperText}\n error={textFieldError ? helperText : undefined}\n required={required}\n size={mantineSize}\n clearable\n allowDeselect={false}\n defaultDate={dateValue || dayjs().format(\"YYYY-MM-DD\")}\n w={fullWidth || textFieldFullWidth ? \"100%\" : undefined}\n style={formControlStyle({\n fullWidth: fullWidth || textFieldFullWidth,\n style,\n sx: { ...sxToStyle(sx), ...sxToStyle(textFieldSx) },\n })}\n // Mantine's popover z-index (300) sits below MUI's Dialog z-index (1300),\n // so the dropdown renders behind any MUI Dialog this picker is used in\n // unless raised above it. Callers can still override via props.popoverProps.\n popoverProps={{ zIndex: 1400 }}\n {...textFieldProps}\n {...props}\n />\n );\n};\nexport function Autocomplete<T = any, _Multiple = any, _DisableClearable = any, _FreeSolo = any>(\n componentProps: any & { options?: T[] },\n) {\n const {\n disableClearable,\n disableCloseOnSelect: _disableCloseOnSelect,\n disabled,\n filterOptions,\n freeSolo,\n fullWidth,\n getOptionLabel,\n defaultValue,\n inputValue,\n isOptionEqualToValue,\n ListboxProps: _ListboxProps,\n loading: _loading,\n label,\n multiple,\n noOptionsText: _noOptionsText,\n onBlur,\n onChange,\n onFocus,\n onInputChange,\n onKeyDown,\n onKeyPress,\n onKeyUp,\n options = [],\n placeholder,\n renderInput,\n renderOption: _renderOption,\n renderTags: _renderTags,\n required,\n size,\n style,\n sx,\n value,\n ...props\n } = componentProps;\n const optionLabel = (option: any) =>\n typeof option === \"string\"\n ? option\n : getOptionLabel?.(option) ||\n option?.label ||\n option?.name ||\n option?.value ||\n String(option);\n const optionValue = (option: any) =>\n typeof option === \"string\"\n ? option\n : String(option?.id ?? option?.value ?? optionLabel(option));\n const optionMatchesValue = (option: any, selected: any) => {\n if (selected == null) return false;\n if (typeof isOptionEqualToValue === \"function\" && typeof selected !== \"string\") {\n return isOptionEqualToValue(option, selected);\n }\n\n const nextValue = typeof selected === \"string\" ? selected : optionValue(selected);\n return optionValue(option) === nextValue || optionLabel(option) === nextValue;\n };\n const findKnownOption = (next: any) => {\n if (next == null) return null;\n return options.find((option: any) => optionMatchesValue(option, next)) || null;\n };\n const selectedValue = (selected: any) => {\n if (selected == null) return null;\n const knownOption = findKnownOption(selected);\n if (knownOption) return optionValue(knownOption);\n if (typeof selected === \"string\") return selected;\n return optionValue(selected);\n };\n const selectedValuesFrom = (values: any[]) =>\n values\n .map(selectedValue)\n .filter((selected): selected is string => typeof selected === \"string\" && selected !== \"\");\n const [uncontrolledSearchValue, setUncontrolledSearchValue] = useState(\"\");\n const [uncontrolledSingleValue, setUncontrolledSingleValue] = useState<string | null>(() =>\n selectedValue(defaultValue),\n );\n const [uncontrolledMultipleValues, setUncontrolledMultipleValues] = useState<string[]>(() =>\n Array.isArray(defaultValue) ? selectedValuesFrom(defaultValue) : [],\n );\n const [createdFreeSoloOptions, setCreatedFreeSoloOptions] = useState<string[]>([]);\n const resolvedSearchValue = inputValue ?? uncontrolledSearchValue;\n const filteredOptions =\n typeof filterOptions === \"function\"\n ? filterOptions(options, { getOptionLabel: optionLabel, inputValue: resolvedSearchValue })\n : options;\n const data: Array<{ label: string; value: string }> = [];\n const dataValues = new Set<string>();\n const addDataOption = (option: any) => {\n const nextValue = optionValue(option);\n if (dataValues.has(nextValue)) return;\n\n data.push({ label: optionLabel(option), value: nextValue });\n dataValues.add(nextValue);\n };\n filteredOptions.forEach(addDataOption);\n const addSelectedDataOption = (selected: unknown) => {\n const option = findKnownOption(selected);\n if (option) addDataOption(option);\n };\n if (!Array.isArray(value)) addSelectedDataOption(value);\n if (!Array.isArray(defaultValue)) addSelectedDataOption(defaultValue);\n if (Array.isArray(value)) value.forEach(addSelectedDataOption);\n if (Array.isArray(defaultValue)) defaultValue.forEach(addSelectedDataOption);\n uncontrolledMultipleValues.forEach(addSelectedDataOption);\n const addFreeSoloOption = (next: unknown) => {\n if (!freeSolo || multiple) return;\n const nextValue = selectedValue(next);\n if (!nextValue || dataValues.has(nextValue)) return;\n\n data.push({ label: typeof next === \"string\" ? next : nextValue, value: nextValue });\n dataValues.add(nextValue);\n };\n addFreeSoloOption(value);\n addFreeSoloOption(defaultValue);\n addFreeSoloOption(uncontrolledSingleValue);\n addFreeSoloOption(resolvedSearchValue);\n createdFreeSoloOptions.forEach(addFreeSoloOption);\n\n const findOption = (next: string | null) => findKnownOption(next) || (freeSolo ? next : null);\n const commitFreeSoloValue = (next: string, event?: any) => {\n if (!freeSolo || multiple) return false;\n const nextValue = next.trim();\n if (!nextValue) return false;\n\n const nextOption = findKnownOption(nextValue) || nextValue;\n const selectedNextValue = selectedValue(nextOption);\n if (!selectedNextValue) return false;\n\n setCreatedFreeSoloOptions((current) =>\n current.includes(selectedNextValue) ? current : [...current, selectedNextValue],\n );\n setUncontrolledSearchValue(nextValue);\n if (value === undefined) setUncontrolledSingleValue(selectedNextValue);\n\n onChange?.(\n event || createAutocompleteEvent(nextValue),\n nextOption,\n findKnownOption(nextValue) ? \"selectOption\" : \"createOption\",\n { option: nextOption },\n );\n return true;\n };\n const input = renderInput?.({\n inputProps: {\n value: inputValue ?? \"\",\n onChange: (event: any) => onInputChange?.(event, event.currentTarget.value, \"input\"),\n },\n InputProps: {},\n label,\n });\n const inputProps = isValidElement(input) ? (input.props as any) : {};\n const renderInputInputProps = isObjectRecord(inputProps.inputProps)\n ? inputProps.inputProps\n : undefined;\n const autocompleteInputProps = pickAutocompleteInputProps(inputProps, renderInputInputProps);\n const inputAdornment = inputProps.InputProps?.endAdornment || inputProps.endAdornment;\n const mantineSize = mapCompatSize(size);\n const controlStyle = formControlStyle({\n fullWidth,\n style: { ...style, ...inputProps.style },\n sx,\n });\n const commonSelectProps = {\n ...autocompleteInputProps,\n clearable: !disableClearable,\n disabled: disabled ?? autocompleteInputProps.disabled,\n label: inputProps.label || label,\n nothingFoundMessage: _noOptionsText,\n onBlur: composeOptionalEventHandlers(autocompleteInputProps.onBlur, onBlur),\n onFocus: composeOptionalEventHandlers(autocompleteInputProps.onFocus, onFocus),\n onKeyDown: (event: any) => {\n onKeyDown?.(event);\n autocompleteInputProps.onKeyDown?.(event);\n if (event.defaultPrevented || event.key !== \"Enter\") return;\n\n if (commitFreeSoloValue(String(event.currentTarget?.value ?? resolvedSearchValue), event)) {\n event.preventDefault?.();\n }\n },\n onKeyPress: composeOptionalEventHandlers(onKeyPress, autocompleteInputProps.onKeyPress),\n onKeyUp: composeOptionalEventHandlers(onKeyUp, autocompleteInputProps.onKeyUp),\n placeholder: autocompleteInputProps.placeholder || inputProps.placeholder || placeholder,\n readOnly: autocompleteInputProps.readOnly,\n required: autocompleteInputProps.required ?? inputProps.required ?? required,\n rightSection: inputAdornment,\n searchable: true,\n size: mantineSize,\n style: controlStyle,\n ...(inputProps.error ? { error: inputProps.helperText || true } : {}),\n ...(inputValue !== undefined || freeSolo ? { searchValue: resolvedSearchValue } : {}),\n ...(onInputChange || freeSolo\n ? {\n onSearchChange: (next: string) => {\n if (inputValue === undefined) setUncontrolledSearchValue(next);\n onInputChange?.(createAutocompleteEvent(next), next, \"input\");\n },\n }\n : {}),\n };\n\n if (multiple) {\n const selectedValues = Array.isArray(value)\n ? selectedValuesFrom(value)\n : uncontrolledMultipleValues;\n return (\n <MantineMultiSelect\n data={data}\n value={selectedValues}\n onChange={(nextValues) => {\n const nextOptions = nextValues.map((next) => findOption(next)).filter(Boolean);\n const removedValue = selectedValues.find((selected) => !nextValues.includes(selected));\n const addedValue = nextValues.find((next) => !selectedValues.includes(next));\n const detailValue = removedValue || addedValue;\n const detailOption = detailValue ? findOption(detailValue) : undefined;\n const reason =\n nextValues.length === 0 ? \"clear\" : removedValue ? \"removeOption\" : \"selectOption\";\n\n if (value === undefined) setUncontrolledMultipleValues(nextValues);\n\n onChange?.(\n createAutocompleteEvent(nextValues),\n nextOptions,\n reason,\n detailOption && reason !== \"clear\" ? { option: detailOption } : undefined,\n );\n }}\n {...commonSelectProps}\n {...props}\n />\n );\n }\n\n return (\n <MantineSelect\n data={data}\n value={value !== undefined ? selectedValue(value) : uncontrolledSingleValue}\n onChange={(next) => {\n const nextOption = findOption(next);\n const nextValue = selectedValue(nextOption);\n const isKnownOption = Boolean(findKnownOption(next));\n\n if (value === undefined) setUncontrolledSingleValue(nextValue);\n if (freeSolo && nextValue) {\n setCreatedFreeSoloOptions((current) =>\n current.includes(nextValue) ? current : [...current, nextValue],\n );\n }\n\n onChange?.(\n createAutocompleteEvent(next),\n nextOption,\n next == null ? \"clear\" : isKnownOption ? \"selectOption\" : \"createOption\",\n nextOption ? { option: nextOption } : undefined,\n );\n }}\n {...commonSelectProps}\n {...props}\n />\n );\n}\n\nexport const Container = MantineContainer;\nexport const Grid = MantineGrid;\nexport const List = MantineList;\nexport const ListItem = MantineList.Item;\nexport const Modal = MantineModal;\nexport const Select = MantineSelect;\nexport const Stack = MantineStack;\nexport const Table = MantineTable;\nconst pieFallbackColors = [\n brandColors.indigo,\n brandColors.blue,\n brandColors.purple,\n semanticColors.info,\n semanticColors.success,\n semanticColors.warning,\n semanticColors.error,\n];\n\nexport const PieChart = ({ height = 200, series = [], width = 200 }: any) => {\n const config = series[0] || {};\n const data = config.data || [];\n const total = data.reduce(\n (sum: number, item: any) => sum + Math.max(Number(item.value) || 0, 0),\n 0,\n );\n const cx = config.cx ?? width / 2;\n const cy = config.cy ?? height / 2;\n const outerRadius = config.outerRadius ?? Math.min(width, height) / 2;\n const innerRadius = config.innerRadius ?? 0;\n const seenSliceKeys = new Map<string, number>();\n let angle = -90;\n\n const point = (radius: number, degrees: number) => {\n const radians = (degrees * Math.PI) / 180;\n return [cx + radius * Math.cos(radians), cy + radius * Math.sin(radians)];\n };\n\n return (\n <svg\n aria-hidden=\"true\"\n height={height}\n role=\"img\"\n viewBox={`0 0 ${width} ${height}`}\n width={width}\n >\n {data.map((item: any, index: number) => {\n const value = Math.max(Number(item.value) || 0, 0);\n const sweep = total > 0 ? (value / total) * 360 : 0;\n const start = angle;\n const end = angle + sweep;\n angle = end;\n const largeArc = sweep > 180 ? 1 : 0;\n const [outerStartX, outerStartY] = point(outerRadius, start);\n const [outerEndX, outerEndY] = point(outerRadius, end);\n const [innerEndX, innerEndY] = point(innerRadius, end);\n const [innerStartX, innerStartY] = point(innerRadius, start);\n const path =\n innerRadius > 0\n ? `M ${outerStartX} ${outerStartY} A ${outerRadius} ${outerRadius} 0 ${largeArc} 1 ${outerEndX} ${outerEndY} L ${innerEndX} ${innerEndY} A ${innerRadius} ${innerRadius} 0 ${largeArc} 0 ${innerStartX} ${innerStartY} Z`\n : `M ${cx} ${cy} L ${outerStartX} ${outerStartY} A ${outerRadius} ${outerRadius} 0 ${largeArc} 1 ${outerEndX} ${outerEndY} Z`;\n const rawKey = `${String(item.id ?? item.label ?? item.name ?? item.color ?? item.value ?? \"slice\")}-${start}-${end}`;\n const duplicateCount = seenSliceKeys.get(rawKey) ?? 0;\n seenSliceKeys.set(rawKey, duplicateCount + 1);\n const sliceKey = duplicateCount === 0 ? rawKey : `${rawKey}-${duplicateCount}`;\n return (\n <path\n key={sliceKey}\n d={path}\n fill={item.color || pieFallbackColors[index % pieFallbackColors.length]}\n />\n );\n })}\n </svg>\n );\n};\nexport {\n ActionIcon,\n Alert,\n Avatar,\n Badge,\n Button,\n Card,\n Center,\n Checkbox,\n Flex,\n Group,\n Loader,\n Paper,\n Skeleton,\n Switch,\n Tooltip,\n useMantineMediaQuery as useMediaQuery,\n};\n"],"names":["dayjs","theme","fairmintVars","sx","isValidElement","primitiveSxToStyle","colors","index","commonColors","createContext","jsx","useMemo","useContext","Title","Text","ActionIcon","Loader","jsxs","Group","MantineBox","createElement","useRef","MantineModal","MantineTable","MantineMenu","Children","MantineSelect","label","value","Textarea","TextInput","cloneElement","MantineAccordion","Badge","useEffect","useState","DateInput","MantineMultiSelect","MantineList","MantineStack","brandColors","semanticColors"],"mappings":"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"}
|
|
@@ -248,7 +248,7 @@ export declare const ButtonGroup: import('@mantine/core').MantineComponent<{
|
|
|
248
248
|
vars: import('@mantine/core').GroupCssVariables;
|
|
249
249
|
ctx: import('@mantine/core').GroupStylesCtx;
|
|
250
250
|
}>;
|
|
251
|
-
export declare const Chip: ({ className, label, children, clickable, color, icon, onClick, onDelete, sx, ...props }: any) => import("react").JSX.Element;
|
|
251
|
+
export declare const Chip: ({ className, label, children, clickable, color, icon, onClick, onDelete, size, sx, variant, ...props }: any) => import("react").JSX.Element;
|
|
252
252
|
export declare const ClickAwayListener: ({ children, mouseEvent, onClickAway, touchEvent, }: any) => import("react").JSX.Element;
|
|
253
253
|
export declare const Link: ({ children, color, style, sx, underline, ...props }: any) => import("react").JSX.Element;
|
|
254
254
|
export declare const ListItemButton: ({ children, selected, sx, style, ...props }: any) => import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"muiCompat.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/muiCompat.tsx"],"names":[],"mappings":"AACA,OAAO,EACL,MAAM,EACN,IAAI,EACJ,KAAK,EAOL,KAAK,IAAI,YAAY,EAMrB,KAAK,EAIN,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,aAAa,IAAI,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AAGvE,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,WAAW,EAGX,SAAS,EACT,GAAG,EACJ,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"muiCompat.d.ts","sourceRoot":"","sources":["../../../src/components/primitives/muiCompat.tsx"],"names":[],"mappings":"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"}
|