@medway-ui/core 1.4.2 → 1.5.1
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/assets/css/tokens.css +11 -1
- package/dist/assets/js/tokens.ts +6 -1
- package/dist/index.d.mts +36 -13
- package/dist/index.d.ts +36 -13
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +2 -2
- package/dist/index.mjs.map +1 -1
- package/package.json +3 -11
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../node_modules/tailwind-merge/src/lib/class-group-utils.ts","../node_modules/tailwind-merge/src/lib/lru-cache.ts","../node_modules/tailwind-merge/src/lib/parse-class-name.ts","../node_modules/tailwind-merge/src/lib/sort-modifiers.ts","../node_modules/tailwind-merge/src/lib/config-utils.ts","../node_modules/tailwind-merge/src/lib/merge-classlist.ts","../node_modules/tailwind-merge/src/lib/tw-join.ts","../node_modules/tailwind-merge/src/lib/create-tailwind-merge.ts","../node_modules/tailwind-merge/src/lib/from-theme.ts","../node_modules/tailwind-merge/src/lib/validators.ts","../node_modules/tailwind-merge/src/lib/default-config.ts","../node_modules/tailwind-merge/src/lib/merge-configs.ts","../node_modules/tailwind-merge/src/lib/extend-tailwind-merge.ts","../src/lib/utils.ts","../src/components/Alert.tsx","../src/components/Loading.tsx","../src/components/Badge.tsx","../src/components/Button.tsx","../src/components/AlertDialog.tsx","../src/components/Avatar.tsx","../src/components/Collapsible.tsx","../src/hooks/use-mobile.ts","../src/components/DropdownMenu.tsx","../src/components/Input.tsx","../src/components/Logo.tsx","../src/assets/js/tokens.ts","../src/components/Pagination.tsx","../src/components/ScrollArea.tsx","../src/components/SegmentControl.tsx","../src/components/Separator.tsx","../node_modules/shared/src/utils.ts","../node_modules/lucide-react/src/defaultAttributes.ts","../node_modules/lucide-react/src/Icon.ts","../node_modules/lucide-react/src/createLucideIcon.ts","../node_modules/lucide-react/src/icons/x.ts","../src/components/Sheet.tsx","../src/components/Skeleton.tsx","../src/components/Tooltip.tsx","../src/components/Sidebar.tsx","../src/components/Switcher.tsx","../src/components/Tag.tsx","../src/components/Tile.tsx"],"names":["CLASS_PART_SEPARATOR","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","className","classParts","split","length","shift","getGroupRecursive","getGroupIdForArbitraryProperty","getConflictingClassGroupIds","classGroupId","hasPostfixModifier","conflicts","classPartObject","_a","currentClassPart","nextClassPartObject","nextPart","get","classGroupFromNextClassPart","slice","undefined","validators","classRest","join","find","validator","arbitraryPropertyRegex","test","arbitraryPropertyClassName","exec","property","substring","indexOf","theme","classGroups","Map","processClassesRecursively","classGroup","forEach","classDefinition","classPartObjectToEdit","getPart","isThemeGetter","push","Object","entries","key","path","currentClassPartObject","pathPart","has","set","func","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","value","IMPORTANT_MODIFIER","MODIFIER_SEPARATOR","MODIFIER_SEPARATOR_LENGTH","createParseClassName","prefix","experimentalParseClassName","parseClassName","modifiers","bracketDepth","parenDepth","modifierStart","postfixModifierPosition","index","currentCharacter","baseClassNameWithImportantModifier","baseClassName","stripImportantModifier","hasImportantModifier","maybePostfixModifierPosition","fullPrefix","parseClassNameOriginal","startsWith","isExternal","endsWith","createSortModifiers","orderSensitiveModifiers","fromEntries","map","modifier","sortedModifiers","unsortedModifiers","sort","createConfigUtils","__spreadValues","sortModifiers","SPLIT_CLASSES_REGEX","mergeClassList","classList","configUtils","classGroupsInConflict","classNames","trim","result","originalClassName","variantModifier","modifierId","classId","includes","conflictGroups","i","group","twJoin","argument","resolvedValue","string","arguments","toValue","mix","k","createTailwindMerge","createConfigFirst","createConfigRest","cacheGet","cacheSet","functionToCall","initTailwindMerge","reduce","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","apply","fromTheme","themeGetter","arbitraryValueRegex","arbitraryVariableRegex","fractionRegex","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isFraction","isNumber","Number","isNaN","isInteger","isPercent","isTshirtSize","isAny","isLengthOnly","isNever","isShadow","isImage","isAnyNonArbitrary","isArbitraryValue","isArbitraryVariable","isArbitrarySize","getIsArbitraryValue","isLabelSize","isArbitraryLength","isLabelLength","isArbitraryNumber","isLabelNumber","isArbitraryPosition","isLabelPosition","isArbitraryImage","isLabelImage","isArbitraryShadow","isLabelShadow","isArbitraryVariableLength","getIsArbitraryVariable","isArbitraryVariableFamilyName","isLabelFamilyName","isArbitraryVariablePosition","isArbitraryVariableSize","isArbitraryVariableImage","isArbitraryVariableShadow","testLabel","testValue","shouldMatchNoLabel","label","getDefaultConfig","themeColor","themeFont","themeText","themeFontWeight","themeTracking","themeLeading","themeBreakpoint","themeContainer","themeSpacing","themeRadius","themeShadow","themeInsetShadow","themeTextShadow","themeDropShadow","themeBlur","themePerspective","themeAspect","themeEase","themeAnimate","scaleBreak","scalePosition","scalePositionWithArbitrary","scaleOverflow","scaleOverscroll","scaleUnambiguousSpacing","scaleInset","scaleGridTemplateColsRows","scaleGridColRowStartAndEnd","span","scaleGridColRowStartOrEnd","scaleGridAutoColsRows","scaleAlignPrimaryAxis","scaleAlignSecondaryAxis","scaleMargin","scaleSizing","scaleColor","scaleBgPosition","position","scaleBgRepeat","repeat","scaleBgSize","size","scaleGradientStopPosition","scaleRadius","scaleBorderWidth","scaleLineStyle","scaleBlendMode","scaleMaskImagePosition","scaleBlur","scaleRotate","scaleScale","scaleSkew","scaleTranslate","animate","aspect","blur","breakpoint","color","container","ease","font","leading","perspective","radius","shadow","spacing","text","tracking","columns","box","display","sr","float","clear","isolation","object","overflow","overscroll","inset","start","end","top","right","bottom","left","visibility","z","basis","flex","grow","shrink","order","col","row","gap","justify","content","items","baseline","self","p","px","py","ps","pe","pt","pr","pb","pl","m","mx","my","ms","me","mt","mr","mb","ml","w","screen","h","list","placeholder","decoration","indent","align","whitespace","break","wrap","hyphens","bg","linear","to","radial","conic","from","via","rounded","border","divide","outline","ring","opacity","mask","closest","farthest","filter","brightness","contrast","grayscale","invert","saturate","sepia","table","caption","transition","duration","delay","backface","rotate","scale","skew","transform","origin","translate","accent","appearance","caret","scheme","cursor","resize","scroll","snap","touch","select","fill","stroke","mergeConfigs","baseConfig","extend","override","overrideProperty","overrideConfigProperties","mergeConfigProperties","mergeArrayProperties","baseObject","overrideKey","overrideValue","overrideObject","mergeObject","mergeValue","concat","extendTailwindMerge","configExtension","createConfig","customTwMerge","cn","inputs","clsx","AlertContext","V","alertVariants","cva","Alert","_b","variant","onClose","children","props","__objRest","hasDescription","child","AlertDescription","hasTitle","AlertTitle","jsx","jsxs","__spreadProps","CloseMd","AlertContainer","AlertContent","AlertIcon","icon","AlertActions","context","alertButtonVariants","AlertButton","alertVariant","Loading","ICON_ONLY_SIZES","CHAR_PADDING","badgeVariants","Badge","asChild","Comp","Slot","hasChildren","it","isIconOnly","childText","isSingleAlphaNum","isShortAlnumUpTo3","isDigitsWithSuffix","isShortUpTo3","ALERT_CIRCLE_SIZES","badgeSizeMap","buttonVariants","Button","containerClassName","iconRight","iconLeft","badge","loading","alert","shouldShowBadge","renderIcon","renderAlertCircle","renderButtonContent","Fragment","AlertDialog","q","AlertDialogTrigger","AlertDialogPortal","AlertDialogOverlay","AlertDialogContent","AlertDialogHeader","AlertDialogFooter","AlertDialogTitle","AlertDialogDescription","AlertDialogAction","AlertDialogCancel","avatarVariants","Avatar","AvatarPrimitive","AvatarImage","AvatarFallback","User","CollapsibleContext","Ue","Collapsible","animation","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent","animationClasses","MOBILE_BREAKPOINT","useIsMobile","isMobile","setIsMobile","Oe","mql","onChange","DropdownMenu","DropdownMenuPrimitive","DropdownMenuPortal","DropdownMenuTrigger","DropdownMenuContent","sideOffset","side","DropdownMenuGroup","DropdownMenuItem","DropdownMenuCheckboxItem","checked","Check","DropdownMenuRadioGroup","DropdownMenuRadioItem","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","DropdownMenuSub","DropdownMenuSubTrigger","ChevronRight","DropdownMenuSubContent","Input","type","Logo","width","height","svgClassName","LogoShort","screens","PaginationRoot","PaginationContent","PaginationInfo","count","PaginationItem","PaginationLink","isActive","activeVariant","inactiveVariant","PaginationPrevious","ChevronLeftDuo","PaginationNext","ChevronRightDuo","PaginationEllipsis","MoreHorizontal","Pagination","currentPage","totalPages","maxVisibleItems","onPageChange","itemsPerPage","totalItems","responsive","isTabletOrMobile","setIsTabletOrMobile","Ee","tabletPx","onResize","effectiveMaxVisible","shouldHideInfo","renderPageNumbers","pages","maxVisible","sidePages","page","ScrollArea","ScrollAreaPrimitive","ScrollBar","orientation","SegmentControlContext","_e","SegmentControl","TabsPrimitive","SegmentControlList","segmentControlTriggerVariants","SegmentControlTrigger","ctx","SegmentControlContent","Separator","decorative","SeparatorPrimitive","toKebabCase","toCamelCase","match","p1","p2","toPascalCase","camelCase","mergeClasses","classes","array","hasA11yProp","prop","defaultAttributes","Icon","forwardRef","ref","strokeWidth","absoluteStrokeWidth","iconNode","rest","createElement","tag","attrs","createLucideIcon","iconName","Component","__iconNode","X","Sheet","SheetPrimitive","SheetPortal","SheetOverlay","SheetContent","Skeleton","TooltipProvider","delayDuration","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","D","useSidebar","SidebarProvider","defaultOpen","openProp","setOpenProp","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","openState","toggleSidebar","handleKeyDown","event","state","contextValue","Sidebar","collapsible","SidebarTrigger","onClick","sizeIcon","HamburgerMd","showTooltip","tooltipContent","enableHover","isHovered","setIsHovered","tooltip","getDisplayIcon","ChevronLeftMd","ChevronRightMd","button","SidebarRail","SidebarInset","SidebarInput","SidebarHeader","SidebarFooter","SidebarSeparator","SidebarContent","SidebarGroup","SidebarGroupLabel","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","SidebarMenuButton","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuItemTitle","title","SidebarMenuItemCollapse","SidebarMenuSubButton","SwitcherContext","fe","Switcher","onValueChange","onOpenChange","internalValue","setInternalValue","SwitcherTrigger","SwitcherContent","SwitcherGroup","SwitcherItem","handleClick","SwitcherFooter","SwitcherSeparator","tagVariants","TagIcon","Tag","tileVariants","Tile","disabled","inactive","EditPencil","TileIcon","TileTitle","TileDescription"],"mappings":"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","file":"index.js","sourcesContent":["import {\n AnyClassGroupIds,\n AnyConfig,\n AnyThemeGroupIds,\n ClassGroup,\n ClassValidator,\n Config,\n ThemeGetter,\n ThemeObject,\n} from './types'\n\nexport interface ClassPartObject {\n nextPart: Map<string, ClassPartObject>\n validators: ClassValidatorObject[]\n classGroupId?: AnyClassGroupIds\n}\n\ninterface ClassValidatorObject {\n classGroupId: AnyClassGroupIds\n validator: ClassValidator\n}\n\nconst CLASS_PART_SEPARATOR = '-'\n\nexport const createClassGroupUtils = (config: AnyConfig) => {\n const classMap = createClassMap(config)\n const { conflictingClassGroups, conflictingClassGroupModifiers } = config\n\n const getClassGroupId = (className: string) => {\n const classParts = className.split(CLASS_PART_SEPARATOR)\n\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and remove it from classParts.\n if (classParts[0] === '' && classParts.length !== 1) {\n classParts.shift()\n }\n\n return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className)\n }\n\n const getConflictingClassGroupIds = (\n classGroupId: AnyClassGroupIds,\n hasPostfixModifier: boolean,\n ) => {\n const conflicts = conflictingClassGroups[classGroupId] || []\n\n if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {\n return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]!]\n }\n\n return conflicts\n }\n\n return {\n getClassGroupId,\n getConflictingClassGroupIds,\n }\n}\n\nconst getGroupRecursive = (\n classParts: string[],\n classPartObject: ClassPartObject,\n): AnyClassGroupIds | undefined => {\n if (classParts.length === 0) {\n return classPartObject.classGroupId\n }\n\n const currentClassPart = classParts[0]!\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart)\n const classGroupFromNextClassPart = nextClassPartObject\n ? getGroupRecursive(classParts.slice(1), nextClassPartObject)\n : undefined\n\n if (classGroupFromNextClassPart) {\n return classGroupFromNextClassPart\n }\n\n if (classPartObject.validators.length === 0) {\n return undefined\n }\n\n const classRest = classParts.join(CLASS_PART_SEPARATOR)\n\n return classPartObject.validators.find(({ validator }) => validator(classRest))?.classGroupId\n}\n\nconst arbitraryPropertyRegex = /^\\[(.+)\\]$/\n\nconst getGroupIdForArbitraryProperty = (className: string) => {\n if (arbitraryPropertyRegex.test(className)) {\n const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)![1]\n const property = arbitraryPropertyClassName?.substring(\n 0,\n arbitraryPropertyClassName.indexOf(':'),\n )\n\n if (property) {\n // I use two dots here because one dot is used as prefix for class groups in plugins\n return 'arbitrary..' + property\n }\n }\n}\n\n/**\n * Exported for testing only\n */\nexport const createClassMap = (config: Config<AnyClassGroupIds, AnyThemeGroupIds>) => {\n const { theme, classGroups } = config\n const classMap: ClassPartObject = {\n nextPart: new Map<string, ClassPartObject>(),\n validators: [],\n }\n\n for (const classGroupId in classGroups) {\n processClassesRecursively(classGroups[classGroupId]!, classMap, classGroupId, theme)\n }\n\n return classMap\n}\n\nconst processClassesRecursively = (\n classGroup: ClassGroup<AnyThemeGroupIds>,\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n theme: ThemeObject<AnyThemeGroupIds>,\n) => {\n classGroup.forEach((classDefinition) => {\n if (typeof classDefinition === 'string') {\n const classPartObjectToEdit =\n classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition)\n classPartObjectToEdit.classGroupId = classGroupId\n return\n }\n\n if (typeof classDefinition === 'function') {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(\n classDefinition(theme),\n classPartObject,\n classGroupId,\n theme,\n )\n return\n }\n\n classPartObject.validators.push({\n validator: classDefinition,\n classGroupId,\n })\n\n return\n }\n\n Object.entries(classDefinition).forEach(([key, classGroup]) => {\n processClassesRecursively(\n classGroup,\n getPart(classPartObject, key),\n classGroupId,\n theme,\n )\n })\n })\n}\n\nconst getPart = (classPartObject: ClassPartObject, path: string) => {\n let currentClassPartObject = classPartObject\n\n path.split(CLASS_PART_SEPARATOR).forEach((pathPart) => {\n if (!currentClassPartObject.nextPart.has(pathPart)) {\n currentClassPartObject.nextPart.set(pathPart, {\n nextPart: new Map(),\n validators: [],\n })\n }\n\n currentClassPartObject = currentClassPartObject.nextPart.get(pathPart)!\n })\n\n return currentClassPartObject\n}\n\nconst isThemeGetter = (func: ClassValidator | ThemeGetter): func is ThemeGetter =>\n (func as ThemeGetter).isThemeGetter\n","// Export is needed because TypeScript complains about an error otherwise:\n// Error: …/tailwind-merge/src/config-utils.ts(8,17): semantic error TS4058: Return type of exported function has or is using name 'LruCache' from external module \"…/tailwind-merge/src/lru-cache\" but cannot be named.\nexport interface LruCache<Key, Value> {\n get(key: Key): Value | undefined\n set(key: Key, value: Value): void\n}\n\n// LRU cache inspired from hashlru (https://github.com/dominictarr/hashlru/blob/v1.0.4/index.js) but object replaced with Map to improve performance\nexport const createLruCache = <Key, Value>(maxCacheSize: number): LruCache<Key, Value> => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {},\n }\n }\n\n let cacheSize = 0\n let cache = new Map<Key, Value>()\n let previousCache = new Map<Key, Value>()\n\n const update = (key: Key, value: Value) => {\n cache.set(key, value)\n cacheSize++\n\n if (cacheSize > maxCacheSize) {\n cacheSize = 0\n previousCache = cache\n cache = new Map()\n }\n }\n\n return {\n get(key) {\n let value = cache.get(key)\n\n if (value !== undefined) {\n return value\n }\n if ((value = previousCache.get(key)) !== undefined) {\n update(key, value)\n return value\n }\n },\n set(key, value) {\n if (cache.has(key)) {\n cache.set(key, value)\n } else {\n update(key, value)\n }\n },\n }\n}\n","import { AnyConfig, ParsedClassName } from './types'\n\nexport const IMPORTANT_MODIFIER = '!'\nconst MODIFIER_SEPARATOR = ':'\nconst MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length\n\nexport const createParseClassName = (config: AnyConfig) => {\n const { prefix, experimentalParseClassName } = config\n\n /**\n * Parse class name into parts.\n *\n * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n */\n let parseClassName = (className: string): ParsedClassName => {\n const modifiers = []\n\n let bracketDepth = 0\n let parenDepth = 0\n let modifierStart = 0\n let postfixModifierPosition: number | undefined\n\n for (let index = 0; index < className.length; index++) {\n let currentCharacter = className[index]\n\n if (bracketDepth === 0 && parenDepth === 0) {\n if (currentCharacter === MODIFIER_SEPARATOR) {\n modifiers.push(className.slice(modifierStart, index))\n modifierStart = index + MODIFIER_SEPARATOR_LENGTH\n continue\n }\n\n if (currentCharacter === '/') {\n postfixModifierPosition = index\n continue\n }\n }\n\n if (currentCharacter === '[') {\n bracketDepth++\n } else if (currentCharacter === ']') {\n bracketDepth--\n } else if (currentCharacter === '(') {\n parenDepth++\n } else if (currentCharacter === ')') {\n parenDepth--\n }\n }\n\n const baseClassNameWithImportantModifier =\n modifiers.length === 0 ? className : className.substring(modifierStart)\n const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier)\n const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier\n const maybePostfixModifierPosition =\n postfixModifierPosition && postfixModifierPosition > modifierStart\n ? postfixModifierPosition - modifierStart\n : undefined\n\n return {\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n }\n }\n\n if (prefix) {\n const fullPrefix = prefix + MODIFIER_SEPARATOR\n const parseClassNameOriginal = parseClassName\n parseClassName = (className) =>\n className.startsWith(fullPrefix)\n ? parseClassNameOriginal(className.substring(fullPrefix.length))\n : {\n isExternal: true,\n modifiers: [],\n hasImportantModifier: false,\n baseClassName: className,\n maybePostfixModifierPosition: undefined,\n }\n }\n\n if (experimentalParseClassName) {\n const parseClassNameOriginal = parseClassName\n parseClassName = (className) =>\n experimentalParseClassName({ className, parseClassName: parseClassNameOriginal })\n }\n\n return parseClassName\n}\n\nconst stripImportantModifier = (baseClassName: string) => {\n if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {\n return baseClassName.substring(0, baseClassName.length - 1)\n }\n\n /**\n * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.\n * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864\n */\n if (baseClassName.startsWith(IMPORTANT_MODIFIER)) {\n return baseClassName.substring(1)\n }\n\n return baseClassName\n}\n","import { AnyConfig } from './types'\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nexport const createSortModifiers = (config: AnyConfig) => {\n const orderSensitiveModifiers = Object.fromEntries(\n config.orderSensitiveModifiers.map((modifier) => [modifier, true]),\n )\n\n const sortModifiers = (modifiers: string[]) => {\n if (modifiers.length <= 1) {\n return modifiers\n }\n\n const sortedModifiers: string[] = []\n let unsortedModifiers: string[] = []\n\n modifiers.forEach((modifier) => {\n const isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier]\n\n if (isPositionSensitive) {\n sortedModifiers.push(...unsortedModifiers.sort(), modifier)\n unsortedModifiers = []\n } else {\n unsortedModifiers.push(modifier)\n }\n })\n\n sortedModifiers.push(...unsortedModifiers.sort())\n\n return sortedModifiers\n }\n\n return sortModifiers\n}\n","import { createClassGroupUtils } from './class-group-utils'\nimport { createLruCache } from './lru-cache'\nimport { createParseClassName } from './parse-class-name'\nimport { createSortModifiers } from './sort-modifiers'\nimport { AnyConfig } from './types'\n\nexport type ConfigUtils = ReturnType<typeof createConfigUtils>\n\nexport const createConfigUtils = (config: AnyConfig) => ({\n cache: createLruCache<string, string>(config.cacheSize),\n parseClassName: createParseClassName(config),\n sortModifiers: createSortModifiers(config),\n ...createClassGroupUtils(config),\n})\n","import { ConfigUtils } from './config-utils'\nimport { IMPORTANT_MODIFIER } from './parse-class-name'\n\nconst SPLIT_CLASSES_REGEX = /\\s+/\n\nexport const mergeClassList = (classList: string, configUtils: ConfigUtils) => {\n const { parseClassName, getClassGroupId, getConflictingClassGroupIds, sortModifiers } =\n configUtils\n\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict: string[] = []\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX)\n\n let result = ''\n\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index]!\n\n const {\n isExternal,\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n } = parseClassName(originalClassName)\n\n if (isExternal) {\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n let hasPostfixModifier = !!maybePostfixModifierPosition\n let classGroupId = getClassGroupId(\n hasPostfixModifier\n ? baseClassName.substring(0, maybePostfixModifierPosition)\n : baseClassName,\n )\n\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n classGroupId = getClassGroupId(baseClassName)\n\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n hasPostfixModifier = false\n }\n\n const variantModifier = sortModifiers(modifiers).join(':')\n\n const modifierId = hasImportantModifier\n ? variantModifier + IMPORTANT_MODIFIER\n : variantModifier\n\n const classId = modifierId + classGroupId\n\n if (classGroupsInConflict.includes(classId)) {\n // Tailwind class omitted due to conflict\n continue\n }\n\n classGroupsInConflict.push(classId)\n\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier)\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i]!\n classGroupsInConflict.push(modifierId + group)\n }\n\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n }\n\n return result\n}\n","/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\n\nexport type ClassNameValue = ClassNameArray | string | null | undefined | 0 | 0n | false\ntype ClassNameArray = ClassNameValue[]\n\nexport function twJoin(...classLists: ClassNameValue[]): string\nexport function twJoin() {\n let index = 0\n let argument: ClassNameValue\n let resolvedValue: string\n let string = ''\n\n while (index < arguments.length) {\n if ((argument = arguments[index++])) {\n if ((resolvedValue = toValue(argument))) {\n string && (string += ' ')\n string += resolvedValue\n }\n }\n }\n return string\n}\n\nconst toValue = (mix: ClassNameArray | string) => {\n if (typeof mix === 'string') {\n return mix\n }\n\n let resolvedValue: string\n let string = ''\n\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if ((resolvedValue = toValue(mix[k] as ClassNameArray | string))) {\n string && (string += ' ')\n string += resolvedValue\n }\n }\n }\n\n return string\n}\n","import { createConfigUtils } from './config-utils'\nimport { mergeClassList } from './merge-classlist'\nimport { ClassNameValue, twJoin } from './tw-join'\nimport { AnyConfig } from './types'\n\ntype CreateConfigFirst = () => AnyConfig\ntype CreateConfigSubsequent = (config: AnyConfig) => AnyConfig\ntype TailwindMerge = (...classLists: ClassNameValue[]) => string\ntype ConfigUtils = ReturnType<typeof createConfigUtils>\n\nexport function createTailwindMerge(\n createConfigFirst: CreateConfigFirst,\n ...createConfigRest: CreateConfigSubsequent[]\n): TailwindMerge {\n let configUtils: ConfigUtils\n let cacheGet: ConfigUtils['cache']['get']\n let cacheSet: ConfigUtils['cache']['set']\n let functionToCall = initTailwindMerge\n\n function initTailwindMerge(classList: string) {\n const config = createConfigRest.reduce(\n (previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig),\n createConfigFirst() as AnyConfig,\n )\n\n configUtils = createConfigUtils(config)\n cacheGet = configUtils.cache.get\n cacheSet = configUtils.cache.set\n functionToCall = tailwindMerge\n\n return tailwindMerge(classList)\n }\n\n function tailwindMerge(classList: string) {\n const cachedResult = cacheGet(classList)\n\n if (cachedResult) {\n return cachedResult\n }\n\n const result = mergeClassList(classList, configUtils)\n cacheSet(classList, result)\n\n return result\n }\n\n return function callTailwindMerge() {\n return functionToCall(twJoin.apply(null, arguments as any))\n }\n}\n","import { DefaultThemeGroupIds, NoInfer, ThemeGetter, ThemeObject } from './types'\n\nexport const fromTheme = <\n AdditionalThemeGroupIds extends string = never,\n DefaultThemeGroupIdsInner extends string = DefaultThemeGroupIds,\n>(key: NoInfer<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>): ThemeGetter => {\n const themeGetter = (theme: ThemeObject<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>) =>\n theme[key] || []\n\n themeGetter.isThemeGetter = true as const\n\n return themeGetter\n}\n","const arbitraryValueRegex = /^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i\nconst arbitraryVariableRegex = /^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i\nconst fractionRegex = /^\\d+\\/\\d+$/\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/\nconst lengthUnitRegex =\n /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch))\\(.+\\)$/\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/\nconst imageRegex =\n /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/\n\nexport const isFraction = (value: string) => fractionRegex.test(value)\n\nexport const isNumber = (value: string) => !!value && !Number.isNaN(Number(value))\n\nexport const isInteger = (value: string) => !!value && Number.isInteger(Number(value))\n\nexport const isPercent = (value: string) => value.endsWith('%') && isNumber(value.slice(0, -1))\n\nexport const isTshirtSize = (value: string) => tshirtUnitRegex.test(value)\n\nexport const isAny = () => true\n\nconst isLengthOnly = (value: string) =>\n // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n // For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\n lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)\n\nconst isNever = () => false\n\nconst isShadow = (value: string) => shadowRegex.test(value)\n\nconst isImage = (value: string) => imageRegex.test(value)\n\nexport const isAnyNonArbitrary = (value: string) =>\n !isArbitraryValue(value) && !isArbitraryVariable(value)\n\nexport const isArbitrarySize = (value: string) => getIsArbitraryValue(value, isLabelSize, isNever)\n\nexport const isArbitraryValue = (value: string) => arbitraryValueRegex.test(value)\n\nexport const isArbitraryLength = (value: string) =>\n getIsArbitraryValue(value, isLabelLength, isLengthOnly)\n\nexport const isArbitraryNumber = (value: string) =>\n getIsArbitraryValue(value, isLabelNumber, isNumber)\n\nexport const isArbitraryPosition = (value: string) =>\n getIsArbitraryValue(value, isLabelPosition, isNever)\n\nexport const isArbitraryImage = (value: string) => getIsArbitraryValue(value, isLabelImage, isImage)\n\nexport const isArbitraryShadow = (value: string) =>\n getIsArbitraryValue(value, isLabelShadow, isShadow)\n\nexport const isArbitraryVariable = (value: string) => arbitraryVariableRegex.test(value)\n\nexport const isArbitraryVariableLength = (value: string) =>\n getIsArbitraryVariable(value, isLabelLength)\n\nexport const isArbitraryVariableFamilyName = (value: string) =>\n getIsArbitraryVariable(value, isLabelFamilyName)\n\nexport const isArbitraryVariablePosition = (value: string) =>\n getIsArbitraryVariable(value, isLabelPosition)\n\nexport const isArbitraryVariableSize = (value: string) => getIsArbitraryVariable(value, isLabelSize)\n\nexport const isArbitraryVariableImage = (value: string) =>\n getIsArbitraryVariable(value, isLabelImage)\n\nexport const isArbitraryVariableShadow = (value: string) =>\n getIsArbitraryVariable(value, isLabelShadow, true)\n\n// Helpers\n\nconst getIsArbitraryValue = (\n value: string,\n testLabel: (label: string) => boolean,\n testValue: (value: string) => boolean,\n) => {\n const result = arbitraryValueRegex.exec(value)\n\n if (result) {\n if (result[1]) {\n return testLabel(result[1])\n }\n\n return testValue(result[2]!)\n }\n\n return false\n}\n\nconst getIsArbitraryVariable = (\n value: string,\n testLabel: (label: string) => boolean,\n shouldMatchNoLabel = false,\n) => {\n const result = arbitraryVariableRegex.exec(value)\n\n if (result) {\n if (result[1]) {\n return testLabel(result[1])\n }\n return shouldMatchNoLabel\n }\n\n return false\n}\n\n// Labels\n\nconst isLabelPosition = (label: string) => label === 'position' || label === 'percentage'\n\nconst isLabelImage = (label: string) => label === 'image' || label === 'url'\n\nconst isLabelSize = (label: string) => label === 'length' || label === 'size' || label === 'bg-size'\n\nconst isLabelLength = (label: string) => label === 'length'\n\nconst isLabelNumber = (label: string) => label === 'number'\n\nconst isLabelFamilyName = (label: string) => label === 'family-name'\n\nconst isLabelShadow = (label: string) => label === 'shadow'\n","import { fromTheme } from './from-theme'\nimport { Config, DefaultClassGroupIds, DefaultThemeGroupIds } from './types'\nimport {\n isAny,\n isAnyNonArbitrary,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isArbitraryVariable,\n isArbitraryVariableFamilyName,\n isArbitraryVariableImage,\n isArbitraryVariableLength,\n isArbitraryVariablePosition,\n isArbitraryVariableShadow,\n isArbitraryVariableSize,\n isFraction,\n isInteger,\n isNumber,\n isPercent,\n isTshirtSize,\n} from './validators'\n\nexport const getDefaultConfig = () => {\n /**\n * Theme getters for theme variable namespaces\n * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces\n */\n /***/\n\n const themeColor = fromTheme('color')\n const themeFont = fromTheme('font')\n const themeText = fromTheme('text')\n const themeFontWeight = fromTheme('font-weight')\n const themeTracking = fromTheme('tracking')\n const themeLeading = fromTheme('leading')\n const themeBreakpoint = fromTheme('breakpoint')\n const themeContainer = fromTheme('container')\n const themeSpacing = fromTheme('spacing')\n const themeRadius = fromTheme('radius')\n const themeShadow = fromTheme('shadow')\n const themeInsetShadow = fromTheme('inset-shadow')\n const themeTextShadow = fromTheme('text-shadow')\n const themeDropShadow = fromTheme('drop-shadow')\n const themeBlur = fromTheme('blur')\n const themePerspective = fromTheme('perspective')\n const themeAspect = fromTheme('aspect')\n const themeEase = fromTheme('ease')\n const themeAnimate = fromTheme('animate')\n\n /**\n * Helpers to avoid repeating the same scales\n *\n * We use functions that create a new array every time they're called instead of static arrays.\n * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.\n */\n /***/\n\n const scaleBreak = () =>\n ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'] as const\n const scalePosition = () =>\n [\n 'center',\n 'top',\n 'bottom',\n 'left',\n 'right',\n 'top-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-top',\n 'top-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-top',\n 'bottom-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-bottom',\n 'bottom-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-bottom',\n ] as const\n const scalePositionWithArbitrary = () =>\n [...scalePosition(), isArbitraryVariable, isArbitraryValue] as const\n const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'] as const\n const scaleOverscroll = () => ['auto', 'contain', 'none'] as const\n const scaleUnambiguousSpacing = () =>\n [isArbitraryVariable, isArbitraryValue, themeSpacing] as const\n const scaleInset = () => [isFraction, 'full', 'auto', ...scaleUnambiguousSpacing()] as const\n const scaleGridTemplateColsRows = () =>\n [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue] as const\n const scaleGridColRowStartAndEnd = () =>\n [\n 'auto',\n { span: ['full', isInteger, isArbitraryVariable, isArbitraryValue] },\n isInteger,\n isArbitraryVariable,\n isArbitraryValue,\n ] as const\n const scaleGridColRowStartOrEnd = () =>\n [isInteger, 'auto', isArbitraryVariable, isArbitraryValue] as const\n const scaleGridAutoColsRows = () =>\n ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue] as const\n const scaleAlignPrimaryAxis = () =>\n [\n 'start',\n 'end',\n 'center',\n 'between',\n 'around',\n 'evenly',\n 'stretch',\n 'baseline',\n 'center-safe',\n 'end-safe',\n ] as const\n const scaleAlignSecondaryAxis = () =>\n ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'] as const\n const scaleMargin = () => ['auto', ...scaleUnambiguousSpacing()] as const\n const scaleSizing = () =>\n [\n isFraction,\n 'auto',\n 'full',\n 'dvw',\n 'dvh',\n 'lvw',\n 'lvh',\n 'svw',\n 'svh',\n 'min',\n 'max',\n 'fit',\n ...scaleUnambiguousSpacing(),\n ] as const\n const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue] as const\n const scaleBgPosition = () =>\n [\n ...scalePosition(),\n isArbitraryVariablePosition,\n isArbitraryPosition,\n { position: [isArbitraryVariable, isArbitraryValue] },\n ] as const\n const scaleBgRepeat = () => ['no-repeat', { repeat: ['', 'x', 'y', 'space', 'round'] }] as const\n const scaleBgSize = () =>\n [\n 'auto',\n 'cover',\n 'contain',\n isArbitraryVariableSize,\n isArbitrarySize,\n { size: [isArbitraryVariable, isArbitraryValue] },\n ] as const\n const scaleGradientStopPosition = () =>\n [isPercent, isArbitraryVariableLength, isArbitraryLength] as const\n const scaleRadius = () =>\n [\n // Deprecated since Tailwind CSS v4.0.0\n '',\n 'none',\n 'full',\n themeRadius,\n isArbitraryVariable,\n isArbitraryValue,\n ] as const\n const scaleBorderWidth = () =>\n ['', isNumber, isArbitraryVariableLength, isArbitraryLength] as const\n const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'] as const\n const scaleBlendMode = () =>\n [\n 'normal',\n 'multiply',\n 'screen',\n 'overlay',\n 'darken',\n 'lighten',\n 'color-dodge',\n 'color-burn',\n 'hard-light',\n 'soft-light',\n 'difference',\n 'exclusion',\n 'hue',\n 'saturation',\n 'color',\n 'luminosity',\n ] as const\n const scaleMaskImagePosition = () =>\n [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition] as const\n const scaleBlur = () =>\n [\n // Deprecated since Tailwind CSS v4.0.0\n '',\n 'none',\n themeBlur,\n isArbitraryVariable,\n isArbitraryValue,\n ] as const\n const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue] as const\n const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue] as const\n const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue] as const\n const scaleTranslate = () => [isFraction, 'full', ...scaleUnambiguousSpacing()] as const\n\n return {\n cacheSize: 500,\n theme: {\n animate: ['spin', 'ping', 'pulse', 'bounce'],\n aspect: ['video'],\n blur: [isTshirtSize],\n breakpoint: [isTshirtSize],\n color: [isAny],\n container: [isTshirtSize],\n 'drop-shadow': [isTshirtSize],\n ease: ['in', 'out', 'in-out'],\n font: [isAnyNonArbitrary],\n 'font-weight': [\n 'thin',\n 'extralight',\n 'light',\n 'normal',\n 'medium',\n 'semibold',\n 'bold',\n 'extrabold',\n 'black',\n ],\n 'inset-shadow': [isTshirtSize],\n leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],\n perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],\n radius: [isTshirtSize],\n shadow: [isTshirtSize],\n spacing: ['px', isNumber],\n text: [isTshirtSize],\n 'text-shadow': [isTshirtSize],\n tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest'],\n },\n classGroups: {\n // --------------\n // --- Layout ---\n // --------------\n\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [\n {\n aspect: [\n 'auto',\n 'square',\n isFraction,\n isArbitraryValue,\n isArbitraryVariable,\n themeAspect,\n ],\n },\n ],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n * @deprecated since Tailwind CSS v4.0.0\n */\n container: ['container'],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [\n { columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer] },\n ],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{ 'break-after': scaleBreak() }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{ 'break-before': scaleBreak() }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{ 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column'] }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{ 'box-decoration': ['slice', 'clone'] }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{ box: ['border', 'content'] }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: [\n 'block',\n 'inline-block',\n 'inline',\n 'flex',\n 'inline-flex',\n 'table',\n 'inline-table',\n 'table-caption',\n 'table-cell',\n 'table-column',\n 'table-column-group',\n 'table-footer-group',\n 'table-header-group',\n 'table-row-group',\n 'table-row',\n 'flow-root',\n 'grid',\n 'inline-grid',\n 'contents',\n 'list-item',\n 'hidden',\n ],\n /**\n * Screen Reader Only\n * @see https://tailwindcss.com/docs/display#screen-reader-only\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{ float: ['right', 'left', 'none', 'start', 'end'] }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{ clear: ['left', 'right', 'both', 'none', 'start', 'end'] }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{ object: ['contain', 'cover', 'fill', 'none', 'scale-down'] }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{ object: scalePositionWithArbitrary() }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{ overflow: scaleOverflow() }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{ 'overflow-x': scaleOverflow() }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{ 'overflow-y': scaleOverflow() }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{ overscroll: scaleOverscroll() }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{ 'overscroll-x': scaleOverscroll() }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{ 'overscroll-y': scaleOverscroll() }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Top / Right / Bottom / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{ inset: scaleInset() }],\n /**\n * Right / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{ 'inset-x': scaleInset() }],\n /**\n * Top / Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{ 'inset-y': scaleInset() }],\n /**\n * Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n start: [{ start: scaleInset() }],\n /**\n * End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n end: [{ end: scaleInset() }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{ top: scaleInset() }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{ right: scaleInset() }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{ bottom: scaleInset() }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{ left: scaleInset() }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{ z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue] }],\n\n // ------------------------\n // --- Flexbox and Grid ---\n // ------------------------\n\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [\n {\n basis: [\n isFraction,\n 'full',\n 'auto',\n themeContainer,\n ...scaleUnambiguousSpacing(),\n ],\n },\n ],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{ flex: ['row', 'row-reverse', 'col', 'col-reverse'] }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{ flex: ['nowrap', 'wrap', 'wrap-reverse'] }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{ flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue] }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{ grow: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{ shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [\n {\n order: [\n isInteger,\n 'first',\n 'last',\n 'none',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{ 'grid-cols': scaleGridTemplateColsRows() }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [{ col: scaleGridColRowStartAndEnd() }],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{ 'col-start': scaleGridColRowStartOrEnd() }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{ 'col-end': scaleGridColRowStartOrEnd() }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{ 'grid-rows': scaleGridTemplateColsRows() }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [{ row: scaleGridColRowStartAndEnd() }],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{ 'row-start': scaleGridColRowStartOrEnd() }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{ 'row-end': scaleGridColRowStartOrEnd() }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{ 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense'] }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{ 'auto-cols': scaleGridAutoColsRows() }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{ 'auto-rows': scaleGridAutoColsRows() }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{ gap: scaleUnambiguousSpacing() }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{ 'gap-x': scaleUnambiguousSpacing() }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{ 'gap-y': scaleUnambiguousSpacing() }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{ justify: [...scaleAlignPrimaryAxis(), 'normal'] }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{ 'justify-items': [...scaleAlignSecondaryAxis(), 'normal'] }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{ 'justify-self': ['auto', ...scaleAlignSecondaryAxis()] }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{ content: ['normal', ...scaleAlignPrimaryAxis()] }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{ items: [...scaleAlignSecondaryAxis(), { baseline: ['', 'last'] }] }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [\n { self: ['auto', ...scaleAlignSecondaryAxis(), { baseline: ['', 'last'] }] },\n ],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{ 'place-content': scaleAlignPrimaryAxis() }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{ 'place-items': [...scaleAlignSecondaryAxis(), 'baseline'] }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{ 'place-self': ['auto', ...scaleAlignSecondaryAxis()] }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{ p: scaleUnambiguousSpacing() }],\n /**\n * Padding X\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{ px: scaleUnambiguousSpacing() }],\n /**\n * Padding Y\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{ py: scaleUnambiguousSpacing() }],\n /**\n * Padding Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{ ps: scaleUnambiguousSpacing() }],\n /**\n * Padding End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{ pe: scaleUnambiguousSpacing() }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{ pt: scaleUnambiguousSpacing() }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{ pr: scaleUnambiguousSpacing() }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{ pb: scaleUnambiguousSpacing() }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{ pl: scaleUnambiguousSpacing() }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{ m: scaleMargin() }],\n /**\n * Margin X\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{ mx: scaleMargin() }],\n /**\n * Margin Y\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{ my: scaleMargin() }],\n /**\n * Margin Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{ ms: scaleMargin() }],\n /**\n * Margin End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{ me: scaleMargin() }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{ mt: scaleMargin() }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{ mr: scaleMargin() }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{ mb: scaleMargin() }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{ ml: scaleMargin() }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x': [{ 'space-x': scaleUnambiguousSpacing() }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y': [{ 'space-y': scaleUnambiguousSpacing() }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y-reverse': ['space-y-reverse'],\n\n // --------------\n // --- Sizing ---\n // --------------\n\n /**\n * Size\n * @see https://tailwindcss.com/docs/width#setting-both-width-and-height\n */\n size: [{ size: scaleSizing() }],\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [{ w: [themeContainer, 'screen', ...scaleSizing()] }],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [\n {\n 'min-w': [\n themeContainer,\n 'screen',\n /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'none',\n ...scaleSizing(),\n ],\n },\n ],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [\n {\n 'max-w': [\n themeContainer,\n 'screen',\n 'none',\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'prose',\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n { screen: [themeBreakpoint] },\n ...scaleSizing(),\n ],\n },\n ],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [{ h: ['screen', ...scaleSizing()] }],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [{ 'min-h': ['screen', 'none', ...scaleSizing()] }],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [{ 'max-h': ['screen', ...scaleSizing()] }],\n\n // ------------------\n // --- Typography ---\n // ------------------\n\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [\n { text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength] },\n ],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [{ font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber] }],\n /**\n * Font Stretch\n * @see https://tailwindcss.com/docs/font-stretch\n */\n 'font-stretch': [\n {\n 'font-stretch': [\n 'ultra-condensed',\n 'extra-condensed',\n 'condensed',\n 'semi-condensed',\n 'normal',\n 'semi-expanded',\n 'expanded',\n 'extra-expanded',\n 'ultra-expanded',\n isPercent,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [{ font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont] }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [{ tracking: [themeTracking, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [\n { 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber] },\n ],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [\n {\n leading: [\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n themeLeading,\n ...scaleUnambiguousSpacing(),\n ],\n },\n ],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{ 'list-image': ['none', isArbitraryVariable, isArbitraryValue] }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{ list: ['inside', 'outside'] }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [\n { list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{ text: ['left', 'center', 'right', 'justify', 'start', 'end'] }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://v3.tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{ placeholder: scaleColor() }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{ text: scaleColor() }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{ decoration: [...scaleLineStyle(), 'wavy'] }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [\n {\n decoration: [\n isNumber,\n 'from-font',\n 'auto',\n isArbitraryVariable,\n isArbitraryLength,\n ],\n },\n ],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{ decoration: scaleColor() }],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [\n { 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{ text: ['wrap', 'nowrap', 'balance', 'pretty'] }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{ indent: scaleUnambiguousSpacing() }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [\n {\n align: [\n 'baseline',\n 'top',\n 'middle',\n 'bottom',\n 'text-top',\n 'text-bottom',\n 'sub',\n 'super',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [\n { whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces'] },\n ],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{ break: ['normal', 'words', 'all', 'keep'] }],\n /**\n * Overflow Wrap\n * @see https://tailwindcss.com/docs/overflow-wrap\n */\n wrap: [{ wrap: ['break-word', 'anywhere', 'normal'] }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{ hyphens: ['none', 'manual', 'auto'] }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{ content: ['none', isArbitraryVariable, isArbitraryValue] }],\n\n // -------------------\n // --- Backgrounds ---\n // -------------------\n\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{ bg: ['fixed', 'local', 'scroll'] }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{ 'bg-clip': ['border', 'padding', 'content', 'text'] }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{ 'bg-origin': ['border', 'padding', 'content'] }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{ bg: scaleBgPosition() }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{ bg: scaleBgRepeat() }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{ bg: scaleBgSize() }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [\n {\n bg: [\n 'none',\n {\n linear: [\n { to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl'] },\n isInteger,\n isArbitraryVariable,\n isArbitraryValue,\n ],\n radial: ['', isArbitraryVariable, isArbitraryValue],\n conic: [isInteger, isArbitraryVariable, isArbitraryValue],\n },\n isArbitraryVariableImage,\n isArbitraryImage,\n ],\n },\n ],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{ bg: scaleColor() }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{ from: scaleGradientStopPosition() }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{ via: scaleGradientStopPosition() }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{ to: scaleGradientStopPosition() }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{ from: scaleColor() }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{ via: scaleColor() }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{ to: scaleColor() }],\n\n // ---------------\n // --- Borders ---\n // ---------------\n\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{ rounded: scaleRadius() }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{ 'rounded-s': scaleRadius() }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{ 'rounded-e': scaleRadius() }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{ 'rounded-t': scaleRadius() }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{ 'rounded-r': scaleRadius() }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{ 'rounded-b': scaleRadius() }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{ 'rounded-l': scaleRadius() }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{ 'rounded-ss': scaleRadius() }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{ 'rounded-se': scaleRadius() }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{ 'rounded-ee': scaleRadius() }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{ 'rounded-es': scaleRadius() }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{ 'rounded-tl': scaleRadius() }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{ 'rounded-tr': scaleRadius() }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{ 'rounded-br': scaleRadius() }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{ 'rounded-bl': scaleRadius() }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{ border: scaleBorderWidth() }],\n /**\n * Border Width X\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{ 'border-x': scaleBorderWidth() }],\n /**\n * Border Width Y\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{ 'border-y': scaleBorderWidth() }],\n /**\n * Border Width Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{ 'border-s': scaleBorderWidth() }],\n /**\n * Border Width End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{ 'border-e': scaleBorderWidth() }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{ 'border-t': scaleBorderWidth() }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{ 'border-r': scaleBorderWidth() }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{ 'border-b': scaleBorderWidth() }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{ 'border-l': scaleBorderWidth() }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x': [{ 'divide-x': scaleBorderWidth() }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y': [{ 'divide-y': scaleBorderWidth() }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{ border: [...scaleLineStyle(), 'hidden', 'none'] }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style\n */\n 'divide-style': [{ divide: [...scaleLineStyle(), 'hidden', 'none'] }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{ border: scaleColor() }],\n /**\n * Border Color X\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{ 'border-x': scaleColor() }],\n /**\n * Border Color Y\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{ 'border-y': scaleColor() }],\n /**\n * Border Color S\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{ 'border-s': scaleColor() }],\n /**\n * Border Color E\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{ 'border-e': scaleColor() }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{ 'border-t': scaleColor() }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{ 'border-r': scaleColor() }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{ 'border-b': scaleColor() }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{ 'border-l': scaleColor() }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{ divide: scaleColor() }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{ outline: [...scaleLineStyle(), 'none', 'hidden'] }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [\n { 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [\n { outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength] },\n ],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{ outline: scaleColor() }],\n\n // ---------------\n // --- Effects ---\n // ---------------\n\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [\n {\n shadow: [\n // Deprecated since Tailwind CSS v4.0.0\n '',\n 'none',\n themeShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow,\n ],\n },\n ],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color\n */\n 'shadow-color': [{ shadow: scaleColor() }],\n /**\n * Inset Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow\n */\n 'inset-shadow': [\n {\n 'inset-shadow': [\n 'none',\n themeInsetShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow,\n ],\n },\n ],\n /**\n * Inset Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color\n */\n 'inset-shadow-color': [{ 'inset-shadow': scaleColor() }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring\n */\n 'ring-w': [{ ring: scaleBorderWidth() }],\n /**\n * Ring Width Inset\n * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color\n */\n 'ring-color': [{ ring: scaleColor() }],\n /**\n * Ring Offset Width\n * @see https://v3.tailwindcss.com/docs/ring-offset-width\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-w': [{ 'ring-offset': [isNumber, isArbitraryLength] }],\n /**\n * Ring Offset Color\n * @see https://v3.tailwindcss.com/docs/ring-offset-color\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-color': [{ 'ring-offset': scaleColor() }],\n /**\n * Inset Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring\n */\n 'inset-ring-w': [{ 'inset-ring': scaleBorderWidth() }],\n /**\n * Inset Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color\n */\n 'inset-ring-color': [{ 'inset-ring': scaleColor() }],\n /**\n * Text Shadow\n * @see https://tailwindcss.com/docs/text-shadow\n */\n 'text-shadow': [\n {\n 'text-shadow': [\n 'none',\n themeTextShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow,\n ],\n },\n ],\n /**\n * Text Shadow Color\n * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color\n */\n 'text-shadow-color': [{ 'text-shadow': scaleColor() }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{ opacity: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{ 'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter'] }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{ 'bg-blend': scaleBlendMode() }],\n /**\n * Mask Clip\n * @see https://tailwindcss.com/docs/mask-clip\n */\n 'mask-clip': [\n { 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view'] },\n 'mask-no-clip',\n ],\n /**\n * Mask Composite\n * @see https://tailwindcss.com/docs/mask-composite\n */\n 'mask-composite': [{ mask: ['add', 'subtract', 'intersect', 'exclude'] }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image-linear-pos': [{ 'mask-linear': [isNumber] }],\n 'mask-image-linear-from-pos': [{ 'mask-linear-from': scaleMaskImagePosition() }],\n 'mask-image-linear-to-pos': [{ 'mask-linear-to': scaleMaskImagePosition() }],\n 'mask-image-linear-from-color': [{ 'mask-linear-from': scaleColor() }],\n 'mask-image-linear-to-color': [{ 'mask-linear-to': scaleColor() }],\n 'mask-image-t-from-pos': [{ 'mask-t-from': scaleMaskImagePosition() }],\n 'mask-image-t-to-pos': [{ 'mask-t-to': scaleMaskImagePosition() }],\n 'mask-image-t-from-color': [{ 'mask-t-from': scaleColor() }],\n 'mask-image-t-to-color': [{ 'mask-t-to': scaleColor() }],\n 'mask-image-r-from-pos': [{ 'mask-r-from': scaleMaskImagePosition() }],\n 'mask-image-r-to-pos': [{ 'mask-r-to': scaleMaskImagePosition() }],\n 'mask-image-r-from-color': [{ 'mask-r-from': scaleColor() }],\n 'mask-image-r-to-color': [{ 'mask-r-to': scaleColor() }],\n 'mask-image-b-from-pos': [{ 'mask-b-from': scaleMaskImagePosition() }],\n 'mask-image-b-to-pos': [{ 'mask-b-to': scaleMaskImagePosition() }],\n 'mask-image-b-from-color': [{ 'mask-b-from': scaleColor() }],\n 'mask-image-b-to-color': [{ 'mask-b-to': scaleColor() }],\n 'mask-image-l-from-pos': [{ 'mask-l-from': scaleMaskImagePosition() }],\n 'mask-image-l-to-pos': [{ 'mask-l-to': scaleMaskImagePosition() }],\n 'mask-image-l-from-color': [{ 'mask-l-from': scaleColor() }],\n 'mask-image-l-to-color': [{ 'mask-l-to': scaleColor() }],\n 'mask-image-x-from-pos': [{ 'mask-x-from': scaleMaskImagePosition() }],\n 'mask-image-x-to-pos': [{ 'mask-x-to': scaleMaskImagePosition() }],\n 'mask-image-x-from-color': [{ 'mask-x-from': scaleColor() }],\n 'mask-image-x-to-color': [{ 'mask-x-to': scaleColor() }],\n 'mask-image-y-from-pos': [{ 'mask-y-from': scaleMaskImagePosition() }],\n 'mask-image-y-to-pos': [{ 'mask-y-to': scaleMaskImagePosition() }],\n 'mask-image-y-from-color': [{ 'mask-y-from': scaleColor() }],\n 'mask-image-y-to-color': [{ 'mask-y-to': scaleColor() }],\n 'mask-image-radial': [{ 'mask-radial': [isArbitraryVariable, isArbitraryValue] }],\n 'mask-image-radial-from-pos': [{ 'mask-radial-from': scaleMaskImagePosition() }],\n 'mask-image-radial-to-pos': [{ 'mask-radial-to': scaleMaskImagePosition() }],\n 'mask-image-radial-from-color': [{ 'mask-radial-from': scaleColor() }],\n 'mask-image-radial-to-color': [{ 'mask-radial-to': scaleColor() }],\n 'mask-image-radial-shape': [{ 'mask-radial': ['circle', 'ellipse'] }],\n 'mask-image-radial-size': [\n { 'mask-radial': [{ closest: ['side', 'corner'], farthest: ['side', 'corner'] }] },\n ],\n 'mask-image-radial-pos': [{ 'mask-radial-at': scalePosition() }],\n 'mask-image-conic-pos': [{ 'mask-conic': [isNumber] }],\n 'mask-image-conic-from-pos': [{ 'mask-conic-from': scaleMaskImagePosition() }],\n 'mask-image-conic-to-pos': [{ 'mask-conic-to': scaleMaskImagePosition() }],\n 'mask-image-conic-from-color': [{ 'mask-conic-from': scaleColor() }],\n 'mask-image-conic-to-color': [{ 'mask-conic-to': scaleColor() }],\n /**\n * Mask Mode\n * @see https://tailwindcss.com/docs/mask-mode\n */\n 'mask-mode': [{ mask: ['alpha', 'luminance', 'match'] }],\n /**\n * Mask Origin\n * @see https://tailwindcss.com/docs/mask-origin\n */\n 'mask-origin': [\n { 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view'] },\n ],\n /**\n * Mask Position\n * @see https://tailwindcss.com/docs/mask-position\n */\n 'mask-position': [{ mask: scaleBgPosition() }],\n /**\n * Mask Repeat\n * @see https://tailwindcss.com/docs/mask-repeat\n */\n 'mask-repeat': [{ mask: scaleBgRepeat() }],\n /**\n * Mask Size\n * @see https://tailwindcss.com/docs/mask-size\n */\n 'mask-size': [{ mask: scaleBgSize() }],\n /**\n * Mask Type\n * @see https://tailwindcss.com/docs/mask-type\n */\n 'mask-type': [{ 'mask-type': ['alpha', 'luminance'] }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image': [{ mask: ['none', isArbitraryVariable, isArbitraryValue] }],\n\n // ---------------\n // --- Filters ---\n // ---------------\n\n /**\n * Filter\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [\n {\n filter: [\n // Deprecated since Tailwind CSS v3.0.0\n '',\n 'none',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{ blur: scaleBlur() }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{ brightness: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{ contrast: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [\n {\n 'drop-shadow': [\n // Deprecated since Tailwind CSS v4.0.0\n '',\n 'none',\n themeDropShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow,\n ],\n },\n ],\n /**\n * Drop Shadow Color\n * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color\n */\n 'drop-shadow-color': [{ 'drop-shadow': scaleColor() }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{ grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{ 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{ invert: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{ saturate: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{ sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Backdrop Filter\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [\n {\n 'backdrop-filter': [\n // Deprecated since Tailwind CSS v3.0.0\n '',\n 'none',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{ 'backdrop-blur': scaleBlur() }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [\n { 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [\n { 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [\n { 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [\n { 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [\n { 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [\n { 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [\n { 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [\n { 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n\n // --------------\n // --- Tables ---\n // --------------\n\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{ border: ['collapse', 'separate'] }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{ 'border-spacing': scaleUnambiguousSpacing() }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{ 'border-spacing-x': scaleUnambiguousSpacing() }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{ 'border-spacing-y': scaleUnambiguousSpacing() }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{ table: ['auto', 'fixed'] }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{ caption: ['top', 'bottom'] }],\n\n // ---------------------------------\n // --- Transitions and Animation ---\n // ---------------------------------\n\n /**\n * Transition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [\n {\n transition: [\n '',\n 'all',\n 'colors',\n 'opacity',\n 'shadow',\n 'transform',\n 'none',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Transition Behavior\n * @see https://tailwindcss.com/docs/transition-behavior\n */\n 'transition-behavior': [{ transition: ['normal', 'discrete'] }],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{ duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue] }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [\n { ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{ delay: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{ animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue] }],\n\n // ------------------\n // --- Transforms ---\n // ------------------\n\n /**\n * Backface Visibility\n * @see https://tailwindcss.com/docs/backface-visibility\n */\n backface: [{ backface: ['hidden', 'visible'] }],\n /**\n * Perspective\n * @see https://tailwindcss.com/docs/perspective\n */\n perspective: [\n { perspective: [themePerspective, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Perspective Origin\n * @see https://tailwindcss.com/docs/perspective-origin\n */\n 'perspective-origin': [{ 'perspective-origin': scalePositionWithArbitrary() }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{ rotate: scaleRotate() }],\n /**\n * Rotate X\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-x': [{ 'rotate-x': scaleRotate() }],\n /**\n * Rotate Y\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-y': [{ 'rotate-y': scaleRotate() }],\n /**\n * Rotate Z\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-z': [{ 'rotate-z': scaleRotate() }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{ scale: scaleScale() }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{ 'scale-x': scaleScale() }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{ 'scale-y': scaleScale() }],\n /**\n * Scale Z\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-z': [{ 'scale-z': scaleScale() }],\n /**\n * Scale 3D\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-3d': ['scale-3d'],\n /**\n * Skew\n * @see https://tailwindcss.com/docs/skew\n */\n skew: [{ skew: scaleSkew() }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{ 'skew-x': scaleSkew() }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{ 'skew-y': scaleSkew() }],\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [\n { transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu'] },\n ],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [{ origin: scalePositionWithArbitrary() }],\n /**\n * Transform Style\n * @see https://tailwindcss.com/docs/transform-style\n */\n 'transform-style': [{ transform: ['3d', 'flat'] }],\n /**\n * Translate\n * @see https://tailwindcss.com/docs/translate\n */\n translate: [{ translate: scaleTranslate() }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{ 'translate-x': scaleTranslate() }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{ 'translate-y': scaleTranslate() }],\n /**\n * Translate Z\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-z': [{ 'translate-z': scaleTranslate() }],\n /**\n * Translate None\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-none': ['translate-none'],\n\n // ---------------------\n // --- Interactivity ---\n // ---------------------\n\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{ accent: scaleColor() }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{ appearance: ['none', 'auto'] }],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{ caret: scaleColor() }],\n /**\n * Color Scheme\n * @see https://tailwindcss.com/docs/color-scheme\n */\n 'color-scheme': [\n { scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light'] },\n ],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [\n {\n cursor: [\n 'auto',\n 'default',\n 'pointer',\n 'wait',\n 'text',\n 'move',\n 'help',\n 'not-allowed',\n 'none',\n 'context-menu',\n 'progress',\n 'cell',\n 'crosshair',\n 'vertical-text',\n 'alias',\n 'copy',\n 'no-drop',\n 'grab',\n 'grabbing',\n 'all-scroll',\n 'col-resize',\n 'row-resize',\n 'n-resize',\n 'e-resize',\n 's-resize',\n 'w-resize',\n 'ne-resize',\n 'nw-resize',\n 'se-resize',\n 'sw-resize',\n 'ew-resize',\n 'ns-resize',\n 'nesw-resize',\n 'nwse-resize',\n 'zoom-in',\n 'zoom-out',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Field Sizing\n * @see https://tailwindcss.com/docs/field-sizing\n */\n 'field-sizing': [{ 'field-sizing': ['fixed', 'content'] }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{ 'pointer-events': ['auto', 'none'] }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{ resize: ['none', '', 'y', 'x'] }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{ scroll: ['auto', 'smooth'] }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{ 'scroll-m': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin X\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{ 'scroll-mx': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Y\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{ 'scroll-my': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{ 'scroll-ms': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{ 'scroll-me': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{ 'scroll-mt': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{ 'scroll-mr': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{ 'scroll-mb': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{ 'scroll-ml': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{ 'scroll-p': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding X\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{ 'scroll-px': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Y\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{ 'scroll-py': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{ 'scroll-ps': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{ 'scroll-pe': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{ 'scroll-pt': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{ 'scroll-pr': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{ 'scroll-pb': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{ 'scroll-pl': scaleUnambiguousSpacing() }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{ snap: ['start', 'end', 'center', 'align-none'] }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{ snap: ['normal', 'always'] }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{ snap: ['none', 'x', 'y', 'both'] }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{ snap: ['mandatory', 'proximity'] }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [{ touch: ['auto', 'none', 'manipulation'] }],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [{ 'touch-pan': ['x', 'left', 'right'] }],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [{ 'touch-pan': ['y', 'up', 'down'] }],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{ select: ['none', 'text', 'all', 'auto'] }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [\n {\n 'will-change': [\n 'auto',\n 'scroll',\n 'contents',\n 'transform',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n\n // -----------\n // --- SVG ---\n // -----------\n\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{ fill: ['none', ...scaleColor()] }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [\n {\n stroke: [\n isNumber,\n isArbitraryVariableLength,\n isArbitraryLength,\n isArbitraryNumber,\n ],\n },\n ],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{ stroke: ['none', ...scaleColor()] }],\n\n // ---------------------\n // --- Accessibility ---\n // ---------------------\n\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{ 'forced-color-adjust': ['auto', 'none'] }],\n },\n conflictingClassGroups: {\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n 'inset-x': ['right', 'left'],\n 'inset-y': ['top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],\n px: ['pr', 'pl'],\n py: ['pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],\n mx: ['mr', 'ml'],\n my: ['mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': [\n 'fvn-ordinal',\n 'fvn-slashed-zero',\n 'fvn-figure',\n 'fvn-spacing',\n 'fvn-fraction',\n ],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: [\n 'rounded-s',\n 'rounded-e',\n 'rounded-t',\n 'rounded-r',\n 'rounded-b',\n 'rounded-l',\n 'rounded-ss',\n 'rounded-se',\n 'rounded-ee',\n 'rounded-es',\n 'rounded-tl',\n 'rounded-tr',\n 'rounded-br',\n 'rounded-bl',\n ],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': [\n 'border-w-x',\n 'border-w-y',\n 'border-w-s',\n 'border-w-e',\n 'border-w-t',\n 'border-w-r',\n 'border-w-b',\n 'border-w-l',\n ],\n 'border-w-x': ['border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-t', 'border-w-b'],\n 'border-color': [\n 'border-color-x',\n 'border-color-y',\n 'border-color-s',\n 'border-color-e',\n 'border-color-t',\n 'border-color-r',\n 'border-color-b',\n 'border-color-l',\n ],\n 'border-color-x': ['border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-t', 'border-color-b'],\n translate: ['translate-x', 'translate-y', 'translate-none'],\n 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],\n 'scroll-m': [\n 'scroll-mx',\n 'scroll-my',\n 'scroll-ms',\n 'scroll-me',\n 'scroll-mt',\n 'scroll-mr',\n 'scroll-mb',\n 'scroll-ml',\n ],\n 'scroll-mx': ['scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mt', 'scroll-mb'],\n 'scroll-p': [\n 'scroll-px',\n 'scroll-py',\n 'scroll-ps',\n 'scroll-pe',\n 'scroll-pt',\n 'scroll-pr',\n 'scroll-pb',\n 'scroll-pl',\n ],\n 'scroll-px': ['scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch'],\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading'],\n },\n orderSensitiveModifiers: [\n '*',\n '**',\n 'after',\n 'backdrop',\n 'before',\n 'details-content',\n 'file',\n 'first-letter',\n 'first-line',\n 'marker',\n 'placeholder',\n 'selection',\n ],\n } as const satisfies Config<DefaultClassGroupIds, DefaultThemeGroupIds>\n}\n","import { AnyConfig, ConfigExtension, NoInfer } from './types'\n\n/**\n * @param baseConfig Config where other config will be merged into. This object will be mutated.\n * @param configExtension Partial config to merge into the `baseConfig`.\n */\nexport const mergeConfigs = <ClassGroupIds extends string, ThemeGroupIds extends string = never>(\n baseConfig: AnyConfig,\n {\n cacheSize,\n prefix,\n experimentalParseClassName,\n extend = {},\n override = {},\n }: ConfigExtension<ClassGroupIds, ThemeGroupIds>,\n) => {\n overrideProperty(baseConfig, 'cacheSize', cacheSize)\n overrideProperty(baseConfig, 'prefix', prefix)\n overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName)\n\n overrideConfigProperties(baseConfig.theme, override.theme)\n overrideConfigProperties(baseConfig.classGroups, override.classGroups)\n overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups)\n overrideConfigProperties(\n baseConfig.conflictingClassGroupModifiers,\n override.conflictingClassGroupModifiers,\n )\n overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers)\n\n mergeConfigProperties(baseConfig.theme, extend.theme)\n mergeConfigProperties(baseConfig.classGroups, extend.classGroups)\n mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups)\n mergeConfigProperties(\n baseConfig.conflictingClassGroupModifiers,\n extend.conflictingClassGroupModifiers,\n )\n mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers')\n\n return baseConfig\n}\n\nconst overrideProperty = <T extends object, K extends keyof T>(\n baseObject: T,\n overrideKey: K,\n overrideValue: T[K] | undefined,\n) => {\n if (overrideValue !== undefined) {\n baseObject[overrideKey] = overrideValue\n }\n}\n\nconst overrideConfigProperties = (\n baseObject: Partial<Record<string, readonly unknown[]>>,\n overrideObject: Partial<Record<string, readonly unknown[]>> | undefined,\n) => {\n if (overrideObject) {\n for (const key in overrideObject) {\n overrideProperty(baseObject, key, overrideObject[key])\n }\n }\n}\n\nconst mergeConfigProperties = (\n baseObject: Partial<Record<string, readonly unknown[]>>,\n mergeObject: Partial<Record<string, readonly unknown[]>> | undefined,\n) => {\n if (mergeObject) {\n for (const key in mergeObject) {\n mergeArrayProperties(baseObject, mergeObject, key)\n }\n }\n}\n\nconst mergeArrayProperties = <Key extends string>(\n baseObject: Partial<Record<NoInfer<Key>, readonly unknown[]>>,\n mergeObject: Partial<Record<NoInfer<Key>, readonly unknown[]>>,\n key: Key,\n) => {\n const mergeValue = mergeObject[key]\n\n if (mergeValue !== undefined) {\n baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue\n }\n}\n","import { createTailwindMerge } from './create-tailwind-merge'\nimport { getDefaultConfig } from './default-config'\nimport { mergeConfigs } from './merge-configs'\nimport { AnyConfig, ConfigExtension, DefaultClassGroupIds, DefaultThemeGroupIds } from './types'\n\ntype CreateConfigSubsequent = (config: AnyConfig) => AnyConfig\n\nexport const extendTailwindMerge = <\n AdditionalClassGroupIds extends string = never,\n AdditionalThemeGroupIds extends string = never,\n>(\n configExtension:\n | ConfigExtension<\n DefaultClassGroupIds | AdditionalClassGroupIds,\n DefaultThemeGroupIds | AdditionalThemeGroupIds\n >\n | CreateConfigSubsequent,\n ...createConfig: CreateConfigSubsequent[]\n) =>\n typeof configExtension === 'function'\n ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig)\n : createTailwindMerge(\n () => mergeConfigs(getDefaultConfig(), configExtension),\n ...createConfig,\n )\n","import { clsx, type ClassValue } from \"clsx\";\nimport { extendTailwindMerge } from \"tailwind-merge\";\n\nconst customTwMerge = extendTailwindMerge({\n extend: {\n classGroups: {\n \"font-size\": [\n \"text-xxs\",\n \"text-xs\",\n \"text-sm\",\n \"text-base\",\n \"text-lg\",\n \"text-xl\",\n \"text-2xl\",\n \"text-3xl\",\n \"text-4xl\",\n \"text-5xl\",\n \"text-6xl\",\n \"text-7xl\",\n \"text-8xl\",\n \"text-9xl\",\n ],\n },\n },\n});\n\nexport function cn(...inputs: ClassValue[]) {\n return customTwMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { CloseMd } from \"@medway-ui/icons\";\n\nimport { cn } from \"@/lib/utils\";\n\ninterface AlertProps extends React.ComponentProps<\"div\"> {\n variant?: \"regular\" | \"emphasis\" | \"success\" | \"warning\" | \"error\";\n onClose?: () => void;\n}\n\nconst AlertContext = React.createContext<{\n variant: \"regular\" | \"emphasis\" | \"success\" | \"warning\" | \"error\";\n hasDescription: boolean;\n hasTitle: boolean;\n onClose?: () => void;\n} | null>(null);\n\nconst alertVariants = cva(\n \"relative flex flex-col items-center justify-between gap-5 w-full rounded-md px-4 py-3 text-sm has-[>svg]:gap-x-9 gap-y-1 items-center [&>svg]:translate-y-0 [&>svg]:text-current lg:flex-row\",\n {\n variants: {\n variant: {\n regular:\n \"[background:linear-gradient(0deg,_var(--color-primary-background-soft)_0%,_var(--color-primary-background-soft)_100%),_var(--color-surface-card)] text-primary-foreground [&>svg]:text-primary-foreground\",\n emphasis:\n \"[background:linear-gradient(0deg,_var(--color-secondary-background-soft)_0%,_var(--color-secondary-background-soft)_100%),_var(--color-surface-card)] text-secondary-foreground [&>svg]:text-secondary-foreground\",\n success:\n \"[background:linear-gradient(0deg,_var(--color-green-background-soft)_0%,_var(--color-green-background-soft)_100%),_var(--color-surface-card)] text-green-foreground [&>svg]:text-green-foreground\",\n warning:\n \"[background:linear-gradient(0deg,_var(--color-yellow-background-soft)_0%,_var(--color-yellow-background-soft)_100%),_var(--color-surface-card)] text-yellow-foreground [&>svg]:text-yellow-foreground\",\n error:\n \"[background:linear-gradient(0deg,_var(--color-red-background-soft)_0%,_var(--color-red-background-soft)_100%),_var(--color-surface-card)] text-red-foreground [&>svg]:text-red-foreground\",\n },\n },\n defaultVariants: {\n variant: \"regular\",\n },\n }\n);\n\nfunction Alert({\n className,\n variant = \"regular\",\n onClose,\n children,\n ...props\n}: AlertProps) {\n const hasDescription = React.Children.toArray(children).some(\n (child) => React.isValidElement(child) && child.type === AlertDescription\n );\n const hasTitle = React.Children.toArray(children).some(\n (child) => React.isValidElement(child) && child.type === AlertTitle\n );\n\n return (\n <AlertContext.Provider\n value={{ variant, hasDescription, hasTitle, onClose }}\n >\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n >\n {children}\n {onClose && (\n <CloseMd\n aria-label=\"alert-close\"\n onClick={onClose}\n className=\"absolute right-4 top-2 !size-4 cursor-pointer !text-gray-foreground\"\n />\n )}\n </div>\n </AlertContext.Provider>\n );\n}\n\nfunction AlertContainer({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-container\"\n className={cn(\"flex gap-3\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-content\"\n className={cn(\"flex flex-col gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertIcon({\n className,\n icon,\n ...props\n}: React.ComponentProps<\"div\"> & {\n icon?: React.ReactNode;\n}) {\n return (\n <div data-slot=\"alert-icon\" className={cn(\"size-6\", className)} {...props}>\n {icon}\n </div>\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\"line-clamp-1 min-h-4 text-base font-medium\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"!line-clamp-3 grid justify-items-start gap-1 text-sm leading-5\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AlertActions({ className, ...props }: React.ComponentProps<\"div\">) {\n const context = React.useContext(AlertContext);\n const hasDescription = context?.hasDescription || false;\n const hasTitle = context?.hasTitle || false;\n const onClose = context?.onClose;\n\n return (\n <div\n data-slot=\"alert-actions\"\n className={cn(\n \"relative mt-2 flex flex-wrap items-center gap-x-2 lg:mt-0 lg:flex-nowrap\",\n (!hasDescription || !hasTitle) && onClose && \"lg:right-5\",\n className\n )}\n {...props}\n />\n );\n}\n\nconst alertButtonVariants = cva(\n \"inline-flex items-center justify-center rounded-pill px-3 py-2 min-h-10 text-sm font-semibold transition-colors whitespace-nowrap focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:brightness-90\",\n {\n variants: {\n variant: {\n regular: \"text-current\",\n basic: \"text-current\",\n },\n alertVariant: {\n regular: \"\",\n emphasis: \"\",\n success: \"\",\n warning: \"\",\n error: \"\",\n },\n },\n compoundVariants: [\n {\n variant: \"regular\",\n alertVariant: \"regular\",\n class: \"bg-primary-background-soft\",\n },\n {\n variant: \"regular\",\n alertVariant: \"emphasis\",\n class: \"bg-secondary-background-soft\",\n },\n {\n variant: \"regular\",\n alertVariant: \"success\",\n class: \"bg-green-background-soft\",\n },\n {\n variant: \"regular\",\n alertVariant: \"warning\",\n class: \"bg-yellow-background-soft\",\n },\n {\n variant: \"regular\",\n alertVariant: \"error\",\n class: \"bg-red-background-soft\",\n },\n ],\n defaultVariants: {\n variant: \"regular\",\n alertVariant: \"regular\",\n },\n }\n);\n\ninterface AlertButtonProps\n extends React.ComponentProps<\"button\">,\n VariantProps<typeof alertButtonVariants> {}\n\nfunction AlertButton({ className, variant, ...props }: AlertButtonProps) {\n const context = React.useContext(AlertContext);\n const alertVariant = context?.variant || \"regular\";\n\n return (\n <button\n className={cn(alertButtonVariants({ variant, alertVariant }), className)}\n {...props}\n />\n );\n}\n\nexport {\n Alert,\n AlertContainer,\n AlertContent,\n AlertIcon,\n AlertTitle,\n AlertDescription,\n AlertActions,\n AlertButton,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface LoadingProps {\n size?: number;\n className?: string;\n}\n\nfunction Loading({ size = 24, className }: LoadingProps) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={cn(\"animate-spin\", className)}\n >\n <path d=\"M21 12a9 9 0 1 1-6.219-8.56\" />\n </svg>\n );\n}\n\nexport { Loading };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst ICON_ONLY_SIZES: Record<\"sm\" | \"md\" | \"lg\" | \"xl\", string> = {\n sm: \"size-4 p-0\",\n md: \"size-5 p-0\",\n lg: \"size-6 p-0\",\n xl: \"size-7 p-0\",\n} as const;\n\nconst CHAR_PADDING: Record<\"sm\" | \"md\" | \"lg\" | \"xl\", string> = {\n sm: \"px-1\",\n md: \"px-1\",\n lg: \"px-1\",\n xl: \"px-1.5\",\n} as const;\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center rounded-pill border font-semibold w-fit whitespace-nowrap shrink-0 gap-1 [&>svg]:pointer-events-none overflow-hidden border-transparent px-2 ring-1 ring-background\",\n {\n variants: {\n variant: {\n regular:\n \"bg-secondary-background-fill text-secondary-foreground-onfill\",\n freemium:\n \"[background:radial-gradient(135.09%_111.8%_at_0%_50%,rgba(24,98,188,0.02)_0%,rgba(0,32,91,0)_100%),linear-gradient(46deg,rgba(62,218,199,0.56)_6.54%,rgba(24,98,188,0.17)_85.21%),var(--color-primary)] text-secondary-foreground-onfill\",\n },\n size: {\n sm: \"min-w-4 text-xxs [&>svg]:size-2.5\",\n md: \"min-w-5 text-xs [&>svg]:size-3\",\n lg: \"min-w-6 text-xs [&>svg]:size-3.5\",\n xl: \"min-w-7 text-sm [&>svg]:size-4\",\n },\n },\n defaultVariants: {\n variant: \"regular\",\n size: \"md\",\n },\n }\n);\n\nfunction Badge({\n className,\n variant,\n size,\n icon,\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & {\n asChild?: boolean;\n icon?: React.ReactNode;\n }) {\n const Comp = (asChild ? Slot.Slot : \"span\") as React.ElementType;\n const hasChildren = React.Children.count(props.children) > 0;\n const isIconOnly = !!icon && !hasChildren;\n const childText =\n typeof props.children === \"string\" || typeof props.children === \"number\"\n ? String(props.children).trim()\n : \"\";\n const isSingleAlphaNum = /^[A-Za-z0-9]$/.test(childText);\n const isShortAlnumUpTo3 = /^[A-Za-z0-9]{2,3}$/.test(childText);\n const isDigitsWithSuffix = /^\\d{1,2}\\S$/.test(childText); // e.g., 9+, 99%, 9K\n const isShortUpTo3 = isShortAlnumUpTo3 || isDigitsWithSuffix;\n\n return (\n <Comp\n data-slot=\"badge\"\n className={cn(\n badgeVariants({ variant, size }),\n (isIconOnly || isSingleAlphaNum) && ICON_ONLY_SIZES[size || \"md\"],\n !isIconOnly && isShortUpTo3 && CHAR_PADDING[size || \"md\"],\n className\n )}\n {...props}\n >\n {icon}\n {props.children}\n </Comp>\n );\n}\n\nexport { Badge, badgeVariants };\n","\"use client\";\n\nimport { Slot } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { Loading } from \"@/components/Loading\";\nimport { Badge as BadgeComponent } from \"@/components/Badge\";\nimport { cn } from \"@/lib/utils\";\n\nconst ICON_ONLY_SIZES = {\n sm: \"!h-8 !min-h-8 !w-8 !px-3 !py-2\",\n md: \"!h-10 !min-h-10 !w-10 !px-[14px] !py-[10px]\",\n lg: \"!h-12 !min-h-12 !w-12 !p-3\",\n xl: \"!h-14 !min-h-14 !w-14 !p-3\",\n} as const;\n\nconst ALERT_CIRCLE_SIZES = {\n sm: \"size-2\",\n md: \"size-2.5\",\n lg: \"size-2.5\",\n xl: \"size-3\",\n} as const;\n\nconst badgeSizeMap: Record<\n \"sm\" | \"md\" | \"lg\" | \"xl\",\n \"sm\" | \"md\" | \"lg\" | \"xl\"\n> = {\n sm: \"sm\",\n md: \"md\",\n lg: \"md\",\n xl: \"lg\",\n};\n\ninterface ButtonProps\n extends React.ComponentProps<\"button\">,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n containerClassName?: string;\n iconRight?: React.ReactNode;\n iconLeft?: React.ReactNode;\n badge?: number | string;\n loading?: boolean;\n alert?: string;\n}\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center place-items-center gap-2 rounded-pill text-sm font-semibold whitespace-nowrap transition-all disabled:pointer-events-none shrink-0 [&_svg]:shrink-0 hover:cursor-pointer focus:outline-0 [grid-template-areas:'stack']\",\n {\n variants: {\n variant: {\n regular:\n \"bg-primary-background-fill text-primary-foreground-onfill hover:bg-primary-background-fill-emphasis disabled:bg-gray-background-fill-muted disabled:text-gray-foreground-onfill\",\n \"regular-soft\":\n \"bg-primary-background-soft text-primary-foreground hover:bg-primary-background-soft-emphasis hover:text-primary-foreground-emphasis disabled:bg-gray-background-soft-muted disabled:text-gray-foreground-muted\",\n \"regular-basic\":\n \"bg-transparent text-primary-foreground hover:bg-primary-background-soft-emphasis hover:text-primary-foreground-emphasis disabled:bg-transparent disabled:text-gray-foreground-muted\",\n emphasis:\n \"bg-secondary-background-fill text-secondary-foreground-onfill hover:bg-secondary-background-fill-emphasis disabled:bg-gray-background-fill-muted disabled:text-gray-foreground-onfill\",\n \"emphasis-soft\":\n \"bg-secondary-background-soft text-secondary-foreground hover:bg-secondary-background-soft-emphasis hover:text-secondary-foreground-emphasis disabled:bg-gray-background-soft-muted disabled:text-gray-foreground-muted\",\n \"emphasis-basic\":\n \"bg-transparent text-secondary-foreground hover:bg-secondary-background-soft-emphasis hover:text-secondary-foreground-emphasis disabled:bg-transparent disabled:text-gray-foreground-muted\",\n error:\n \"bg-red-background-fill text-red-foreground-onfill hover:bg-red-background-fill-emphasis disabled:bg-gray-background-fill-muted disabled:text-gray-foreground-onfill\",\n \"error-soft\":\n \"bg-red-background-soft text-red-foreground hover:bg-red-background-soft-emphasis hover:text-red-foreground-emphasis disabled:bg-gray-background-soft-muted disabled:text-gray-foreground-muted\",\n \"error-basic\":\n \"bg-transparent text-red-foreground hover:bg-red-background-soft-emphasis hover:text-red-foreground-emphasis disabled:bg-transparent disabled:text-gray-foreground-muted\",\n warning:\n \"bg-yellow-background-fill text-yellow-foreground-onfill hover:bg-yellow-background-fill-emphasis disabled:bg-gray-background-fill-muted disabled:text-gray-foreground-onfill\",\n \"warning-soft\":\n \"bg-yellow-background-soft text-yellow-foreground hover:bg-yellow-background-soft-emphasis hover:text-yellow-foreground-emphasis disabled:bg-gray-background-soft-muted disabled:text-gray-foreground-muted\",\n \"warning-basic\":\n \"bg-transparent text-yellow-foreground hover:bg-yellow-background-soft-emphasis hover:text-yellow-foreground-emphasis disabled:bg-transparent disabled:text-gray-foreground-muted\",\n success:\n \"bg-green-background-fill text-green-foreground-onfill hover:bg-green-background-fill-emphasis disabled:bg-gray-background-fill-muted disabled:text-gray-foreground-onfill\",\n \"success-soft\":\n \"bg-green-background-soft text-green-foreground hover:bg-green-background-soft-emphasis hover:text-green-foreground-emphasis disabled:bg-gray-background-soft-muted disabled:text-gray-foreground-muted\",\n \"success-basic\":\n \"bg-transparent text-green-foreground hover:bg-green-background-soft-emphasis hover:text-green-foreground-emphasis disabled:bg-transparent disabled:text-gray-foreground-muted\",\n outlined:\n \"border border-border bg-transparent text-foreground hover:border-transparent hover:bg-gray-50 disabled:border-transparent dark:bg-transparent hover:dark:border-gray-400 disabled:border-gray-stroke-muted disabled:text-gray-foreground-muted\",\n gradient:\n \"text-white [background:linear-gradient(284deg,var(--color-primary)_2.11%,var(--color-secondary)_128.06%)] hover:[background:linear-gradient(284deg,var(--color-primary)2.11%,var(--color-secondary)102.63%)] disabled:[background:var(--color-gray-50)] disabled:bg-gray-background-fill-muted disabled:text-gray-foreground-onfill\",\n medbrain:\n \"border-2 border-transparent bg-clip-text [background:linear-gradient(var(--color-white),var(--color-white))_padding-box,linear-gradient(75deg,var(--color-secondary),var(--color-cm-lighten-3))_border-box] [box-shadow:-8px_0_8px_0_var(--color-prev-16)_inset,8px_0_8px_0_var(--color-secondary-24)_inset,0_0_8px_0_var(--color-cm-16)_inset] hover:[background:linear-gradient(var(--color-white),var(--color-white))_padding-box,linear-gradient(75deg,var(--color-cm-lighten-3),var(--color-secondary))_border-box] [&_span]:bg-clip-text [&_span]:text-transparent [&_span]:bg-gradient-to-r [&_span]:from-cm [&_span]:to-primary [&_span]:hover:to-secondary disabled:bg-gray-background-fill-muted disabled:text-gray-foreground-onfill [&_svg]:text-cm-darken-1\",\n },\n size: {\n sm: \"min-h-8 min-w-8 px-3 py-1 has-[>svg]:px-3 [&_svg:not([class*='size-'])]:size-[13px] text-xs\",\n md: \"min-h-10 min-w-10 px-3.5 py-2 has-[>svg]:px-3.5 [&_svg:not([class*='size-'])]:size-4 text-sm\",\n lg: \"min-h-12 min-w-12 px-4 py-3 has-[>svg]:px-4 [&_svg:not([class*='size-'])]:size-6 text-base\",\n xl: \"min-h-14 min-w-14 px-[18px] py-3.5 has-[>svg]:px-[18px] [&_svg:not([class*='size-'])]:size-7 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"regular\",\n size: \"md\",\n },\n }\n);\n\nfunction Button({\n className,\n containerClassName,\n variant,\n size,\n asChild = false,\n iconRight,\n iconLeft,\n badge,\n loading = false,\n alert,\n ...props\n}: ButtonProps) {\n const Comp = (asChild ? Slot.Slot : \"button\") as React.ElementType;\n\n const shouldShowBadge = (value: number | string | undefined) => {\n return value != null && value !== 0 && value !== \"\" && value !== \"0\";\n };\n\n const renderIcon = (icon: React.ReactNode) => icon;\n\n const isIconOnly = !props.children && (iconLeft || iconRight || alert);\n\n const renderAlertCircle = () => {\n if (!alert) return null;\n\n return (\n <span\n className={cn(\n \"relative mr-1 flex size-2.5\",\n ALERT_CIRCLE_SIZES[size || \"md\"]\n )}\n >\n <span\n className=\"absolute inline-flex h-full w-full animate-ping rounded-full opacity-75\"\n style={{ backgroundColor: alert }}\n ></span>\n <span\n className={cn(\n \"relative inline-flex size-2.5 rounded-full\",\n ALERT_CIRCLE_SIZES[size || \"md\"]\n )}\n style={{ backgroundColor: alert }}\n ></span>\n </span>\n );\n };\n\n const renderButtonContent = () => {\n if (loading) {\n return (\n <>\n <Loading className=\"[grid-area:stack]\" />\n <span className={cn(\"[grid-area:stack]\", loading && \"invisible\")}>\n {props.children}\n </span>\n </>\n );\n }\n\n return (\n <>\n {alert ? renderAlertCircle() : iconLeft && renderIcon(iconLeft)}\n {props.children && <span>{props.children}</span>}\n {iconRight && renderIcon(iconRight)}\n </>\n );\n };\n\n return (\n <div className={cn(\"relative\", containerClassName)}>\n {shouldShowBadge(badge) && (\n <BadgeComponent\n size={badgeSizeMap[size || \"md\"]}\n variant=\"regular\"\n className={cn(\"absolute -right-2 -top-1 z-10\")}\n role=\"status\"\n aria-label={`${badge}-notifications`}\n >\n {String(badge)}\n </BadgeComponent>\n )}\n <Comp\n disabled={loading}\n aria-busy={loading}\n aria-live={loading ? \"polite\" : undefined}\n data-slot=\"button\"\n className={cn(\n isIconOnly && ICON_ONLY_SIZES[size || \"md\"],\n loading && \"!inline-grid\",\n buttonVariants({ variant, size, className })\n )}\n {...props}\n >\n {renderButtonContent()}\n </Comp>\n </div>\n );\n}\n\nexport { Button, buttonVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\";\n\nimport { cn } from \"@/lib/utils\";\nimport { buttonVariants } from \"@/components/Button\";\n\nfunction AlertDialog({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />;\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n );\n}\n\nfunction AlertDialogPortal({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n );\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"fixed inset-0 z-50 bg-black-80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogContent({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content>) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n className={cn(\n \"fixed left-1/2 top-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-lg border bg-surface-elevated p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:max-w-lg\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n );\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-sm text-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action>) {\n return (\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants(), className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogCancel({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant: \"outlined\" }), className)}\n {...props}\n />\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\nimport { User } from \"@medway-ui/icons\";\nimport { Badge as BadgeComponent } from \"@/components/Badge\";\n\nconst badgeSizeMap: Record<\n \"sm\" | \"md\" | \"lg\" | \"xl\",\n \"sm\" | \"md\" | \"lg\" | \"xl\"\n> = {\n sm: \"sm\",\n md: \"md\",\n lg: \"md\",\n xl: \"lg\",\n};\n\nconst avatarVariants = cva(\n \"relative flex shrink-0 overflow-hidden rounded-full\",\n {\n variants: {\n size: {\n sm: \"size-8\",\n md: \"size-10\",\n lg: \"size-12\",\n xl: \"size-14\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n);\n\ninterface AvatarProps\n extends React.ComponentProps<typeof AvatarPrimitive.Root>,\n VariantProps<typeof avatarVariants> {\n src?: string;\n alt?: string;\n fallback?: React.ReactNode;\n badge?: number | string;\n}\n\nfunction Avatar({ className, size, badge, children, ...props }: AvatarProps) {\n return (\n <div className=\"relative\">\n {badge && (\n <BadgeComponent\n size={badgeSizeMap[size || \"md\"]}\n className={cn(\"absolute -right-2 -top-1 z-10\")}\n >\n {String(badge)}\n </BadgeComponent>\n )}\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(avatarVariants({ size, className }))}\n {...props}\n >\n {children}\n </AvatarPrimitive.Root>\n </div>\n );\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"size-full object-cover\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"flex size-full items-center justify-center rounded-full bg-gray-background-soft text-sm font-semibold text-primary-foreground\",\n className\n )}\n {...props}\n >\n {props.children ? props.children : <User className=\"size-1/2\" />}\n </AvatarPrimitive.Fallback>\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback, avatarVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Collapsible as CollapsiblePrimitive } from \"radix-ui\";\nimport { cn } from \"@/lib/utils\";\n\ntype AnimationType = \"accordion\" | \"fade\";\n\ninterface CollapsibleContextValue {\n animation?: AnimationType;\n}\n\ninterface CollapsibleContentProps\n extends React.ComponentProps<typeof CollapsiblePrimitive.Content> {\n className?: string;\n}\n\nconst CollapsibleContext = React.createContext<CollapsibleContextValue>({\n animation: undefined,\n});\n\ninterface CollapsibleProps\n extends React.ComponentProps<typeof CollapsiblePrimitive.Root> {\n animation?: AnimationType;\n}\n\nfunction Collapsible({ animation, ...props }: CollapsibleProps) {\n return (\n <CollapsibleContext.Provider value={{ animation }}>\n <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />\n </CollapsibleContext.Provider>\n );\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Trigger>) {\n return (\n <CollapsiblePrimitive.Trigger data-slot=\"collapsible-trigger\" {...props} />\n );\n}\n\nfunction CollapsibleContent({ className, ...props }: CollapsibleContentProps) {\n const { animation } = React.useContext(CollapsibleContext);\n\n const animationClasses: Record<AnimationType, string> = {\n accordion:\n \"overflow-hidden data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down\",\n fade: \"data-[state=closed]:animate-fade-out data-[state=open]:animate-fade-in\",\n };\n\n return (\n <CollapsiblePrimitive.Content\n data-slot=\"collapsible-content\"\n className={cn(animation && animationClasses[animation], className)}\n {...props}\n />\n );\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\nexport type { AnimationType };\n","import * as React from \"react\"\n\nconst MOBILE_BREAKPOINT = 768\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined)\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n }\n mql.addEventListener(\"change\", onChange)\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n return () => mql.removeEventListener(\"change\", onChange)\n }, [])\n\n return !!isMobile\n}\n","\"use client\";\n\nimport * as React from \"react\";\nimport { DropdownMenu as DropdownMenuPrimitive } from \"radix-ui\";\nimport { Check, ChevronRight } from \"@medway-ui/icons\";\n\nimport { cn } from \"@/lib/utils\";\nimport { useIsMobile } from \"@/hooks/use-mobile\";\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n );\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n className={cn(\"cursor-pointer\", props.className)}\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n side,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n const isMobile = useIsMobile();\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n side={isMobile ? \"bottom\" : side}\n className={cn(\n \"max-h-(--radix-dropdown-menu-content-available-height) origin-(--radix-dropdown-menu-content-transform-origin) z-50 max-h-screen min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-surface-elevated p-3 pb-2 text-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"data-[variant=destructive]:*:[svg]:!text-destructive outline-hidden relative flex cursor-pointer select-none items-center gap-2.5 rounded-sm px-2 py-2 text-sm font-medium text-gray-foreground hover:bg-secondary-background-soft-emphasis focus:outline-0 data-[disabled]:pointer-events-none data-[inset]:pl-8 data-[variant=destructive]:text-red-foreground data-[disabled]:opacity-50 data-[variant=destructive]:hover:bg-red-background-soft-emphasis dark:[&_img]:brightness-0 dark:[&_img]:invert [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"outline-hidden relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2 pl-2 pr-7 text-sm font-medium text-gray-foreground hover:bg-secondary-background-soft-emphasis focus:outline-0 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:[&_img]:brightness-0 dark:[&_img]:invert [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:text-secondary-foreground\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"flex min-w-0 flex-1 gap-2 break-words\">{children}</span>\n <span className=\"pointer-events-none absolute right-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"outline-hidden relative flex cursor-pointer select-none items-center gap-2 rounded-md py-3 pl-2 pr-7 text-sm font-medium text-gray-foreground hover:bg-secondary-background-soft-emphasis focus:outline-0 aria-checked:text-secondary-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:[&_img]:brightness-0 dark:[&_img]:invert [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:text-secondary-foreground\",\n className\n )}\n {...props}\n >\n <span className=\"flex min-w-0 flex-1 gap-2 break-words\">{children}</span>\n <span className=\"pointer-events-none absolute right-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-3 text-xs font-semibold uppercase text-gray-foreground-muted data-[inset]:pl-8 [&:not(:first-child)]:mt-2.5\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"-mx-3 my-2 h-px bg-border\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"ml-auto text-xs tracking-widest text-gray-foreground\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-pointer select-none items-center rounded-sm px-2 py-2 text-sm font-medium text-gray-foreground outline-0 focus:outline-0 data-[inset]:pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto size-3\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"origin-(--radix-dropdown-menu-content-transform-origin) z-50 min-w-[8rem] overflow-hidden rounded-md border bg-surface-elevated p-1 text-gray-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n","\"use client\";\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"placeholder:text-muted-foreground shadow-xs flex h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-base outline-none transition-[color,box-shadow] selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground disabled:pointer-events-none disabled:opacity-50 dark:bg-gray-300 md:text-sm\",\n \"focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-red-8 aria-invalid:border-red\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","\"use client\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface LogoProps {\n width?: string | number;\n height?: string | number;\n className?: string;\n svgClassName?: string;\n}\n\nfunction Logo({\n width = 171,\n height = 36,\n className,\n svgClassName,\n}: LogoProps) {\n return (\n <svg\n className={cn(\"dark:brightness-0 dark:invert\", className)}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 171 36\"\n width={width}\n height={height}\n >\n <path\n fill=\"#01CFB5\"\n d=\"M170.246 8.366 158.874 34.77c-.317.744-1.131 1.23-2.038 1.23h-3.47c-1.552 0-2.606-1.377-2.011-2.628l2.875-6.066-8.476-18.918c-.563-1.246.492-2.59 2.027-2.59h3.541c.929 0 1.755.513 2.061 1.278l4.688 11.864h.093l4.464-11.836c.295-.782 1.126-1.306 2.066-1.306h3.514c1.524 0 2.573 1.322 2.038 2.568Zm-24.869 8.623v10.42a.823.823 0 0 1-.82.826h-3.956a.818.818 0 0 1-.82-.825v-.667a11.207 11.207 0 0 1-5.699 1.541c-6.235 0-11.295-5.054-11.295-11.295 0-6.24 5.06-11.295 11.295-11.295 2.076 0 4.027.557 5.694 1.541v-.006a11.295 11.295 0 0 1 5.601 9.76Zm-5.984.005c0-2.94-2.377-5.327-5.306-5.327-2.929 0-5.306 2.388-5.306 5.327 0 2.94 2.377 5.323 5.306 5.323 2.929 0 5.306-2.383 5.306-5.323Zm5.793.4c.005-.099.005-.192.005-.29 0-.098-.005-.191-.005-.284v.573Zm-26.17-11.722h-4.355a.977.977 0 0 0-.978.978v11.902a3.416 3.416 0 0 1-6.831 0V6.65a.977.977 0 0 0-.978-.978h-4.355a.977.977 0 0 0-.978.978v11.902a3.417 3.417 0 0 1-5.83 2.415c-.618-.617-1-1.47-1-2.415V6.65a.977.977 0 0 0-.979-.978h-4.355a.977.977 0 0 0-.978.978v13.088h-.006c0 .781.115 1.535.334 2.256 1.098 3.623 4.765 6.29 9.13 6.29 2.739 0 5.209-1.054 6.935-2.732 1.689 1.83 4.197 2.994 7 2.994 4.53 0 8.295-3.043 9.06-7.043.093-.487.143-.99.143-1.497V6.65a.978.978 0 0 0-.979-.978Z\"\n />\n <path\n fill=\"#00205B\"\n className={svgClassName}\n d=\"M65.557 7.694c-.639.399-1.235.863-1.781 1.388.54-.536 1.137-1 1.781-1.388ZM82.727.831v26.617a.82.82 0 0 1-.82.825h-3.956a.77.77 0 0 1-.415-.12.81.81 0 0 1-.405-.71v-.755a11.018 11.018 0 0 1-5.689 1.574c-5.47 0-10.01-3.967-10.923-9.191-.016-.098-.038-.197-.054-.3-.011-.088-.028-.18-.039-.268 0-.028-.005-.055-.01-.088-.006-.06-.012-.12-.023-.18-.005-.076-.01-.159-.021-.24v-.028c-.006-.093-.017-.18-.017-.273a9.516 9.516 0 0 1 0-1.11l.017-.273v-.027l.032-.311c0-.033.006-.066.006-.099a.665.665 0 0 0 .01-.104c.012-.087.023-.18.039-.267.016-.11.033-.213.055-.323a11.09 11.09 0 0 1 3.17-6.005 11.548 11.548 0 0 1 1.88-1.48 9.127 9.127 0 0 1 1.31-.646c1.039-.42 2.186-.65 3.405-.683-.071 0-.142.011-.213.011a9.587 9.587 0 0 0-3.203.672c-.453.18-.896.4-1.311.65.393-.245.809-.459 1.23-.655-.006 0-.011.005-.017.005l.033-.016c-.011.005-.022.005-.038.01a8.79 8.79 0 0 1 .519-.229c-.039.017-.071.033-.104.05.038-.017.07-.033.11-.05.087-.033.174-.065.267-.098.087-.038.175-.066.268-.099.033-.016.065-.021.098-.032.055-.017.104-.039.158-.055.11-.033.214-.066.323-.098a9.584 9.584 0 0 1 .607-.153c.092-.022.196-.044.295-.066.098-.016.196-.033.295-.055l.295-.049h.005a2.82 2.82 0 0 0 .197-.027c.07-.005.131-.022.202-.022.087-.01.18-.016.268-.022.082-.01.164-.01.246-.016.07 0 .142-.011.213-.011.136-.006.273-.006.415-.006.093 0 .191.006.284.006h.12c.083 0 .159.005.236.01.098.006.196.012.295.023.087.005.174.01.256.022.05.005.099.01.142.016.088.01.175.022.257.038l.312.05c1.06.185 2.07.519 3.005.983v.115c-.038-.022-.076-.038-.12-.06.038.022.077.038.12.065v-.12c.268.131.525.273.77.426V.825a.827.827 0 0 1 .82-.825h3.957a.838.838 0 0 1 .836.83Zm-5.694 16.213a5.32 5.32 0 0 0-5.312-5.323c-2.929 0-5.306 2.388-5.306 5.323 0 2.94 2.377 5.322 5.306 5.322a5.316 5.316 0 0 0 5.312-5.322Zm-19.59.431c0 .41-.017.765-.066 1.132a.597.597 0 0 1-.596.524H42.284a.598.598 0 0 0-.574.77c.623 1.94 2.46 3.192 4.749 3.192 1.607 0 2.678-.574 3.656-1.749a.614.614 0 0 1 .47-.213h5.191c.448 0 .738.47.53.869-2.093 4.033-5.705 6.372-9.847 6.372-6.06 0-11.137-5.055-11.137-11.088 0-6.033 4.847-11.235 11.022-11.235h.006c6.284 0 11.093 4.94 11.093 11.426Zm-6.563-3.393c-.738-1.683-2.437-2.754-4.541-2.754-1.973 0-3.721 1.027-4.47 2.754a.594.594 0 0 0 .552.825h7.907a.593.593 0 0 0 .552-.825ZM23.13 5.803c-2.738 0-5.207 1.055-6.934 2.733-1.689-1.831-4.197-2.995-7-2.995-4.53 0-8.295 3.044-9.06 7.044-.088.486-.137.989-.137 1.497v13.35c0 .54.437.978.978.978h4.355a.977.977 0 0 0 .978-.978V15.618c0-1.65 1.328-3.263 2.962-3.476a3.398 3.398 0 0 1 2.87.973c.617.617 1 1.47 1 2.415v11.902c0 .54.436.978.977.978h4.355a.977.977 0 0 0 .979-.978V15.618c0-1.65 1.327-3.263 2.961-3.476a3.398 3.398 0 0 1 2.87.973c.617.617 1 1.47 1 2.415v11.902c0 .54.436.978.977.978h4.355a.977.977 0 0 0 .979-.978V14.344a7.75 7.75 0 0 0-.334-2.257c-1.098-3.623-4.77-6.284-9.13-6.284Z\"\n />\n </svg>\n );\n}\n\nfunction LogoShort({\n width = 60,\n height = 67,\n className,\n svgClassName,\n}: LogoProps) {\n return (\n <svg\n className={cn(\"dark:brightness-0 dark:invert\", className)}\n width={width}\n height={height}\n viewBox=\"0 0 60 67\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill=\"#00205B\"\n className={svgClassName}\n d=\"M42.33 10.8959C37.32 10.8959 32.8 12.8259 29.64 15.8959C26.55 12.5459 21.96 10.4159 16.83 10.4159C8.54 10.4159 1.65 15.9859 0.25 23.3059C0.09 24.1959 0 25.1159 0 26.0459V50.4759C0 51.4659 0.8 52.2659 1.79 52.2659H9.76C10.75 52.2659 11.55 51.4659 11.55 50.4759V28.8559C11.55 25.8359 13.98 22.8859 16.97 22.4959C19.03 22.2259 20.91 22.9659 22.22 24.2759C23.35 25.4059 24.05 26.9659 24.05 28.6959V50.4759C24.05 51.4659 24.85 52.2659 25.84 52.2659H33.81C34.8 52.2659 35.6 51.4659 35.6 50.4759V28.8559C35.6 25.8359 38.03 22.8859 41.02 22.4959C43.08 22.2259 44.96 22.9659 46.27 24.2759C47.4 25.4059 48.1 26.9659 48.1 28.6959V50.4759C48.1 51.4659 48.9 52.2659 49.89 52.2659H57.86C58.85 52.2659 59.65 51.4659 59.65 50.4759V26.5259C59.65 25.0959 59.44 23.7159 59.04 22.3959C57.03 15.7659 50.31 10.8959 42.33 10.8959Z\"\n />\n </svg>\n );\n}\n\nexport { Logo, LogoShort };\n","export const content = [\n \"./src/**/*.{js,ts,jsx,tsx,md,mdx}\",\n \"./node_modules/@medway-ui/core/**/*.{js,ts,jsx,tsx}\",\n];\n\nexport const colors = {\n background: \"var(--color-background)\",\n foreground: \"var(--color-foreground)\",\n ring: \"var(--color-ring)\",\n input: \"var(--color-input)\",\n border: \"var(--color-border)\",\n surface: {\n elevated: \"var(--color-surface-elevated)\",\n card: \"var(--color-surface-card)\",\n navigation: \"var(--color-surface-navigation)\",\n section: \"var(--color-surface-section)\",\n page: \"var(--color-surface-page)\",\n disable: \"var(--color-surface-disable)\",\n \"settings-on\": \"var(--color-surface-settings-on)\",\n \"settings-off\": \"var(--color-surface-settings-off)\",\n },\n dropShadow: {\n \"layer-a\": \"var(--color-drop-shadow-layer-a)\",\n \"layer-b\": \"var(--color-drop-shadow-layer-b)\",\n },\n white: {\n DEFAULT: \"var(--color-white)\",\n \"80\": \"var(--color-white-80)\",\n \"48\": \"var(--color-white-48)\",\n \"24\": \"var(--color-white-24)\",\n \"16\": \"var(--color-white-16)\",\n \"12\": \"var(--color-white-12)\",\n \"8\": \"var(--color-white-8)\",\n \"6\": \"var(--color-white-6)\",\n \"4\": \"var(--color-white-4)\",\n \"0\": \"var(--color-white-0)\",\n },\n black: {\n DEFAULT: \"var(--color-black)\",\n \"80\": \"var(--color-black-80)\",\n \"48\": \"var(--color-black-48)\",\n \"24\": \"var(--color-black-24)\",\n \"16\": \"var(--color-black-16)\",\n \"12\": \"var(--color-black-12)\",\n \"8\": \"var(--color-black-8)\",\n \"6\": \"var(--color-black-6)\",\n \"4\": \"var(--color-black-4)\",\n \"0\": \"var(--color-black-0)\",\n },\n gray: {\n 950: \"var(--color-gray-950)\",\n 900: \"var(--color-gray-900)\",\n 850: \"var(--color-gray-850)\",\n 800: \"var(--color-gray-800)\",\n 700: \"var(--color-gray-700)\",\n 600: \"var(--color-gray-600)\",\n 500: \"var(--color-gray-500)\",\n 450: \"var(--color-gray-450)\",\n 400: \"var(--color-gray-400)\",\n 300: \"var(--color-gray-300)\",\n 200: \"var(--color-gray-200)\",\n 150: \"var(--color-gray-150)\",\n 100: \"var(--color-gray-100)\",\n 70: \"var(--color-gray-70)\",\n 50: \"var(--color-gray-50)\",\n 30: \"var(--color-gray-30)\",\n 10: \"var(--color-gray-10)\",\n \"0\": \"var(--color-gray-0)\",\n foreground: \"var(--color-gray-foreground)\",\n \"foreground-emphasis\": \"var(--color-gray-foreground-emphasis)\",\n \"foreground-muted\": \"var(--color-gray-foreground-muted)\",\n \"foreground-onfill\": \"var(--color-gray-foreground-onfill)\",\n stroke: \"var(--color-gray-stroke)\",\n \"stroke-emphasis\": \"var(--color-gray-stroke-emphasis)\",\n \"stroke-muted\": \"var(--color-gray-stroke-muted)\",\n \"background-fill\": \"var(--color-gray-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-gray-background-fill-emphasis)\",\n \"background-fill-muted\": \"var(--color-gray-background-fill-muted)\",\n \"background-soft\": \"var(--color-gray-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-gray-background-soft-emphasis)\",\n \"background-soft-muted\": \"var(--color-gray-background-soft-muted)\",\n },\n green: {\n DEFAULT: \"var(--color-green)\",\n \"darken-1\": \"var(--color-green-darken-1)\",\n \"darken-2\": \"var(--color-green-darken-2)\",\n \"darken-3\": \"var(--color-green-darken-3)\",\n \"darken-4\": \"var(--color-green-darken-4)\",\n \"darken-5\": \"var(--color-green-darken-5)\",\n \"darken-6\": \"var(--color-green-darken-6)\",\n \"lighten-1\": \"var(--color-green-lighten-1)\",\n \"lighten-2\": \"var(--color-green-lighten-2)\",\n \"lighten-3\": \"var(--color-green-lighten-3)\",\n \"lighten-4\": \"var(--color-green-lighten-4)\",\n \"lighten-5\": \"var(--color-green-lighten-5)\",\n \"lighten-6\": \"var(--color-green-lighten-6)\",\n \"80\": \"var(--color-green-80)\",\n \"64\": \"var(--color-green-64)\",\n \"48\": \"var(--color-green-48)\",\n \"24\": \"var(--color-green-24)\",\n \"16\": \"var(--color-green-16)\",\n \"12\": \"var(--color-green-12)\",\n \"8\": \"var(--color-green-8)\",\n \"6\": \"var(--color-green-6)\",\n \"4\": \"var(--color-green-4)\",\n \"0\": \"var(--color-green-0)\",\n foreground: \"var(--color-green-foreground)\",\n \"foreground-emphasis\": \"var(--color-green-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-green-foreground-onfill)\",\n stroke: \"var(--color-green-stroke)\",\n \"stroke-emphasis\": \"var(--color-green-stroke-emphasis)\",\n \"background-fill\": \"var(--color-green-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-green-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-green-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-green-background-soft-emphasis)\",\n \"background-soft-muted\": \"var(--color-green-background-soft-muted)\",\n },\n red: {\n DEFAULT: \"var(--color-red)\",\n \"darken-1\": \"var(--color-red-darken-1)\",\n \"darken-2\": \"var(--color-red-darken-2)\",\n \"darken-3\": \"var(--color-red-darken-3)\",\n \"darken-4\": \"var(--color-red-darken-4)\",\n \"darken-5\": \"var(--color-red-darken-5)\",\n \"darken-6\": \"var(--color-red-darken-6)\",\n \"darken-7\": \"var(--color-red-darken-7)\",\n \"lighten-1\": \"var(--color-red-lighten-1)\",\n \"lighten-2\": \"var(--color-red-lighten-2)\",\n \"lighten-3\": \"var(--color-red-lighten-3)\",\n \"lighten-4\": \"var(--color-red-lighten-4)\",\n \"lighten-5\": \"var(--color-red-lighten-5)\",\n \"lighten-6\": \"var(--color-red-lighten-6)\",\n \"80\": \"var(--color-red-80)\",\n \"64\": \"var(--color-red-64)\",\n \"48\": \"var(--color-red-48)\",\n \"24\": \"var(--color-red-24)\",\n \"16\": \"var(--color-red-16)\",\n \"12\": \"var(--color-red-12)\",\n \"8\": \"var(--color-red-8)\",\n \"6\": \"var(--color-red-6)\",\n \"4\": \"var(--color-red-4)\",\n \"0\": \"var(--color-red-0)\",\n foreground: \"var(--color-red-foreground)\",\n \"foreground-emphasis\": \"var(--color-red-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-red-foreground-onfill)\",\n stroke: \"var(--color-red-stroke)\",\n \"stroke-emphasis\": \"var(--color-red-stroke-emphasis)\",\n \"background-fill\": \"var(--color-red-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-red-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-red-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-red-background-soft-emphasis)\",\n \"background-soft-muted\": \"var(--color-red-background-soft-muted)\",\n },\n yellow: {\n DEFAULT: \"var(--color-yellow)\",\n \"darken-1\": \"var(--color-yellow-darken-1)\",\n \"darken-2\": \"var(--color-yellow-darken-2)\",\n \"darken-3\": \"var(--color-yellow-darken-3)\",\n \"darken-4\": \"var(--color-yellow-darken-4)\",\n \"darken-5\": \"var(--color-yellow-darken-5)\",\n \"darken-6\": \"var(--color-yellow-darken-6)\",\n \"lighten-1\": \"var(--color-yellow-lighten-1)\",\n \"lighten-2\": \"var(--color-yellow-lighten-2)\",\n \"lighten-3\": \"var(--color-yellow-lighten-3)\",\n \"lighten-4\": \"var(--color-yellow-lighten-4)\",\n \"lighten-5\": \"var(--color-yellow-lighten-5)\",\n \"lighten-6\": \"var(--color-yellow-lighten-6)\",\n \"80\": \"var(--color-yellow-80)\",\n \"64\": \"var(--color-yellow-64)\",\n \"48\": \"var(--color-yellow-48)\",\n \"24\": \"var(--color-yellow-24)\",\n \"12\": \"var(--color-yellow-12)\",\n \"16\": \"var(--color-yellow-16)\",\n \"8\": \"var(--color-yellow-8)\",\n \"6\": \"var(--color-yellow-6)\",\n \"4\": \"var(--color-yellow-4)\",\n \"0\": \"var(--color-yellow-0)\",\n foreground: \"var(--color-yellow-foreground)\",\n \"foreground-emphasis\": \"var(--color-yellow-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-yellow-foreground-onfill)\",\n stroke: \"var(--color-yellow-stroke)\",\n \"stroke-emphasis\": \"var(--color-yellow-stroke-emphasis)\",\n \"background-fill\": \"var(--color-yellow-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-yellow-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-yellow-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-yellow-background-soft-emphasis)\",\n \"background-soft-muted\": \"var(--color-yellow-background-soft-muted)\",\n },\n cm: {\n DEFAULT: \"var(--color-cm)\",\n \"darken-1\": \"var(--color-cm-darken-1)\",\n \"darken-2\": \"var(--color-cm-darken-2)\",\n \"darken-3\": \"var(--color-cm-darken-3)\",\n \"darken-4\": \"var(--color-cm-darken-4)\",\n \"darken-5\": \"var(--color-cm-darken-5)\",\n \"darken-6\": \"var(--color-cm-darken-6)\",\n \"lighten-1\": \"var(--color-cm-lighten-1)\",\n \"lighten-2\": \"var(--color-cm-lighten-2)\",\n \"lighten-3\": \"var(--color-cm-lighten-3)\",\n \"lighten-4\": \"var(--color-cm-lighten-4)\",\n \"lighten-5\": \"var(--color-cm-lighten-5)\",\n \"lighten-6\": \"var(--color-cm-lighten-6)\",\n \"80\": \"var(--color-cm-80)\",\n \"64\": \"var(--color-cm-64)\",\n \"48\": \"var(--color-cm-48)\",\n \"24\": \"var(--color-cm-24)\",\n \"16\": \"var(--color-cm-16)\",\n \"12\": \"var(--color-cm-12)\",\n \"8\": \"var(--color-cm-8)\",\n \"6\": \"var(--color-cm-6)\",\n \"4\": \"var(--color-cm-4)\",\n \"0\": \"var(--color-cm-0)\",\n foreground: \"var(--color-cm-foreground)\",\n \"foreground-emphasis\": \"var(--color-cm-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-cm-foreground-onfill)\",\n \"background-fill\": \"var(--color-cm-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-cm-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-cm-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-cm-background-soft-emphasis)\",\n },\n go: {\n DEFAULT: \"var(--color-go)\",\n \"darken-1\": \"var(--color-go-darken-1)\",\n \"darken-2\": \"var(--color-go-darken-2)\",\n \"darken-3\": \"var(--color-go-darken-3)\",\n \"darken-4\": \"var(--color-go-darken-4)\",\n \"darken-5\": \"var(--color-go-darken-5)\",\n \"darken-6\": \"var(--color-go-darken-6)\",\n \"lighten-1\": \"var(--color-go-lighten-1)\",\n \"lighten-2\": \"var(--color-go-lighten-2)\",\n \"lighten-3\": \"var(--color-go-lighten-3)\",\n \"lighten-4\": \"var(--color-go-lighten-4)\",\n \"lighten-5\": \"var(--color-go-lighten-5)\",\n \"lighten-6\": \"var(--color-go-lighten-6)\",\n \"80\": \"var(--color-go-80)\",\n \"64\": \"var(--color-go-64)\",\n \"48\": \"var(--color-go-48)\",\n \"24\": \"var(--color-go-24)\",\n \"16\": \"var(--color-go-16)\",\n \"12\": \"var(--color-go-12)\",\n \"8\": \"var(--color-go-8)\",\n \"6\": \"var(--color-go-6)\",\n \"4\": \"var(--color-go-4)\",\n \"0\": \"var(--color-go-0)\",\n foreground: \"var(--color-go-foreground)\",\n \"foreground-emphasis\": \"var(--color-go-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-go-foreground-onfill)\",\n \"background-fill\": \"var(--color-go-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-go-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-go-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-go-background-soft-emphasis)\",\n },\n cir: {\n DEFAULT: \"var(--color-cir)\",\n \"darken-1\": \"var(--color-cir-darken-1)\",\n \"darken-2\": \"var(--color-cir-darken-2)\",\n \"darken-3\": \"var(--color-cir-darken-3)\",\n \"darken-4\": \"var(--color-cir-darken-4)\",\n \"darken-5\": \"var(--color-cir-darken-5)\",\n \"darken-6\": \"var(--color-cir-darken-6)\",\n \"lighten-1\": \"var(--color-cir-lighten-1)\",\n \"lighten-2\": \"var(--color-cir-lighten-2)\",\n \"lighten-3\": \"var(--color-cir-lighten-3)\",\n \"lighten-4\": \"var(--color-cir-lighten-4)\",\n \"lighten-5\": \"var(--color-cir-lighten-5)\",\n \"lighten-6\": \"var(--color-cir-lighten-6)\",\n \"80\": \"var(--color-cir-80)\",\n \"64\": \"var(--color-cir-64)\",\n \"48\": \"var(--color-cir-48)\",\n \"24\": \"var(--color-cir-24)\",\n \"16\": \"var(--color-cir-16)\",\n \"12\": \"var(--color-cir-12)\",\n \"8\": \"var(--color-cir-8)\",\n \"6\": \"var(--color-cir-6)\",\n \"4\": \"var(--color-cir-4)\",\n \"0\": \"var(--color-cir-0)\",\n foreground: \"var(--color-cir-foreground)\",\n \"foreground-emphasis\": \"var(--color-cir-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-cir-foreground-onfill)\",\n \"background-fill\": \"var(--color-cir-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-cir-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-cir-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-cir-background-soft-emphasis)\",\n },\n ped: {\n DEFAULT: \"var(--color-ped)\",\n \"darken-1\": \"var(--color-ped-darken-1)\",\n \"darken-2\": \"var(--color-ped-darken-2)\",\n \"darken-3\": \"var(--color-ped-darken-3)\",\n \"darken-4\": \"var(--color-ped-darken-4)\",\n \"darken-5\": \"var(--color-ped-darken-5)\",\n \"darken-6\": \"var(--color-ped-darken-6)\",\n \"darken-7\": \"var(--color-ped-darken-7)\",\n \"lighten-1\": \"var(--color-ped-lighten-1)\",\n \"lighten-2\": \"var(--color-ped-lighten-2)\",\n \"lighten-3\": \"var(--color-ped-lighten-3)\",\n \"lighten-4\": \"var(--color-ped-lighten-4)\",\n \"lighten-5\": \"var(--color-ped-lighten-5)\",\n \"lighten-6\": \"var(--color-ped-lighten-6)\",\n \"80\": \"var(--color-ped-80)\",\n \"64\": \"var(--color-ped-64)\",\n \"48\": \"var(--color-ped-48)\",\n \"24\": \"var(--color-ped-24)\",\n \"16\": \"var(--color-ped-16)\",\n \"12\": \"var(--color-ped-12)\",\n \"8\": \"var(--color-ped-8)\",\n \"6\": \"var(--color-ped-6)\",\n \"4\": \"var(--color-ped-4)\",\n \"0\": \"var(--color-ped-0)\",\n foreground: \"var(--color-ped-foreground)\",\n \"foreground-emphasis\": \"var(--color-ped-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-ped-foreground-onfill)\",\n \"background-fill\": \"var(--color-ped-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-ped-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-ped-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-ped-background-soft-emphasis)\",\n },\n prev: {\n DEFAULT: \"var(--color-prev)\",\n \"darken-1\": \"var(--color-prev-darken-1)\",\n \"darken-2\": \"var(--color-prev-darken-2)\",\n \"darken-3\": \"var(--color-prev-darken-3)\",\n \"darken-4\": \"var(--color-prev-darken-4)\",\n \"darken-5\": \"var(--color-prev-darken-5)\",\n \"darken-6\": \"var(--color-prev-darken-6)\",\n \"lighten-1\": \"var(--color-prev-lighten-1)\",\n \"lighten-2\": \"var(--color-prev-lighten-2)\",\n \"lighten-3\": \"var(--color-prev-lighten-3)\",\n \"lighten-4\": \"var(--color-prev-lighten-4)\",\n \"lighten-5\": \"var(--color-prev-lighten-5)\",\n \"lighten-6\": \"var(--color-prev-lighten-6)\",\n \"80\": \"var(--color-prev-80)\",\n \"64\": \"var(--color-prev-64)\",\n \"48\": \"var(--color-prev-48)\",\n \"24\": \"var(--color-prev-24)\",\n \"16\": \"var(--color-prev-16)\",\n \"12\": \"var(--color-prev-12)\",\n \"8\": \"var(--color-prev-8)\",\n \"6\": \"var(--color-prev-6)\",\n \"4\": \"var(--color-prev-4)\",\n \"0\": \"var(--color-prev-0)\",\n foreground: \"var(--color-prev-foreground)\",\n \"foreground-emphasis\": \"var(--color-prev-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-prev-foreground-onfill)\",\n \"background-fill\": \"var(--color-prev-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-prev-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-prev-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-prev-background-soft-emphasis)\",\n },\n primary: {\n DEFAULT: \"var(--color-primary)\",\n \"darken-1\": \"var(--color-primary-darken-1)\",\n \"darken-2\": \"var(--color-primary-darken-2)\",\n \"lighten-1\": \"var(--color-primary-lighten-1)\",\n \"lighten-2\": \"var(--color-primary-lighten-2)\",\n \"lighten-3\": \"var(--color-primary-lighten-3)\",\n \"lighten-4\": \"var(--color-primary-lighten-4)\",\n \"lighten-5\": \"var(--color-primary-lighten-5)\",\n \"lighten-6\": \"var(--color-primary-lighten-6)\",\n \"80\": \"var(--color-primary-80)\",\n \"64\": \"var(--color-primary-64)\",\n \"48\": \"var(--color-primary-48)\",\n \"24\": \"var(--color-primary-24)\",\n \"16\": \"var(--color-primary-16)\",\n \"12\": \"var(--color-primary-12)\",\n \"8\": \"var(--color-primary-8)\",\n \"6\": \"var(--color-primary-6)\",\n \"4\": \"var(--color-primary-4)\",\n \"0\": \"var(--color-primary-0)\",\n foreground: \"var(--color-primary-foreground)\",\n \"foreground-emphasis\": \"var(--color-primary-foreground-emphasis)\",\n \"foreground-muted\": \"var(--color-primary-foreground-muted)\",\n \"foreground-onfill\": \"var(--color-primary-foreground-onfill)\",\n stroke: \"var(--color-primary-stroke)\",\n \"stroke-emphasis\": \"var(--color-primary-stroke-emphasis)\",\n \"background-fill\": \"var(--color-primary-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-primary-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-primary-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-primary-background-soft-emphasis)\",\n \"background-soft-muted\": \"var(--color-primary-background-soft-muted)\",\n },\n secondary: {\n DEFAULT: \"var(--color-secondary)\",\n \"darken-1\": \"var(--color-secondary-darken-1)\",\n \"darken-2\": \"var(--color-secondary-darken-2)\",\n \"darken-3\": \"var(--color-secondary-darken-3)\",\n \"darken-4\": \"var(--color-secondary-darken-4)\",\n \"darken-5\": \"var(--color-secondary-darken-5)\",\n \"darken-6\": \"var(--color-secondary-darken-6)\",\n \"lighten-1\": \"var(--color-secondary-lighten-1)\",\n \"lighten-2\": \"var(--color-secondary-lighten-2)\",\n \"lighten-3\": \"var(--color-secondary-lighten-3)\",\n \"lighten-4\": \"var(--color-secondary-lighten-4)\",\n \"lighten-5\": \"var(--color-secondary-lighten-5)\",\n \"lighten-6\": \"var(--color-secondary-lighten-6)\",\n \"80\": \"var(--color-secondary-80)\",\n \"64\": \"var(--color-secondary-64)\",\n \"48\": \"var(--color-secondary-48)\",\n \"24\": \"var(--color-secondary-24)\",\n \"16\": \"var(--color-secondary-16)\",\n \"12\": \"var(--color-secondary-12)\",\n \"8\": \"var(--color-secondary-8)\",\n \"6\": \"var(--color-secondary-6)\",\n \"4\": \"var(--color-secondary-4)\",\n \"0\": \"var(--color-secondary-0)\",\n foreground: \"var(--color-secondary-foreground)\",\n \"foreground-emphasis\": \"var(--color-secondary-foreground-emphasis)\",\n \"foreground-muted\": \"var(--color-secondary-foreground-muted)\",\n \"foreground-onfill\": \"var(--color-secondary-foreground-onfill)\",\n stroke: \"var(--color-secondary-stroke)\",\n \"stroke-emphasis\": \"var(--color-secondary-stroke-emphasis)\",\n \"background-fill\": \"var(--color-secondary-background-fill)\",\n \"background-fill-emphasis\":\n \"var(--color-secondary-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-secondary-background-soft)\",\n \"background-soft-emphasis\":\n \"var(--color-secondary-background-soft-emphasis)\",\n \"background-soft-muted\": \"var(--color-secondary-background-soft-muted)\",\n },\n gradient: {\n base: {\n \"blur-1\": \"var(--color-gradient-base-blur-1)\",\n \"blur-2\": \"var(--color-gradient-base-blur-2)\",\n \"blur-3\": \"var(--color-gradient-base-blur-3)\",\n \"bg-1\": \"var(--color-gradient-base-bg-1)\",\n \"bg-2\": \"var(--color-gradient-base-bg-2)\",\n },\n cir: {\n \"blur-1\": \"var(--color-gradient-cir-blur-1)\",\n \"blur-2\": \"var(--color-gradient-cir-blur-2)\",\n \"blur-3\": \"var(--color-gradient-cir-blur-3)\",\n \"bg-1\": \"var(--color-gradient-cir-bg-1)\",\n \"bg-2\": \"var(--color-gradient-cir-bg-2)\",\n },\n cm: {\n \"blur-1\": \"var(--color-gradient-cm-blur-1)\",\n \"blur-2\": \"var(--color-gradient-cm-blur-2)\",\n \"blur-3\": \"var(--color-gradient-cm-blur-3)\",\n \"bg-1\": \"var(--color-gradient-cm-bg-1)\",\n \"bg-2\": \"var(--color-gradient-cm-bg-2)\",\n },\n go: {\n \"blur-1\": \"var(--color-gradient-go-blur-1)\",\n \"blur-2\": \"var(--color-gradient-go-blur-2)\",\n \"blur-3\": \"var(--color-gradient-go-blur-3)\",\n \"bg-1\": \"var(--color-gradient-go-bg-1)\",\n \"bg-2\": \"var(--color-gradient-go-bg-2)\",\n },\n ped: {\n \"blur-1\": \"var(--color-gradient-ped-blur-1)\",\n \"blur-2\": \"var(--color-gradient-ped-blur-2)\",\n \"blur-3\": \"var(--color-gradient-ped-blur-3)\",\n \"bg-1\": \"var(--color-gradient-ped-bg-1)\",\n \"bg-2\": \"var(--color-gradient-ped-bg-2)\",\n },\n prev: {\n \"blur-1\": \"var(--color-gradient-prev-blur-1)\",\n \"blur-2\": \"var(--color-gradient-prev-blur-2)\",\n \"blur-3\": \"var(--color-gradient-prev-blur-3)\",\n \"bg-1\": \"var(--color-gradient-prev-bg-1)\",\n \"bg-2\": \"var(--color-gradient-prev-bg-2)\",\n },\n r1: {\n \"blur-1\": \"var(--color-gradient-r1-blur-1)\",\n \"blur-2\": \"var(--color-gradient-r1-blur-2)\",\n \"blur-3\": \"var(--color-gradient-r1-blur-3)\",\n \"bg-1\": \"var(--color-gradient-r1-bg-1)\",\n \"bg-2\": \"var(--color-gradient-r1-bg-2)\",\n },\n rplus: {\n \"blur-1\": \"var(--color-gradient-rplus-blur-1)\",\n \"blur-2\": \"var(--color-gradient-rplus-blur-2)\",\n \"blur-3\": \"var(--color-gradient-rplus-blur-3)\",\n \"bg-1\": \"var(--color-gradient-rplus-bg-1)\",\n \"bg-2\": \"var(--color-gradient-rplus-bg-2)\",\n },\n pt: {\n \"blur-1\": \"var(--color-gradient-pt-blur-1)\",\n \"blur-2\": \"var(--color-gradient-pt-blur-2)\",\n \"blur-3\": \"var(--color-gradient-pt-blur-3)\",\n \"bg-1\": \"var(--color-gradient-pt-bg-1)\",\n \"bg-2\": \"var(--color-gradient-pt-bg-2)\",\n },\n },\n};\n\nexport const fontFamily = {\n sans: \"var(--font-sans)\",\n};\n\nexport const fontSize = {\n xxs: \"var(--text-xxs)\",\n xs: \"var(--text-xs)\",\n sm: \"var(--text-sm)\",\n base: \"var(--text-base)\",\n lg: \"var(--text-lg)\",\n xl: \"var(--text-xl)\",\n \"title-xs\": \"var(--text-title-xs)\",\n \"title-sm\": \"var(--text-title-sm)\",\n \"title-md\": \"var(--text-title-md)\",\n \"title-lg\": \"var(--text-title-lg)\",\n \"title-xl\": \"var(--text-title-xl)\",\n \"title-xxl\": \"var(--text-title-xxl)\",\n \"display-sm\": \"var(--text-display-sm)\",\n \"display-md\": \"var(--text-display-md)\",\n \"display-lg\": \"var(--text-display-lg)\",\n};\n\nexport const lineHeight = {\n xxs: \"var(--leading-xxs)\",\n xs: \"var(--leading-xs)\",\n sm: \"var(--leading-sm)\",\n md: \"var(--leading-md)\",\n lg: \"var(--leading-lg)\",\n \"title-xs\": \"var(--leading-title-xs)\",\n \"title-sm\": \"var(--leading-title-sm)\",\n \"title-md\": \"var(--leading-title-md)\",\n \"title-lg\": \"var(--leading-title-lg)\",\n \"title-xl\": \"var(--leading-title-xl)\",\n \"title-xxl\": \"var(--leading-title-xxl)\",\n \"display-sm\": \"var(--leading-display-sm)\",\n \"display-md\": \"var(--leading-display-md)\",\n \"display-lg\": \"var(--leading-display-lg)\",\n};\n\nexport const fontWeight = {\n regular: \"var(--font-weight-regular)\",\n medium: \"var(--font-weight-medium)\",\n semibold: \"var(--font-weight-semibold)\",\n bold: \"var(--font-weight-bold)\",\n extrabold: \"var(--font-weight-extrabold)\",\n};\n\nexport const screens = {\n tv: \"1920px\",\n desktop: \"1024px\",\n tablet: \"600px\",\n mobile: \"320px\",\n sm: \"320px\",\n md: \"600px\",\n lg: \"1024px\",\n xl: \"1920px\",\n};\n\nexport const breakpoints = {\n tv: \"var(--breakpoint-tv)\",\n desktop: \"var(--breakpoint-desktop)\",\n tablet: \"var(--breakpoint-tablet)\",\n mobile: \"var(--breakpoint-mobile)\",\n};\n\nexport const container = {\n tv: \"var(--container-tv)\",\n desktop: \"var(--container-desktop)\",\n tablet: \"var(--container-tablet)\",\n mobile: \"var(--container-mobile)\",\n};\n\nexport const sidebar = {\n width: \"var(--sidebar-width)\",\n \"width-mobile\": \"var(--sidebar-width-mobile)\",\n \"width-icon\": \"var(--sidebar-width-icon)\",\n};\n\nexport const borderRadius = {\n none: \"var(--radius-none)\",\n sm: \"var(--radius-sm)\",\n md: \"var(--radius-md)\",\n lg: \"var(--radius-lg)\",\n pill: \"var(--radius-pill)\",\n circular: \"var(--radius-circular)\",\n full: \"var(--radius-full)\",\n};\n\nexport const boxShadow = {\n \"level-1\":\n \"0 0 2px 0 var(--color-drop-shadow-layer-a), 0 2px 4px 0 var(--color-drop-shadow-layer-b)\",\n};\n\nexport const keyframes = {\n \"accordion-down\": {\n from: {\n height: \"0\",\n },\n to: {\n height: \"var(--radix-accordion-content-height)\",\n },\n },\n \"accordion-up\": {\n from: {\n height: \"var(--radix-accordion-content-height)\",\n },\n to: {\n height: \"0\",\n },\n },\n \"collapsible-down\": {\n from: {\n height: \"0\",\n },\n to: {\n height: \"var(--radix-collapsible-content-height)\",\n },\n },\n \"collapsible-up\": {\n from: {\n height: \"var(--radix-collapsible-content-height)\",\n },\n to: {\n height: \"0\",\n },\n },\n \"fade-in\": {\n from: {\n opacity: \"0\",\n },\n to: {\n opacity: \"1\",\n },\n },\n \"fade-out\": {\n from: {\n opacity: \"1\",\n },\n to: {\n opacity: \"0\",\n },\n },\n};\n\nexport const animation = {\n \"accordion-down\": \"accordion-down 0.2s ease-out\",\n \"accordion-up\": \"accordion-up 0.2s ease-out\",\n \"collapsible-down\": \"collapsible-down 0.2s ease-out\",\n \"collapsible-up\": \"collapsible-up 0.2s ease-out\",\n \"fade-in\": \"fade-in 0.2s ease-out\",\n \"fade-out\": \"fade-out 0.2s ease-out\",\n};\n","\"use client\";\n\nimport { screens } from \"@/assets/js/tokens\";\nimport { Button, buttonVariants } from \"@/components/Button\";\nimport { cn } from \"@/lib/utils\";\nimport {\n ChevronLeftDuo,\n ChevronRightDuo,\n MoreHorizontal,\n} from \"@medway-ui/icons\";\nimport type { VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\ninterface PaginationProps {\n currentPage: number;\n totalPages: number;\n maxVisibleItems?: number;\n onPageChange: (page: number) => void;\n className?: string;\n itemsPerPage?: number;\n totalItems?: number;\n responsive?: boolean;\n size?: \"sm\" | \"md\" | \"lg\";\n variant?:\n | \"regular\"\n | \"emphasis\"\n | \"error\"\n | \"warning\"\n | \"outlined\"\n | \"success\";\n}\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n iconLeft?: React.ReactNode;\n iconRight?: React.ReactNode;\n size?: \"sm\" | \"md\" | \"lg\";\n variant?: ButtonVariant;\n activeVariant?: ButtonVariant;\n inactiveVariant?: ButtonVariant;\n} & React.ComponentProps<\"button\">;\n\ntype ButtonVariant = NonNullable<\n VariantProps<typeof buttonVariants>[\"variant\"]\n>;\n\nfunction PaginationRoot({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cn(\"flex w-full items-center justify-between\", className)}\n {...props}\n />\n );\n}\n\nfunction PaginationContent({\n className,\n ...props\n}: React.ComponentProps<\"ul\">) {\n return (\n <ul\n className={cn(\"flex flex-row items-center gap-2\", className)}\n {...props}\n />\n );\n}\n\nfunction PaginationInfo({\n count,\n label = \"itens\",\n className,\n ...props\n}: React.ComponentProps<\"p\"> & { count?: number; label?: string }) {\n return (\n <p\n className={cn(\n \"text-xs font-medium text-gray-foreground-muted\",\n className\n )}\n {...props}\n >\n {label === \"itens\" ? (\n <>\n Mostrando{\" \"}\n <span className=\"font-semibold text-gray-foreground\">{count}</span>{\" \"}\n {label}\n </>\n ) : (\n <>\n <span className=\"font-semibold text-gray-foreground\">{count}</span>{\" \"}\n {label}\n </>\n )}\n </p>\n );\n}\n\nfunction PaginationItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return <li className={cn(\"\", className)} {...props} />;\n}\n\nfunction PaginationLink({\n className,\n isActive,\n iconLeft,\n iconRight,\n size = \"md\",\n variant = \"regular\",\n activeVariant,\n inactiveVariant,\n ...props\n}: PaginationLinkProps) {\n const getVariant = () => {\n if (isActive && activeVariant) return activeVariant;\n if (!isActive && inactiveVariant) return inactiveVariant;\n return isActive ? variant : `${variant}-soft`;\n };\n\n return (\n <Button\n aria-current={isActive ? \"page\" : undefined}\n variant={getVariant() as ButtonVariant}\n className={cn(\"\", className)}\n size={size}\n iconLeft={iconLeft}\n iconRight={iconRight}\n {...props}\n >\n {props.children}\n </Button>\n );\n}\n\nfunction PaginationPrevious({\n className,\n size = \"md\",\n variant = \"regular-basic\",\n ...props\n}: React.ComponentProps<typeof PaginationLink>) {\n return (\n <Button\n aria-label=\"Go to previous page\"\n className={cn(\"\", className)}\n iconLeft={<ChevronLeftDuo />}\n variant={variant}\n size={size}\n {...props}\n >\n {props.children || \"Anterior\"}\n </Button>\n );\n}\n\nfunction PaginationNext({\n className,\n size = \"md\",\n variant = \"regular-basic\",\n ...props\n}: React.ComponentProps<typeof PaginationLink>) {\n return (\n <Button\n aria-label=\"Go to next page\"\n className={cn(\"\", className)}\n variant={variant}\n iconRight={<ChevronRightDuo />}\n size={size}\n {...props}\n >\n {props.children || \"Próximo\"}\n </Button>\n );\n}\n\nfunction PaginationEllipsis({\n className,\n size = \"md\",\n ...props\n}: React.ComponentProps<\"span\"> & { size?: \"sm\" | \"md\" | \"lg\" }) {\n const sizeClasses = {\n sm: \"h-8 w-8\",\n md: \"h-9 w-9\",\n lg: \"h-10 w-10\",\n } as const;\n\n return (\n <span\n aria-hidden\n className={cn(\n \"flex items-center justify-center\",\n sizeClasses[size],\n className\n )}\n {...props}\n >\n <MoreHorizontal className=\"h-4 w-4\" />\n </span>\n );\n}\n\nfunction Pagination({\n currentPage,\n totalPages,\n maxVisibleItems,\n onPageChange,\n itemsPerPage,\n totalItems,\n className,\n responsive = true,\n size = \"md\",\n}: PaginationProps) {\n // Detect tablet/mobile based on tokens.screens.tablet\n const [isTabletOrMobile, setIsTabletOrMobile] = React.useState<boolean>(\n () => {\n if (typeof window === \"undefined\") return false;\n return window.innerWidth <= parseInt(screens.tablet);\n }\n );\n\n React.useEffect(() => {\n if (typeof window === \"undefined\" || !responsive) return;\n const tabletPx = parseInt(screens.tablet);\n const onResize = () => {\n setIsTabletOrMobile(window.innerWidth <= tabletPx);\n };\n window.addEventListener(\"resize\", onResize);\n onResize();\n return () => window.removeEventListener(\"resize\", onResize);\n }, [responsive]);\n\n // If prop not provided, default to 0 on tablet/mobile, otherwise fallback to 2\n const effectiveMaxVisible =\n typeof maxVisibleItems === \"number\"\n ? maxVisibleItems\n : responsive && isTabletOrMobile\n ? 0\n : 2;\n\n const shouldHideInfo = responsive && isTabletOrMobile;\n\n const renderPageNumbers = () => {\n const pages: number[] = [];\n const maxVisible = effectiveMaxVisible;\n\n if (totalPages <= maxVisible) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n const sidePages = Math.floor(maxVisible / 2);\n if (currentPage <= sidePages + 1) {\n for (let i = 1; i <= maxVisible + 1; i++) {\n pages.push(i);\n }\n pages.push(-1, totalPages);\n } else if (currentPage >= totalPages - sidePages) {\n pages.push(1, -1);\n for (let i = totalPages - maxVisible; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n pages.push(1, -1);\n for (\n let i = currentPage - sidePages;\n i <= currentPage + sidePages;\n i++\n ) {\n pages.push(i);\n }\n pages.push(-1, totalPages);\n }\n }\n\n return pages;\n };\n\n return (\n <PaginationRoot className={cn(\"\", className)}>\n {itemsPerPage !== undefined && !shouldHideInfo ? (\n <PaginationInfo count={itemsPerPage} label=\"itens\" />\n ) : (\n <div />\n )}\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious\n onClick={() => onPageChange(Math.max(1, currentPage - 1))}\n disabled={currentPage === 1}\n size={size}\n />\n </PaginationItem>\n\n {renderPageNumbers().map((page, index) => (\n <PaginationItem key={index}>\n {page === -1 ? (\n <PaginationEllipsis size={size} />\n ) : (\n <PaginationLink\n onClick={() => onPageChange(page)}\n isActive={page === currentPage}\n size={size}\n >\n {page}\n </PaginationLink>\n )}\n </PaginationItem>\n ))}\n\n <PaginationItem>\n <PaginationNext\n onClick={() => onPageChange(Math.min(totalPages, currentPage + 1))}\n disabled={currentPage === totalPages}\n size={size}\n />\n </PaginationItem>\n </PaginationContent>\n {totalItems !== undefined && !shouldHideInfo ? (\n <PaginationInfo count={totalItems} label=\"total\" />\n ) : (\n <div />\n )}\n </PaginationRoot>\n );\n}\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationInfo,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n PaginationRoot,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport { ScrollArea as ScrollAreaPrimitive } from \"radix-ui\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"size-full rounded-[inherit]\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollBar orientation=\"horizontal\" />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-px\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-px\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"relative flex-1 rounded-full bg-border\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Tabs as TabsPrimitive } from \"radix-ui\";\nimport { cva } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Badge as BadgeComponent } from \"@/components/Badge\";\nimport { ScrollArea, ScrollBar } from \"@/components/ScrollArea\";\n\ntype SegmentSize = \"sm\" | \"md\" | \"lg\";\n\nconst SegmentControlContext = React.createContext<{\n size: SegmentSize;\n} | null>(null);\n\nfunction SegmentControl({\n className,\n size = \"md\",\n children,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root> & {\n size?: SegmentSize;\n}) {\n return (\n <SegmentControlContext.Provider value={{ size }}>\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n >\n {children}\n </TabsPrimitive.Root>\n </SegmentControlContext.Provider>\n );\n}\n\ninterface SegmentControlListProps\n extends React.ComponentProps<typeof TabsPrimitive.List> {\n containerClassName?: string;\n}\n\nfunction SegmentControlList({\n className,\n containerClassName,\n ...props\n}: SegmentControlListProps) {\n return (\n <ScrollArea\n className={cn(\n \"[&_[data-slot=scroll-area-scrollbar][data-orientation=horizontal]]:h-1\",\n containerClassName\n )}\n >\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n \"inline-flex w-fit items-center justify-center rounded-md bg-gray-background-soft p-0.5\",\n className\n )}\n {...props}\n />\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n );\n}\n\ninterface SegmentControlTriggerProps\n extends React.ComponentProps<typeof TabsPrimitive.Trigger> {\n icon?: React.ReactNode;\n badge?: number | string;\n}\n\nconst segmentControlTriggerVariants = cva(\n \"data-[state=active]:shadow-xs group inline-flex items-center justify-center gap-2.5 whitespace-nowrap rounded-[6px] font-medium text-gray-foreground outline-none transition-all data-[state=active]:bg-surface-card data-[state=active]:text-primary-foreground [&_svg]:shrink-0 [&_svg]:text-inherit disabled:text-gray-foreground-muted disabled:pointer-events-none\",\n {\n variants: {\n size: {\n sm: \"max-h-7 px-3 py-1.5 text-xs [&_svg]:size-4\",\n md: \"max-h-9 px-4 py-2 text-sm [&_svg]:size-5\",\n lg: \"max-h-11 px-4 py-2.5 text-base [&_svg]:size-6\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n);\n\nfunction SegmentControlTrigger({\n className,\n icon,\n badge,\n children,\n ...props\n}: SegmentControlTriggerProps) {\n const shouldShowBadge = (value: number | string | undefined) => {\n return (\n value != null &&\n value !== 0 &&\n value !== \"\" &&\n value !== \"0\" &&\n !props.disabled\n );\n };\n const ctx = React.useContext(SegmentControlContext);\n const size = ctx?.size ?? \"md\";\n\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(segmentControlTriggerVariants({ size, className }))}\n {...props}\n >\n {icon}\n {children && (\n <span className=\"inline-grid [grid-template-areas:'stack']\">\n <span\n aria-hidden=\"true\"\n className=\"invisible font-semibold [grid-area:stack]\"\n >\n {children}\n </span>\n <span className=\"font-medium [grid-area:stack] group-data-[state=active]:font-semibold\">\n {children}\n </span>\n </span>\n )}\n {shouldShowBadge(badge) && (\n <BadgeComponent size={size} variant=\"regular\">\n {String(badge)}\n </BadgeComponent>\n )}\n </TabsPrimitive.Trigger>\n );\n}\n\nfunction SegmentControlContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 outline-none\", className)}\n {...props}\n />\n );\n}\n\nexport {\n SegmentControl,\n SegmentControlContent,\n SegmentControlList,\n SegmentControlTrigger,\n segmentControlTriggerVariants,\n};\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Separator as SeparatorPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator-root\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n","import { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) =>\n string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = toCamelCase(string);\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return (\n Boolean(className) &&\n (className as string).trim() !== '' &&\n array.indexOf(className) === index\n );\n })\n .join(' ')\n .trim();\n\n/**\n * Is empty string\n *\n * @param {unknown} value\n * @returns {boolean} Whether the value is an empty string\n */\nexport const isEmptyString = (value: unknown): boolean => value === '';\n\n/**\n * Check if a component has an accessibility prop\n *\n * @param {object} props\n * @returns {boolean} Whether the component has an accessibility prop\n */\nexport const hasA11yProp = (props: Record<string, any>) => {\n for (const prop in props) {\n if (prop.startsWith('aria-') || prop === 'role' || prop === 'title') {\n return true;\n }\n }\n};\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses, hasA11yProp } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) =>\n createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...(!children && !hasA11yProp(rest) && { 'aria-hidden': 'true' }),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n ),\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className,\n ),\n ...props,\n }),\n );\n\n Component.displayName = toPascalCase(iconName);\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M18 6 6 18', key: '1bl5f8' }],\n ['path', { d: 'm6 6 12 12', key: 'd8bk6v' }],\n];\n\n/**\n * @component @name X\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/x\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst X = createLucideIcon('x', __iconNode);\n\nexport default X;\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Dialog as SheetPrimitive } from \"radix-ui\"\nimport { XIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />\n}\n\nfunction SheetTrigger({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />\n}\n\nfunction SheetClose({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />\n}\n\nfunction SheetPortal({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SheetContent({\n className,\n children,\n side = \"right\",\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\"\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",\n side === \"right\" &&\n \"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm\",\n side === \"left\" &&\n \"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm\",\n side === \"top\" &&\n \"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b\",\n side === \"bottom\" &&\n \"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t\",\n className\n )}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn(\"flex flex-col gap-1.5 p-4\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn(\"text-foreground font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn(\"animate-pulse rounded-md bg-gray-150\", className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"origin-(--radix-tooltip-content-transform-origin) z-50 w-fit text-balance rounded-md bg-surface-elevated px-3 py-2 text-sm font-medium text-gray-foreground-emphasis animate-in fade-in-0 zoom-in-95 [filter:drop-shadow(0_0_1px_var(--color-drop-shadow-layer-a))_drop-shadow(0_2px_2px_var(--color-drop-shadow-layer-b))] data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"z-50 size-3 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-surface-elevated fill-surface-elevated\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"radix-ui\";\nimport { VariantProps, cva } from \"class-variance-authority\";\nimport { HamburgerMd, ChevronRightMd, ChevronLeftMd } from \"@medway-ui/icons\";\n\nimport { useIsMobile } from \"@/hooks/use-mobile\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"@/components/Button\";\nimport { Input } from \"@/components/Input\";\nimport { Separator } from \"@/components/Separator\";\nimport { Sheet, SheetContent } from \"@/components/Sheet\";\nimport { Skeleton } from \"@/components/Skeleton\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/Tooltip\";\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n\ntype SidebarContextProps = {\n state: \"expanded\" | \"collapsed\";\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n className={cn(\n \"group/sidebar-wrapper has-data-[variant=inset]:bg-surface-navigation flex min-h-svh w-full\",\n className\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n containerClassName,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\";\n variant?: \"sidebar\" | \"floating\" | \"inset\";\n collapsible?: \"offcanvas\" | \"icon\" | \"none\";\n containerClassName?: string;\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n \"flex h-full w-[var(--sidebar-width)] flex-col bg-surface-navigation text-gray-foreground\",\n className\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className={cn(\n \"w-[var(--sidebar-width-mobile)] bg-surface-navigation p-0 text-gray-foreground [&>button]:hidden\",\n className\n )}\n side={side}\n >\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className={cn(\n \"group peer hidden text-gray-foreground md:block\",\n className\n )}\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n \"relative w-[var(--sidebar-width)] bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)]\"\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n \"fixed inset-y-0 z-10 hidden h-svh w-[var(--sidebar-width)] border-border transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)] group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n containerClassName\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className=\"flex h-full w-full flex-col bg-surface-navigation group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n sizeIcon = \"size-5\",\n icon = <HamburgerMd className={sizeIcon} />,\n showTooltip = false,\n tooltipContent,\n enableHover = false,\n ...props\n}: React.ComponentProps<typeof Button> & {\n icon?: React.ReactNode;\n sizeIcon?: string;\n showTooltip?: boolean;\n tooltipContent?: { open?: string; closed?: string };\n enableHover?: boolean;\n}) {\n const { toggleSidebar, open, isMobile } = useSidebar();\n const [isHovered, setIsHovered] = React.useState(false);\n\n const defaultTooltipContent = {\n open: \"Esconder\",\n closed: \"Mostrar\",\n };\n\n const tooltip = tooltipContent || defaultTooltipContent;\n\n // Determina qual ícone mostrar baseado no hover e estado do sidebar\n const getDisplayIcon = () => {\n if (enableHover && isHovered) {\n return open ? (\n <ChevronLeftMd className={sizeIcon} />\n ) : (\n <ChevronRightMd className={sizeIcon} />\n );\n }\n return icon;\n };\n\n const button = (\n <button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n className={cn(\n \"flex min-h-8 min-w-8 items-center justify-center rounded-full bg-surface-elevated text-gray-foreground transition-all duration-200 hover:shadow-[0px_0px_2px_0px_rgba(24,26,30,0.16),0px_2px_4px_0px_rgba(24,26,30,0.08)] [&>svg]:text-gray-foreground\",\n className\n )}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n onMouseEnter={\n !isMobile && enableHover ? () => setIsHovered(true) : undefined\n }\n onMouseLeave={\n !isMobile && enableHover ? () => setIsHovered(false) : undefined\n }\n {...props}\n >\n {getDisplayIcon()}\n\n <span className=\"sr-only\">Toggle Sidebar</span>\n </button>\n );\n\n if (!showTooltip || isMobile) {\n return button;\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\" align=\"center\">\n {open ? tooltip.open : tooltip.closed}\n </TooltipContent>\n </Tooltip>\n );\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<\"button\">) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-surface-navigation\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<\"main\">) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n \"relative flex w-full flex-1 flex-col bg-surface-navigation\",\n \"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInput({\n className,\n ...props\n}: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn(\n \"bg-bg-surface-navigation h-8 w-full shadow-none\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-0.5 px-4 pt-3\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn(\n \"flex flex-col gap-0.5 px-4 pb-3 [[data-state=collapsed]_&]:px-2\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn(\"mx-2 w-auto bg-border\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-0.5 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn(\n \"relative flex w-full min-w-0 flex-col p-2 px-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & { asChild?: boolean }) {\n const Comp = (asChild ? Slot.Slot : \"div\") as React.ElementType;\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n \"outline-hidden flex h-12 shrink-0 items-center whitespace-nowrap rounded-md px-2 text-xs font-semibold uppercase text-gray-foreground-muted ring-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:mt-0 group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> & { asChild?: boolean }) {\n const Comp = (asChild ? Slot.Slot : \"button\") as React.ElementType;\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n \"outline-hidden absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-gray-foreground ring-ring transition-transform hover:bg-secondary-background-soft-emphasis focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupContent({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItem({\n className,\n isActive,\n children,\n ...props\n}: React.ComponentProps<\"li\"> & { isActive?: boolean }) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative hover:cursor-pointer\", className)}\n {...props}\n >\n {isActive && (\n <span\n className=\"absolute -left-4 top-0 h-full w-0.5 bg-secondary-stroke-emphasis\"\n aria-hidden=\"true\"\n />\n )}\n {children}\n </li>\n );\n}\n\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button font-medium flex w-full items-center gap-2.5 overflow-hidden rounded-md p-[.55rem] text-left text-sm outline-hidden ring-ring transition-[width,height,padding] hover:bg-secondary-background-soft-emphasis focus-visible:ring-2 active:text-secondary-foreground active:font-semibold disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:text-secondary-foreground data-[active=true]:font-semibold data-[active=true]:hover:bg-secondary-background-soft-emphasis data-[active=true]:hover:text-secondary-foreground group-data-[collapsible=icon]:size-10! group-data-[collapsible=icon]:p-2.5! [&>span:last-child]:truncate [&>svg]:data-[active=true]:stroke-[2.2] [&>svg]:size-5 [&>svg]:shrink-0 mx-auto\",\n {\n variants: {\n variant: {\n default: \"hover:bg-secondary-background-soft-emphasis\",\n section: \"[[data-state=collapsed]_&]:p-[5px]\",\n outline:\n \"bg-surface-navigation shadow-[0_0_0_1px_hsl(var(--color-border))] hover:bg-secondary-background-soft-emphasis hover:shadow-[0_0_0_1px_hsl(var(--secondary))]\",\n },\n size: {\n sm: \"h-8 text-xs\",\n md: \"h-10 text-sm\",\n lg: \"h-12 text-base group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n }\n);\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"md\",\n tooltip,\n className,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = (asChild ? Slot.Slot : \"button\") as React.ElementType;\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = (asChild ? Slot.Slot : \"button\") as React.ElementType;\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n \"outline-hidden absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-gray-foreground ring-ring transition-transform hover:bg-secondary-background-soft-emphasis focus-visible:ring-2 peer-hover/menu-button:text-secondary-stroke-emphasis [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-secondary md:opacity-0\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuBadge({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n \"pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-gray-foreground\",\n \"peer-hover/menu-button:text-secondary peer-data-[active=true]/menu-button:text-secondary\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn(\"flex h-8 items-center gap-0.5 rounded-md px-2\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"max-w-(--skeleton-width) h-4 flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n \"mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-border px-2.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn(\"group/menu-sub-item relative\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItemTitle({\n icon,\n title,\n}: {\n icon?: React.ReactNode;\n title: string;\n}) {\n const { state, isMobile } = useSidebar();\n\n return (\n <>\n {React.isValidElement(icon)\n ? React.cloneElement(icon, { strokeWidth: 1.8 } as any)\n : icon}\n <span\n className={cn(\n \"whitespace-nowrap\",\n state === \"collapsed\" && \"opacity-0\",\n isMobile && \"opacity-100\"\n )}\n >\n {title}\n </span>\n </>\n );\n}\n\nfunction SidebarMenuItemCollapse() {\n return (\n <div className=\"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90\">\n <ChevronRightMd size={20} strokeWidth={1.5} />\n </div>\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = \"md\",\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n size?: \"sm\" | \"md\";\n isActive?: boolean;\n}) {\n const Comp = (asChild ? Slot.Slot : \"a\") as React.ElementType;\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"outline-hidden flex h-9 min-w-0 -translate-x-px items-center gap-0.5 overflow-hidden rounded-md px-2 font-medium text-gray-foreground ring-ring hover:bg-secondary-background-soft-emphasis focus-visible:ring-2 active:font-semibold active:text-secondary-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-gray-foreground\",\n \"data-[active=true]:font-semibold data-[active=true]:text-secondary-foreground\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-sm\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuItemTitle,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarMenuItemCollapse,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"@/components/DropdownMenu\";\n\ninterface SwitcherContextValue {\n value?: string;\n onValueChange?: (value: string) => void;\n}\n\nconst SwitcherContext = React.createContext<SwitcherContextValue>({});\n\ninterface SwitcherItem {\n id: string;\n label: string;\n icon?: string;\n onClick?: () => void;\n}\n\ninterface SwitcherGroup {\n label: string;\n items: SwitcherItem[];\n}\n\ninterface SwitcherProps {\n children: React.ReactNode;\n value?: string;\n onValueChange?: (value: string) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n}\n\ninterface SwitcherTriggerProps {\n children: React.ReactNode;\n asChild?: boolean;\n className?: string;\n}\n\ninterface SwitcherContentProps {\n children: React.ReactNode;\n className?: string;\n align?: \"start\" | \"center\" | \"end\";\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n}\n\ninterface SwitcherGroupProps {\n children: React.ReactNode;\n label?: string;\n}\n\ninterface SwitcherItemProps {\n children: React.ReactNode;\n value?: string;\n onClick?: () => void;\n icon?: string | React.ReactNode;\n}\n\ninterface SwitcherFooterProps {\n children: React.ReactNode;\n onClick?: () => void;\n icon?: React.ReactNode;\n}\n\nfunction Switcher({\n children,\n value,\n onValueChange,\n open,\n defaultOpen,\n onOpenChange,\n}: SwitcherProps) {\n const [internalValue, setInternalValue] = React.useState(value || \"\");\n\n const contextValue: SwitcherContextValue = {\n value: value || internalValue,\n onValueChange: onValueChange || setInternalValue,\n };\n\n return (\n <SwitcherContext.Provider value={contextValue}>\n <DropdownMenu\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n >\n {children}\n </DropdownMenu>\n </SwitcherContext.Provider>\n );\n}\n\nfunction SwitcherTrigger({\n children,\n asChild = true,\n className,\n}: SwitcherTriggerProps) {\n return (\n <DropdownMenuTrigger className={className} asChild={asChild}>\n {children}\n </DropdownMenuTrigger>\n );\n}\n\nfunction SwitcherContent({\n children,\n align = \"center\",\n side = \"right\",\n className,\n}: SwitcherContentProps) {\n return (\n <DropdownMenuContent className={className} align={align} side={side}>\n {children}\n </DropdownMenuContent>\n );\n}\n\nfunction SwitcherGroup({ children, label }: SwitcherGroupProps) {\n const { value, onValueChange } = React.useContext(SwitcherContext);\n\n if (label) {\n return (\n <>\n <DropdownMenuLabel>{label}</DropdownMenuLabel>\n <DropdownMenuRadioGroup value={value} onValueChange={onValueChange}>\n {children}\n </DropdownMenuRadioGroup>\n </>\n );\n }\n\n return (\n <DropdownMenuRadioGroup value={value} onValueChange={onValueChange}>\n {children}\n </DropdownMenuRadioGroup>\n );\n}\n\nfunction SwitcherItem({ children, value, onClick, icon }: SwitcherItemProps) {\n const handleClick = () => {\n if (onClick) {\n onClick();\n }\n };\n\n if (value) {\n return (\n <DropdownMenuRadioItem value={value} onClick={handleClick}>\n {typeof icon === \"string\" ? (\n // eslint-disable-next-line @next/next/no-img-element\n <img src={icon} alt=\"\" width={20} height={14} />\n ) : (\n icon\n )}\n {children}\n </DropdownMenuRadioItem>\n );\n }\n\n return (\n <DropdownMenuItem onClick={handleClick}>\n {typeof icon === \"string\" ? (\n // eslint-disable-next-line @next/next/no-img-element\n <img src={icon} alt=\"\" width={20} height={14} />\n ) : (\n icon\n )}\n {children}\n </DropdownMenuItem>\n );\n}\n\nfunction SwitcherFooter({ children, onClick, icon }: SwitcherFooterProps) {\n return (\n <DropdownMenuItem onClick={onClick}>\n {icon}\n {children}\n </DropdownMenuItem>\n );\n}\n\nfunction SwitcherSeparator() {\n return <DropdownMenuSeparator />;\n}\n\nexport {\n Switcher,\n SwitcherTrigger,\n SwitcherContent,\n SwitcherGroup,\n SwitcherItem,\n SwitcherFooter,\n SwitcherSeparator,\n};\n\nexport type {\n SwitcherProps,\n SwitcherTriggerProps,\n SwitcherContentProps,\n SwitcherGroupProps,\n SwitcherItemProps,\n SwitcherFooterProps,\n SwitcherGroup as SwitcherGroupType,\n SwitcherItem as SwitcherItemType,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\ninterface TagProps\n extends React.ComponentProps<\"span\">,\n VariantProps<typeof tagVariants> {\n asChild?: boolean;\n icon?: React.ReactElement;\n}\n\nconst tagVariants = cva(\n \"inline-flex items-center justify-center rounded-md px-2 py-1 text-xs font-semibold w-fit whitespace-nowrap shrink-0 gap-1.5 transition-colors overflow-hidden max-h-6\",\n {\n variants: {\n variant: {\n regular:\n \"bg-primary-background-fill text-primary-foreground-onfill fill-primary-foreground-onfill\",\n \"regular-soft\":\n \"bg-primary-background-soft text-primary-foreground fill-primary-foreground\",\n \"regular-basic\":\n \"bg-transparent text-primary-foreground fill-primary-foreground\",\n emphasis:\n \"bg-secondary-background-fill text-secondary-foreground-onfill fill-secondary-foreground-onfill\",\n \"emphasis-soft\":\n \"bg-secondary-background-soft text-secondary-foreground fill-secondary-foreground\",\n \"emphasis-basic\":\n \"bg-transparent text-secondary-foreground fill-secondary-foreground\",\n gray: \"bg-gray-background-fill text-gray-foreground-onfill fill-gray-foreground-onfill\",\n \"gray-soft\":\n \"bg-gray-background-soft text-gray-foreground fill-gray-foreground\",\n \"gray-basic\":\n \"bg-transparent text-gray-foreground fill-gray-foreground\",\n success:\n \"bg-green-background-fill text-green-foreground-onfill fill-green-foreground-onfill\",\n \"success-soft\":\n \"bg-green-background-soft text-green-foreground fill-green-foreground\",\n \"success-basic\":\n \"bg-transparent text-green-foreground fill-green-foreground\",\n error:\n \"bg-red-background-fill text-red-foreground-onfill fill-red-foreground-onfill\",\n \"error-soft\":\n \"bg-red-background-soft text-red-foreground fill-red-foreground\",\n \"error-basic\": \"bg-transparent text-red-foreground fill-red-foreground\",\n warning:\n \"bg-yellow-background-fill text-yellow-foreground-onfill fill-yellow-foreground-onfill\",\n \"warning-soft\":\n \"bg-yellow-background-soft text-yellow-foreground fill-yellow-foreground\",\n \"warning-basic\":\n \"bg-transparent text-yellow-foreground fill-yellow-foreground\",\n cm: \"bg-cm-background-fill text-cm-foreground-onfill fill-cm-foreground-onfill\",\n \"cm-soft\":\n \"bg-cm-background-soft text-cm-foreground fill-cm-foreground\",\n \"cm-basic\": \"bg-transparent text-cm-foreground fill-cm-foreground\",\n go: \"bg-go-background-fill text-go-foreground-onfill fill-go-foreground-onfill\",\n \"go-soft\":\n \"bg-go-background-soft text-go-foreground fill-go-foreground\",\n \"go-basic\": \"bg-transparent text-go-foreground fill-go-foreground\",\n cir: \"bg-cir-background-fill text-cir-foreground-onfill fill-cir-foreground-onfill\",\n \"cir-soft\":\n \"bg-cir-background-soft text-cir-foreground fill-cir-foreground\",\n \"cir-basic\": \"bg-transparent text-cir-foreground fill-cir-foreground\",\n ped: \"bg-ped-background-fill text-ped-foreground-onfill fill-ped-foreground-onfill\",\n \"ped-soft\":\n \"bg-ped-background-soft text-ped-foreground fill-ped-foreground\",\n \"ped-basic\": \"bg-transparent text-ped-foreground fill-ped-foreground\",\n prev: \"bg-prev-background-fill text-prev-foreground-onfill fill-prev-foreground-onfill\",\n \"prev-soft\":\n \"bg-prev-background-soft text-prev-foreground fill-prev-foreground\",\n \"prev-basic\":\n \"bg-transparent text-prev-foreground fill-prev-foreground\",\n },\n },\n defaultVariants: {\n variant: \"regular\",\n },\n }\n);\n\nfunction TagIcon({\n className,\n icon,\n ...props\n}: React.ComponentProps<\"div\"> & {\n icon?: React.ReactNode;\n}) {\n return (\n <div\n data-slot=\"tag-icon\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {icon}\n </div>\n );\n}\n\nfunction Tag({\n className,\n variant,\n asChild = false,\n icon,\n children,\n ...props\n}: TagProps) {\n const Comp = (asChild ? Slot.Slot : \"span\") as React.ElementType;\n\n return (\n <Comp\n data-slot=\"tag\"\n className={cn(tagVariants({ variant }), className)}\n {...props}\n >\n {icon && <TagIcon icon={icon} />}\n {children}\n </Comp>\n );\n}\n\nexport { Tag, tagVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { EditPencil } from \"@medway-ui/icons\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst tileVariants = cva(\n \"group/tile relative flex flex-col justify-center rounded-lg gap-0.5 px-5 py-4 cursor-default data-[disabled=true]:pointer-events-none\",\n {\n variants: {\n variant: {\n regular:\n \"bg-surface-settings-on text-primary-foreground fill-primary-foreground data-[disabled=false]:hover:[background:radial-gradient(51.96%_112.02%_at_50%_112.02%,_var(--color-surface-card)_0%,_var(--color-surface-settings-on)_100%)] data-[disabled=true]:bg-surface-disable data-[inactive=true]:bg-surface-settings-off data-[inactive=true]:hover:[background:radial-gradient(51.96%_112.02%_at_50%_112.02%,_var(--color-surface-card)_0%,_var(--color-surface-settings-off)_100%)]\",\n cm: \"bg-cm-background-fill text-cm-foreground-onfill fill-cm-foreground-onfill data-[disabled=false]:hover:[background:radial-gradient(63.78%_137.5%_at_50%_137.5%,_var(--color-cm-background-fill-emphasis)_0%,_var(--color-cm-background-fill)_100%)] data-[disabled=true]:opacity-70 data-[inactive=true]:[filter:brightness(.8)]\",\n go: \"bg-go-background-fill text-go-foreground-onfill fill-go-foreground-onfill data-[disabled=false]:hover:[background:radial-gradient(63.78%_137.5%_at_50%_137.5%,_var(--color-go-background-fill-emphasis)_0%,_var(--color-go-background-fill)_100%)] data-[disabled=true]:opacity-70 data-[inactive=true]:[filter:brightness(.8)]\",\n cir: \"bg-cir-background-fill text-cir-foreground-onfill fill-cir-foreground-onfill data-[disabled=false]:hover:[background:radial-gradient(63.78%_137.5%_at_50%_137.5%,_var(--color-cir-background-fill-emphasis)_0%,_var(--color-cir-background-fill)_100%)] data-[disabled=true]:opacity-70 data-[inactive=true]:[filter:brightness(.8)]\",\n ped: \"bg-ped-background-fill text-ped-foreground-onfill fill-ped-foreground-onfill data-[disabled=false]:hover:[background:radial-gradient(51.96%_112.02%_at_50%_112.02%,_var(--color-ped-background-fill-emphasis)_0%,_var(--color-ped-background-fill)_100%)] data-[disabled=true]:opacity-70 data-[inactive=true]:[filter:brightness(.8)]\",\n prev: \"bg-prev-background-fill text-prev-foreground-onfill fill-prev-foreground-onfill data-[disabled=false]:hover:[background:radial-gradient(63.78%_137.5%_at_50%_137.5%,_var(--color-prev-background-fill-emphasis)_0%,_var(--color-prev-background-fill)_100%)] data-[disabled=true]:opacity-70 data-[inactive=true]:[filter:brightness(.8)]\",\n },\n },\n defaultVariants: {\n variant: \"regular\",\n },\n }\n);\n\nfunction Tile({\n className,\n variant = \"regular\",\n asChild = false,\n disabled = false,\n inactive = false,\n ...props\n}: React.ComponentProps<\"div\"> &\n React.ComponentProps<\"div\"> &\n VariantProps<typeof tileVariants> & {\n asChild?: boolean;\n disabled?: boolean;\n inactive?: boolean;\n }) {\n const Comp = (asChild ? Slot.Slot : \"div\") as React.ElementType;\n\n return (\n <Comp\n data-slot=\"tile\"\n data-variant={variant}\n data-inactive={inactive}\n data-disabled={disabled}\n aria-disabled={disabled || inactive}\n className={cn(\n tileVariants({ variant, className }),\n props.onClick && !disabled && \"cursor-pointer\"\n )}\n {...props}\n >\n {props.children}\n {props.onClick && !disabled && (\n <EditPencil className=\"absolute right-5 top-4 size-5 opacity-0 transition-opacity group-hover/tile:opacity-100\" />\n )}\n </Comp>\n );\n}\n\nfunction TileIcon({\n className,\n icon,\n ...props\n}: React.ComponentProps<\"div\"> & {\n icon?: React.ReactNode;\n}) {\n return (\n <div\n data-slot=\"tile-icon\"\n className={cn(\"mb-2.5 last:mb-0 [&>svg]:size-5\", className)}\n {...props}\n >\n {icon}\n </div>\n );\n}\n\nfunction TileTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"tile-title\"\n className={cn(\"line-clamp-1 flex w-fit text-xs font-medium\", className)}\n {...props}\n />\n );\n}\n\nfunction TileDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <span\n data-slot=\"tile-description\"\n className={cn(\"line-clamp-1 flex w-fit text-sm font-semibold\", className)}\n {...props}\n />\n );\n}\n\nexport { Tile, TileIcon, TileTitle, TileDescription };\n"]}
|
|
1
|
+
{"version":3,"sources":["../node_modules/tailwind-merge/src/lib/utils.ts","../node_modules/tailwind-merge/src/lib/class-group-utils.ts","../node_modules/tailwind-merge/src/lib/lru-cache.ts","../node_modules/tailwind-merge/src/lib/parse-class-name.ts","../node_modules/tailwind-merge/src/lib/sort-modifiers.ts","../node_modules/tailwind-merge/src/lib/config-utils.ts","../node_modules/tailwind-merge/src/lib/merge-classlist.ts","../node_modules/tailwind-merge/src/lib/tw-join.ts","../node_modules/tailwind-merge/src/lib/create-tailwind-merge.ts","../node_modules/tailwind-merge/src/lib/from-theme.ts","../node_modules/tailwind-merge/src/lib/validators.ts","../node_modules/tailwind-merge/src/lib/default-config.ts","../node_modules/tailwind-merge/src/lib/merge-configs.ts","../node_modules/tailwind-merge/src/lib/extend-tailwind-merge.ts","../src/lib/utils.ts","../src/components/Alert.tsx","../src/components/Loading.tsx","../src/components/Badge.tsx","../src/components/Button.tsx","../src/components/AlertDialog.tsx","../src/components/Avatar.tsx","../src/components/Collapsible.tsx","../src/components/Separator.tsx","../src/components/Dialog.tsx","../src/hooks/use-mobile.ts","../src/components/DropdownMenu.tsx","../src/components/Input.tsx","../src/components/Logo.tsx","../src/assets/js/tokens.ts","../src/components/Pagination.tsx","../src/components/ScrollArea.tsx","../src/components/SegmentControl.tsx","../node_modules/shared/src/utils.ts","../node_modules/lucide-react/src/defaultAttributes.ts","../node_modules/lucide-react/src/Icon.ts","../node_modules/lucide-react/src/createLucideIcon.ts","../node_modules/lucide-react/src/icons/x.ts","../src/components/Sheet.tsx","../src/components/Skeleton.tsx","../src/components/Tooltip.tsx","../src/components/Sidebar.tsx","../src/components/Switcher.tsx","../src/components/Tag.tsx","../src/components/Tile.tsx"],"names":["concatArrays","array1","array2","combinedArray","Array","length","i","createClassValidatorObject","classGroupId","validator","createClassPartObject","nextPart","Map","validators","EMPTY_CONFLICTS","ARBITRARY_PROPERTY_PREFIX","createClassGroupUtils","config","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","getClassGroupId","className","startsWith","endsWith","getGroupIdForArbitraryProperty","classParts","split","CLASS_PART_SEPARATOR","startIndex","getGroupRecursive","getConflictingClassGroupIds","hasPostfixModifier","modifierConflicts","baseConflicts","classPartObject","currentClassPart","nextClassPartObject","get","result","classRest","join","slice","validatorsLength","validatorObj","indexOf","undefined","content","colonIndex","property","theme","classGroups","processClassGroups","group","processClassesRecursively","classGroup","len","classDefinition","processClassDefinition","processStringDefinition","processFunctionDefinition","processObjectDefinition","classPartObjectToEdit","getPart","isThemeGetter","push","entries","Object","key","value","path","current","parts","part","next","set","func","createLruCache","maxCacheSize","cacheSize","cache","create","previousCache","update","EMPTY_MODIFIERS","createResultObject","modifiers","hasImportantModifier","baseClassName","maybePostfixModifierPosition","isExternal","createParseClassName","prefix","experimentalParseClassName","parseClassName","bracketDepth","parenDepth","modifierStart","postfixModifierPosition","index","currentCharacter","MODIFIER_SEPARATOR","baseClassNameWithImportantModifier","IMPORTANT_MODIFIER","fullPrefix","parseClassNameOriginal","createSortModifiers","modifierWeights","orderSensitiveModifiers","forEach","mod","currentSegment","modifier","isArbitrary","isOrderSensitive","has","sort","createConfigUtils","__spreadValues","sortModifiers","SPLIT_CLASSES_REGEX","mergeClassList","classList","configUtils","classGroupsInConflict","classNames","trim","originalClassName","substring","variantModifier","modifierId","classId","conflictGroups","twJoin","classLists","argument","resolvedValue","string","toValue","mix","k","createTailwindMerge","createConfigFirst","createConfigRest","cacheGet","cacheSet","functionToCall","initTailwindMerge","reduce","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","args","fallbackThemeArr","fromTheme","themeGetter","arbitraryValueRegex","arbitraryVariableRegex","fractionRegex","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isFraction","test","isNumber","Number","isNaN","isInteger","isPercent","isTshirtSize","isAny","isLengthOnly","isNever","isShadow","isImage","isAnyNonArbitrary","isArbitraryValue","isArbitraryVariable","isArbitrarySize","getIsArbitraryValue","isLabelSize","isArbitraryLength","isLabelLength","isArbitraryNumber","isLabelNumber","isArbitraryPosition","isLabelPosition","isArbitraryImage","isLabelImage","isArbitraryShadow","isLabelShadow","isArbitraryVariableLength","getIsArbitraryVariable","isArbitraryVariableFamilyName","isLabelFamilyName","isArbitraryVariablePosition","isArbitraryVariableSize","isArbitraryVariableImage","isArbitraryVariableShadow","testLabel","testValue","exec","shouldMatchNoLabel","label","getDefaultConfig","themeColor","themeFont","themeText","themeFontWeight","themeTracking","themeLeading","themeBreakpoint","themeContainer","themeSpacing","themeRadius","themeShadow","themeInsetShadow","themeTextShadow","themeDropShadow","themeBlur","themePerspective","themeAspect","themeEase","themeAnimate","scaleBreak","scalePosition","scalePositionWithArbitrary","scaleOverflow","scaleOverscroll","scaleUnambiguousSpacing","scaleInset","scaleGridTemplateColsRows","scaleGridColRowStartAndEnd","span","scaleGridColRowStartOrEnd","scaleGridAutoColsRows","scaleAlignPrimaryAxis","scaleAlignSecondaryAxis","scaleMargin","scaleSizing","scaleColor","scaleBgPosition","position","scaleBgRepeat","repeat","scaleBgSize","size","scaleGradientStopPosition","scaleRadius","scaleBorderWidth","scaleLineStyle","scaleBlendMode","scaleMaskImagePosition","scaleBlur","scaleRotate","scaleScale","scaleSkew","scaleTranslate","animate","aspect","blur","breakpoint","color","container","ease","font","leading","perspective","radius","shadow","spacing","text","tracking","columns","box","display","sr","float","clear","isolation","object","overflow","overscroll","inset","start","end","top","right","bottom","left","visibility","z","basis","flex","grow","shrink","order","col","row","gap","justify","items","baseline","self","p","px","py","ps","pe","pt","pr","pb","pl","m","mx","my","ms","me","mt","mr","mb","ml","w","screen","h","list","placeholder","decoration","indent","align","whitespace","break","wrap","hyphens","bg","linear","to","radial","conic","from","via","rounded","border","divide","outline","ring","opacity","mask","closest","farthest","filter","brightness","contrast","grayscale","invert","saturate","sepia","table","caption","transition","duration","delay","backface","rotate","scale","skew","transform","origin","translate","accent","appearance","caret","scheme","cursor","resize","scroll","snap","touch","select","fill","stroke","mergeConfigs","baseConfig","extend","override","overrideProperty","overrideConfigProperties","mergeConfigProperties","mergeArrayProperties","baseObject","overrideKey","overrideValue","overrideObject","mergeObject","mergeValue","concat","extendTailwindMerge","configExtension","createConfig","customTwMerge","cn","inputs","clsx","AlertContext","N","alertVariants","cva","Alert","_a","_b","variant","onClose","children","props","__objRest","hasDescription","child","AlertDescription","hasTitle","AlertTitle","jsx","jsxs","__spreadProps","CloseMd","AlertContainer","AlertContent","AlertIcon","icon","AlertActions","context","alertButtonVariants","AlertButton","alertVariant","Loading","ICON_ONLY_SIZES","CHAR_PADDING","badgeVariants","Badge","asChild","Comp","Slot","hasChildren","ft","isIconOnly","childText","isSingleAlphaNum","isShortAlnumUpTo3","isDigitsWithSuffix","isShortUpTo3","ALERT_CIRCLE_SIZES","badgeSizeMap","buttonVariants","Button","containerClassName","iconRight","iconLeft","badge","loading","alert","shouldShowBadge","renderIcon","renderAlertCircle","renderButtonContent","Fragment","AlertDialog","AlertDialogPrimitive","AlertDialogTrigger","AlertDialogPortal","AlertDialogOverlay","AlertDialogContent","AlertDialogHeader","AlertDialogFooter","AlertDialogTitle","AlertDialogDescription","AlertDialogAction","AlertDialogCancel","avatarVariants","Avatar","AvatarPrimitive","AvatarImage","AvatarFallback","User","CollapsibleContext","Ne","Collapsible","animation","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent","animationClasses","Separator","orientation","decorative","SeparatorPrimitive","Dialog","DialogPrimitive","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","DialogContainer","overlayClassName","showCloseButton","DialogContent","DialogHeader","separator","DialogFooter","DialogTitle","DialogDescription","MOBILE_BREAKPOINT","useIsMobile","isMobile","setIsMobile","Ve","mql","onChange","DropdownMenu","DropdownMenuPrimitive","DropdownMenuPortal","DropdownMenuTrigger","DropdownMenuContent","sideOffset","side","DropdownMenuGroup","DropdownMenuItem","DropdownMenuCheckboxItem","checked","Check","DropdownMenuRadioGroup","DropdownMenuRadioItem","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","DropdownMenuSub","DropdownMenuSubTrigger","ChevronRight","DropdownMenuSubContent","Input","type","Logo","width","height","svgClassName","LogoShort","screens","PaginationRoot","PaginationContent","PaginationInfo","count","PaginationItem","PaginationLink","isActive","activeVariant","inactiveVariant","PaginationPrevious","ChevronLeftDuo","PaginationNext","ChevronRightDuo","PaginationEllipsis","MoreHorizontal","Pagination","currentPage","totalPages","maxVisibleItems","onPageChange","itemsPerPage","totalItems","responsive","isTabletOrMobile","setIsTabletOrMobile","Ke","tabletPx","onResize","effectiveMaxVisible","shouldHideInfo","renderPageNumbers","pages","maxVisible","sidePages","page","ScrollArea","ScrollAreaPrimitive","ScrollBar","SegmentControlContext","Ze","SegmentControl","TabsPrimitive","SegmentControlList","segmentControlTriggerVariants","SegmentControlTrigger","ctx","SegmentControlContent","toKebabCase","toCamelCase","match","p1","p2","toPascalCase","camelCase","mergeClasses","classes","array","hasA11yProp","prop","defaultAttributes","Icon","forwardRef","ref","strokeWidth","absoluteStrokeWidth","iconNode","rest","createElement","tag","attrs","createLucideIcon","iconName","Component","__iconNode","X","Sheet","SheetPrimitive","SheetPortal","SheetOverlay","SheetContent","Skeleton","TooltipProvider","delayDuration","TooltipPrimitive","Tooltip","TooltipTrigger","TooltipContent","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","B","useSidebar","SidebarProvider","defaultOpen","openProp","setOpenProp","openMobile","setOpenMobile","_open","_setOpen","open","setOpen","openState","toggleSidebar","handleKeyDown","event","state","contextValue","Sidebar","collapsible","SidebarTrigger","onClick","sizeIcon","HamburgerMd","showTooltip","tooltipContent","enableHover","isHovered","setIsHovered","tooltip","getDisplayIcon","ChevronLeftMd","ChevronRightMd","button","SidebarRail","SidebarInset","SidebarInput","SidebarHeader","SidebarFooter","SidebarSeparator","SidebarContent","SidebarGroup","SidebarGroupLabel","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","SidebarMenuButton","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuItemTitle","title","SidebarMenuItemCollapse","SidebarMenuSubButton","SwitcherContext","Switcher","onValueChange","onOpenChange","internalValue","setInternalValue","SwitcherTrigger","SwitcherContent","SwitcherGroup","SwitcherItem","handleClick","SwitcherFooter","SwitcherSeparator","tagVariants","TagIcon","Tag","tileVariants","Tile","disabled","inactive","EditPencil","TileIcon","TileTitle","TileDescription"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Concatenates two arrays faster than the array spread operator.\n */\nexport const concatArrays = <T, U>(\n array1: readonly T[],\n array2: readonly U[],\n): readonly (T | U)[] => {\n // Pre-allocate for better V8 optimization\n const combinedArray: (T | U)[] = new Array(array1.length + array2.length)\n for (let i = 0; i < array1.length; i++) {\n combinedArray[i] = array1[i]!\n }\n for (let i = 0; i < array2.length; i++) {\n combinedArray[array1.length + i] = array2[i]!\n }\n return combinedArray\n}\n","import {\n AnyClassGroupIds,\n AnyConfig,\n AnyThemeGroupIds,\n ClassGroup,\n ClassValidator,\n Config,\n ThemeGetter,\n ThemeObject,\n} from './types'\nimport { concatArrays } from './utils'\n\nexport interface ClassPartObject {\n nextPart: Map<string, ClassPartObject>\n validators: ClassValidatorObject[] | null\n classGroupId: AnyClassGroupIds | undefined // Always define optional props for consistent shape\n}\n\ninterface ClassValidatorObject {\n classGroupId: AnyClassGroupIds\n validator: ClassValidator\n}\n\n// Factory function ensures consistent object shapes\nconst createClassValidatorObject = (\n classGroupId: AnyClassGroupIds,\n validator: ClassValidator,\n): ClassValidatorObject => ({\n classGroupId,\n validator,\n})\n\n// Factory ensures consistent ClassPartObject shape\nconst createClassPartObject = (\n nextPart: Map<string, ClassPartObject> = new Map(),\n validators: ClassValidatorObject[] | null = null,\n classGroupId?: AnyClassGroupIds,\n): ClassPartObject => ({\n nextPart,\n validators,\n classGroupId,\n})\n\nconst CLASS_PART_SEPARATOR = '-'\n\nconst EMPTY_CONFLICTS: readonly AnyClassGroupIds[] = []\n// I use two dots here because one dot is used as prefix for class groups in plugins\nconst ARBITRARY_PROPERTY_PREFIX = 'arbitrary..'\n\nexport const createClassGroupUtils = (config: AnyConfig) => {\n const classMap = createClassMap(config)\n const { conflictingClassGroups, conflictingClassGroupModifiers } = config\n\n const getClassGroupId = (className: string) => {\n if (className.startsWith('[') && className.endsWith(']')) {\n return getGroupIdForArbitraryProperty(className)\n }\n\n const classParts = className.split(CLASS_PART_SEPARATOR)\n // Classes like `-inset-1` produce an empty string as first classPart. We assume that classes for negative values are used correctly and skip it.\n const startIndex = classParts[0] === '' && classParts.length > 1 ? 1 : 0\n return getGroupRecursive(classParts, startIndex, classMap)\n }\n\n const getConflictingClassGroupIds = (\n classGroupId: AnyClassGroupIds,\n hasPostfixModifier: boolean,\n ): readonly AnyClassGroupIds[] => {\n if (hasPostfixModifier) {\n const modifierConflicts = conflictingClassGroupModifiers[classGroupId]\n const baseConflicts = conflictingClassGroups[classGroupId]\n\n if (modifierConflicts) {\n if (baseConflicts) {\n // Merge base conflicts with modifier conflicts\n return concatArrays(baseConflicts, modifierConflicts)\n }\n // Only modifier conflicts\n return modifierConflicts\n }\n // Fall back to without postfix if no modifier conflicts\n return baseConflicts || EMPTY_CONFLICTS\n }\n\n return conflictingClassGroups[classGroupId] || EMPTY_CONFLICTS\n }\n\n return {\n getClassGroupId,\n getConflictingClassGroupIds,\n }\n}\n\nconst getGroupRecursive = (\n classParts: string[],\n startIndex: number,\n classPartObject: ClassPartObject,\n): AnyClassGroupIds | undefined => {\n const classPathsLength = classParts.length - startIndex\n if (classPathsLength === 0) {\n return classPartObject.classGroupId\n }\n\n const currentClassPart = classParts[startIndex]!\n const nextClassPartObject = classPartObject.nextPart.get(currentClassPart)\n\n if (nextClassPartObject) {\n const result = getGroupRecursive(classParts, startIndex + 1, nextClassPartObject)\n if (result) return result\n }\n\n const validators = classPartObject.validators\n if (validators === null) {\n return undefined\n }\n\n // Build classRest string efficiently by joining from startIndex onwards\n const classRest =\n startIndex === 0\n ? classParts.join(CLASS_PART_SEPARATOR)\n : classParts.slice(startIndex).join(CLASS_PART_SEPARATOR)\n const validatorsLength = validators.length\n\n for (let i = 0; i < validatorsLength; i++) {\n const validatorObj = validators[i]!\n if (validatorObj.validator(classRest)) {\n return validatorObj.classGroupId\n }\n }\n\n return undefined\n}\n\n/**\n * Get the class group ID for an arbitrary property.\n *\n * @param className - The class name to get the group ID for. Is expected to be string starting with `[` and ending with `]`.\n */\nconst getGroupIdForArbitraryProperty = (className: string): AnyClassGroupIds | undefined =>\n className.slice(1, -1).indexOf(':') === -1\n ? undefined\n : (() => {\n const content = className.slice(1, -1)\n const colonIndex = content.indexOf(':')\n const property = content.slice(0, colonIndex)\n return property ? ARBITRARY_PROPERTY_PREFIX + property : undefined\n })()\n\n/**\n * Exported for testing only\n */\nexport const createClassMap = (config: Config<AnyClassGroupIds, AnyThemeGroupIds>) => {\n const { theme, classGroups } = config\n return processClassGroups(classGroups, theme)\n}\n\n// Split into separate functions to maintain monomorphic call sites\nconst processClassGroups = (\n classGroups: Record<AnyClassGroupIds, ClassGroup<AnyThemeGroupIds>>,\n theme: ThemeObject<AnyThemeGroupIds>,\n): ClassPartObject => {\n const classMap = createClassPartObject()\n\n for (const classGroupId in classGroups) {\n const group = classGroups[classGroupId]!\n processClassesRecursively(group, classMap, classGroupId, theme)\n }\n\n return classMap\n}\n\nconst processClassesRecursively = (\n classGroup: ClassGroup<AnyThemeGroupIds>,\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n theme: ThemeObject<AnyThemeGroupIds>,\n) => {\n const len = classGroup.length\n for (let i = 0; i < len; i++) {\n const classDefinition = classGroup[i]!\n processClassDefinition(classDefinition, classPartObject, classGroupId, theme)\n }\n}\n\n// Split into separate functions for each type to maintain monomorphic call sites\nconst processClassDefinition = (\n classDefinition: ClassGroup<AnyThemeGroupIds>[number],\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n theme: ThemeObject<AnyThemeGroupIds>,\n) => {\n if (typeof classDefinition === 'string') {\n processStringDefinition(classDefinition, classPartObject, classGroupId)\n return\n }\n\n if (typeof classDefinition === 'function') {\n processFunctionDefinition(classDefinition, classPartObject, classGroupId, theme)\n return\n }\n\n processObjectDefinition(\n classDefinition as Record<string, ClassGroup<AnyThemeGroupIds>>,\n classPartObject,\n classGroupId,\n theme,\n )\n}\n\nconst processStringDefinition = (\n classDefinition: string,\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n) => {\n const classPartObjectToEdit =\n classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition)\n classPartObjectToEdit.classGroupId = classGroupId\n}\n\nconst processFunctionDefinition = (\n classDefinition: Function,\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n theme: ThemeObject<AnyThemeGroupIds>,\n) => {\n if (isThemeGetter(classDefinition)) {\n processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme)\n return\n }\n\n if (classPartObject.validators === null) {\n classPartObject.validators = []\n }\n classPartObject.validators.push(\n createClassValidatorObject(classGroupId, classDefinition as ClassValidator),\n )\n}\n\nconst processObjectDefinition = (\n classDefinition: Record<string, ClassGroup<AnyThemeGroupIds>>,\n classPartObject: ClassPartObject,\n classGroupId: AnyClassGroupIds,\n theme: ThemeObject<AnyThemeGroupIds>,\n) => {\n const entries = Object.entries(classDefinition)\n const len = entries.length\n for (let i = 0; i < len; i++) {\n const [key, value] = entries[i]!\n processClassesRecursively(value, getPart(classPartObject, key), classGroupId, theme)\n }\n}\n\nconst getPart = (classPartObject: ClassPartObject, path: string): ClassPartObject => {\n let current = classPartObject\n const parts = path.split(CLASS_PART_SEPARATOR)\n const len = parts.length\n\n for (let i = 0; i < len; i++) {\n const part = parts[i]!\n\n let next = current.nextPart.get(part)\n if (!next) {\n next = createClassPartObject()\n current.nextPart.set(part, next)\n }\n current = next\n }\n\n return current\n}\n\n// Type guard maintains monomorphic check\nconst isThemeGetter = (func: Function): func is ThemeGetter =>\n 'isThemeGetter' in func && (func as ThemeGetter).isThemeGetter === true\n","// Export is needed because TypeScript complains about an error otherwise:\n// Error: …/tailwind-merge/src/config-utils.ts(8,17): semantic error TS4058: Return type of exported function has or is using name 'LruCache' from external module \"…/tailwind-merge/src/lru-cache\" but cannot be named.\nexport interface LruCache<Key extends string, Value> {\n get(key: Key): Value | undefined\n set(key: Key, value: Value): void\n}\n\n// LRU cache implementation using plain objects for simplicity\nexport const createLruCache = <Key extends string, Value>(\n maxCacheSize: number,\n): LruCache<Key, Value> => {\n if (maxCacheSize < 1) {\n return {\n get: () => undefined,\n set: () => {},\n }\n }\n\n let cacheSize = 0\n let cache: Record<Key, Value> = Object.create(null)\n let previousCache: Record<Key, Value> = Object.create(null)\n\n const update = (key: Key, value: Value) => {\n cache[key] = value\n cacheSize++\n\n if (cacheSize > maxCacheSize) {\n cacheSize = 0\n previousCache = cache\n cache = Object.create(null)\n }\n }\n\n return {\n get(key) {\n let value = cache[key]\n\n if (value !== undefined) {\n return value\n }\n if ((value = previousCache[key]) !== undefined) {\n update(key, value)\n return value\n }\n },\n set(key, value) {\n if (key in cache) {\n cache[key] = value\n } else {\n update(key, value)\n }\n },\n }\n}\n","import { AnyConfig, ParsedClassName } from './types'\n\nexport const IMPORTANT_MODIFIER = '!'\n\nconst MODIFIER_SEPARATOR = ':'\nconst EMPTY_MODIFIERS: string[] = []\n\n// Pre-allocated result object shape for consistency\nconst createResultObject = (\n modifiers: string[],\n hasImportantModifier: boolean,\n baseClassName: string,\n maybePostfixModifierPosition?: number,\n isExternal?: boolean,\n): ParsedClassName => ({\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n isExternal,\n})\n\nexport const createParseClassName = (config: AnyConfig) => {\n const { prefix, experimentalParseClassName } = config\n\n /**\n * Parse class name into parts.\n *\n * Inspired by `splitAtTopLevelOnly` used in Tailwind CSS\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n */\n let parseClassName = (className: string): ParsedClassName => {\n // Use simple array with push for better performance\n const modifiers: string[] = []\n\n let bracketDepth = 0\n let parenDepth = 0\n let modifierStart = 0\n let postfixModifierPosition: number | undefined\n\n const len = className.length\n for (let index = 0; index < len; index++) {\n const currentCharacter = className[index]!\n\n if (bracketDepth === 0 && parenDepth === 0) {\n if (currentCharacter === MODIFIER_SEPARATOR) {\n modifiers.push(className.slice(modifierStart, index))\n modifierStart = index + 1\n continue\n }\n\n if (currentCharacter === '/') {\n postfixModifierPosition = index\n continue\n }\n }\n\n if (currentCharacter === '[') bracketDepth++\n else if (currentCharacter === ']') bracketDepth--\n else if (currentCharacter === '(') parenDepth++\n else if (currentCharacter === ')') parenDepth--\n }\n\n const baseClassNameWithImportantModifier =\n modifiers.length === 0 ? className : className.slice(modifierStart)\n\n // Inline important modifier check\n let baseClassName = baseClassNameWithImportantModifier\n let hasImportantModifier = false\n\n if (baseClassNameWithImportantModifier.endsWith(IMPORTANT_MODIFIER)) {\n baseClassName = baseClassNameWithImportantModifier.slice(0, -1)\n hasImportantModifier = true\n } else if (\n /**\n * In Tailwind CSS v3 the important modifier was at the start of the base class name. This is still supported for legacy reasons.\n * @see https://github.com/dcastil/tailwind-merge/issues/513#issuecomment-2614029864\n */\n baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)\n ) {\n baseClassName = baseClassNameWithImportantModifier.slice(1)\n hasImportantModifier = true\n }\n\n const maybePostfixModifierPosition =\n postfixModifierPosition && postfixModifierPosition > modifierStart\n ? postfixModifierPosition - modifierStart\n : undefined\n\n return createResultObject(\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n )\n }\n\n if (prefix) {\n const fullPrefix = prefix + MODIFIER_SEPARATOR\n const parseClassNameOriginal = parseClassName\n parseClassName = (className: string) =>\n className.startsWith(fullPrefix)\n ? parseClassNameOriginal(className.slice(fullPrefix.length))\n : createResultObject(EMPTY_MODIFIERS, false, className, undefined, true)\n }\n\n if (experimentalParseClassName) {\n const parseClassNameOriginal = parseClassName\n parseClassName = (className: string) =>\n experimentalParseClassName({ className, parseClassName: parseClassNameOriginal })\n }\n\n return parseClassName\n}\n","import { AnyConfig } from './types'\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nexport const createSortModifiers = (config: AnyConfig) => {\n // Pre-compute weights for all known modifiers for O(1) comparison\n const modifierWeights = new Map<string, number>()\n\n // Assign weights to sensitive modifiers (highest priority, but preserve order)\n config.orderSensitiveModifiers.forEach((mod, index) => {\n modifierWeights.set(mod, 1000000 + index) // High weights for sensitive mods\n })\n\n return (modifiers: readonly string[]): string[] => {\n const result: string[] = []\n let currentSegment: string[] = []\n\n // Process modifiers in one pass\n for (let i = 0; i < modifiers.length; i++) {\n const modifier = modifiers[i]!\n\n // Check if modifier is sensitive (starts with '[' or in orderSensitiveModifiers)\n const isArbitrary = modifier[0] === '['\n const isOrderSensitive = modifierWeights.has(modifier)\n\n if (isArbitrary || isOrderSensitive) {\n // Sort and flush current segment alphabetically\n if (currentSegment.length > 0) {\n currentSegment.sort()\n result.push(...currentSegment)\n currentSegment = []\n }\n result.push(modifier)\n } else {\n // Regular modifier - add to current segment for batch sorting\n currentSegment.push(modifier)\n }\n }\n\n // Sort and add any remaining segment items\n if (currentSegment.length > 0) {\n currentSegment.sort()\n result.push(...currentSegment)\n }\n\n return result\n }\n}\n","import { createClassGroupUtils } from './class-group-utils'\nimport { createLruCache } from './lru-cache'\nimport { createParseClassName } from './parse-class-name'\nimport { createSortModifiers } from './sort-modifiers'\nimport { AnyConfig } from './types'\n\nexport type ConfigUtils = ReturnType<typeof createConfigUtils>\n\nexport const createConfigUtils = (config: AnyConfig) => ({\n cache: createLruCache<string, string>(config.cacheSize),\n parseClassName: createParseClassName(config),\n sortModifiers: createSortModifiers(config),\n ...createClassGroupUtils(config),\n})\n","import { ConfigUtils } from './config-utils'\nimport { IMPORTANT_MODIFIER } from './parse-class-name'\n\nconst SPLIT_CLASSES_REGEX = /\\s+/\n\nexport const mergeClassList = (classList: string, configUtils: ConfigUtils) => {\n const { parseClassName, getClassGroupId, getConflictingClassGroupIds, sortModifiers } =\n configUtils\n\n /**\n * Set of classGroupIds in following format:\n * `{importantModifier}{variantModifiers}{classGroupId}`\n * @example 'float'\n * @example 'hover:focus:bg-color'\n * @example 'md:!pr'\n */\n const classGroupsInConflict: string[] = []\n const classNames = classList.trim().split(SPLIT_CLASSES_REGEX)\n\n let result = ''\n\n for (let index = classNames.length - 1; index >= 0; index -= 1) {\n const originalClassName = classNames[index]!\n\n const {\n isExternal,\n modifiers,\n hasImportantModifier,\n baseClassName,\n maybePostfixModifierPosition,\n } = parseClassName(originalClassName)\n\n if (isExternal) {\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n let hasPostfixModifier = !!maybePostfixModifierPosition\n let classGroupId = getClassGroupId(\n hasPostfixModifier\n ? baseClassName.substring(0, maybePostfixModifierPosition)\n : baseClassName,\n )\n\n if (!classGroupId) {\n if (!hasPostfixModifier) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n classGroupId = getClassGroupId(baseClassName)\n\n if (!classGroupId) {\n // Not a Tailwind class\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n continue\n }\n\n hasPostfixModifier = false\n }\n\n // Fast path: skip sorting for empty or single modifier\n const variantModifier =\n modifiers.length === 0\n ? ''\n : modifiers.length === 1\n ? modifiers[0]!\n : sortModifiers(modifiers).join(':')\n\n const modifierId = hasImportantModifier\n ? variantModifier + IMPORTANT_MODIFIER\n : variantModifier\n\n const classId = modifierId + classGroupId\n\n if (classGroupsInConflict.indexOf(classId) > -1) {\n // Tailwind class omitted due to conflict\n continue\n }\n\n classGroupsInConflict.push(classId)\n\n const conflictGroups = getConflictingClassGroupIds(classGroupId, hasPostfixModifier)\n for (let i = 0; i < conflictGroups.length; ++i) {\n const group = conflictGroups[i]!\n classGroupsInConflict.push(modifierId + group)\n }\n\n // Tailwind class not in conflict\n result = originalClassName + (result.length > 0 ? ' ' + result : result)\n }\n\n return result\n}\n","/**\n * The code in this file is copied from https://github.com/lukeed/clsx and modified to suit the needs of tailwind-merge better.\n *\n * Specifically:\n * - Runtime code from https://github.com/lukeed/clsx/blob/v1.2.1/src/index.js\n * - TypeScript types from https://github.com/lukeed/clsx/blob/v1.2.1/clsx.d.ts\n *\n * Original code has MIT license: Copyright (c) Luke Edwards <luke.edwards05@gmail.com> (lukeed.com)\n */\n\nexport type ClassNameValue = ClassNameArray | string | null | undefined | 0 | 0n | false\ntype ClassNameArray = ClassNameValue[]\n\nexport const twJoin = (...classLists: ClassNameValue[]): string => {\n let index = 0\n let argument: ClassNameValue\n let resolvedValue: string\n let string = ''\n\n while (index < classLists.length) {\n if ((argument = classLists[index++])) {\n if ((resolvedValue = toValue(argument))) {\n string && (string += ' ')\n string += resolvedValue\n }\n }\n }\n return string\n}\n\nconst toValue = (mix: ClassNameArray | string): string => {\n // Fast path for strings\n if (typeof mix === 'string') {\n return mix\n }\n\n let resolvedValue: string\n let string = ''\n\n for (let k = 0; k < mix.length; k++) {\n if (mix[k]) {\n if ((resolvedValue = toValue(mix[k] as ClassNameArray | string))) {\n string && (string += ' ')\n string += resolvedValue\n }\n }\n }\n\n return string\n}\n","import { createConfigUtils } from './config-utils'\nimport { mergeClassList } from './merge-classlist'\nimport { ClassNameValue, twJoin } from './tw-join'\nimport { AnyConfig } from './types'\n\ntype CreateConfigFirst = () => AnyConfig\ntype CreateConfigSubsequent = (config: AnyConfig) => AnyConfig\ntype TailwindMerge = (...classLists: ClassNameValue[]) => string\ntype ConfigUtils = ReturnType<typeof createConfigUtils>\n\nexport const createTailwindMerge = (\n createConfigFirst: CreateConfigFirst,\n ...createConfigRest: CreateConfigSubsequent[]\n): TailwindMerge => {\n let configUtils: ConfigUtils\n let cacheGet: ConfigUtils['cache']['get']\n let cacheSet: ConfigUtils['cache']['set']\n let functionToCall: (classList: string) => string\n\n const initTailwindMerge = (classList: string) => {\n const config = createConfigRest.reduce(\n (previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig),\n createConfigFirst() as AnyConfig,\n )\n\n configUtils = createConfigUtils(config)\n cacheGet = configUtils.cache.get\n cacheSet = configUtils.cache.set\n functionToCall = tailwindMerge\n\n return tailwindMerge(classList)\n }\n\n const tailwindMerge = (classList: string) => {\n const cachedResult = cacheGet(classList)\n\n if (cachedResult) {\n return cachedResult\n }\n\n const result = mergeClassList(classList, configUtils)\n cacheSet(classList, result)\n\n return result\n }\n\n functionToCall = initTailwindMerge\n\n return (...args: ClassNameValue[]) => functionToCall(twJoin(...args))\n}\n","import { DefaultThemeGroupIds, NoInfer, ThemeGetter, ThemeObject } from './types'\n\nconst fallbackThemeArr: ThemeObject<DefaultThemeGroupIds>[DefaultThemeGroupIds] = []\n\nexport const fromTheme = <\n AdditionalThemeGroupIds extends string = never,\n DefaultThemeGroupIdsInner extends string = DefaultThemeGroupIds,\n>(\n key: NoInfer<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>,\n): ThemeGetter => {\n const themeGetter = (theme: ThemeObject<DefaultThemeGroupIdsInner | AdditionalThemeGroupIds>) =>\n theme[key] || fallbackThemeArr\n\n themeGetter.isThemeGetter = true as const\n\n return themeGetter\n}\n","const arbitraryValueRegex = /^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i\nconst arbitraryVariableRegex = /^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i\nconst fractionRegex = /^\\d+\\/\\d+$/\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/\nconst lengthUnitRegex =\n /\\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\\b(calc|min|max|clamp)\\(.+\\)|^0$/\nconst colorFunctionRegex = /^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\\(.+\\)$/\n// Shadow always begins with x and y offset separated by underscore optionally prepended by inset\nconst shadowRegex = /^(inset_)?-?((\\d+)?\\.?(\\d+)[a-z]+|0)_-?((\\d+)?\\.?(\\d+)[a-z]+|0)/\nconst imageRegex =\n /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/\n\nexport const isFraction = (value: string) => fractionRegex.test(value)\n\nexport const isNumber = (value: string) => !!value && !Number.isNaN(Number(value))\n\nexport const isInteger = (value: string) => !!value && Number.isInteger(Number(value))\n\nexport const isPercent = (value: string) => value.endsWith('%') && isNumber(value.slice(0, -1))\n\nexport const isTshirtSize = (value: string) => tshirtUnitRegex.test(value)\n\nexport const isAny = () => true\n\nconst isLengthOnly = (value: string) =>\n // `colorFunctionRegex` check is necessary because color functions can have percentages in them which which would be incorrectly classified as lengths.\n // For example, `hsl(0 0% 0%)` would be classified as a length without this check.\n // I could also use lookbehind assertion in `lengthUnitRegex` but that isn't supported widely enough.\n lengthUnitRegex.test(value) && !colorFunctionRegex.test(value)\n\nconst isNever = () => false\n\nconst isShadow = (value: string) => shadowRegex.test(value)\n\nconst isImage = (value: string) => imageRegex.test(value)\n\nexport const isAnyNonArbitrary = (value: string) =>\n !isArbitraryValue(value) && !isArbitraryVariable(value)\n\nexport const isArbitrarySize = (value: string) => getIsArbitraryValue(value, isLabelSize, isNever)\n\nexport const isArbitraryValue = (value: string) => arbitraryValueRegex.test(value)\n\nexport const isArbitraryLength = (value: string) =>\n getIsArbitraryValue(value, isLabelLength, isLengthOnly)\n\nexport const isArbitraryNumber = (value: string) =>\n getIsArbitraryValue(value, isLabelNumber, isNumber)\n\nexport const isArbitraryPosition = (value: string) =>\n getIsArbitraryValue(value, isLabelPosition, isNever)\n\nexport const isArbitraryImage = (value: string) => getIsArbitraryValue(value, isLabelImage, isImage)\n\nexport const isArbitraryShadow = (value: string) =>\n getIsArbitraryValue(value, isLabelShadow, isShadow)\n\nexport const isArbitraryVariable = (value: string) => arbitraryVariableRegex.test(value)\n\nexport const isArbitraryVariableLength = (value: string) =>\n getIsArbitraryVariable(value, isLabelLength)\n\nexport const isArbitraryVariableFamilyName = (value: string) =>\n getIsArbitraryVariable(value, isLabelFamilyName)\n\nexport const isArbitraryVariablePosition = (value: string) =>\n getIsArbitraryVariable(value, isLabelPosition)\n\nexport const isArbitraryVariableSize = (value: string) => getIsArbitraryVariable(value, isLabelSize)\n\nexport const isArbitraryVariableImage = (value: string) =>\n getIsArbitraryVariable(value, isLabelImage)\n\nexport const isArbitraryVariableShadow = (value: string) =>\n getIsArbitraryVariable(value, isLabelShadow, true)\n\n// Helpers\n\nconst getIsArbitraryValue = (\n value: string,\n testLabel: (label: string) => boolean,\n testValue: (value: string) => boolean,\n) => {\n const result = arbitraryValueRegex.exec(value)\n\n if (result) {\n if (result[1]) {\n return testLabel(result[1])\n }\n\n return testValue(result[2]!)\n }\n\n return false\n}\n\nconst getIsArbitraryVariable = (\n value: string,\n testLabel: (label: string) => boolean,\n shouldMatchNoLabel = false,\n) => {\n const result = arbitraryVariableRegex.exec(value)\n\n if (result) {\n if (result[1]) {\n return testLabel(result[1])\n }\n return shouldMatchNoLabel\n }\n\n return false\n}\n\n// Labels\n\nconst isLabelPosition = (label: string) => label === 'position' || label === 'percentage'\n\nconst isLabelImage = (label: string) => label === 'image' || label === 'url'\n\nconst isLabelSize = (label: string) => label === 'length' || label === 'size' || label === 'bg-size'\n\nconst isLabelLength = (label: string) => label === 'length'\n\nconst isLabelNumber = (label: string) => label === 'number'\n\nconst isLabelFamilyName = (label: string) => label === 'family-name'\n\nconst isLabelShadow = (label: string) => label === 'shadow'\n","import { fromTheme } from './from-theme'\nimport { Config, DefaultClassGroupIds, DefaultThemeGroupIds } from './types'\nimport {\n isAny,\n isAnyNonArbitrary,\n isArbitraryImage,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryPosition,\n isArbitraryShadow,\n isArbitrarySize,\n isArbitraryValue,\n isArbitraryVariable,\n isArbitraryVariableFamilyName,\n isArbitraryVariableImage,\n isArbitraryVariableLength,\n isArbitraryVariablePosition,\n isArbitraryVariableShadow,\n isArbitraryVariableSize,\n isFraction,\n isInteger,\n isNumber,\n isPercent,\n isTshirtSize,\n} from './validators'\n\nexport const getDefaultConfig = () => {\n /**\n * Theme getters for theme variable namespaces\n * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces\n */\n /***/\n\n const themeColor = fromTheme('color')\n const themeFont = fromTheme('font')\n const themeText = fromTheme('text')\n const themeFontWeight = fromTheme('font-weight')\n const themeTracking = fromTheme('tracking')\n const themeLeading = fromTheme('leading')\n const themeBreakpoint = fromTheme('breakpoint')\n const themeContainer = fromTheme('container')\n const themeSpacing = fromTheme('spacing')\n const themeRadius = fromTheme('radius')\n const themeShadow = fromTheme('shadow')\n const themeInsetShadow = fromTheme('inset-shadow')\n const themeTextShadow = fromTheme('text-shadow')\n const themeDropShadow = fromTheme('drop-shadow')\n const themeBlur = fromTheme('blur')\n const themePerspective = fromTheme('perspective')\n const themeAspect = fromTheme('aspect')\n const themeEase = fromTheme('ease')\n const themeAnimate = fromTheme('animate')\n\n /**\n * Helpers to avoid repeating the same scales\n *\n * We use functions that create a new array every time they're called instead of static arrays.\n * This ensures that users who modify any scale by mutating the array (e.g. with `array.push(element)`) don't accidentally mutate arrays in other parts of the config.\n */\n /***/\n\n const scaleBreak = () =>\n ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'] as const\n const scalePosition = () =>\n [\n 'center',\n 'top',\n 'bottom',\n 'left',\n 'right',\n 'top-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-top',\n 'top-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-top',\n 'bottom-right',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'right-bottom',\n 'bottom-left',\n // Deprecated since Tailwind CSS v4.1.0, see https://github.com/tailwindlabs/tailwindcss/pull/17378\n 'left-bottom',\n ] as const\n const scalePositionWithArbitrary = () =>\n [...scalePosition(), isArbitraryVariable, isArbitraryValue] as const\n const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'] as const\n const scaleOverscroll = () => ['auto', 'contain', 'none'] as const\n const scaleUnambiguousSpacing = () =>\n [isArbitraryVariable, isArbitraryValue, themeSpacing] as const\n const scaleInset = () => [isFraction, 'full', 'auto', ...scaleUnambiguousSpacing()] as const\n const scaleGridTemplateColsRows = () =>\n [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue] as const\n const scaleGridColRowStartAndEnd = () =>\n [\n 'auto',\n { span: ['full', isInteger, isArbitraryVariable, isArbitraryValue] },\n isInteger,\n isArbitraryVariable,\n isArbitraryValue,\n ] as const\n const scaleGridColRowStartOrEnd = () =>\n [isInteger, 'auto', isArbitraryVariable, isArbitraryValue] as const\n const scaleGridAutoColsRows = () =>\n ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue] as const\n const scaleAlignPrimaryAxis = () =>\n [\n 'start',\n 'end',\n 'center',\n 'between',\n 'around',\n 'evenly',\n 'stretch',\n 'baseline',\n 'center-safe',\n 'end-safe',\n ] as const\n const scaleAlignSecondaryAxis = () =>\n ['start', 'end', 'center', 'stretch', 'center-safe', 'end-safe'] as const\n const scaleMargin = () => ['auto', ...scaleUnambiguousSpacing()] as const\n const scaleSizing = () =>\n [\n isFraction,\n 'auto',\n 'full',\n 'dvw',\n 'dvh',\n 'lvw',\n 'lvh',\n 'svw',\n 'svh',\n 'min',\n 'max',\n 'fit',\n ...scaleUnambiguousSpacing(),\n ] as const\n const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue] as const\n const scaleBgPosition = () =>\n [\n ...scalePosition(),\n isArbitraryVariablePosition,\n isArbitraryPosition,\n { position: [isArbitraryVariable, isArbitraryValue] },\n ] as const\n const scaleBgRepeat = () => ['no-repeat', { repeat: ['', 'x', 'y', 'space', 'round'] }] as const\n const scaleBgSize = () =>\n [\n 'auto',\n 'cover',\n 'contain',\n isArbitraryVariableSize,\n isArbitrarySize,\n { size: [isArbitraryVariable, isArbitraryValue] },\n ] as const\n const scaleGradientStopPosition = () =>\n [isPercent, isArbitraryVariableLength, isArbitraryLength] as const\n const scaleRadius = () =>\n [\n // Deprecated since Tailwind CSS v4.0.0\n '',\n 'none',\n 'full',\n themeRadius,\n isArbitraryVariable,\n isArbitraryValue,\n ] as const\n const scaleBorderWidth = () =>\n ['', isNumber, isArbitraryVariableLength, isArbitraryLength] as const\n const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'] as const\n const scaleBlendMode = () =>\n [\n 'normal',\n 'multiply',\n 'screen',\n 'overlay',\n 'darken',\n 'lighten',\n 'color-dodge',\n 'color-burn',\n 'hard-light',\n 'soft-light',\n 'difference',\n 'exclusion',\n 'hue',\n 'saturation',\n 'color',\n 'luminosity',\n ] as const\n const scaleMaskImagePosition = () =>\n [isNumber, isPercent, isArbitraryVariablePosition, isArbitraryPosition] as const\n const scaleBlur = () =>\n [\n // Deprecated since Tailwind CSS v4.0.0\n '',\n 'none',\n themeBlur,\n isArbitraryVariable,\n isArbitraryValue,\n ] as const\n const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue] as const\n const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue] as const\n const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue] as const\n const scaleTranslate = () => [isFraction, 'full', ...scaleUnambiguousSpacing()] as const\n\n return {\n cacheSize: 500,\n theme: {\n animate: ['spin', 'ping', 'pulse', 'bounce'],\n aspect: ['video'],\n blur: [isTshirtSize],\n breakpoint: [isTshirtSize],\n color: [isAny],\n container: [isTshirtSize],\n 'drop-shadow': [isTshirtSize],\n ease: ['in', 'out', 'in-out'],\n font: [isAnyNonArbitrary],\n 'font-weight': [\n 'thin',\n 'extralight',\n 'light',\n 'normal',\n 'medium',\n 'semibold',\n 'bold',\n 'extrabold',\n 'black',\n ],\n 'inset-shadow': [isTshirtSize],\n leading: ['none', 'tight', 'snug', 'normal', 'relaxed', 'loose'],\n perspective: ['dramatic', 'near', 'normal', 'midrange', 'distant', 'none'],\n radius: [isTshirtSize],\n shadow: [isTshirtSize],\n spacing: ['px', isNumber],\n text: [isTshirtSize],\n 'text-shadow': [isTshirtSize],\n tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest'],\n },\n classGroups: {\n // --------------\n // --- Layout ---\n // --------------\n\n /**\n * Aspect Ratio\n * @see https://tailwindcss.com/docs/aspect-ratio\n */\n aspect: [\n {\n aspect: [\n 'auto',\n 'square',\n isFraction,\n isArbitraryValue,\n isArbitraryVariable,\n themeAspect,\n ],\n },\n ],\n /**\n * Container\n * @see https://tailwindcss.com/docs/container\n * @deprecated since Tailwind CSS v4.0.0\n */\n container: ['container'],\n /**\n * Columns\n * @see https://tailwindcss.com/docs/columns\n */\n columns: [\n { columns: [isNumber, isArbitraryValue, isArbitraryVariable, themeContainer] },\n ],\n /**\n * Break After\n * @see https://tailwindcss.com/docs/break-after\n */\n 'break-after': [{ 'break-after': scaleBreak() }],\n /**\n * Break Before\n * @see https://tailwindcss.com/docs/break-before\n */\n 'break-before': [{ 'break-before': scaleBreak() }],\n /**\n * Break Inside\n * @see https://tailwindcss.com/docs/break-inside\n */\n 'break-inside': [{ 'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column'] }],\n /**\n * Box Decoration Break\n * @see https://tailwindcss.com/docs/box-decoration-break\n */\n 'box-decoration': [{ 'box-decoration': ['slice', 'clone'] }],\n /**\n * Box Sizing\n * @see https://tailwindcss.com/docs/box-sizing\n */\n box: [{ box: ['border', 'content'] }],\n /**\n * Display\n * @see https://tailwindcss.com/docs/display\n */\n display: [\n 'block',\n 'inline-block',\n 'inline',\n 'flex',\n 'inline-flex',\n 'table',\n 'inline-table',\n 'table-caption',\n 'table-cell',\n 'table-column',\n 'table-column-group',\n 'table-footer-group',\n 'table-header-group',\n 'table-row-group',\n 'table-row',\n 'flow-root',\n 'grid',\n 'inline-grid',\n 'contents',\n 'list-item',\n 'hidden',\n ],\n /**\n * Screen Reader Only\n * @see https://tailwindcss.com/docs/display#screen-reader-only\n */\n sr: ['sr-only', 'not-sr-only'],\n /**\n * Floats\n * @see https://tailwindcss.com/docs/float\n */\n float: [{ float: ['right', 'left', 'none', 'start', 'end'] }],\n /**\n * Clear\n * @see https://tailwindcss.com/docs/clear\n */\n clear: [{ clear: ['left', 'right', 'both', 'none', 'start', 'end'] }],\n /**\n * Isolation\n * @see https://tailwindcss.com/docs/isolation\n */\n isolation: ['isolate', 'isolation-auto'],\n /**\n * Object Fit\n * @see https://tailwindcss.com/docs/object-fit\n */\n 'object-fit': [{ object: ['contain', 'cover', 'fill', 'none', 'scale-down'] }],\n /**\n * Object Position\n * @see https://tailwindcss.com/docs/object-position\n */\n 'object-position': [{ object: scalePositionWithArbitrary() }],\n /**\n * Overflow\n * @see https://tailwindcss.com/docs/overflow\n */\n overflow: [{ overflow: scaleOverflow() }],\n /**\n * Overflow X\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-x': [{ 'overflow-x': scaleOverflow() }],\n /**\n * Overflow Y\n * @see https://tailwindcss.com/docs/overflow\n */\n 'overflow-y': [{ 'overflow-y': scaleOverflow() }],\n /**\n * Overscroll Behavior\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n overscroll: [{ overscroll: scaleOverscroll() }],\n /**\n * Overscroll Behavior X\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-x': [{ 'overscroll-x': scaleOverscroll() }],\n /**\n * Overscroll Behavior Y\n * @see https://tailwindcss.com/docs/overscroll-behavior\n */\n 'overscroll-y': [{ 'overscroll-y': scaleOverscroll() }],\n /**\n * Position\n * @see https://tailwindcss.com/docs/position\n */\n position: ['static', 'fixed', 'absolute', 'relative', 'sticky'],\n /**\n * Top / Right / Bottom / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n inset: [{ inset: scaleInset() }],\n /**\n * Right / Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-x': [{ 'inset-x': scaleInset() }],\n /**\n * Top / Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n 'inset-y': [{ 'inset-y': scaleInset() }],\n /**\n * Start\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n start: [{ start: scaleInset() }],\n /**\n * End\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n end: [{ end: scaleInset() }],\n /**\n * Top\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n top: [{ top: scaleInset() }],\n /**\n * Right\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n right: [{ right: scaleInset() }],\n /**\n * Bottom\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n bottom: [{ bottom: scaleInset() }],\n /**\n * Left\n * @see https://tailwindcss.com/docs/top-right-bottom-left\n */\n left: [{ left: scaleInset() }],\n /**\n * Visibility\n * @see https://tailwindcss.com/docs/visibility\n */\n visibility: ['visible', 'invisible', 'collapse'],\n /**\n * Z-Index\n * @see https://tailwindcss.com/docs/z-index\n */\n z: [{ z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue] }],\n\n // ------------------------\n // --- Flexbox and Grid ---\n // ------------------------\n\n /**\n * Flex Basis\n * @see https://tailwindcss.com/docs/flex-basis\n */\n basis: [\n {\n basis: [\n isFraction,\n 'full',\n 'auto',\n themeContainer,\n ...scaleUnambiguousSpacing(),\n ],\n },\n ],\n /**\n * Flex Direction\n * @see https://tailwindcss.com/docs/flex-direction\n */\n 'flex-direction': [{ flex: ['row', 'row-reverse', 'col', 'col-reverse'] }],\n /**\n * Flex Wrap\n * @see https://tailwindcss.com/docs/flex-wrap\n */\n 'flex-wrap': [{ flex: ['nowrap', 'wrap', 'wrap-reverse'] }],\n /**\n * Flex\n * @see https://tailwindcss.com/docs/flex\n */\n flex: [{ flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue] }],\n /**\n * Flex Grow\n * @see https://tailwindcss.com/docs/flex-grow\n */\n grow: [{ grow: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Flex Shrink\n * @see https://tailwindcss.com/docs/flex-shrink\n */\n shrink: [{ shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Order\n * @see https://tailwindcss.com/docs/order\n */\n order: [\n {\n order: [\n isInteger,\n 'first',\n 'last',\n 'none',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Grid Template Columns\n * @see https://tailwindcss.com/docs/grid-template-columns\n */\n 'grid-cols': [{ 'grid-cols': scaleGridTemplateColsRows() }],\n /**\n * Grid Column Start / End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start-end': [{ col: scaleGridColRowStartAndEnd() }],\n /**\n * Grid Column Start\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-start': [{ 'col-start': scaleGridColRowStartOrEnd() }],\n /**\n * Grid Column End\n * @see https://tailwindcss.com/docs/grid-column\n */\n 'col-end': [{ 'col-end': scaleGridColRowStartOrEnd() }],\n /**\n * Grid Template Rows\n * @see https://tailwindcss.com/docs/grid-template-rows\n */\n 'grid-rows': [{ 'grid-rows': scaleGridTemplateColsRows() }],\n /**\n * Grid Row Start / End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start-end': [{ row: scaleGridColRowStartAndEnd() }],\n /**\n * Grid Row Start\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-start': [{ 'row-start': scaleGridColRowStartOrEnd() }],\n /**\n * Grid Row End\n * @see https://tailwindcss.com/docs/grid-row\n */\n 'row-end': [{ 'row-end': scaleGridColRowStartOrEnd() }],\n /**\n * Grid Auto Flow\n * @see https://tailwindcss.com/docs/grid-auto-flow\n */\n 'grid-flow': [{ 'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense'] }],\n /**\n * Grid Auto Columns\n * @see https://tailwindcss.com/docs/grid-auto-columns\n */\n 'auto-cols': [{ 'auto-cols': scaleGridAutoColsRows() }],\n /**\n * Grid Auto Rows\n * @see https://tailwindcss.com/docs/grid-auto-rows\n */\n 'auto-rows': [{ 'auto-rows': scaleGridAutoColsRows() }],\n /**\n * Gap\n * @see https://tailwindcss.com/docs/gap\n */\n gap: [{ gap: scaleUnambiguousSpacing() }],\n /**\n * Gap X\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-x': [{ 'gap-x': scaleUnambiguousSpacing() }],\n /**\n * Gap Y\n * @see https://tailwindcss.com/docs/gap\n */\n 'gap-y': [{ 'gap-y': scaleUnambiguousSpacing() }],\n /**\n * Justify Content\n * @see https://tailwindcss.com/docs/justify-content\n */\n 'justify-content': [{ justify: [...scaleAlignPrimaryAxis(), 'normal'] }],\n /**\n * Justify Items\n * @see https://tailwindcss.com/docs/justify-items\n */\n 'justify-items': [{ 'justify-items': [...scaleAlignSecondaryAxis(), 'normal'] }],\n /**\n * Justify Self\n * @see https://tailwindcss.com/docs/justify-self\n */\n 'justify-self': [{ 'justify-self': ['auto', ...scaleAlignSecondaryAxis()] }],\n /**\n * Align Content\n * @see https://tailwindcss.com/docs/align-content\n */\n 'align-content': [{ content: ['normal', ...scaleAlignPrimaryAxis()] }],\n /**\n * Align Items\n * @see https://tailwindcss.com/docs/align-items\n */\n 'align-items': [{ items: [...scaleAlignSecondaryAxis(), { baseline: ['', 'last'] }] }],\n /**\n * Align Self\n * @see https://tailwindcss.com/docs/align-self\n */\n 'align-self': [\n { self: ['auto', ...scaleAlignSecondaryAxis(), { baseline: ['', 'last'] }] },\n ],\n /**\n * Place Content\n * @see https://tailwindcss.com/docs/place-content\n */\n 'place-content': [{ 'place-content': scaleAlignPrimaryAxis() }],\n /**\n * Place Items\n * @see https://tailwindcss.com/docs/place-items\n */\n 'place-items': [{ 'place-items': [...scaleAlignSecondaryAxis(), 'baseline'] }],\n /**\n * Place Self\n * @see https://tailwindcss.com/docs/place-self\n */\n 'place-self': [{ 'place-self': ['auto', ...scaleAlignSecondaryAxis()] }],\n // Spacing\n /**\n * Padding\n * @see https://tailwindcss.com/docs/padding\n */\n p: [{ p: scaleUnambiguousSpacing() }],\n /**\n * Padding X\n * @see https://tailwindcss.com/docs/padding\n */\n px: [{ px: scaleUnambiguousSpacing() }],\n /**\n * Padding Y\n * @see https://tailwindcss.com/docs/padding\n */\n py: [{ py: scaleUnambiguousSpacing() }],\n /**\n * Padding Start\n * @see https://tailwindcss.com/docs/padding\n */\n ps: [{ ps: scaleUnambiguousSpacing() }],\n /**\n * Padding End\n * @see https://tailwindcss.com/docs/padding\n */\n pe: [{ pe: scaleUnambiguousSpacing() }],\n /**\n * Padding Top\n * @see https://tailwindcss.com/docs/padding\n */\n pt: [{ pt: scaleUnambiguousSpacing() }],\n /**\n * Padding Right\n * @see https://tailwindcss.com/docs/padding\n */\n pr: [{ pr: scaleUnambiguousSpacing() }],\n /**\n * Padding Bottom\n * @see https://tailwindcss.com/docs/padding\n */\n pb: [{ pb: scaleUnambiguousSpacing() }],\n /**\n * Padding Left\n * @see https://tailwindcss.com/docs/padding\n */\n pl: [{ pl: scaleUnambiguousSpacing() }],\n /**\n * Margin\n * @see https://tailwindcss.com/docs/margin\n */\n m: [{ m: scaleMargin() }],\n /**\n * Margin X\n * @see https://tailwindcss.com/docs/margin\n */\n mx: [{ mx: scaleMargin() }],\n /**\n * Margin Y\n * @see https://tailwindcss.com/docs/margin\n */\n my: [{ my: scaleMargin() }],\n /**\n * Margin Start\n * @see https://tailwindcss.com/docs/margin\n */\n ms: [{ ms: scaleMargin() }],\n /**\n * Margin End\n * @see https://tailwindcss.com/docs/margin\n */\n me: [{ me: scaleMargin() }],\n /**\n * Margin Top\n * @see https://tailwindcss.com/docs/margin\n */\n mt: [{ mt: scaleMargin() }],\n /**\n * Margin Right\n * @see https://tailwindcss.com/docs/margin\n */\n mr: [{ mr: scaleMargin() }],\n /**\n * Margin Bottom\n * @see https://tailwindcss.com/docs/margin\n */\n mb: [{ mb: scaleMargin() }],\n /**\n * Margin Left\n * @see https://tailwindcss.com/docs/margin\n */\n ml: [{ ml: scaleMargin() }],\n /**\n * Space Between X\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x': [{ 'space-x': scaleUnambiguousSpacing() }],\n /**\n * Space Between X Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-x-reverse': ['space-x-reverse'],\n /**\n * Space Between Y\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y': [{ 'space-y': scaleUnambiguousSpacing() }],\n /**\n * Space Between Y Reverse\n * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n */\n 'space-y-reverse': ['space-y-reverse'],\n\n // --------------\n // --- Sizing ---\n // --------------\n\n /**\n * Size\n * @see https://tailwindcss.com/docs/width#setting-both-width-and-height\n */\n size: [{ size: scaleSizing() }],\n /**\n * Width\n * @see https://tailwindcss.com/docs/width\n */\n w: [{ w: [themeContainer, 'screen', ...scaleSizing()] }],\n /**\n * Min-Width\n * @see https://tailwindcss.com/docs/min-width\n */\n 'min-w': [\n {\n 'min-w': [\n themeContainer,\n 'screen',\n /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'none',\n ...scaleSizing(),\n ],\n },\n ],\n /**\n * Max-Width\n * @see https://tailwindcss.com/docs/max-width\n */\n 'max-w': [\n {\n 'max-w': [\n themeContainer,\n 'screen',\n 'none',\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n 'prose',\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n { screen: [themeBreakpoint] },\n ...scaleSizing(),\n ],\n },\n ],\n /**\n * Height\n * @see https://tailwindcss.com/docs/height\n */\n h: [{ h: ['screen', 'lh', ...scaleSizing()] }],\n /**\n * Min-Height\n * @see https://tailwindcss.com/docs/min-height\n */\n 'min-h': [{ 'min-h': ['screen', 'lh', 'none', ...scaleSizing()] }],\n /**\n * Max-Height\n * @see https://tailwindcss.com/docs/max-height\n */\n 'max-h': [{ 'max-h': ['screen', 'lh', ...scaleSizing()] }],\n\n // ------------------\n // --- Typography ---\n // ------------------\n\n /**\n * Font Size\n * @see https://tailwindcss.com/docs/font-size\n */\n 'font-size': [\n { text: ['base', themeText, isArbitraryVariableLength, isArbitraryLength] },\n ],\n /**\n * Font Smoothing\n * @see https://tailwindcss.com/docs/font-smoothing\n */\n 'font-smoothing': ['antialiased', 'subpixel-antialiased'],\n /**\n * Font Style\n * @see https://tailwindcss.com/docs/font-style\n */\n 'font-style': ['italic', 'not-italic'],\n /**\n * Font Weight\n * @see https://tailwindcss.com/docs/font-weight\n */\n 'font-weight': [{ font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber] }],\n /**\n * Font Stretch\n * @see https://tailwindcss.com/docs/font-stretch\n */\n 'font-stretch': [\n {\n 'font-stretch': [\n 'ultra-condensed',\n 'extra-condensed',\n 'condensed',\n 'semi-condensed',\n 'normal',\n 'semi-expanded',\n 'expanded',\n 'extra-expanded',\n 'ultra-expanded',\n isPercent,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Font Family\n * @see https://tailwindcss.com/docs/font-family\n */\n 'font-family': [{ font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont] }],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-normal': ['normal-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-ordinal': ['ordinal'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-slashed-zero': ['slashed-zero'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-figure': ['lining-nums', 'oldstyle-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-spacing': ['proportional-nums', 'tabular-nums'],\n /**\n * Font Variant Numeric\n * @see https://tailwindcss.com/docs/font-variant-numeric\n */\n 'fvn-fraction': ['diagonal-fractions', 'stacked-fractions'],\n /**\n * Letter Spacing\n * @see https://tailwindcss.com/docs/letter-spacing\n */\n tracking: [{ tracking: [themeTracking, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Line Clamp\n * @see https://tailwindcss.com/docs/line-clamp\n */\n 'line-clamp': [\n { 'line-clamp': [isNumber, 'none', isArbitraryVariable, isArbitraryNumber] },\n ],\n /**\n * Line Height\n * @see https://tailwindcss.com/docs/line-height\n */\n leading: [\n {\n leading: [\n /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n themeLeading,\n ...scaleUnambiguousSpacing(),\n ],\n },\n ],\n /**\n * List Style Image\n * @see https://tailwindcss.com/docs/list-style-image\n */\n 'list-image': [{ 'list-image': ['none', isArbitraryVariable, isArbitraryValue] }],\n /**\n * List Style Position\n * @see https://tailwindcss.com/docs/list-style-position\n */\n 'list-style-position': [{ list: ['inside', 'outside'] }],\n /**\n * List Style Type\n * @see https://tailwindcss.com/docs/list-style-type\n */\n 'list-style-type': [\n { list: ['disc', 'decimal', 'none', isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Text Alignment\n * @see https://tailwindcss.com/docs/text-align\n */\n 'text-alignment': [{ text: ['left', 'center', 'right', 'justify', 'start', 'end'] }],\n /**\n * Placeholder Color\n * @deprecated since Tailwind CSS v3.0.0\n * @see https://v3.tailwindcss.com/docs/placeholder-color\n */\n 'placeholder-color': [{ placeholder: scaleColor() }],\n /**\n * Text Color\n * @see https://tailwindcss.com/docs/text-color\n */\n 'text-color': [{ text: scaleColor() }],\n /**\n * Text Decoration\n * @see https://tailwindcss.com/docs/text-decoration\n */\n 'text-decoration': ['underline', 'overline', 'line-through', 'no-underline'],\n /**\n * Text Decoration Style\n * @see https://tailwindcss.com/docs/text-decoration-style\n */\n 'text-decoration-style': [{ decoration: [...scaleLineStyle(), 'wavy'] }],\n /**\n * Text Decoration Thickness\n * @see https://tailwindcss.com/docs/text-decoration-thickness\n */\n 'text-decoration-thickness': [\n {\n decoration: [\n isNumber,\n 'from-font',\n 'auto',\n isArbitraryVariable,\n isArbitraryLength,\n ],\n },\n ],\n /**\n * Text Decoration Color\n * @see https://tailwindcss.com/docs/text-decoration-color\n */\n 'text-decoration-color': [{ decoration: scaleColor() }],\n /**\n * Text Underline Offset\n * @see https://tailwindcss.com/docs/text-underline-offset\n */\n 'underline-offset': [\n { 'underline-offset': [isNumber, 'auto', isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Text Transform\n * @see https://tailwindcss.com/docs/text-transform\n */\n 'text-transform': ['uppercase', 'lowercase', 'capitalize', 'normal-case'],\n /**\n * Text Overflow\n * @see https://tailwindcss.com/docs/text-overflow\n */\n 'text-overflow': ['truncate', 'text-ellipsis', 'text-clip'],\n /**\n * Text Wrap\n * @see https://tailwindcss.com/docs/text-wrap\n */\n 'text-wrap': [{ text: ['wrap', 'nowrap', 'balance', 'pretty'] }],\n /**\n * Text Indent\n * @see https://tailwindcss.com/docs/text-indent\n */\n indent: [{ indent: scaleUnambiguousSpacing() }],\n /**\n * Vertical Alignment\n * @see https://tailwindcss.com/docs/vertical-align\n */\n 'vertical-align': [\n {\n align: [\n 'baseline',\n 'top',\n 'middle',\n 'bottom',\n 'text-top',\n 'text-bottom',\n 'sub',\n 'super',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Whitespace\n * @see https://tailwindcss.com/docs/whitespace\n */\n whitespace: [\n { whitespace: ['normal', 'nowrap', 'pre', 'pre-line', 'pre-wrap', 'break-spaces'] },\n ],\n /**\n * Word Break\n * @see https://tailwindcss.com/docs/word-break\n */\n break: [{ break: ['normal', 'words', 'all', 'keep'] }],\n /**\n * Overflow Wrap\n * @see https://tailwindcss.com/docs/overflow-wrap\n */\n wrap: [{ wrap: ['break-word', 'anywhere', 'normal'] }],\n /**\n * Hyphens\n * @see https://tailwindcss.com/docs/hyphens\n */\n hyphens: [{ hyphens: ['none', 'manual', 'auto'] }],\n /**\n * Content\n * @see https://tailwindcss.com/docs/content\n */\n content: [{ content: ['none', isArbitraryVariable, isArbitraryValue] }],\n\n // -------------------\n // --- Backgrounds ---\n // -------------------\n\n /**\n * Background Attachment\n * @see https://tailwindcss.com/docs/background-attachment\n */\n 'bg-attachment': [{ bg: ['fixed', 'local', 'scroll'] }],\n /**\n * Background Clip\n * @see https://tailwindcss.com/docs/background-clip\n */\n 'bg-clip': [{ 'bg-clip': ['border', 'padding', 'content', 'text'] }],\n /**\n * Background Origin\n * @see https://tailwindcss.com/docs/background-origin\n */\n 'bg-origin': [{ 'bg-origin': ['border', 'padding', 'content'] }],\n /**\n * Background Position\n * @see https://tailwindcss.com/docs/background-position\n */\n 'bg-position': [{ bg: scaleBgPosition() }],\n /**\n * Background Repeat\n * @see https://tailwindcss.com/docs/background-repeat\n */\n 'bg-repeat': [{ bg: scaleBgRepeat() }],\n /**\n * Background Size\n * @see https://tailwindcss.com/docs/background-size\n */\n 'bg-size': [{ bg: scaleBgSize() }],\n /**\n * Background Image\n * @see https://tailwindcss.com/docs/background-image\n */\n 'bg-image': [\n {\n bg: [\n 'none',\n {\n linear: [\n { to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl'] },\n isInteger,\n isArbitraryVariable,\n isArbitraryValue,\n ],\n radial: ['', isArbitraryVariable, isArbitraryValue],\n conic: [isInteger, isArbitraryVariable, isArbitraryValue],\n },\n isArbitraryVariableImage,\n isArbitraryImage,\n ],\n },\n ],\n /**\n * Background Color\n * @see https://tailwindcss.com/docs/background-color\n */\n 'bg-color': [{ bg: scaleColor() }],\n /**\n * Gradient Color Stops From Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from-pos': [{ from: scaleGradientStopPosition() }],\n /**\n * Gradient Color Stops Via Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via-pos': [{ via: scaleGradientStopPosition() }],\n /**\n * Gradient Color Stops To Position\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to-pos': [{ to: scaleGradientStopPosition() }],\n /**\n * Gradient Color Stops From\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-from': [{ from: scaleColor() }],\n /**\n * Gradient Color Stops Via\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-via': [{ via: scaleColor() }],\n /**\n * Gradient Color Stops To\n * @see https://tailwindcss.com/docs/gradient-color-stops\n */\n 'gradient-to': [{ to: scaleColor() }],\n\n // ---------------\n // --- Borders ---\n // ---------------\n\n /**\n * Border Radius\n * @see https://tailwindcss.com/docs/border-radius\n */\n rounded: [{ rounded: scaleRadius() }],\n /**\n * Border Radius Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-s': [{ 'rounded-s': scaleRadius() }],\n /**\n * Border Radius End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-e': [{ 'rounded-e': scaleRadius() }],\n /**\n * Border Radius Top\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-t': [{ 'rounded-t': scaleRadius() }],\n /**\n * Border Radius Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-r': [{ 'rounded-r': scaleRadius() }],\n /**\n * Border Radius Bottom\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-b': [{ 'rounded-b': scaleRadius() }],\n /**\n * Border Radius Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-l': [{ 'rounded-l': scaleRadius() }],\n /**\n * Border Radius Start Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ss': [{ 'rounded-ss': scaleRadius() }],\n /**\n * Border Radius Start End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-se': [{ 'rounded-se': scaleRadius() }],\n /**\n * Border Radius End End\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-ee': [{ 'rounded-ee': scaleRadius() }],\n /**\n * Border Radius End Start\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-es': [{ 'rounded-es': scaleRadius() }],\n /**\n * Border Radius Top Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tl': [{ 'rounded-tl': scaleRadius() }],\n /**\n * Border Radius Top Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-tr': [{ 'rounded-tr': scaleRadius() }],\n /**\n * Border Radius Bottom Right\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-br': [{ 'rounded-br': scaleRadius() }],\n /**\n * Border Radius Bottom Left\n * @see https://tailwindcss.com/docs/border-radius\n */\n 'rounded-bl': [{ 'rounded-bl': scaleRadius() }],\n /**\n * Border Width\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w': [{ border: scaleBorderWidth() }],\n /**\n * Border Width X\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-x': [{ 'border-x': scaleBorderWidth() }],\n /**\n * Border Width Y\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-y': [{ 'border-y': scaleBorderWidth() }],\n /**\n * Border Width Start\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-s': [{ 'border-s': scaleBorderWidth() }],\n /**\n * Border Width End\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-e': [{ 'border-e': scaleBorderWidth() }],\n /**\n * Border Width Top\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-t': [{ 'border-t': scaleBorderWidth() }],\n /**\n * Border Width Right\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-r': [{ 'border-r': scaleBorderWidth() }],\n /**\n * Border Width Bottom\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-b': [{ 'border-b': scaleBorderWidth() }],\n /**\n * Border Width Left\n * @see https://tailwindcss.com/docs/border-width\n */\n 'border-w-l': [{ 'border-l': scaleBorderWidth() }],\n /**\n * Divide Width X\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x': [{ 'divide-x': scaleBorderWidth() }],\n /**\n * Divide Width X Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-x-reverse': ['divide-x-reverse'],\n /**\n * Divide Width Y\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y': [{ 'divide-y': scaleBorderWidth() }],\n /**\n * Divide Width Y Reverse\n * @see https://tailwindcss.com/docs/border-width#between-children\n */\n 'divide-y-reverse': ['divide-y-reverse'],\n /**\n * Border Style\n * @see https://tailwindcss.com/docs/border-style\n */\n 'border-style': [{ border: [...scaleLineStyle(), 'hidden', 'none'] }],\n /**\n * Divide Style\n * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style\n */\n 'divide-style': [{ divide: [...scaleLineStyle(), 'hidden', 'none'] }],\n /**\n * Border Color\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color': [{ border: scaleColor() }],\n /**\n * Border Color X\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-x': [{ 'border-x': scaleColor() }],\n /**\n * Border Color Y\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-y': [{ 'border-y': scaleColor() }],\n /**\n * Border Color S\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-s': [{ 'border-s': scaleColor() }],\n /**\n * Border Color E\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-e': [{ 'border-e': scaleColor() }],\n /**\n * Border Color Top\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-t': [{ 'border-t': scaleColor() }],\n /**\n * Border Color Right\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-r': [{ 'border-r': scaleColor() }],\n /**\n * Border Color Bottom\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-b': [{ 'border-b': scaleColor() }],\n /**\n * Border Color Left\n * @see https://tailwindcss.com/docs/border-color\n */\n 'border-color-l': [{ 'border-l': scaleColor() }],\n /**\n * Divide Color\n * @see https://tailwindcss.com/docs/divide-color\n */\n 'divide-color': [{ divide: scaleColor() }],\n /**\n * Outline Style\n * @see https://tailwindcss.com/docs/outline-style\n */\n 'outline-style': [{ outline: [...scaleLineStyle(), 'none', 'hidden'] }],\n /**\n * Outline Offset\n * @see https://tailwindcss.com/docs/outline-offset\n */\n 'outline-offset': [\n { 'outline-offset': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Outline Width\n * @see https://tailwindcss.com/docs/outline-width\n */\n 'outline-w': [\n { outline: ['', isNumber, isArbitraryVariableLength, isArbitraryLength] },\n ],\n /**\n * Outline Color\n * @see https://tailwindcss.com/docs/outline-color\n */\n 'outline-color': [{ outline: scaleColor() }],\n\n // ---------------\n // --- Effects ---\n // ---------------\n\n /**\n * Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow\n */\n shadow: [\n {\n shadow: [\n // Deprecated since Tailwind CSS v4.0.0\n '',\n 'none',\n themeShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow,\n ],\n },\n ],\n /**\n * Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color\n */\n 'shadow-color': [{ shadow: scaleColor() }],\n /**\n * Inset Box Shadow\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow\n */\n 'inset-shadow': [\n {\n 'inset-shadow': [\n 'none',\n themeInsetShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow,\n ],\n },\n ],\n /**\n * Inset Box Shadow Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-shadow-color\n */\n 'inset-shadow-color': [{ 'inset-shadow': scaleColor() }],\n /**\n * Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring\n */\n 'ring-w': [{ ring: scaleBorderWidth() }],\n /**\n * Ring Width Inset\n * @see https://v3.tailwindcss.com/docs/ring-width#inset-rings\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-w-inset': ['ring-inset'],\n /**\n * Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-ring-color\n */\n 'ring-color': [{ ring: scaleColor() }],\n /**\n * Ring Offset Width\n * @see https://v3.tailwindcss.com/docs/ring-offset-width\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-w': [{ 'ring-offset': [isNumber, isArbitraryLength] }],\n /**\n * Ring Offset Color\n * @see https://v3.tailwindcss.com/docs/ring-offset-color\n * @deprecated since Tailwind CSS v4.0.0\n * @see https://github.com/tailwindlabs/tailwindcss/blob/v4.0.0/packages/tailwindcss/src/utilities.ts#L4158\n */\n 'ring-offset-color': [{ 'ring-offset': scaleColor() }],\n /**\n * Inset Ring Width\n * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring\n */\n 'inset-ring-w': [{ 'inset-ring': scaleBorderWidth() }],\n /**\n * Inset Ring Color\n * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color\n */\n 'inset-ring-color': [{ 'inset-ring': scaleColor() }],\n /**\n * Text Shadow\n * @see https://tailwindcss.com/docs/text-shadow\n */\n 'text-shadow': [\n {\n 'text-shadow': [\n 'none',\n themeTextShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow,\n ],\n },\n ],\n /**\n * Text Shadow Color\n * @see https://tailwindcss.com/docs/text-shadow#setting-the-shadow-color\n */\n 'text-shadow-color': [{ 'text-shadow': scaleColor() }],\n /**\n * Opacity\n * @see https://tailwindcss.com/docs/opacity\n */\n opacity: [{ opacity: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Mix Blend Mode\n * @see https://tailwindcss.com/docs/mix-blend-mode\n */\n 'mix-blend': [{ 'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter'] }],\n /**\n * Background Blend Mode\n * @see https://tailwindcss.com/docs/background-blend-mode\n */\n 'bg-blend': [{ 'bg-blend': scaleBlendMode() }],\n /**\n * Mask Clip\n * @see https://tailwindcss.com/docs/mask-clip\n */\n 'mask-clip': [\n { 'mask-clip': ['border', 'padding', 'content', 'fill', 'stroke', 'view'] },\n 'mask-no-clip',\n ],\n /**\n * Mask Composite\n * @see https://tailwindcss.com/docs/mask-composite\n */\n 'mask-composite': [{ mask: ['add', 'subtract', 'intersect', 'exclude'] }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image-linear-pos': [{ 'mask-linear': [isNumber] }],\n 'mask-image-linear-from-pos': [{ 'mask-linear-from': scaleMaskImagePosition() }],\n 'mask-image-linear-to-pos': [{ 'mask-linear-to': scaleMaskImagePosition() }],\n 'mask-image-linear-from-color': [{ 'mask-linear-from': scaleColor() }],\n 'mask-image-linear-to-color': [{ 'mask-linear-to': scaleColor() }],\n 'mask-image-t-from-pos': [{ 'mask-t-from': scaleMaskImagePosition() }],\n 'mask-image-t-to-pos': [{ 'mask-t-to': scaleMaskImagePosition() }],\n 'mask-image-t-from-color': [{ 'mask-t-from': scaleColor() }],\n 'mask-image-t-to-color': [{ 'mask-t-to': scaleColor() }],\n 'mask-image-r-from-pos': [{ 'mask-r-from': scaleMaskImagePosition() }],\n 'mask-image-r-to-pos': [{ 'mask-r-to': scaleMaskImagePosition() }],\n 'mask-image-r-from-color': [{ 'mask-r-from': scaleColor() }],\n 'mask-image-r-to-color': [{ 'mask-r-to': scaleColor() }],\n 'mask-image-b-from-pos': [{ 'mask-b-from': scaleMaskImagePosition() }],\n 'mask-image-b-to-pos': [{ 'mask-b-to': scaleMaskImagePosition() }],\n 'mask-image-b-from-color': [{ 'mask-b-from': scaleColor() }],\n 'mask-image-b-to-color': [{ 'mask-b-to': scaleColor() }],\n 'mask-image-l-from-pos': [{ 'mask-l-from': scaleMaskImagePosition() }],\n 'mask-image-l-to-pos': [{ 'mask-l-to': scaleMaskImagePosition() }],\n 'mask-image-l-from-color': [{ 'mask-l-from': scaleColor() }],\n 'mask-image-l-to-color': [{ 'mask-l-to': scaleColor() }],\n 'mask-image-x-from-pos': [{ 'mask-x-from': scaleMaskImagePosition() }],\n 'mask-image-x-to-pos': [{ 'mask-x-to': scaleMaskImagePosition() }],\n 'mask-image-x-from-color': [{ 'mask-x-from': scaleColor() }],\n 'mask-image-x-to-color': [{ 'mask-x-to': scaleColor() }],\n 'mask-image-y-from-pos': [{ 'mask-y-from': scaleMaskImagePosition() }],\n 'mask-image-y-to-pos': [{ 'mask-y-to': scaleMaskImagePosition() }],\n 'mask-image-y-from-color': [{ 'mask-y-from': scaleColor() }],\n 'mask-image-y-to-color': [{ 'mask-y-to': scaleColor() }],\n 'mask-image-radial': [{ 'mask-radial': [isArbitraryVariable, isArbitraryValue] }],\n 'mask-image-radial-from-pos': [{ 'mask-radial-from': scaleMaskImagePosition() }],\n 'mask-image-radial-to-pos': [{ 'mask-radial-to': scaleMaskImagePosition() }],\n 'mask-image-radial-from-color': [{ 'mask-radial-from': scaleColor() }],\n 'mask-image-radial-to-color': [{ 'mask-radial-to': scaleColor() }],\n 'mask-image-radial-shape': [{ 'mask-radial': ['circle', 'ellipse'] }],\n 'mask-image-radial-size': [\n { 'mask-radial': [{ closest: ['side', 'corner'], farthest: ['side', 'corner'] }] },\n ],\n 'mask-image-radial-pos': [{ 'mask-radial-at': scalePosition() }],\n 'mask-image-conic-pos': [{ 'mask-conic': [isNumber] }],\n 'mask-image-conic-from-pos': [{ 'mask-conic-from': scaleMaskImagePosition() }],\n 'mask-image-conic-to-pos': [{ 'mask-conic-to': scaleMaskImagePosition() }],\n 'mask-image-conic-from-color': [{ 'mask-conic-from': scaleColor() }],\n 'mask-image-conic-to-color': [{ 'mask-conic-to': scaleColor() }],\n /**\n * Mask Mode\n * @see https://tailwindcss.com/docs/mask-mode\n */\n 'mask-mode': [{ mask: ['alpha', 'luminance', 'match'] }],\n /**\n * Mask Origin\n * @see https://tailwindcss.com/docs/mask-origin\n */\n 'mask-origin': [\n { 'mask-origin': ['border', 'padding', 'content', 'fill', 'stroke', 'view'] },\n ],\n /**\n * Mask Position\n * @see https://tailwindcss.com/docs/mask-position\n */\n 'mask-position': [{ mask: scaleBgPosition() }],\n /**\n * Mask Repeat\n * @see https://tailwindcss.com/docs/mask-repeat\n */\n 'mask-repeat': [{ mask: scaleBgRepeat() }],\n /**\n * Mask Size\n * @see https://tailwindcss.com/docs/mask-size\n */\n 'mask-size': [{ mask: scaleBgSize() }],\n /**\n * Mask Type\n * @see https://tailwindcss.com/docs/mask-type\n */\n 'mask-type': [{ 'mask-type': ['alpha', 'luminance'] }],\n /**\n * Mask Image\n * @see https://tailwindcss.com/docs/mask-image\n */\n 'mask-image': [{ mask: ['none', isArbitraryVariable, isArbitraryValue] }],\n\n // ---------------\n // --- Filters ---\n // ---------------\n\n /**\n * Filter\n * @see https://tailwindcss.com/docs/filter\n */\n filter: [\n {\n filter: [\n // Deprecated since Tailwind CSS v3.0.0\n '',\n 'none',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Blur\n * @see https://tailwindcss.com/docs/blur\n */\n blur: [{ blur: scaleBlur() }],\n /**\n * Brightness\n * @see https://tailwindcss.com/docs/brightness\n */\n brightness: [{ brightness: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Contrast\n * @see https://tailwindcss.com/docs/contrast\n */\n contrast: [{ contrast: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Drop Shadow\n * @see https://tailwindcss.com/docs/drop-shadow\n */\n 'drop-shadow': [\n {\n 'drop-shadow': [\n // Deprecated since Tailwind CSS v4.0.0\n '',\n 'none',\n themeDropShadow,\n isArbitraryVariableShadow,\n isArbitraryShadow,\n ],\n },\n ],\n /**\n * Drop Shadow Color\n * @see https://tailwindcss.com/docs/filter-drop-shadow#setting-the-shadow-color\n */\n 'drop-shadow-color': [{ 'drop-shadow': scaleColor() }],\n /**\n * Grayscale\n * @see https://tailwindcss.com/docs/grayscale\n */\n grayscale: [{ grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Hue Rotate\n * @see https://tailwindcss.com/docs/hue-rotate\n */\n 'hue-rotate': [{ 'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Invert\n * @see https://tailwindcss.com/docs/invert\n */\n invert: [{ invert: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Saturate\n * @see https://tailwindcss.com/docs/saturate\n */\n saturate: [{ saturate: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Sepia\n * @see https://tailwindcss.com/docs/sepia\n */\n sepia: [{ sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Backdrop Filter\n * @see https://tailwindcss.com/docs/backdrop-filter\n */\n 'backdrop-filter': [\n {\n 'backdrop-filter': [\n // Deprecated since Tailwind CSS v3.0.0\n '',\n 'none',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Backdrop Blur\n * @see https://tailwindcss.com/docs/backdrop-blur\n */\n 'backdrop-blur': [{ 'backdrop-blur': scaleBlur() }],\n /**\n * Backdrop Brightness\n * @see https://tailwindcss.com/docs/backdrop-brightness\n */\n 'backdrop-brightness': [\n { 'backdrop-brightness': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Contrast\n * @see https://tailwindcss.com/docs/backdrop-contrast\n */\n 'backdrop-contrast': [\n { 'backdrop-contrast': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Grayscale\n * @see https://tailwindcss.com/docs/backdrop-grayscale\n */\n 'backdrop-grayscale': [\n { 'backdrop-grayscale': ['', isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Hue Rotate\n * @see https://tailwindcss.com/docs/backdrop-hue-rotate\n */\n 'backdrop-hue-rotate': [\n { 'backdrop-hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Invert\n * @see https://tailwindcss.com/docs/backdrop-invert\n */\n 'backdrop-invert': [\n { 'backdrop-invert': ['', isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Opacity\n * @see https://tailwindcss.com/docs/backdrop-opacity\n */\n 'backdrop-opacity': [\n { 'backdrop-opacity': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Saturate\n * @see https://tailwindcss.com/docs/backdrop-saturate\n */\n 'backdrop-saturate': [\n { 'backdrop-saturate': [isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Backdrop Sepia\n * @see https://tailwindcss.com/docs/backdrop-sepia\n */\n 'backdrop-sepia': [\n { 'backdrop-sepia': ['', isNumber, isArbitraryVariable, isArbitraryValue] },\n ],\n\n // --------------\n // --- Tables ---\n // --------------\n\n /**\n * Border Collapse\n * @see https://tailwindcss.com/docs/border-collapse\n */\n 'border-collapse': [{ border: ['collapse', 'separate'] }],\n /**\n * Border Spacing\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing': [{ 'border-spacing': scaleUnambiguousSpacing() }],\n /**\n * Border Spacing X\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-x': [{ 'border-spacing-x': scaleUnambiguousSpacing() }],\n /**\n * Border Spacing Y\n * @see https://tailwindcss.com/docs/border-spacing\n */\n 'border-spacing-y': [{ 'border-spacing-y': scaleUnambiguousSpacing() }],\n /**\n * Table Layout\n * @see https://tailwindcss.com/docs/table-layout\n */\n 'table-layout': [{ table: ['auto', 'fixed'] }],\n /**\n * Caption Side\n * @see https://tailwindcss.com/docs/caption-side\n */\n caption: [{ caption: ['top', 'bottom'] }],\n\n // ---------------------------------\n // --- Transitions and Animation ---\n // ---------------------------------\n\n /**\n * Transition Property\n * @see https://tailwindcss.com/docs/transition-property\n */\n transition: [\n {\n transition: [\n '',\n 'all',\n 'colors',\n 'opacity',\n 'shadow',\n 'transform',\n 'none',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Transition Behavior\n * @see https://tailwindcss.com/docs/transition-behavior\n */\n 'transition-behavior': [{ transition: ['normal', 'discrete'] }],\n /**\n * Transition Duration\n * @see https://tailwindcss.com/docs/transition-duration\n */\n duration: [{ duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue] }],\n /**\n * Transition Timing Function\n * @see https://tailwindcss.com/docs/transition-timing-function\n */\n ease: [\n { ease: ['linear', 'initial', themeEase, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Transition Delay\n * @see https://tailwindcss.com/docs/transition-delay\n */\n delay: [{ delay: [isNumber, isArbitraryVariable, isArbitraryValue] }],\n /**\n * Animation\n * @see https://tailwindcss.com/docs/animation\n */\n animate: [{ animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue] }],\n\n // ------------------\n // --- Transforms ---\n // ------------------\n\n /**\n * Backface Visibility\n * @see https://tailwindcss.com/docs/backface-visibility\n */\n backface: [{ backface: ['hidden', 'visible'] }],\n /**\n * Perspective\n * @see https://tailwindcss.com/docs/perspective\n */\n perspective: [\n { perspective: [themePerspective, isArbitraryVariable, isArbitraryValue] },\n ],\n /**\n * Perspective Origin\n * @see https://tailwindcss.com/docs/perspective-origin\n */\n 'perspective-origin': [{ 'perspective-origin': scalePositionWithArbitrary() }],\n /**\n * Rotate\n * @see https://tailwindcss.com/docs/rotate\n */\n rotate: [{ rotate: scaleRotate() }],\n /**\n * Rotate X\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-x': [{ 'rotate-x': scaleRotate() }],\n /**\n * Rotate Y\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-y': [{ 'rotate-y': scaleRotate() }],\n /**\n * Rotate Z\n * @see https://tailwindcss.com/docs/rotate\n */\n 'rotate-z': [{ 'rotate-z': scaleRotate() }],\n /**\n * Scale\n * @see https://tailwindcss.com/docs/scale\n */\n scale: [{ scale: scaleScale() }],\n /**\n * Scale X\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-x': [{ 'scale-x': scaleScale() }],\n /**\n * Scale Y\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-y': [{ 'scale-y': scaleScale() }],\n /**\n * Scale Z\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-z': [{ 'scale-z': scaleScale() }],\n /**\n * Scale 3D\n * @see https://tailwindcss.com/docs/scale\n */\n 'scale-3d': ['scale-3d'],\n /**\n * Skew\n * @see https://tailwindcss.com/docs/skew\n */\n skew: [{ skew: scaleSkew() }],\n /**\n * Skew X\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-x': [{ 'skew-x': scaleSkew() }],\n /**\n * Skew Y\n * @see https://tailwindcss.com/docs/skew\n */\n 'skew-y': [{ 'skew-y': scaleSkew() }],\n /**\n * Transform\n * @see https://tailwindcss.com/docs/transform\n */\n transform: [\n { transform: [isArbitraryVariable, isArbitraryValue, '', 'none', 'gpu', 'cpu'] },\n ],\n /**\n * Transform Origin\n * @see https://tailwindcss.com/docs/transform-origin\n */\n 'transform-origin': [{ origin: scalePositionWithArbitrary() }],\n /**\n * Transform Style\n * @see https://tailwindcss.com/docs/transform-style\n */\n 'transform-style': [{ transform: ['3d', 'flat'] }],\n /**\n * Translate\n * @see https://tailwindcss.com/docs/translate\n */\n translate: [{ translate: scaleTranslate() }],\n /**\n * Translate X\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-x': [{ 'translate-x': scaleTranslate() }],\n /**\n * Translate Y\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-y': [{ 'translate-y': scaleTranslate() }],\n /**\n * Translate Z\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-z': [{ 'translate-z': scaleTranslate() }],\n /**\n * Translate None\n * @see https://tailwindcss.com/docs/translate\n */\n 'translate-none': ['translate-none'],\n\n // ---------------------\n // --- Interactivity ---\n // ---------------------\n\n /**\n * Accent Color\n * @see https://tailwindcss.com/docs/accent-color\n */\n accent: [{ accent: scaleColor() }],\n /**\n * Appearance\n * @see https://tailwindcss.com/docs/appearance\n */\n appearance: [{ appearance: ['none', 'auto'] }],\n /**\n * Caret Color\n * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n */\n 'caret-color': [{ caret: scaleColor() }],\n /**\n * Color Scheme\n * @see https://tailwindcss.com/docs/color-scheme\n */\n 'color-scheme': [\n { scheme: ['normal', 'dark', 'light', 'light-dark', 'only-dark', 'only-light'] },\n ],\n /**\n * Cursor\n * @see https://tailwindcss.com/docs/cursor\n */\n cursor: [\n {\n cursor: [\n 'auto',\n 'default',\n 'pointer',\n 'wait',\n 'text',\n 'move',\n 'help',\n 'not-allowed',\n 'none',\n 'context-menu',\n 'progress',\n 'cell',\n 'crosshair',\n 'vertical-text',\n 'alias',\n 'copy',\n 'no-drop',\n 'grab',\n 'grabbing',\n 'all-scroll',\n 'col-resize',\n 'row-resize',\n 'n-resize',\n 'e-resize',\n 's-resize',\n 'w-resize',\n 'ne-resize',\n 'nw-resize',\n 'se-resize',\n 'sw-resize',\n 'ew-resize',\n 'ns-resize',\n 'nesw-resize',\n 'nwse-resize',\n 'zoom-in',\n 'zoom-out',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n /**\n * Field Sizing\n * @see https://tailwindcss.com/docs/field-sizing\n */\n 'field-sizing': [{ 'field-sizing': ['fixed', 'content'] }],\n /**\n * Pointer Events\n * @see https://tailwindcss.com/docs/pointer-events\n */\n 'pointer-events': [{ 'pointer-events': ['auto', 'none'] }],\n /**\n * Resize\n * @see https://tailwindcss.com/docs/resize\n */\n resize: [{ resize: ['none', '', 'y', 'x'] }],\n /**\n * Scroll Behavior\n * @see https://tailwindcss.com/docs/scroll-behavior\n */\n 'scroll-behavior': [{ scroll: ['auto', 'smooth'] }],\n /**\n * Scroll Margin\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-m': [{ 'scroll-m': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin X\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mx': [{ 'scroll-mx': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Y\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-my': [{ 'scroll-my': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Start\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ms': [{ 'scroll-ms': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin End\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-me': [{ 'scroll-me': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Top\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mt': [{ 'scroll-mt': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Right\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mr': [{ 'scroll-mr': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Bottom\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-mb': [{ 'scroll-mb': scaleUnambiguousSpacing() }],\n /**\n * Scroll Margin Left\n * @see https://tailwindcss.com/docs/scroll-margin\n */\n 'scroll-ml': [{ 'scroll-ml': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-p': [{ 'scroll-p': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding X\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-px': [{ 'scroll-px': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Y\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-py': [{ 'scroll-py': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Start\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-ps': [{ 'scroll-ps': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding End\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pe': [{ 'scroll-pe': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Top\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pt': [{ 'scroll-pt': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Right\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pr': [{ 'scroll-pr': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Bottom\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pb': [{ 'scroll-pb': scaleUnambiguousSpacing() }],\n /**\n * Scroll Padding Left\n * @see https://tailwindcss.com/docs/scroll-padding\n */\n 'scroll-pl': [{ 'scroll-pl': scaleUnambiguousSpacing() }],\n /**\n * Scroll Snap Align\n * @see https://tailwindcss.com/docs/scroll-snap-align\n */\n 'snap-align': [{ snap: ['start', 'end', 'center', 'align-none'] }],\n /**\n * Scroll Snap Stop\n * @see https://tailwindcss.com/docs/scroll-snap-stop\n */\n 'snap-stop': [{ snap: ['normal', 'always'] }],\n /**\n * Scroll Snap Type\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-type': [{ snap: ['none', 'x', 'y', 'both'] }],\n /**\n * Scroll Snap Type Strictness\n * @see https://tailwindcss.com/docs/scroll-snap-type\n */\n 'snap-strictness': [{ snap: ['mandatory', 'proximity'] }],\n /**\n * Touch Action\n * @see https://tailwindcss.com/docs/touch-action\n */\n touch: [{ touch: ['auto', 'none', 'manipulation'] }],\n /**\n * Touch Action X\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-x': [{ 'touch-pan': ['x', 'left', 'right'] }],\n /**\n * Touch Action Y\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-y': [{ 'touch-pan': ['y', 'up', 'down'] }],\n /**\n * Touch Action Pinch Zoom\n * @see https://tailwindcss.com/docs/touch-action\n */\n 'touch-pz': ['touch-pinch-zoom'],\n /**\n * User Select\n * @see https://tailwindcss.com/docs/user-select\n */\n select: [{ select: ['none', 'text', 'all', 'auto'] }],\n /**\n * Will Change\n * @see https://tailwindcss.com/docs/will-change\n */\n 'will-change': [\n {\n 'will-change': [\n 'auto',\n 'scroll',\n 'contents',\n 'transform',\n isArbitraryVariable,\n isArbitraryValue,\n ],\n },\n ],\n\n // -----------\n // --- SVG ---\n // -----------\n\n /**\n * Fill\n * @see https://tailwindcss.com/docs/fill\n */\n fill: [{ fill: ['none', ...scaleColor()] }],\n /**\n * Stroke Width\n * @see https://tailwindcss.com/docs/stroke-width\n */\n 'stroke-w': [\n {\n stroke: [\n isNumber,\n isArbitraryVariableLength,\n isArbitraryLength,\n isArbitraryNumber,\n ],\n },\n ],\n /**\n * Stroke\n * @see https://tailwindcss.com/docs/stroke\n */\n stroke: [{ stroke: ['none', ...scaleColor()] }],\n\n // ---------------------\n // --- Accessibility ---\n // ---------------------\n\n /**\n * Forced Color Adjust\n * @see https://tailwindcss.com/docs/forced-color-adjust\n */\n 'forced-color-adjust': [{ 'forced-color-adjust': ['auto', 'none'] }],\n },\n conflictingClassGroups: {\n overflow: ['overflow-x', 'overflow-y'],\n overscroll: ['overscroll-x', 'overscroll-y'],\n inset: ['inset-x', 'inset-y', 'start', 'end', 'top', 'right', 'bottom', 'left'],\n 'inset-x': ['right', 'left'],\n 'inset-y': ['top', 'bottom'],\n flex: ['basis', 'grow', 'shrink'],\n gap: ['gap-x', 'gap-y'],\n p: ['px', 'py', 'ps', 'pe', 'pt', 'pr', 'pb', 'pl'],\n px: ['pr', 'pl'],\n py: ['pt', 'pb'],\n m: ['mx', 'my', 'ms', 'me', 'mt', 'mr', 'mb', 'ml'],\n mx: ['mr', 'ml'],\n my: ['mt', 'mb'],\n size: ['w', 'h'],\n 'font-size': ['leading'],\n 'fvn-normal': [\n 'fvn-ordinal',\n 'fvn-slashed-zero',\n 'fvn-figure',\n 'fvn-spacing',\n 'fvn-fraction',\n ],\n 'fvn-ordinal': ['fvn-normal'],\n 'fvn-slashed-zero': ['fvn-normal'],\n 'fvn-figure': ['fvn-normal'],\n 'fvn-spacing': ['fvn-normal'],\n 'fvn-fraction': ['fvn-normal'],\n 'line-clamp': ['display', 'overflow'],\n rounded: [\n 'rounded-s',\n 'rounded-e',\n 'rounded-t',\n 'rounded-r',\n 'rounded-b',\n 'rounded-l',\n 'rounded-ss',\n 'rounded-se',\n 'rounded-ee',\n 'rounded-es',\n 'rounded-tl',\n 'rounded-tr',\n 'rounded-br',\n 'rounded-bl',\n ],\n 'rounded-s': ['rounded-ss', 'rounded-es'],\n 'rounded-e': ['rounded-se', 'rounded-ee'],\n 'rounded-t': ['rounded-tl', 'rounded-tr'],\n 'rounded-r': ['rounded-tr', 'rounded-br'],\n 'rounded-b': ['rounded-br', 'rounded-bl'],\n 'rounded-l': ['rounded-tl', 'rounded-bl'],\n 'border-spacing': ['border-spacing-x', 'border-spacing-y'],\n 'border-w': [\n 'border-w-x',\n 'border-w-y',\n 'border-w-s',\n 'border-w-e',\n 'border-w-t',\n 'border-w-r',\n 'border-w-b',\n 'border-w-l',\n ],\n 'border-w-x': ['border-w-r', 'border-w-l'],\n 'border-w-y': ['border-w-t', 'border-w-b'],\n 'border-color': [\n 'border-color-x',\n 'border-color-y',\n 'border-color-s',\n 'border-color-e',\n 'border-color-t',\n 'border-color-r',\n 'border-color-b',\n 'border-color-l',\n ],\n 'border-color-x': ['border-color-r', 'border-color-l'],\n 'border-color-y': ['border-color-t', 'border-color-b'],\n translate: ['translate-x', 'translate-y', 'translate-none'],\n 'translate-none': ['translate', 'translate-x', 'translate-y', 'translate-z'],\n 'scroll-m': [\n 'scroll-mx',\n 'scroll-my',\n 'scroll-ms',\n 'scroll-me',\n 'scroll-mt',\n 'scroll-mr',\n 'scroll-mb',\n 'scroll-ml',\n ],\n 'scroll-mx': ['scroll-mr', 'scroll-ml'],\n 'scroll-my': ['scroll-mt', 'scroll-mb'],\n 'scroll-p': [\n 'scroll-px',\n 'scroll-py',\n 'scroll-ps',\n 'scroll-pe',\n 'scroll-pt',\n 'scroll-pr',\n 'scroll-pb',\n 'scroll-pl',\n ],\n 'scroll-px': ['scroll-pr', 'scroll-pl'],\n 'scroll-py': ['scroll-pt', 'scroll-pb'],\n touch: ['touch-x', 'touch-y', 'touch-pz'],\n 'touch-x': ['touch'],\n 'touch-y': ['touch'],\n 'touch-pz': ['touch'],\n },\n conflictingClassGroupModifiers: {\n 'font-size': ['leading'],\n },\n orderSensitiveModifiers: [\n '*',\n '**',\n 'after',\n 'backdrop',\n 'before',\n 'details-content',\n 'file',\n 'first-letter',\n 'first-line',\n 'marker',\n 'placeholder',\n 'selection',\n ],\n } as const satisfies Config<DefaultClassGroupIds, DefaultThemeGroupIds>\n}\n","import { AnyConfig, ConfigExtension, NoInfer } from './types'\n\n/**\n * @param baseConfig Config where other config will be merged into. This object will be mutated.\n * @param configExtension Partial config to merge into the `baseConfig`.\n */\nexport const mergeConfigs = <ClassGroupIds extends string, ThemeGroupIds extends string = never>(\n baseConfig: AnyConfig,\n {\n cacheSize,\n prefix,\n experimentalParseClassName,\n extend = {},\n override = {},\n }: ConfigExtension<ClassGroupIds, ThemeGroupIds>,\n) => {\n overrideProperty(baseConfig, 'cacheSize', cacheSize)\n overrideProperty(baseConfig, 'prefix', prefix)\n overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName)\n\n overrideConfigProperties(baseConfig.theme, override.theme)\n overrideConfigProperties(baseConfig.classGroups, override.classGroups)\n overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups)\n overrideConfigProperties(\n baseConfig.conflictingClassGroupModifiers,\n override.conflictingClassGroupModifiers,\n )\n overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers)\n\n mergeConfigProperties(baseConfig.theme, extend.theme)\n mergeConfigProperties(baseConfig.classGroups, extend.classGroups)\n mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups)\n mergeConfigProperties(\n baseConfig.conflictingClassGroupModifiers,\n extend.conflictingClassGroupModifiers,\n )\n mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers')\n\n return baseConfig\n}\n\nconst overrideProperty = <T extends object, K extends keyof T>(\n baseObject: T,\n overrideKey: K,\n overrideValue: T[K] | undefined,\n) => {\n if (overrideValue !== undefined) {\n baseObject[overrideKey] = overrideValue\n }\n}\n\nconst overrideConfigProperties = (\n baseObject: Partial<Record<string, readonly unknown[]>>,\n overrideObject: Partial<Record<string, readonly unknown[]>> | undefined,\n) => {\n if (overrideObject) {\n for (const key in overrideObject) {\n overrideProperty(baseObject, key, overrideObject[key])\n }\n }\n}\n\nconst mergeConfigProperties = (\n baseObject: Partial<Record<string, readonly unknown[]>>,\n mergeObject: Partial<Record<string, readonly unknown[]>> | undefined,\n) => {\n if (mergeObject) {\n for (const key in mergeObject) {\n mergeArrayProperties(baseObject, mergeObject, key)\n }\n }\n}\n\nconst mergeArrayProperties = <Key extends string>(\n baseObject: Partial<Record<NoInfer<Key>, readonly unknown[]>>,\n mergeObject: Partial<Record<NoInfer<Key>, readonly unknown[]>>,\n key: Key,\n) => {\n const mergeValue = mergeObject[key]\n\n if (mergeValue !== undefined) {\n baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue\n }\n}\n","import { createTailwindMerge } from './create-tailwind-merge'\nimport { getDefaultConfig } from './default-config'\nimport { mergeConfigs } from './merge-configs'\nimport { AnyConfig, ConfigExtension, DefaultClassGroupIds, DefaultThemeGroupIds } from './types'\n\ntype CreateConfigSubsequent = (config: AnyConfig) => AnyConfig\n\nexport const extendTailwindMerge = <\n AdditionalClassGroupIds extends string = never,\n AdditionalThemeGroupIds extends string = never,\n>(\n configExtension:\n | ConfigExtension<\n DefaultClassGroupIds | AdditionalClassGroupIds,\n DefaultThemeGroupIds | AdditionalThemeGroupIds\n >\n | CreateConfigSubsequent,\n ...createConfig: CreateConfigSubsequent[]\n) =>\n typeof configExtension === 'function'\n ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig)\n : createTailwindMerge(\n () => mergeConfigs(getDefaultConfig(), configExtension),\n ...createConfig,\n )\n","import { clsx, type ClassValue } from \"clsx\";\nimport { extendTailwindMerge } from \"tailwind-merge\";\n\nconst customTwMerge = extendTailwindMerge({\n extend: {\n classGroups: {\n \"font-size\": [\n \"text-xxs\",\n \"text-xs\",\n \"text-sm\",\n \"text-md\",\n \"text-lg\",\n \"text-xl\",\n \"text-2xl\",\n \"text-3xl\",\n \"text-4xl\",\n \"text-5xl\",\n \"text-6xl\",\n \"text-7xl\",\n \"text-8xl\",\n \"text-9xl\",\n ],\n },\n },\n});\n\nexport function cn(...inputs: ClassValue[]) {\n return customTwMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { CloseMd } from \"@medway-ui/icons\";\n\nimport { cn } from \"@/lib/utils\";\n\ninterface AlertProps extends React.ComponentProps<\"div\"> {\n variant?: \"regular\" | \"emphasis\" | \"success\" | \"warning\" | \"error\";\n onClose?: () => void;\n}\n\nconst AlertContext = React.createContext<{\n variant: \"regular\" | \"emphasis\" | \"success\" | \"warning\" | \"error\";\n hasDescription: boolean;\n hasTitle: boolean;\n onClose?: () => void;\n} | null>(null);\n\nconst alertVariants = cva(\n \"relative flex flex-col items-center justify-between gap-5 w-full rounded-md px-4 py-3 text-sm has-[>svg]:gap-x-9 gap-y-1 items-center [&>svg]:translate-y-0 [&>svg]:text-current lg:flex-row\",\n {\n variants: {\n variant: {\n regular:\n \"[background:linear-gradient(0deg,_var(--color-primary-background-soft)_0%,_var(--color-primary-background-soft)_100%),_var(--color-surface-card)] text-primary-foreground [&>svg]:text-primary-foreground\",\n emphasis:\n \"[background:linear-gradient(0deg,_var(--color-secondary-background-soft)_0%,_var(--color-secondary-background-soft)_100%),_var(--color-surface-card)] text-secondary-foreground [&>svg]:text-secondary-foreground\",\n success:\n \"[background:linear-gradient(0deg,_var(--color-green-background-soft)_0%,_var(--color-green-background-soft)_100%),_var(--color-surface-card)] text-green-foreground [&>svg]:text-green-foreground\",\n warning:\n \"[background:linear-gradient(0deg,_var(--color-yellow-background-soft)_0%,_var(--color-yellow-background-soft)_100%),_var(--color-surface-card)] text-yellow-foreground [&>svg]:text-yellow-foreground\",\n error:\n \"[background:linear-gradient(0deg,_var(--color-red-background-soft)_0%,_var(--color-red-background-soft)_100%),_var(--color-surface-card)] text-red-foreground [&>svg]:text-red-foreground\",\n },\n },\n defaultVariants: {\n variant: \"regular\",\n },\n }\n);\n\nfunction Alert({\n className,\n variant = \"regular\",\n onClose,\n children,\n ...props\n}: AlertProps) {\n const hasDescription = React.Children.toArray(children).some(\n (child) => React.isValidElement(child) && child.type === AlertDescription\n );\n const hasTitle = React.Children.toArray(children).some(\n (child) => React.isValidElement(child) && child.type === AlertTitle\n );\n\n return (\n <AlertContext.Provider\n value={{ variant, hasDescription, hasTitle, onClose }}\n >\n <div\n data-slot=\"alert\"\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n >\n {children}\n {onClose && (\n <CloseMd\n aria-label=\"alert-close\"\n onClick={onClose}\n className=\"absolute right-4 top-2 !size-4 cursor-pointer !text-gray-foreground\"\n />\n )}\n </div>\n </AlertContext.Provider>\n );\n}\n\nfunction AlertContainer({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-container\"\n className={cn(\"flex gap-3\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-content\"\n className={cn(\"flex flex-col gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertIcon({\n className,\n icon,\n ...props\n}: React.ComponentProps<\"div\"> & {\n icon?: React.ReactNode;\n}) {\n return (\n <div data-slot=\"alert-icon\" className={cn(\"size-6\", className)} {...props}>\n {icon}\n </div>\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\"line-clamp-1 min-h-4 text-md font-medium\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n \"!line-clamp-3 grid justify-items-start gap-1 text-sm leading-5\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AlertActions({ className, ...props }: React.ComponentProps<\"div\">) {\n const context = React.useContext(AlertContext);\n const hasDescription = context?.hasDescription || false;\n const hasTitle = context?.hasTitle || false;\n const onClose = context?.onClose;\n\n return (\n <div\n data-slot=\"alert-actions\"\n className={cn(\n \"relative mt-2 flex flex-wrap items-center gap-x-2 lg:mt-0 lg:flex-nowrap\",\n (!hasDescription || !hasTitle) && onClose && \"lg:right-5\",\n className\n )}\n {...props}\n />\n );\n}\n\nconst alertButtonVariants = cva(\n \"inline-flex items-center justify-center rounded-pill px-3 py-2 min-h-10 text-sm font-semibold transition-colors whitespace-nowrap focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 hover:brightness-90\",\n {\n variants: {\n variant: {\n regular: \"text-current\",\n basic: \"text-current\",\n },\n alertVariant: {\n regular: \"\",\n emphasis: \"\",\n success: \"\",\n warning: \"\",\n error: \"\",\n },\n },\n compoundVariants: [\n {\n variant: \"regular\",\n alertVariant: \"regular\",\n class: \"bg-primary-background-soft\",\n },\n {\n variant: \"regular\",\n alertVariant: \"emphasis\",\n class: \"bg-secondary-background-soft\",\n },\n {\n variant: \"regular\",\n alertVariant: \"success\",\n class: \"bg-green-background-soft\",\n },\n {\n variant: \"regular\",\n alertVariant: \"warning\",\n class: \"bg-yellow-background-soft\",\n },\n {\n variant: \"regular\",\n alertVariant: \"error\",\n class: \"bg-red-background-soft\",\n },\n ],\n defaultVariants: {\n variant: \"regular\",\n alertVariant: \"regular\",\n },\n }\n);\n\ninterface AlertButtonProps\n extends React.ComponentProps<\"button\">,\n VariantProps<typeof alertButtonVariants> {}\n\nfunction AlertButton({ className, variant, ...props }: AlertButtonProps) {\n const context = React.useContext(AlertContext);\n const alertVariant = context?.variant || \"regular\";\n\n return (\n <button\n className={cn(alertButtonVariants({ variant, alertVariant }), className)}\n {...props}\n />\n );\n}\n\nexport {\n Alert,\n AlertContainer,\n AlertContent,\n AlertIcon,\n AlertTitle,\n AlertDescription,\n AlertActions,\n AlertButton,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\ninterface LoadingProps {\n size?: number;\n className?: string;\n}\n\nfunction Loading({ size = 24, className }: LoadingProps) {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n className={cn(\"animate-spin\", className)}\n >\n <path d=\"M21 12a9 9 0 1 1-6.219-8.56\" />\n </svg>\n );\n}\n\nexport { Loading };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst ICON_ONLY_SIZES: Record<\"sm\" | \"md\" | \"lg\" | \"xl\", string> = {\n sm: \"size-4 p-0\",\n md: \"size-5 p-0\",\n lg: \"size-6 p-0\",\n xl: \"size-7 p-0\",\n} as const;\n\nconst CHAR_PADDING: Record<\"sm\" | \"md\" | \"lg\" | \"xl\", string> = {\n sm: \"px-1\",\n md: \"px-1\",\n lg: \"px-1\",\n xl: \"px-1.5\",\n} as const;\n\nconst badgeVariants = cva(\n \"inline-flex items-center justify-center rounded-pill border font-semibold w-fit whitespace-nowrap shrink-0 gap-1 [&>svg]:pointer-events-none overflow-hidden border-transparent px-2 ring-1 ring-background\",\n {\n variants: {\n variant: {\n regular:\n \"bg-secondary-background-fill text-secondary-foreground-onfill\",\n freemium:\n \"[background:radial-gradient(135.09%_111.8%_at_0%_50%,rgba(24,98,188,0.02)_0%,rgba(0,32,91,0)_100%),linear-gradient(46deg,rgba(62,218,199,0.56)_6.54%,rgba(24,98,188,0.17)_85.21%),var(--color-primary)] text-white\",\n },\n size: {\n sm: \"min-w-4 text-xxs [&>svg]:size-2.5\",\n md: \"min-w-5 text-xs [&>svg]:size-3\",\n lg: \"min-w-6 text-xs [&>svg]:size-3.5\",\n xl: \"min-w-7 text-sm [&>svg]:size-4\",\n },\n },\n defaultVariants: {\n variant: \"regular\",\n size: \"md\",\n },\n }\n);\n\nfunction Badge({\n className,\n variant,\n size,\n icon,\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & {\n asChild?: boolean;\n icon?: React.ReactNode;\n }) {\n const Comp = (asChild ? Slot.Slot : \"span\") as React.ElementType;\n const hasChildren = React.Children.count(props.children) > 0;\n const isIconOnly = !!icon && !hasChildren;\n const childText =\n typeof props.children === \"string\" || typeof props.children === \"number\"\n ? String(props.children).trim()\n : \"\";\n const isSingleAlphaNum = /^[A-Za-z0-9]$/.test(childText);\n const isShortAlnumUpTo3 = /^[A-Za-z0-9]{2,3}$/.test(childText);\n const isDigitsWithSuffix = /^\\d{1,2}\\S$/.test(childText); // e.g., 9+, 99%, 9K\n const isShortUpTo3 = isShortAlnumUpTo3 || isDigitsWithSuffix;\n\n return (\n <Comp\n data-slot=\"badge\"\n className={cn(\n badgeVariants({ variant, size }),\n (isIconOnly || isSingleAlphaNum) && ICON_ONLY_SIZES[size || \"md\"],\n !isIconOnly && isShortUpTo3 && CHAR_PADDING[size || \"md\"],\n className\n )}\n {...props}\n >\n {icon}\n {props.children}\n </Comp>\n );\n}\n\nexport { Badge, badgeVariants };\n","\"use client\";\n\nimport { Slot } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\nimport { Loading } from \"@/components/Loading\";\nimport { Badge as BadgeComponent } from \"@/components/Badge\";\nimport { cn } from \"@/lib/utils\";\n\nconst ICON_ONLY_SIZES = {\n sm: \"!h-8 !min-h-8 !w-8 !px-3 !py-2\",\n md: \"!h-10 !min-h-10 !w-10 !px-[14px] !py-[10px]\",\n lg: \"!h-12 !min-h-12 !w-12 !p-3\",\n xl: \"!h-14 !min-h-14 !w-14 !p-3\",\n} as const;\n\nconst ALERT_CIRCLE_SIZES = {\n sm: \"size-2\",\n md: \"size-2.5\",\n lg: \"size-2.5\",\n xl: \"size-3\",\n} as const;\n\nconst badgeSizeMap: Record<\n \"sm\" | \"md\" | \"lg\" | \"xl\",\n \"sm\" | \"md\" | \"lg\" | \"xl\"\n> = {\n sm: \"sm\",\n md: \"md\",\n lg: \"md\",\n xl: \"lg\",\n};\n\ninterface ButtonProps\n extends React.ComponentProps<\"button\">,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n containerClassName?: string;\n iconRight?: React.ReactNode;\n iconLeft?: React.ReactNode;\n badge?: number | string;\n loading?: boolean;\n alert?: string;\n}\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center place-items-center gap-2 rounded-pill text-sm font-semibold whitespace-nowrap transition-all disabled:pointer-events-none shrink-0 [&_svg]:shrink-0 hover:cursor-pointer focus:outline-0 [grid-template-areas:'stack']\",\n {\n variants: {\n variant: {\n regular:\n \"bg-primary-background-fill text-primary-foreground-onfill hover:bg-primary-background-fill-emphasis disabled:bg-gray-background-fill-muted disabled:text-gray-foreground-onfill\",\n \"regular-soft\":\n \"bg-primary-background-soft text-primary-foreground hover:bg-primary-background-soft-emphasis hover:text-primary-foreground-emphasis disabled:bg-gray-background-soft-muted disabled:text-gray-foreground-muted\",\n \"regular-basic\":\n \"bg-transparent text-primary-foreground hover:bg-primary-background-soft-emphasis hover:text-primary-foreground-emphasis disabled:bg-transparent disabled:text-gray-foreground-muted\",\n emphasis:\n \"bg-secondary-background-fill text-secondary-foreground-onfill hover:bg-secondary-background-fill-emphasis disabled:bg-gray-background-fill-muted disabled:text-gray-foreground-onfill\",\n \"emphasis-soft\":\n \"bg-secondary-background-soft text-secondary-foreground hover:bg-secondary-background-soft-emphasis hover:text-secondary-foreground-emphasis disabled:bg-gray-background-soft-muted disabled:text-gray-foreground-muted\",\n \"emphasis-basic\":\n \"bg-transparent text-secondary-foreground hover:bg-secondary-background-soft-emphasis hover:text-secondary-foreground-emphasis disabled:bg-transparent disabled:text-gray-foreground-muted\",\n error:\n \"bg-red-background-fill text-red-foreground-onfill hover:bg-red-background-fill-emphasis disabled:bg-gray-background-fill-muted disabled:text-gray-foreground-onfill\",\n \"error-soft\":\n \"bg-red-background-soft text-red-foreground hover:bg-red-background-soft-emphasis hover:text-red-foreground-emphasis disabled:bg-gray-background-soft-muted disabled:text-gray-foreground-muted\",\n \"error-basic\":\n \"bg-transparent text-red-foreground hover:bg-red-background-soft-emphasis hover:text-red-foreground-emphasis disabled:bg-transparent disabled:text-gray-foreground-muted\",\n warning:\n \"bg-yellow-background-fill text-yellow-foreground-onfill hover:bg-yellow-background-fill-emphasis disabled:bg-gray-background-fill-muted disabled:text-gray-foreground-onfill\",\n \"warning-soft\":\n \"bg-yellow-background-soft text-yellow-foreground hover:bg-yellow-background-soft-emphasis hover:text-yellow-foreground-emphasis disabled:bg-gray-background-soft-muted disabled:text-gray-foreground-muted\",\n \"warning-basic\":\n \"bg-transparent text-yellow-foreground hover:bg-yellow-background-soft-emphasis hover:text-yellow-foreground-emphasis disabled:bg-transparent disabled:text-gray-foreground-muted\",\n success:\n \"bg-green-background-fill text-green-foreground-onfill hover:bg-green-background-fill-emphasis disabled:bg-gray-background-fill-muted disabled:text-gray-foreground-onfill\",\n \"success-soft\":\n \"bg-green-background-soft text-green-foreground hover:bg-green-background-soft-emphasis hover:text-green-foreground-emphasis disabled:bg-gray-background-soft-muted disabled:text-gray-foreground-muted\",\n \"success-basic\":\n \"bg-transparent text-green-foreground hover:bg-green-background-soft-emphasis hover:text-green-foreground-emphasis disabled:bg-transparent disabled:text-gray-foreground-muted\",\n outlined:\n \"border border-border bg-transparent text-foreground hover:border-transparent hover:bg-gray-50 disabled:border-transparent dark:bg-transparent hover:dark:border-gray-400 disabled:border-gray-stroke-muted disabled:text-gray-foreground-muted\",\n gradient:\n \"text-white [background:linear-gradient(284deg,var(--color-primary)_2.11%,var(--color-secondary)_128.06%)] hover:[background:linear-gradient(284deg,var(--color-primary)2.11%,var(--color-secondary)102.63%)] disabled:[background:var(--color-gray-50)] disabled:bg-gray-background-fill-muted disabled:text-gray-foreground-onfill\",\n medbrain:\n \"border-2 border-transparent bg-clip-text [background:linear-gradient(var(--color-white),var(--color-white))_padding-box,linear-gradient(75deg,var(--color-secondary),var(--color-cm-lighten-3))_border-box] [box-shadow:-8px_0_8px_0_var(--color-prev-16)_inset,8px_0_8px_0_var(--color-secondary-24)_inset,0_0_8px_0_var(--color-cm-16)_inset] hover:[background:linear-gradient(var(--color-white),var(--color-white))_padding-box,linear-gradient(75deg,var(--color-cm-lighten-3),var(--color-secondary))_border-box] [&_span]:bg-clip-text [&_span]:text-transparent [&_span]:bg-gradient-to-r [&_span]:from-cm [&_span]:to-primary [&_span]:hover:to-secondary disabled:bg-gray-background-fill-muted disabled:text-gray-foreground-onfill [&_svg]:text-cm-darken-1\",\n },\n size: {\n sm: \"min-h-8 min-w-8 px-3 py-1 has-[>svg]:px-3 [&_svg:not([class*='size-'])]:size-[13px] text-xs\",\n md: \"min-h-10 min-w-10 px-3.5 py-2 has-[>svg]:px-3.5 [&_svg:not([class*='size-'])]:size-4 text-sm\",\n lg: \"min-h-12 min-w-12 px-4 py-3 has-[>svg]:px-4 [&_svg:not([class*='size-'])]:size-6 text-md\",\n xl: \"min-h-14 min-w-14 px-[18px] py-3.5 has-[>svg]:px-[18px] [&_svg:not([class*='size-'])]:size-7 text-lg\",\n },\n },\n defaultVariants: {\n variant: \"regular\",\n size: \"md\",\n },\n }\n);\n\nfunction Button({\n className,\n containerClassName,\n variant,\n size,\n asChild = false,\n iconRight,\n iconLeft,\n badge,\n loading = false,\n alert,\n ...props\n}: ButtonProps) {\n const Comp = (asChild ? Slot.Slot : \"button\") as React.ElementType;\n\n const shouldShowBadge = (value: number | string | undefined) => {\n return value != null && value !== 0 && value !== \"\" && value !== \"0\";\n };\n\n const renderIcon = (icon: React.ReactNode) => icon;\n\n const isIconOnly = !props.children && (iconLeft || iconRight || alert);\n\n const renderAlertCircle = () => {\n if (!alert) return null;\n\n return (\n <span\n className={cn(\n \"relative mr-1 flex size-2.5\",\n ALERT_CIRCLE_SIZES[size || \"md\"]\n )}\n >\n <span\n className=\"absolute inline-flex h-full w-full animate-ping rounded-full opacity-75\"\n style={{ backgroundColor: alert }}\n ></span>\n <span\n className={cn(\n \"relative inline-flex size-2.5 rounded-full\",\n ALERT_CIRCLE_SIZES[size || \"md\"]\n )}\n style={{ backgroundColor: alert }}\n ></span>\n </span>\n );\n };\n\n const renderButtonContent = () => {\n if (loading) {\n return (\n <>\n <Loading className=\"[grid-area:stack]\" />\n <span className={cn(\"[grid-area:stack]\", loading && \"invisible\")}>\n {props.children}\n </span>\n </>\n );\n }\n\n return (\n <>\n {alert ? renderAlertCircle() : iconLeft && renderIcon(iconLeft)}\n {props.children && <span>{props.children}</span>}\n {iconRight && renderIcon(iconRight)}\n </>\n );\n };\n\n return (\n <div className={cn(\"relative\", containerClassName)}>\n {shouldShowBadge(badge) && (\n <BadgeComponent\n size={badgeSizeMap[size || \"md\"]}\n variant=\"regular\"\n className={cn(\"absolute -right-2 -top-1 z-10\")}\n role=\"status\"\n aria-label={`${badge}-notifications`}\n >\n {String(badge)}\n </BadgeComponent>\n )}\n <Comp\n disabled={loading}\n aria-busy={loading}\n aria-live={loading ? \"polite\" : undefined}\n data-slot=\"button\"\n className={cn(\n isIconOnly && ICON_ONLY_SIZES[size || \"md\"],\n loading && \"!inline-grid\",\n buttonVariants({ variant, size, className })\n )}\n {...props}\n >\n {renderButtonContent()}\n </Comp>\n </div>\n );\n}\n\nexport { Button, buttonVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { AlertDialog as AlertDialogPrimitive } from \"radix-ui\";\nimport { cn } from \"@/lib/utils\";\nimport { buttonVariants } from \"@/components/Button\";\n\nfunction AlertDialog({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />;\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n );\n}\n\nfunction AlertDialogPortal({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n );\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\n \"fixed inset-0 z-50 bg-black-48 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogContent({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content>) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n className={cn(\n \"fixed left-1/2 top-1/2 z-50 grid w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 gap-4 rounded-lg border bg-surface-elevated p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-1/2 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-1/2 sm:max-w-lg\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n );\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-sm text-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogAction({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action>) {\n return (\n <AlertDialogPrimitive.Action\n className={cn(buttonVariants(), className)}\n {...props}\n />\n );\n}\n\nfunction AlertDialogCancel({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel>) {\n return (\n <AlertDialogPrimitive.Cancel\n className={cn(buttonVariants({ variant: \"outlined\" }), className)}\n {...props}\n />\n );\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Avatar as AvatarPrimitive } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\nimport { User } from \"@medway-ui/icons\";\nimport { Badge as BadgeComponent } from \"@/components/Badge\";\n\nconst badgeSizeMap: Record<\n \"sm\" | \"md\" | \"lg\" | \"xl\",\n \"sm\" | \"md\" | \"lg\" | \"xl\"\n> = {\n sm: \"sm\",\n md: \"md\",\n lg: \"md\",\n xl: \"lg\",\n};\n\nconst avatarVariants = cva(\n \"relative flex shrink-0 overflow-hidden rounded-full\",\n {\n variants: {\n size: {\n sm: \"size-8\",\n md: \"size-10\",\n lg: \"size-12\",\n xl: \"size-14\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n);\n\ninterface AvatarProps\n extends React.ComponentProps<typeof AvatarPrimitive.Root>,\n VariantProps<typeof avatarVariants> {\n src?: string;\n alt?: string;\n fallback?: React.ReactNode;\n badge?: number | string;\n}\n\nfunction Avatar({ className, size, badge, children, ...props }: AvatarProps) {\n return (\n <div className=\"relative\">\n {badge && (\n <BadgeComponent\n size={badgeSizeMap[size || \"md\"]}\n className={cn(\"absolute -right-2 -top-1 z-10\")}\n >\n {String(badge)}\n </BadgeComponent>\n )}\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(avatarVariants({ size, className }))}\n {...props}\n >\n {children}\n </AvatarPrimitive.Root>\n </div>\n );\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"size-full object-cover\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n \"flex size-full items-center justify-center rounded-full bg-gray-background-soft text-sm font-semibold text-primary-foreground\",\n className\n )}\n {...props}\n >\n {props.children ? props.children : <User className=\"size-1/2\" />}\n </AvatarPrimitive.Fallback>\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback, avatarVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Collapsible as CollapsiblePrimitive } from \"radix-ui\";\nimport { cn } from \"@/lib/utils\";\n\ntype AnimationType = \"accordion\" | \"fade\";\n\ninterface CollapsibleContextValue {\n animation?: AnimationType;\n}\n\ninterface CollapsibleContentProps\n extends React.ComponentProps<typeof CollapsiblePrimitive.Content> {\n className?: string;\n}\n\nconst CollapsibleContext = React.createContext<CollapsibleContextValue>({\n animation: undefined,\n});\n\ninterface CollapsibleProps\n extends React.ComponentProps<typeof CollapsiblePrimitive.Root> {\n animation?: AnimationType;\n}\n\nfunction Collapsible({ animation, ...props }: CollapsibleProps) {\n return (\n <CollapsibleContext.Provider value={{ animation }}>\n <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />\n </CollapsibleContext.Provider>\n );\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.Trigger>) {\n return (\n <CollapsiblePrimitive.Trigger data-slot=\"collapsible-trigger\" {...props} />\n );\n}\n\nfunction CollapsibleContent({ className, ...props }: CollapsibleContentProps) {\n const { animation } = React.useContext(CollapsibleContext);\n\n const animationClasses: Record<AnimationType, string> = {\n accordion:\n \"overflow-hidden data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down\",\n fade: \"data-[state=closed]:animate-fade-out data-[state=open]:animate-fade-in\",\n };\n\n return (\n <CollapsiblePrimitive.Content\n data-slot=\"collapsible-content\"\n className={cn(animation && animationClasses[animation], className)}\n {...props}\n />\n );\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\nexport type { AnimationType };\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Separator as SeparatorPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator-root\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Dialog as DialogPrimitive } from \"radix-ui\";\nimport { CloseMd } from \"@medway-ui/icons\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Separator } from \"@/components/Separator\";\n\nfunction Dialog({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"fixed inset-0 z-50 bg-black-48 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DialogContainer({\n className,\n overlayClassName,\n children,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n showCloseButton?: boolean;\n overlayClassName?: string;\n}) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay className={overlayClassName} />\n <DialogPrimitive.Content\n data-slot=\"dialog-container\"\n className={cn(\n \"fixed left-1/2 top-1/2 z-50 flex max-h-[calc(100%-2rem)] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 flex-col gap-0 overflow-y-auto rounded-xl border bg-background p-0 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-1/2 data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-1/2 sm:max-h-[min(680px,80vh)] sm:max-w-lg\",\n className\n )}\n {...props}\n >\n {children}\n {showCloseButton && (\n <DialogPrimitive.Close\n data-slot=\"dialog-close\"\n className=\"rounded-xs focus:outline-hidden absolute right-4 top-4 disabled:pointer-events-none data-[state=open]:text-gray-foreground [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\"\n >\n <CloseMd />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n )}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nfunction DialogContent({\n className,\n children,\n}: {\n className?: string;\n children: React.ReactNode;\n}) {\n return (\n <div className=\"overflow-y-auto\">\n <div\n data-slot=\"dialog-content\"\n className={cn(\n \"p-8 text-md leading-md text-primary-foreground\",\n className\n )}\n >\n {children}\n </div>\n </div>\n );\n}\n\nfunction DialogHeader({\n className,\n separator = false,\n ...props\n}: React.ComponentProps<\"div\"> & { separator?: boolean }) {\n return (\n <>\n <div\n data-slot=\"dialog-header\"\n className={cn(\n \"flex flex-col gap-2 px-8 py-6 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n {separator && <Separator />}\n </>\n );\n}\n\nfunction DialogFooter({\n className,\n separator = false,\n ...props\n}: React.ComponentProps<\"div\"> & { separator?: boolean }) {\n return (\n <>\n {separator && <Separator />}\n <div\n data-slot=\"dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 px-8 py-6 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n </>\n );\n}\n\nfunction DialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\n \"text-title-md font-semibold leading-title-md !text-content-title\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-md leading-md text-content-paragraph\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContainer,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n","import * as React from \"react\"\n\nconst MOBILE_BREAKPOINT = 768\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined)\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n }\n mql.addEventListener(\"change\", onChange)\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n return () => mql.removeEventListener(\"change\", onChange)\n }, [])\n\n return !!isMobile\n}\n","\"use client\";\n\nimport * as React from \"react\";\nimport { DropdownMenu as DropdownMenuPrimitive } from \"radix-ui\";\nimport { Check, ChevronRight } from \"@medway-ui/icons\";\n\nimport { cn } from \"@/lib/utils\";\nimport { useIsMobile } from \"@/hooks/use-mobile\";\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n );\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n className={cn(\"cursor-pointer\", props.className)}\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n side,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n const isMobile = useIsMobile();\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n side={isMobile ? \"bottom\" : side}\n className={cn(\n \"max-h-(--radix-dropdown-menu-content-available-height) origin-(--radix-dropdown-menu-content-transform-origin) z-50 max-h-screen min-w-[8rem] overflow-y-auto overflow-x-hidden rounded-md border bg-surface-elevated p-3 pb-2 text-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n );\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"data-[variant=destructive]:*:[svg]:!text-destructive outline-hidden relative flex cursor-pointer select-none items-center gap-2.5 rounded-sm px-2 py-2 text-sm font-medium text-gray-foreground hover:bg-secondary-background-soft-emphasis focus:outline-0 data-[disabled]:pointer-events-none data-[inset]:pl-8 data-[variant=destructive]:text-red-foreground data-[disabled]:opacity-50 data-[variant=destructive]:hover:bg-red-background-soft-emphasis dark:[&_img]:brightness-0 dark:[&_img]:invert [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"outline-hidden relative flex cursor-pointer select-none items-center gap-2 rounded-md py-2 pl-2 pr-7 text-sm font-medium text-gray-foreground hover:bg-secondary-background-soft-emphasis focus:outline-0 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:[&_img]:brightness-0 dark:[&_img]:invert [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg]:text-secondary-foreground\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"flex min-w-0 flex-1 gap-2 break-words\">{children}</span>\n <span className=\"pointer-events-none absolute right-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n );\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"outline-hidden relative flex cursor-pointer select-none items-center gap-2 rounded-md py-3 pl-2 pr-7 text-sm font-medium text-gray-foreground hover:bg-secondary-background-soft-emphasis focus:outline-0 aria-checked:text-secondary-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 dark:[&_img]:brightness-0 dark:[&_img]:invert [&_svg:not([class*='size-'])]:size-4 [&_svg]:pointer-events-none [&_svg]:text-secondary-foreground\",\n className\n )}\n {...props}\n >\n <span className=\"flex min-w-0 flex-1 gap-2 break-words\">{children}</span>\n <span className=\"pointer-events-none absolute right-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\n \"px-2 py-3 text-xs font-semibold uppercase text-gray-foreground-muted data-[inset]:pl-8 [&:not(:first-child)]:mt-2.5\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"-mx-3 my-2 h-px bg-border\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\n \"ml-auto text-xs tracking-widest text-gray-foreground\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"flex cursor-pointer select-none items-center rounded-sm px-2 py-2 text-sm font-medium text-gray-foreground outline-0 focus:outline-0 data-[inset]:pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto size-3\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"origin-(--radix-dropdown-menu-content-transform-origin) z-50 min-w-[8rem] overflow-hidden rounded-md border bg-surface-elevated p-1 text-gray-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n","\"use client\";\n\nimport * as React from \"react\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"placeholder:text-muted-foreground shadow-xs flex h-9 w-full min-w-0 rounded-md border border-input bg-transparent px-3 py-1 text-md outline-none transition-[color,box-shadow] selection:bg-primary selection:text-primary-foreground file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground disabled:pointer-events-none disabled:opacity-50 dark:bg-gray-300 md:text-sm\",\n \"focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring\",\n \"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-red-8 aria-invalid:border-red\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n","\"use client\";\n\nimport { cn } from \"@/lib/utils\";\n\nexport interface LogoProps {\n width?: string | number;\n height?: string | number;\n className?: string;\n svgClassName?: string;\n}\n\nfunction Logo({\n width = 171,\n height = 36,\n className,\n svgClassName,\n}: LogoProps) {\n return (\n <svg\n className={cn(\"dark:brightness-0 dark:invert\", className)}\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 171 36\"\n width={width}\n height={height}\n >\n <path\n fill=\"#01CFB5\"\n d=\"M170.246 8.366 158.874 34.77c-.317.744-1.131 1.23-2.038 1.23h-3.47c-1.552 0-2.606-1.377-2.011-2.628l2.875-6.066-8.476-18.918c-.563-1.246.492-2.59 2.027-2.59h3.541c.929 0 1.755.513 2.061 1.278l4.688 11.864h.093l4.464-11.836c.295-.782 1.126-1.306 2.066-1.306h3.514c1.524 0 2.573 1.322 2.038 2.568Zm-24.869 8.623v10.42a.823.823 0 0 1-.82.826h-3.956a.818.818 0 0 1-.82-.825v-.667a11.207 11.207 0 0 1-5.699 1.541c-6.235 0-11.295-5.054-11.295-11.295 0-6.24 5.06-11.295 11.295-11.295 2.076 0 4.027.557 5.694 1.541v-.006a11.295 11.295 0 0 1 5.601 9.76Zm-5.984.005c0-2.94-2.377-5.327-5.306-5.327-2.929 0-5.306 2.388-5.306 5.327 0 2.94 2.377 5.323 5.306 5.323 2.929 0 5.306-2.383 5.306-5.323Zm5.793.4c.005-.099.005-.192.005-.29 0-.098-.005-.191-.005-.284v.573Zm-26.17-11.722h-4.355a.977.977 0 0 0-.978.978v11.902a3.416 3.416 0 0 1-6.831 0V6.65a.977.977 0 0 0-.978-.978h-4.355a.977.977 0 0 0-.978.978v11.902a3.417 3.417 0 0 1-5.83 2.415c-.618-.617-1-1.47-1-2.415V6.65a.977.977 0 0 0-.979-.978h-4.355a.977.977 0 0 0-.978.978v13.088h-.006c0 .781.115 1.535.334 2.256 1.098 3.623 4.765 6.29 9.13 6.29 2.739 0 5.209-1.054 6.935-2.732 1.689 1.83 4.197 2.994 7 2.994 4.53 0 8.295-3.043 9.06-7.043.093-.487.143-.99.143-1.497V6.65a.978.978 0 0 0-.979-.978Z\"\n />\n <path\n fill=\"#00205B\"\n className={svgClassName}\n d=\"M65.557 7.694c-.639.399-1.235.863-1.781 1.388.54-.536 1.137-1 1.781-1.388ZM82.727.831v26.617a.82.82 0 0 1-.82.825h-3.956a.77.77 0 0 1-.415-.12.81.81 0 0 1-.405-.71v-.755a11.018 11.018 0 0 1-5.689 1.574c-5.47 0-10.01-3.967-10.923-9.191-.016-.098-.038-.197-.054-.3-.011-.088-.028-.18-.039-.268 0-.028-.005-.055-.01-.088-.006-.06-.012-.12-.023-.18-.005-.076-.01-.159-.021-.24v-.028c-.006-.093-.017-.18-.017-.273a9.516 9.516 0 0 1 0-1.11l.017-.273v-.027l.032-.311c0-.033.006-.066.006-.099a.665.665 0 0 0 .01-.104c.012-.087.023-.18.039-.267.016-.11.033-.213.055-.323a11.09 11.09 0 0 1 3.17-6.005 11.548 11.548 0 0 1 1.88-1.48 9.127 9.127 0 0 1 1.31-.646c1.039-.42 2.186-.65 3.405-.683-.071 0-.142.011-.213.011a9.587 9.587 0 0 0-3.203.672c-.453.18-.896.4-1.311.65.393-.245.809-.459 1.23-.655-.006 0-.011.005-.017.005l.033-.016c-.011.005-.022.005-.038.01a8.79 8.79 0 0 1 .519-.229c-.039.017-.071.033-.104.05.038-.017.07-.033.11-.05.087-.033.174-.065.267-.098.087-.038.175-.066.268-.099.033-.016.065-.021.098-.032.055-.017.104-.039.158-.055.11-.033.214-.066.323-.098a9.584 9.584 0 0 1 .607-.153c.092-.022.196-.044.295-.066.098-.016.196-.033.295-.055l.295-.049h.005a2.82 2.82 0 0 0 .197-.027c.07-.005.131-.022.202-.022.087-.01.18-.016.268-.022.082-.01.164-.01.246-.016.07 0 .142-.011.213-.011.136-.006.273-.006.415-.006.093 0 .191.006.284.006h.12c.083 0 .159.005.236.01.098.006.196.012.295.023.087.005.174.01.256.022.05.005.099.01.142.016.088.01.175.022.257.038l.312.05c1.06.185 2.07.519 3.005.983v.115c-.038-.022-.076-.038-.12-.06.038.022.077.038.12.065v-.12c.268.131.525.273.77.426V.825a.827.827 0 0 1 .82-.825h3.957a.838.838 0 0 1 .836.83Zm-5.694 16.213a5.32 5.32 0 0 0-5.312-5.323c-2.929 0-5.306 2.388-5.306 5.323 0 2.94 2.377 5.322 5.306 5.322a5.316 5.316 0 0 0 5.312-5.322Zm-19.59.431c0 .41-.017.765-.066 1.132a.597.597 0 0 1-.596.524H42.284a.598.598 0 0 0-.574.77c.623 1.94 2.46 3.192 4.749 3.192 1.607 0 2.678-.574 3.656-1.749a.614.614 0 0 1 .47-.213h5.191c.448 0 .738.47.53.869-2.093 4.033-5.705 6.372-9.847 6.372-6.06 0-11.137-5.055-11.137-11.088 0-6.033 4.847-11.235 11.022-11.235h.006c6.284 0 11.093 4.94 11.093 11.426Zm-6.563-3.393c-.738-1.683-2.437-2.754-4.541-2.754-1.973 0-3.721 1.027-4.47 2.754a.594.594 0 0 0 .552.825h7.907a.593.593 0 0 0 .552-.825ZM23.13 5.803c-2.738 0-5.207 1.055-6.934 2.733-1.689-1.831-4.197-2.995-7-2.995-4.53 0-8.295 3.044-9.06 7.044-.088.486-.137.989-.137 1.497v13.35c0 .54.437.978.978.978h4.355a.977.977 0 0 0 .978-.978V15.618c0-1.65 1.328-3.263 2.962-3.476a3.398 3.398 0 0 1 2.87.973c.617.617 1 1.47 1 2.415v11.902c0 .54.436.978.977.978h4.355a.977.977 0 0 0 .979-.978V15.618c0-1.65 1.327-3.263 2.961-3.476a3.398 3.398 0 0 1 2.87.973c.617.617 1 1.47 1 2.415v11.902c0 .54.436.978.977.978h4.355a.977.977 0 0 0 .979-.978V14.344a7.75 7.75 0 0 0-.334-2.257c-1.098-3.623-4.77-6.284-9.13-6.284Z\"\n />\n </svg>\n );\n}\n\nfunction LogoShort({\n width = 60,\n height = 67,\n className,\n svgClassName,\n}: LogoProps) {\n return (\n <svg\n className={cn(\"dark:brightness-0 dark:invert\", className)}\n width={width}\n height={height}\n viewBox=\"0 0 60 67\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fill=\"#00205B\"\n className={svgClassName}\n d=\"M42.33 10.8959C37.32 10.8959 32.8 12.8259 29.64 15.8959C26.55 12.5459 21.96 10.4159 16.83 10.4159C8.54 10.4159 1.65 15.9859 0.25 23.3059C0.09 24.1959 0 25.1159 0 26.0459V50.4759C0 51.4659 0.8 52.2659 1.79 52.2659H9.76C10.75 52.2659 11.55 51.4659 11.55 50.4759V28.8559C11.55 25.8359 13.98 22.8859 16.97 22.4959C19.03 22.2259 20.91 22.9659 22.22 24.2759C23.35 25.4059 24.05 26.9659 24.05 28.6959V50.4759C24.05 51.4659 24.85 52.2659 25.84 52.2659H33.81C34.8 52.2659 35.6 51.4659 35.6 50.4759V28.8559C35.6 25.8359 38.03 22.8859 41.02 22.4959C43.08 22.2259 44.96 22.9659 46.27 24.2759C47.4 25.4059 48.1 26.9659 48.1 28.6959V50.4759C48.1 51.4659 48.9 52.2659 49.89 52.2659H57.86C58.85 52.2659 59.65 51.4659 59.65 50.4759V26.5259C59.65 25.0959 59.44 23.7159 59.04 22.3959C57.03 15.7659 50.31 10.8959 42.33 10.8959Z\"\n />\n </svg>\n );\n}\n\nexport { Logo, LogoShort };\n","export const content = [\n \"./src/**/*.{js,ts,jsx,tsx,md,mdx}\",\n \"./node_modules/@medway-ui/core/**/*.{js,ts,jsx,tsx}\",\n];\n\nexport const colors = {\n background: \"var(--color-background)\",\n foreground: \"var(--color-foreground)\",\n ring: \"var(--color-ring)\",\n input: \"var(--color-input)\",\n border: \"var(--color-border)\",\n content: {\n title: \"var(--color-content-title)\",\n paragraph: \"var(--color-content-paragraph)\",\n link: \"var(--color-content-link)\",\n },\n surface: {\n elevated: \"var(--color-surface-elevated)\",\n card: \"var(--color-surface-card)\",\n navigation: \"var(--color-surface-navigation)\",\n section: \"var(--color-surface-section)\",\n page: \"var(--color-surface-page)\",\n disable: \"var(--color-surface-disable)\",\n \"settings-on\": \"var(--color-surface-settings-on)\",\n \"settings-off\": \"var(--color-surface-settings-off)\",\n },\n dropShadow: {\n \"layer-a\": \"var(--color-drop-shadow-layer-a)\",\n \"layer-b\": \"var(--color-drop-shadow-layer-b)\",\n },\n white: {\n DEFAULT: \"var(--color-white)\",\n \"80\": \"var(--color-white-80)\",\n \"48\": \"var(--color-white-48)\",\n \"24\": \"var(--color-white-24)\",\n \"16\": \"var(--color-white-16)\",\n \"12\": \"var(--color-white-12)\",\n \"8\": \"var(--color-white-8)\",\n \"6\": \"var(--color-white-6)\",\n \"4\": \"var(--color-white-4)\",\n \"0\": \"var(--color-white-0)\",\n },\n black: {\n DEFAULT: \"var(--color-black)\",\n \"80\": \"var(--color-black-80)\",\n \"48\": \"var(--color-black-48)\",\n \"24\": \"var(--color-black-24)\",\n \"16\": \"var(--color-black-16)\",\n \"12\": \"var(--color-black-12)\",\n \"8\": \"var(--color-black-8)\",\n \"6\": \"var(--color-black-6)\",\n \"4\": \"var(--color-black-4)\",\n \"0\": \"var(--color-black-0)\",\n },\n gray: {\n 950: \"var(--color-gray-950)\",\n 900: \"var(--color-gray-900)\",\n 850: \"var(--color-gray-850)\",\n 800: \"var(--color-gray-800)\",\n 700: \"var(--color-gray-700)\",\n 600: \"var(--color-gray-600)\",\n 500: \"var(--color-gray-500)\",\n 450: \"var(--color-gray-450)\",\n 400: \"var(--color-gray-400)\",\n 300: \"var(--color-gray-300)\",\n 200: \"var(--color-gray-200)\",\n 150: \"var(--color-gray-150)\",\n 100: \"var(--color-gray-100)\",\n 70: \"var(--color-gray-70)\",\n 50: \"var(--color-gray-50)\",\n 30: \"var(--color-gray-30)\",\n 10: \"var(--color-gray-10)\",\n \"0\": \"var(--color-gray-0)\",\n foreground: \"var(--color-gray-foreground)\",\n \"foreground-emphasis\": \"var(--color-gray-foreground-emphasis)\",\n \"foreground-muted\": \"var(--color-gray-foreground-muted)\",\n \"foreground-onfill\": \"var(--color-gray-foreground-onfill)\",\n stroke: \"var(--color-gray-stroke)\",\n \"stroke-emphasis\": \"var(--color-gray-stroke-emphasis)\",\n \"stroke-muted\": \"var(--color-gray-stroke-muted)\",\n \"background-fill\": \"var(--color-gray-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-gray-background-fill-emphasis)\",\n \"background-fill-muted\": \"var(--color-gray-background-fill-muted)\",\n \"background-soft\": \"var(--color-gray-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-gray-background-soft-emphasis)\",\n \"background-soft-muted\": \"var(--color-gray-background-soft-muted)\",\n },\n green: {\n DEFAULT: \"var(--color-green)\",\n \"darken-1\": \"var(--color-green-darken-1)\",\n \"darken-2\": \"var(--color-green-darken-2)\",\n \"darken-3\": \"var(--color-green-darken-3)\",\n \"darken-4\": \"var(--color-green-darken-4)\",\n \"darken-5\": \"var(--color-green-darken-5)\",\n \"darken-6\": \"var(--color-green-darken-6)\",\n \"lighten-1\": \"var(--color-green-lighten-1)\",\n \"lighten-2\": \"var(--color-green-lighten-2)\",\n \"lighten-3\": \"var(--color-green-lighten-3)\",\n \"lighten-4\": \"var(--color-green-lighten-4)\",\n \"lighten-5\": \"var(--color-green-lighten-5)\",\n \"lighten-6\": \"var(--color-green-lighten-6)\",\n \"80\": \"var(--color-green-80)\",\n \"64\": \"var(--color-green-64)\",\n \"48\": \"var(--color-green-48)\",\n \"24\": \"var(--color-green-24)\",\n \"16\": \"var(--color-green-16)\",\n \"12\": \"var(--color-green-12)\",\n \"8\": \"var(--color-green-8)\",\n \"6\": \"var(--color-green-6)\",\n \"4\": \"var(--color-green-4)\",\n \"0\": \"var(--color-green-0)\",\n foreground: \"var(--color-green-foreground)\",\n \"foreground-emphasis\": \"var(--color-green-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-green-foreground-onfill)\",\n stroke: \"var(--color-green-stroke)\",\n \"stroke-emphasis\": \"var(--color-green-stroke-emphasis)\",\n \"background-fill\": \"var(--color-green-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-green-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-green-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-green-background-soft-emphasis)\",\n \"background-soft-muted\": \"var(--color-green-background-soft-muted)\",\n },\n red: {\n DEFAULT: \"var(--color-red)\",\n \"darken-1\": \"var(--color-red-darken-1)\",\n \"darken-2\": \"var(--color-red-darken-2)\",\n \"darken-3\": \"var(--color-red-darken-3)\",\n \"darken-4\": \"var(--color-red-darken-4)\",\n \"darken-5\": \"var(--color-red-darken-5)\",\n \"darken-6\": \"var(--color-red-darken-6)\",\n \"darken-7\": \"var(--color-red-darken-7)\",\n \"lighten-1\": \"var(--color-red-lighten-1)\",\n \"lighten-2\": \"var(--color-red-lighten-2)\",\n \"lighten-3\": \"var(--color-red-lighten-3)\",\n \"lighten-4\": \"var(--color-red-lighten-4)\",\n \"lighten-5\": \"var(--color-red-lighten-5)\",\n \"lighten-6\": \"var(--color-red-lighten-6)\",\n \"80\": \"var(--color-red-80)\",\n \"64\": \"var(--color-red-64)\",\n \"48\": \"var(--color-red-48)\",\n \"24\": \"var(--color-red-24)\",\n \"16\": \"var(--color-red-16)\",\n \"12\": \"var(--color-red-12)\",\n \"8\": \"var(--color-red-8)\",\n \"6\": \"var(--color-red-6)\",\n \"4\": \"var(--color-red-4)\",\n \"0\": \"var(--color-red-0)\",\n foreground: \"var(--color-red-foreground)\",\n \"foreground-emphasis\": \"var(--color-red-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-red-foreground-onfill)\",\n stroke: \"var(--color-red-stroke)\",\n \"stroke-emphasis\": \"var(--color-red-stroke-emphasis)\",\n \"background-fill\": \"var(--color-red-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-red-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-red-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-red-background-soft-emphasis)\",\n \"background-soft-muted\": \"var(--color-red-background-soft-muted)\",\n },\n yellow: {\n DEFAULT: \"var(--color-yellow)\",\n \"darken-1\": \"var(--color-yellow-darken-1)\",\n \"darken-2\": \"var(--color-yellow-darken-2)\",\n \"darken-3\": \"var(--color-yellow-darken-3)\",\n \"darken-4\": \"var(--color-yellow-darken-4)\",\n \"darken-5\": \"var(--color-yellow-darken-5)\",\n \"darken-6\": \"var(--color-yellow-darken-6)\",\n \"lighten-1\": \"var(--color-yellow-lighten-1)\",\n \"lighten-2\": \"var(--color-yellow-lighten-2)\",\n \"lighten-3\": \"var(--color-yellow-lighten-3)\",\n \"lighten-4\": \"var(--color-yellow-lighten-4)\",\n \"lighten-5\": \"var(--color-yellow-lighten-5)\",\n \"lighten-6\": \"var(--color-yellow-lighten-6)\",\n \"80\": \"var(--color-yellow-80)\",\n \"64\": \"var(--color-yellow-64)\",\n \"48\": \"var(--color-yellow-48)\",\n \"24\": \"var(--color-yellow-24)\",\n \"12\": \"var(--color-yellow-12)\",\n \"16\": \"var(--color-yellow-16)\",\n \"8\": \"var(--color-yellow-8)\",\n \"6\": \"var(--color-yellow-6)\",\n \"4\": \"var(--color-yellow-4)\",\n \"0\": \"var(--color-yellow-0)\",\n foreground: \"var(--color-yellow-foreground)\",\n \"foreground-emphasis\": \"var(--color-yellow-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-yellow-foreground-onfill)\",\n stroke: \"var(--color-yellow-stroke)\",\n \"stroke-emphasis\": \"var(--color-yellow-stroke-emphasis)\",\n \"background-fill\": \"var(--color-yellow-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-yellow-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-yellow-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-yellow-background-soft-emphasis)\",\n \"background-soft-muted\": \"var(--color-yellow-background-soft-muted)\",\n },\n cm: {\n DEFAULT: \"var(--color-cm)\",\n \"darken-1\": \"var(--color-cm-darken-1)\",\n \"darken-2\": \"var(--color-cm-darken-2)\",\n \"darken-3\": \"var(--color-cm-darken-3)\",\n \"darken-4\": \"var(--color-cm-darken-4)\",\n \"darken-5\": \"var(--color-cm-darken-5)\",\n \"darken-6\": \"var(--color-cm-darken-6)\",\n \"lighten-1\": \"var(--color-cm-lighten-1)\",\n \"lighten-2\": \"var(--color-cm-lighten-2)\",\n \"lighten-3\": \"var(--color-cm-lighten-3)\",\n \"lighten-4\": \"var(--color-cm-lighten-4)\",\n \"lighten-5\": \"var(--color-cm-lighten-5)\",\n \"lighten-6\": \"var(--color-cm-lighten-6)\",\n \"80\": \"var(--color-cm-80)\",\n \"64\": \"var(--color-cm-64)\",\n \"48\": \"var(--color-cm-48)\",\n \"24\": \"var(--color-cm-24)\",\n \"16\": \"var(--color-cm-16)\",\n \"12\": \"var(--color-cm-12)\",\n \"8\": \"var(--color-cm-8)\",\n \"6\": \"var(--color-cm-6)\",\n \"4\": \"var(--color-cm-4)\",\n \"0\": \"var(--color-cm-0)\",\n foreground: \"var(--color-cm-foreground)\",\n \"foreground-emphasis\": \"var(--color-cm-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-cm-foreground-onfill)\",\n \"background-fill\": \"var(--color-cm-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-cm-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-cm-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-cm-background-soft-emphasis)\",\n },\n go: {\n DEFAULT: \"var(--color-go)\",\n \"darken-1\": \"var(--color-go-darken-1)\",\n \"darken-2\": \"var(--color-go-darken-2)\",\n \"darken-3\": \"var(--color-go-darken-3)\",\n \"darken-4\": \"var(--color-go-darken-4)\",\n \"darken-5\": \"var(--color-go-darken-5)\",\n \"darken-6\": \"var(--color-go-darken-6)\",\n \"lighten-1\": \"var(--color-go-lighten-1)\",\n \"lighten-2\": \"var(--color-go-lighten-2)\",\n \"lighten-3\": \"var(--color-go-lighten-3)\",\n \"lighten-4\": \"var(--color-go-lighten-4)\",\n \"lighten-5\": \"var(--color-go-lighten-5)\",\n \"lighten-6\": \"var(--color-go-lighten-6)\",\n \"80\": \"var(--color-go-80)\",\n \"64\": \"var(--color-go-64)\",\n \"48\": \"var(--color-go-48)\",\n \"24\": \"var(--color-go-24)\",\n \"16\": \"var(--color-go-16)\",\n \"12\": \"var(--color-go-12)\",\n \"8\": \"var(--color-go-8)\",\n \"6\": \"var(--color-go-6)\",\n \"4\": \"var(--color-go-4)\",\n \"0\": \"var(--color-go-0)\",\n foreground: \"var(--color-go-foreground)\",\n \"foreground-emphasis\": \"var(--color-go-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-go-foreground-onfill)\",\n \"background-fill\": \"var(--color-go-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-go-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-go-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-go-background-soft-emphasis)\",\n },\n cir: {\n DEFAULT: \"var(--color-cir)\",\n \"darken-1\": \"var(--color-cir-darken-1)\",\n \"darken-2\": \"var(--color-cir-darken-2)\",\n \"darken-3\": \"var(--color-cir-darken-3)\",\n \"darken-4\": \"var(--color-cir-darken-4)\",\n \"darken-5\": \"var(--color-cir-darken-5)\",\n \"darken-6\": \"var(--color-cir-darken-6)\",\n \"lighten-1\": \"var(--color-cir-lighten-1)\",\n \"lighten-2\": \"var(--color-cir-lighten-2)\",\n \"lighten-3\": \"var(--color-cir-lighten-3)\",\n \"lighten-4\": \"var(--color-cir-lighten-4)\",\n \"lighten-5\": \"var(--color-cir-lighten-5)\",\n \"lighten-6\": \"var(--color-cir-lighten-6)\",\n \"80\": \"var(--color-cir-80)\",\n \"64\": \"var(--color-cir-64)\",\n \"48\": \"var(--color-cir-48)\",\n \"24\": \"var(--color-cir-24)\",\n \"16\": \"var(--color-cir-16)\",\n \"12\": \"var(--color-cir-12)\",\n \"8\": \"var(--color-cir-8)\",\n \"6\": \"var(--color-cir-6)\",\n \"4\": \"var(--color-cir-4)\",\n \"0\": \"var(--color-cir-0)\",\n foreground: \"var(--color-cir-foreground)\",\n \"foreground-emphasis\": \"var(--color-cir-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-cir-foreground-onfill)\",\n \"background-fill\": \"var(--color-cir-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-cir-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-cir-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-cir-background-soft-emphasis)\",\n },\n ped: {\n DEFAULT: \"var(--color-ped)\",\n \"darken-1\": \"var(--color-ped-darken-1)\",\n \"darken-2\": \"var(--color-ped-darken-2)\",\n \"darken-3\": \"var(--color-ped-darken-3)\",\n \"darken-4\": \"var(--color-ped-darken-4)\",\n \"darken-5\": \"var(--color-ped-darken-5)\",\n \"darken-6\": \"var(--color-ped-darken-6)\",\n \"darken-7\": \"var(--color-ped-darken-7)\",\n \"lighten-1\": \"var(--color-ped-lighten-1)\",\n \"lighten-2\": \"var(--color-ped-lighten-2)\",\n \"lighten-3\": \"var(--color-ped-lighten-3)\",\n \"lighten-4\": \"var(--color-ped-lighten-4)\",\n \"lighten-5\": \"var(--color-ped-lighten-5)\",\n \"lighten-6\": \"var(--color-ped-lighten-6)\",\n \"80\": \"var(--color-ped-80)\",\n \"64\": \"var(--color-ped-64)\",\n \"48\": \"var(--color-ped-48)\",\n \"24\": \"var(--color-ped-24)\",\n \"16\": \"var(--color-ped-16)\",\n \"12\": \"var(--color-ped-12)\",\n \"8\": \"var(--color-ped-8)\",\n \"6\": \"var(--color-ped-6)\",\n \"4\": \"var(--color-ped-4)\",\n \"0\": \"var(--color-ped-0)\",\n foreground: \"var(--color-ped-foreground)\",\n \"foreground-emphasis\": \"var(--color-ped-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-ped-foreground-onfill)\",\n \"background-fill\": \"var(--color-ped-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-ped-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-ped-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-ped-background-soft-emphasis)\",\n },\n prev: {\n DEFAULT: \"var(--color-prev)\",\n \"darken-1\": \"var(--color-prev-darken-1)\",\n \"darken-2\": \"var(--color-prev-darken-2)\",\n \"darken-3\": \"var(--color-prev-darken-3)\",\n \"darken-4\": \"var(--color-prev-darken-4)\",\n \"darken-5\": \"var(--color-prev-darken-5)\",\n \"darken-6\": \"var(--color-prev-darken-6)\",\n \"lighten-1\": \"var(--color-prev-lighten-1)\",\n \"lighten-2\": \"var(--color-prev-lighten-2)\",\n \"lighten-3\": \"var(--color-prev-lighten-3)\",\n \"lighten-4\": \"var(--color-prev-lighten-4)\",\n \"lighten-5\": \"var(--color-prev-lighten-5)\",\n \"lighten-6\": \"var(--color-prev-lighten-6)\",\n \"80\": \"var(--color-prev-80)\",\n \"64\": \"var(--color-prev-64)\",\n \"48\": \"var(--color-prev-48)\",\n \"24\": \"var(--color-prev-24)\",\n \"16\": \"var(--color-prev-16)\",\n \"12\": \"var(--color-prev-12)\",\n \"8\": \"var(--color-prev-8)\",\n \"6\": \"var(--color-prev-6)\",\n \"4\": \"var(--color-prev-4)\",\n \"0\": \"var(--color-prev-0)\",\n foreground: \"var(--color-prev-foreground)\",\n \"foreground-emphasis\": \"var(--color-prev-foreground-emphasis)\",\n \"foreground-onfill\": \"var(--color-prev-foreground-onfill)\",\n \"background-fill\": \"var(--color-prev-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-prev-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-prev-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-prev-background-soft-emphasis)\",\n },\n primary: {\n DEFAULT: \"var(--color-primary)\",\n \"darken-1\": \"var(--color-primary-darken-1)\",\n \"darken-2\": \"var(--color-primary-darken-2)\",\n \"lighten-1\": \"var(--color-primary-lighten-1)\",\n \"lighten-2\": \"var(--color-primary-lighten-2)\",\n \"lighten-3\": \"var(--color-primary-lighten-3)\",\n \"lighten-4\": \"var(--color-primary-lighten-4)\",\n \"lighten-5\": \"var(--color-primary-lighten-5)\",\n \"lighten-6\": \"var(--color-primary-lighten-6)\",\n \"80\": \"var(--color-primary-80)\",\n \"64\": \"var(--color-primary-64)\",\n \"48\": \"var(--color-primary-48)\",\n \"24\": \"var(--color-primary-24)\",\n \"16\": \"var(--color-primary-16)\",\n \"12\": \"var(--color-primary-12)\",\n \"8\": \"var(--color-primary-8)\",\n \"6\": \"var(--color-primary-6)\",\n \"4\": \"var(--color-primary-4)\",\n \"0\": \"var(--color-primary-0)\",\n foreground: \"var(--color-primary-foreground)\",\n \"foreground-emphasis\": \"var(--color-primary-foreground-emphasis)\",\n \"foreground-muted\": \"var(--color-primary-foreground-muted)\",\n \"foreground-onfill\": \"var(--color-primary-foreground-onfill)\",\n stroke: \"var(--color-primary-stroke)\",\n \"stroke-emphasis\": \"var(--color-primary-stroke-emphasis)\",\n \"background-fill\": \"var(--color-primary-background-fill)\",\n \"background-fill-emphasis\": \"var(--color-primary-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-primary-background-soft)\",\n \"background-soft-emphasis\": \"var(--color-primary-background-soft-emphasis)\",\n \"background-soft-muted\": \"var(--color-primary-background-soft-muted)\",\n },\n secondary: {\n DEFAULT: \"var(--color-secondary)\",\n \"darken-1\": \"var(--color-secondary-darken-1)\",\n \"darken-2\": \"var(--color-secondary-darken-2)\",\n \"darken-3\": \"var(--color-secondary-darken-3)\",\n \"darken-4\": \"var(--color-secondary-darken-4)\",\n \"darken-5\": \"var(--color-secondary-darken-5)\",\n \"darken-6\": \"var(--color-secondary-darken-6)\",\n \"lighten-1\": \"var(--color-secondary-lighten-1)\",\n \"lighten-2\": \"var(--color-secondary-lighten-2)\",\n \"lighten-3\": \"var(--color-secondary-lighten-3)\",\n \"lighten-4\": \"var(--color-secondary-lighten-4)\",\n \"lighten-5\": \"var(--color-secondary-lighten-5)\",\n \"lighten-6\": \"var(--color-secondary-lighten-6)\",\n \"80\": \"var(--color-secondary-80)\",\n \"64\": \"var(--color-secondary-64)\",\n \"48\": \"var(--color-secondary-48)\",\n \"24\": \"var(--color-secondary-24)\",\n \"16\": \"var(--color-secondary-16)\",\n \"12\": \"var(--color-secondary-12)\",\n \"8\": \"var(--color-secondary-8)\",\n \"6\": \"var(--color-secondary-6)\",\n \"4\": \"var(--color-secondary-4)\",\n \"0\": \"var(--color-secondary-0)\",\n foreground: \"var(--color-secondary-foreground)\",\n \"foreground-emphasis\": \"var(--color-secondary-foreground-emphasis)\",\n \"foreground-muted\": \"var(--color-secondary-foreground-muted)\",\n \"foreground-onfill\": \"var(--color-secondary-foreground-onfill)\",\n stroke: \"var(--color-secondary-stroke)\",\n \"stroke-emphasis\": \"var(--color-secondary-stroke-emphasis)\",\n \"background-fill\": \"var(--color-secondary-background-fill)\",\n \"background-fill-emphasis\":\n \"var(--color-secondary-background-fill-emphasis)\",\n \"background-soft\": \"var(--color-secondary-background-soft)\",\n \"background-soft-emphasis\":\n \"var(--color-secondary-background-soft-emphasis)\",\n \"background-soft-muted\": \"var(--color-secondary-background-soft-muted)\",\n },\n gradient: {\n base: {\n \"blur-1\": \"var(--color-gradient-base-blur-1)\",\n \"blur-2\": \"var(--color-gradient-base-blur-2)\",\n \"blur-3\": \"var(--color-gradient-base-blur-3)\",\n \"bg-1\": \"var(--color-gradient-base-bg-1)\",\n \"bg-2\": \"var(--color-gradient-base-bg-2)\",\n },\n cir: {\n \"blur-1\": \"var(--color-gradient-cir-blur-1)\",\n \"blur-2\": \"var(--color-gradient-cir-blur-2)\",\n \"blur-3\": \"var(--color-gradient-cir-blur-3)\",\n \"bg-1\": \"var(--color-gradient-cir-bg-1)\",\n \"bg-2\": \"var(--color-gradient-cir-bg-2)\",\n },\n cm: {\n \"blur-1\": \"var(--color-gradient-cm-blur-1)\",\n \"blur-2\": \"var(--color-gradient-cm-blur-2)\",\n \"blur-3\": \"var(--color-gradient-cm-blur-3)\",\n \"bg-1\": \"var(--color-gradient-cm-bg-1)\",\n \"bg-2\": \"var(--color-gradient-cm-bg-2)\",\n },\n go: {\n \"blur-1\": \"var(--color-gradient-go-blur-1)\",\n \"blur-2\": \"var(--color-gradient-go-blur-2)\",\n \"blur-3\": \"var(--color-gradient-go-blur-3)\",\n \"bg-1\": \"var(--color-gradient-go-bg-1)\",\n \"bg-2\": \"var(--color-gradient-go-bg-2)\",\n },\n ped: {\n \"blur-1\": \"var(--color-gradient-ped-blur-1)\",\n \"blur-2\": \"var(--color-gradient-ped-blur-2)\",\n \"blur-3\": \"var(--color-gradient-ped-blur-3)\",\n \"bg-1\": \"var(--color-gradient-ped-bg-1)\",\n \"bg-2\": \"var(--color-gradient-ped-bg-2)\",\n },\n prev: {\n \"blur-1\": \"var(--color-gradient-prev-blur-1)\",\n \"blur-2\": \"var(--color-gradient-prev-blur-2)\",\n \"blur-3\": \"var(--color-gradient-prev-blur-3)\",\n \"bg-1\": \"var(--color-gradient-prev-bg-1)\",\n \"bg-2\": \"var(--color-gradient-prev-bg-2)\",\n },\n r1: {\n \"blur-1\": \"var(--color-gradient-r1-blur-1)\",\n \"blur-2\": \"var(--color-gradient-r1-blur-2)\",\n \"blur-3\": \"var(--color-gradient-r1-blur-3)\",\n \"bg-1\": \"var(--color-gradient-r1-bg-1)\",\n \"bg-2\": \"var(--color-gradient-r1-bg-2)\",\n },\n rplus: {\n \"blur-1\": \"var(--color-gradient-rplus-blur-1)\",\n \"blur-2\": \"var(--color-gradient-rplus-blur-2)\",\n \"blur-3\": \"var(--color-gradient-rplus-blur-3)\",\n \"bg-1\": \"var(--color-gradient-rplus-bg-1)\",\n \"bg-2\": \"var(--color-gradient-rplus-bg-2)\",\n },\n pt: {\n \"blur-1\": \"var(--color-gradient-pt-blur-1)\",\n \"blur-2\": \"var(--color-gradient-pt-blur-2)\",\n \"blur-3\": \"var(--color-gradient-pt-blur-3)\",\n \"bg-1\": \"var(--color-gradient-pt-bg-1)\",\n \"bg-2\": \"var(--color-gradient-pt-bg-2)\",\n },\n },\n};\n\nexport const fontFamily = {\n sans: \"var(--font-sans)\",\n};\n\nexport const fontSize = {\n xxs: \"var(--text-xxs)\",\n xs: \"var(--text-xs)\",\n sm: \"var(--text-sm)\",\n md: \"var(--text-md)\",\n lg: \"var(--text-lg)\",\n xl: \"var(--text-xl)\",\n \"title-xs\": \"var(--text-title-xs)\",\n \"title-sm\": \"var(--text-title-sm)\",\n \"title-md\": \"var(--text-title-md)\",\n \"title-lg\": \"var(--text-title-lg)\",\n \"title-xl\": \"var(--text-title-xl)\",\n \"title-xxl\": \"var(--text-title-xxl)\",\n \"display-sm\": \"var(--text-display-sm)\",\n \"display-md\": \"var(--text-display-md)\",\n \"display-lg\": \"var(--text-display-lg)\",\n};\n\nexport const lineHeight = {\n xxs: \"var(--leading-xxs)\",\n xs: \"var(--leading-xs)\",\n sm: \"var(--leading-sm)\",\n md: \"var(--leading-md)\",\n lg: \"var(--leading-lg)\",\n \"title-xs\": \"var(--leading-title-xs)\",\n \"title-sm\": \"var(--leading-title-sm)\",\n \"title-md\": \"var(--leading-title-md)\",\n \"title-lg\": \"var(--leading-title-lg)\",\n \"title-xl\": \"var(--leading-title-xl)\",\n \"title-xxl\": \"var(--leading-title-xxl)\",\n \"display-sm\": \"var(--leading-display-sm)\",\n \"display-md\": \"var(--leading-display-md)\",\n \"display-lg\": \"var(--leading-display-lg)\",\n};\n\nexport const fontWeight = {\n regular: \"var(--font-weight-regular)\",\n medium: \"var(--font-weight-medium)\",\n semibold: \"var(--font-weight-semibold)\",\n bold: \"var(--font-weight-bold)\",\n extrabold: \"var(--font-weight-extrabold)\",\n};\n\nexport const screens = {\n tv: \"1920px\",\n desktop: \"1024px\",\n tablet: \"600px\",\n mobile: \"320px\",\n sm: \"320px\",\n md: \"600px\",\n lg: \"1024px\",\n xl: \"1920px\",\n};\n\nexport const breakpoints = {\n tv: \"var(--breakpoint-tv)\",\n desktop: \"var(--breakpoint-desktop)\",\n tablet: \"var(--breakpoint-tablet)\",\n mobile: \"var(--breakpoint-mobile)\",\n};\n\nexport const container = {\n tv: \"var(--container-tv)\",\n desktop: \"var(--container-desktop)\",\n tablet: \"var(--container-tablet)\",\n mobile: \"var(--container-mobile)\",\n};\n\nexport const sidebar = {\n width: \"var(--sidebar-width)\",\n \"width-mobile\": \"var(--sidebar-width-mobile)\",\n \"width-icon\": \"var(--sidebar-width-icon)\",\n};\n\nexport const borderRadius = {\n none: \"var(--radius-none)\",\n sm: \"var(--radius-sm)\",\n md: \"var(--radius-md)\",\n lg: \"var(--radius-lg)\",\n pill: \"var(--radius-pill)\",\n circular: \"var(--radius-circular)\",\n full: \"var(--radius-full)\",\n};\n\nexport const boxShadow = {\n \"level-1\":\n \"0 0 2px 0 var(--color-drop-shadow-layer-a), 0 2px 4px 0 var(--color-drop-shadow-layer-b)\",\n};\n\nexport const keyframes = {\n \"accordion-down\": {\n from: {\n height: \"0\",\n },\n to: {\n height: \"var(--radix-accordion-content-height)\",\n },\n },\n \"accordion-up\": {\n from: {\n height: \"var(--radix-accordion-content-height)\",\n },\n to: {\n height: \"0\",\n },\n },\n \"collapsible-down\": {\n from: {\n height: \"0\",\n },\n to: {\n height: \"var(--radix-collapsible-content-height)\",\n },\n },\n \"collapsible-up\": {\n from: {\n height: \"var(--radix-collapsible-content-height)\",\n },\n to: {\n height: \"0\",\n },\n },\n \"fade-in\": {\n from: {\n opacity: \"0\",\n },\n to: {\n opacity: \"1\",\n },\n },\n \"fade-out\": {\n from: {\n opacity: \"1\",\n },\n to: {\n opacity: \"0\",\n },\n },\n};\n\nexport const animation = {\n \"accordion-down\": \"accordion-down 0.2s ease-out\",\n \"accordion-up\": \"accordion-up 0.2s ease-out\",\n \"collapsible-down\": \"collapsible-down 0.2s ease-out\",\n \"collapsible-up\": \"collapsible-up 0.2s ease-out\",\n \"fade-in\": \"fade-in 0.2s ease-out\",\n \"fade-out\": \"fade-out 0.2s ease-out\",\n};\n","\"use client\";\n\nimport { screens } from \"@/assets/js/tokens\";\nimport { Button, buttonVariants } from \"@/components/Button\";\nimport { cn } from \"@/lib/utils\";\nimport {\n ChevronLeftDuo,\n ChevronRightDuo,\n MoreHorizontal,\n} from \"@medway-ui/icons\";\nimport type { VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\n\ninterface PaginationProps {\n currentPage: number;\n totalPages: number;\n maxVisibleItems?: number;\n onPageChange: (page: number) => void;\n className?: string;\n itemsPerPage?: number;\n totalItems?: number;\n responsive?: boolean;\n size?: \"sm\" | \"md\" | \"lg\";\n variant?:\n | \"regular\"\n | \"emphasis\"\n | \"error\"\n | \"warning\"\n | \"outlined\"\n | \"success\";\n}\n\ntype PaginationLinkProps = {\n isActive?: boolean;\n iconLeft?: React.ReactNode;\n iconRight?: React.ReactNode;\n size?: \"sm\" | \"md\" | \"lg\";\n variant?: ButtonVariant;\n activeVariant?: ButtonVariant;\n inactiveVariant?: ButtonVariant;\n} & React.ComponentProps<\"button\">;\n\ntype ButtonVariant = NonNullable<\n VariantProps<typeof buttonVariants>[\"variant\"]\n>;\n\nfunction PaginationRoot({ className, ...props }: React.ComponentProps<\"nav\">) {\n return (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cn(\"flex w-full items-center justify-between\", className)}\n {...props}\n />\n );\n}\n\nfunction PaginationContent({\n className,\n ...props\n}: React.ComponentProps<\"ul\">) {\n return (\n <ul\n className={cn(\"flex flex-row items-center gap-2\", className)}\n {...props}\n />\n );\n}\n\nfunction PaginationInfo({\n count,\n label = \"itens\",\n className,\n ...props\n}: React.ComponentProps<\"p\"> & { count?: number; label?: string }) {\n return (\n <p\n className={cn(\n \"text-xs font-medium text-gray-foreground-muted\",\n className\n )}\n {...props}\n >\n {label === \"itens\" ? (\n <>\n Mostrando{\" \"}\n <span className=\"font-semibold text-gray-foreground\">{count}</span>{\" \"}\n {label}\n </>\n ) : (\n <>\n <span className=\"font-semibold text-gray-foreground\">{count}</span>{\" \"}\n {label}\n </>\n )}\n </p>\n );\n}\n\nfunction PaginationItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return <li className={cn(\"\", className)} {...props} />;\n}\n\nfunction PaginationLink({\n className,\n isActive,\n iconLeft,\n iconRight,\n size = \"md\",\n variant = \"regular\",\n activeVariant,\n inactiveVariant,\n ...props\n}: PaginationLinkProps) {\n const getVariant = () => {\n if (isActive && activeVariant) return activeVariant;\n if (!isActive && inactiveVariant) return inactiveVariant;\n return isActive ? variant : `${variant}-soft`;\n };\n\n return (\n <Button\n aria-current={isActive ? \"page\" : undefined}\n variant={getVariant() as ButtonVariant}\n className={cn(\"\", className)}\n size={size}\n iconLeft={iconLeft}\n iconRight={iconRight}\n {...props}\n >\n {props.children}\n </Button>\n );\n}\n\nfunction PaginationPrevious({\n className,\n size = \"md\",\n variant = \"regular-basic\",\n ...props\n}: React.ComponentProps<typeof PaginationLink>) {\n return (\n <Button\n aria-label=\"Go to previous page\"\n className={cn(\"\", className)}\n iconLeft={<ChevronLeftDuo />}\n variant={variant}\n size={size}\n {...props}\n >\n {props.children || \"Anterior\"}\n </Button>\n );\n}\n\nfunction PaginationNext({\n className,\n size = \"md\",\n variant = \"regular-basic\",\n ...props\n}: React.ComponentProps<typeof PaginationLink>) {\n return (\n <Button\n aria-label=\"Go to next page\"\n className={cn(\"\", className)}\n variant={variant}\n iconRight={<ChevronRightDuo />}\n size={size}\n {...props}\n >\n {props.children || \"Próximo\"}\n </Button>\n );\n}\n\nfunction PaginationEllipsis({\n className,\n size = \"md\",\n ...props\n}: React.ComponentProps<\"span\"> & { size?: \"sm\" | \"md\" | \"lg\" }) {\n const sizeClasses = {\n sm: \"h-8 w-8\",\n md: \"h-9 w-9\",\n lg: \"h-10 w-10\",\n } as const;\n\n return (\n <span\n aria-hidden\n className={cn(\n \"flex items-center justify-center\",\n sizeClasses[size],\n className\n )}\n {...props}\n >\n <MoreHorizontal className=\"h-4 w-4\" />\n </span>\n );\n}\n\nfunction Pagination({\n currentPage,\n totalPages,\n maxVisibleItems,\n onPageChange,\n itemsPerPage,\n totalItems,\n className,\n responsive = true,\n size = \"md\",\n}: PaginationProps) {\n // Detect tablet/mobile based on tokens.screens.tablet\n const [isTabletOrMobile, setIsTabletOrMobile] = React.useState<boolean>(\n () => {\n if (typeof window === \"undefined\") return false;\n return window.innerWidth <= parseInt(screens.tablet);\n }\n );\n\n React.useEffect(() => {\n if (typeof window === \"undefined\" || !responsive) return;\n const tabletPx = parseInt(screens.tablet);\n const onResize = () => {\n setIsTabletOrMobile(window.innerWidth <= tabletPx);\n };\n window.addEventListener(\"resize\", onResize);\n onResize();\n return () => window.removeEventListener(\"resize\", onResize);\n }, [responsive]);\n\n // If prop not provided, default to 0 on tablet/mobile, otherwise fallback to 2\n const effectiveMaxVisible =\n typeof maxVisibleItems === \"number\"\n ? maxVisibleItems\n : responsive && isTabletOrMobile\n ? 0\n : 2;\n\n const shouldHideInfo = responsive && isTabletOrMobile;\n\n const renderPageNumbers = () => {\n const pages: number[] = [];\n const maxVisible = effectiveMaxVisible;\n\n if (totalPages <= maxVisible) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n const sidePages = Math.floor(maxVisible / 2);\n if (currentPage <= sidePages + 1) {\n for (let i = 1; i <= maxVisible + 1; i++) {\n pages.push(i);\n }\n pages.push(-1, totalPages);\n } else if (currentPage >= totalPages - sidePages) {\n pages.push(1, -1);\n for (let i = totalPages - maxVisible; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n pages.push(1, -1);\n for (\n let i = currentPage - sidePages;\n i <= currentPage + sidePages;\n i++\n ) {\n pages.push(i);\n }\n pages.push(-1, totalPages);\n }\n }\n\n return pages;\n };\n\n return (\n <PaginationRoot className={cn(\"\", className)}>\n {itemsPerPage !== undefined && !shouldHideInfo ? (\n <PaginationInfo count={itemsPerPage} label=\"itens\" />\n ) : (\n <div />\n )}\n <PaginationContent>\n <PaginationItem>\n <PaginationPrevious\n onClick={() => onPageChange(Math.max(1, currentPage - 1))}\n disabled={currentPage === 1}\n size={size}\n />\n </PaginationItem>\n\n {renderPageNumbers().map((page, index) => (\n <PaginationItem key={index}>\n {page === -1 ? (\n <PaginationEllipsis size={size} />\n ) : (\n <PaginationLink\n onClick={() => onPageChange(page)}\n isActive={page === currentPage}\n size={size}\n >\n {page}\n </PaginationLink>\n )}\n </PaginationItem>\n ))}\n\n <PaginationItem>\n <PaginationNext\n onClick={() => onPageChange(Math.min(totalPages, currentPage + 1))}\n disabled={currentPage === totalPages}\n size={size}\n />\n </PaginationItem>\n </PaginationContent>\n {totalItems !== undefined && !shouldHideInfo ? (\n <PaginationInfo count={totalItems} label=\"total\" />\n ) : (\n <div />\n )}\n </PaginationRoot>\n );\n}\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationInfo,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n PaginationRoot,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport { ScrollArea as ScrollAreaPrimitive } from \"radix-ui\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction ScrollArea({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.Root>) {\n return (\n <ScrollAreaPrimitive.Root\n data-slot=\"scroll-area\"\n className={cn(\"relative\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport\n data-slot=\"scroll-area-viewport\"\n className=\"size-full rounded-[inherit]\"\n >\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollBar orientation=\"horizontal\" />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n );\n}\n\nfunction ScrollBar({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>) {\n return (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n data-slot=\"scroll-area-scrollbar\"\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-px\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-px\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb\n data-slot=\"scroll-area-thumb\"\n className=\"relative flex-1 rounded-full bg-border\"\n />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n );\n}\n\nexport { ScrollArea, ScrollBar };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Tabs as TabsPrimitive } from \"radix-ui\";\nimport { cva } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\nimport { Badge as BadgeComponent } from \"@/components/Badge\";\nimport { ScrollArea, ScrollBar } from \"@/components/ScrollArea\";\n\ntype SegmentSize = \"sm\" | \"md\" | \"lg\";\n\nconst SegmentControlContext = React.createContext<{\n size: SegmentSize;\n} | null>(null);\n\nfunction SegmentControl({\n className,\n size = \"md\",\n children,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Root> & {\n size?: SegmentSize;\n}) {\n return (\n <SegmentControlContext.Provider value={{ size }}>\n <TabsPrimitive.Root\n data-slot=\"tabs\"\n className={cn(\"flex flex-col gap-2\", className)}\n {...props}\n >\n {children}\n </TabsPrimitive.Root>\n </SegmentControlContext.Provider>\n );\n}\n\ninterface SegmentControlListProps\n extends React.ComponentProps<typeof TabsPrimitive.List> {\n containerClassName?: string;\n}\n\nfunction SegmentControlList({\n className,\n containerClassName,\n ...props\n}: SegmentControlListProps) {\n return (\n <ScrollArea\n className={cn(\n \"[&_[data-slot=scroll-area-scrollbar][data-orientation=horizontal]]:h-1\",\n containerClassName\n )}\n >\n <TabsPrimitive.List\n data-slot=\"tabs-list\"\n className={cn(\n \"inline-flex w-fit items-center justify-center rounded-md bg-gray-background-soft p-0.5\",\n className\n )}\n {...props}\n />\n <ScrollBar orientation=\"horizontal\" />\n </ScrollArea>\n );\n}\n\ninterface SegmentControlTriggerProps\n extends React.ComponentProps<typeof TabsPrimitive.Trigger> {\n icon?: React.ReactNode;\n badge?: number | string;\n}\n\nconst segmentControlTriggerVariants = cva(\n \"data-[state=active]:shadow-xs group inline-flex items-center justify-center gap-2.5 whitespace-nowrap rounded-[6px] font-medium text-gray-foreground outline-none transition-all data-[state=active]:bg-surface-card data-[state=active]:text-primary-foreground [&_svg]:shrink-0 [&_svg]:text-inherit disabled:text-gray-foreground-muted disabled:pointer-events-none\",\n {\n variants: {\n size: {\n sm: \"max-h-7 px-3 py-1.5 text-xs [&_svg]:size-4\",\n md: \"max-h-9 px-4 py-2 text-sm [&_svg]:size-5\",\n lg: \"max-h-11 px-4 py-2.5 text-md [&_svg]:size-6\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n);\n\nfunction SegmentControlTrigger({\n className,\n icon,\n badge,\n children,\n ...props\n}: SegmentControlTriggerProps) {\n const shouldShowBadge = (value: number | string | undefined) => {\n return (\n value != null &&\n value !== 0 &&\n value !== \"\" &&\n value !== \"0\" &&\n !props.disabled\n );\n };\n const ctx = React.useContext(SegmentControlContext);\n const size = ctx?.size ?? \"md\";\n\n return (\n <TabsPrimitive.Trigger\n data-slot=\"tabs-trigger\"\n className={cn(segmentControlTriggerVariants({ size, className }))}\n {...props}\n >\n {icon}\n {children && (\n <span className=\"inline-grid [grid-template-areas:'stack']\">\n <span\n aria-hidden=\"true\"\n className=\"invisible font-semibold [grid-area:stack]\"\n >\n {children}\n </span>\n <span className=\"font-medium [grid-area:stack] group-data-[state=active]:font-semibold\">\n {children}\n </span>\n </span>\n )}\n {shouldShowBadge(badge) && (\n <BadgeComponent size={size} variant=\"regular\">\n {String(badge)}\n </BadgeComponent>\n )}\n </TabsPrimitive.Trigger>\n );\n}\n\nfunction SegmentControlContent({\n className,\n ...props\n}: React.ComponentProps<typeof TabsPrimitive.Content>) {\n return (\n <TabsPrimitive.Content\n data-slot=\"tabs-content\"\n className={cn(\"flex-1 outline-none\", className)}\n {...props}\n />\n );\n}\n\nexport {\n SegmentControl,\n SegmentControlContent,\n SegmentControlList,\n SegmentControlTrigger,\n segmentControlTriggerVariants,\n};\n","import { CamelToPascal } from './utility-types';\n\n/**\n * Converts string to kebab case\n *\n * @param {string} string\n * @returns {string} A kebabized string\n */\nexport const toKebabCase = (string: string) =>\n string.replace(/([a-z0-9])([A-Z])/g, '$1-$2').toLowerCase();\n\n/**\n * Converts string to camel case\n *\n * @param {string} string\n * @returns {string} A camelized string\n */\nexport const toCamelCase = <T extends string>(string: T) =>\n string.replace(/^([A-Z])|[\\s-_]+(\\w)/g, (match, p1, p2) =>\n p2 ? p2.toUpperCase() : p1.toLowerCase(),\n );\n\n/**\n * Converts string to pascal case\n *\n * @param {string} string\n * @returns {string} A pascalized string\n */\nexport const toPascalCase = <T extends string>(string: T): CamelToPascal<T> => {\n const camelCase = toCamelCase(string);\n\n return (camelCase.charAt(0).toUpperCase() + camelCase.slice(1)) as CamelToPascal<T>;\n};\n\n/**\n * Merges classes into a single string\n *\n * @param {array} classes\n * @returns {string} A string of classes\n */\nexport const mergeClasses = <ClassType = string | undefined | null>(...classes: ClassType[]) =>\n classes\n .filter((className, index, array) => {\n return (\n Boolean(className) &&\n (className as string).trim() !== '' &&\n array.indexOf(className) === index\n );\n })\n .join(' ')\n .trim();\n\n/**\n * Is empty string\n *\n * @param {unknown} value\n * @returns {boolean} Whether the value is an empty string\n */\nexport const isEmptyString = (value: unknown): boolean => value === '';\n\n/**\n * Check if a component has an accessibility prop\n *\n * @param {object} props\n * @returns {boolean} Whether the component has an accessibility prop\n */\nexport const hasA11yProp = (props: Record<string, any>) => {\n for (const prop in props) {\n if (prop.startsWith('aria-') || prop === 'role' || prop === 'title') {\n return true;\n }\n }\n};\n","export default {\n xmlns: 'http://www.w3.org/2000/svg',\n width: 24,\n height: 24,\n viewBox: '0 0 24 24',\n fill: 'none',\n stroke: 'currentColor',\n strokeWidth: 2,\n strokeLinecap: 'round',\n strokeLinejoin: 'round',\n};\n","import { createElement, forwardRef } from 'react';\nimport defaultAttributes from './defaultAttributes';\nimport { IconNode, LucideProps } from './types';\nimport { mergeClasses, hasA11yProp } from '@lucide/shared';\n\ninterface IconComponentProps extends LucideProps {\n iconNode: IconNode;\n}\n\n/**\n * Lucide icon component\n *\n * @component Icon\n * @param {object} props\n * @param {string} props.color - The color of the icon\n * @param {number} props.size - The size of the icon\n * @param {number} props.strokeWidth - The stroke width of the icon\n * @param {boolean} props.absoluteStrokeWidth - Whether to use absolute stroke width\n * @param {string} props.className - The class name of the icon\n * @param {IconNode} props.children - The children of the icon\n * @param {IconNode} props.iconNode - The icon node of the icon\n *\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst Icon = forwardRef<SVGSVGElement, IconComponentProps>(\n (\n {\n color = 'currentColor',\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = '',\n children,\n iconNode,\n ...rest\n },\n ref,\n ) =>\n createElement(\n 'svg',\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? (Number(strokeWidth) * 24) / Number(size) : strokeWidth,\n className: mergeClasses('lucide', className),\n ...(!children && !hasA11yProp(rest) && { 'aria-hidden': 'true' }),\n ...rest,\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...(Array.isArray(children) ? children : [children]),\n ],\n ),\n);\n\nexport default Icon;\n","import { createElement, forwardRef } from 'react';\nimport { mergeClasses, toKebabCase, toPascalCase } from '@lucide/shared';\nimport { IconNode, LucideProps } from './types';\nimport Icon from './Icon';\n\n/**\n * Create a Lucide icon component\n * @param {string} iconName\n * @param {array} iconNode\n * @returns {ForwardRefExoticComponent} LucideIcon\n */\nconst createLucideIcon = (iconName: string, iconNode: IconNode) => {\n const Component = forwardRef<SVGSVGElement, LucideProps>(({ className, ...props }, ref) =>\n createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(\n `lucide-${toKebabCase(toPascalCase(iconName))}`,\n `lucide-${iconName}`,\n className,\n ),\n ...props,\n }),\n );\n\n Component.displayName = toPascalCase(iconName);\n\n return Component;\n};\n\nexport default createLucideIcon;\n","import createLucideIcon from '../createLucideIcon';\nimport { IconNode } from '../types';\n\nexport const __iconNode: IconNode = [\n ['path', { d: 'M18 6 6 18', key: '1bl5f8' }],\n ['path', { d: 'm6 6 12 12', key: 'd8bk6v' }],\n];\n\n/**\n * @component @name X\n * @description Lucide SVG icon component, renders SVG Element with children.\n *\n * @preview  - https://lucide.dev/icons/x\n * @see https://lucide.dev/guide/packages/lucide-react - Documentation\n *\n * @param {Object} props - Lucide icons props and any valid SVG attribute\n * @returns {JSX.Element} JSX Element\n *\n */\nconst X = createLucideIcon('x', __iconNode);\n\nexport default X;\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Dialog as SheetPrimitive } from \"radix-ui\"\nimport { XIcon } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />\n}\n\nfunction SheetTrigger({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />\n}\n\nfunction SheetClose({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />\n}\n\nfunction SheetPortal({\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction SheetContent({\n className,\n children,\n side = \"right\",\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\"\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n \"bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",\n side === \"right\" &&\n \"data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm\",\n side === \"left\" &&\n \"data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm\",\n side === \"top\" &&\n \"data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b\",\n side === \"bottom\" &&\n \"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t\",\n className\n )}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n )\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn(\"flex flex-col gap-1.5 p-4\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetTitle({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn(\"text-foreground font-semibold\", className)}\n {...props}\n />\n )\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","\"use client\";\n\nimport * as React from \"react\";\nimport { cn } from \"@/lib/utils\";\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn(\"animate-pulse rounded-md bg-gray-150\", className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\";\n\nimport { cn } from \"@/lib/utils\";\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"origin-(--radix-tooltip-content-transform-origin) z-50 w-fit text-balance rounded-md bg-surface-elevated px-3 py-2 text-sm font-medium text-gray-foreground-emphasis animate-in fade-in-0 zoom-in-95 [filter:drop-shadow(0_0_1px_var(--color-drop-shadow-layer-a))_drop-shadow(0_2px_2px_var(--color-drop-shadow-layer-b))] data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"z-50 size-3 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-surface-elevated fill-surface-elevated\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"radix-ui\";\nimport { VariantProps, cva } from \"class-variance-authority\";\nimport { HamburgerMd, ChevronRightMd, ChevronLeftMd } from \"@medway-ui/icons\";\n\nimport { useIsMobile } from \"@/hooks/use-mobile\";\nimport { cn } from \"@/lib/utils\";\nimport { Button } from \"@/components/Button\";\nimport { Input } from \"@/components/Input\";\nimport { Separator } from \"@/components/Separator\";\nimport { Sheet, SheetContent } from \"@/components/Sheet\";\nimport { Skeleton } from \"@/components/Skeleton\";\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@/components/Tooltip\";\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n\ntype SidebarContextProps = {\n state: \"expanded\" | \"collapsed\";\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n}\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open]\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n className={cn(\n \"group/sidebar-wrapper has-data-[variant=inset]:bg-surface-navigation flex min-h-svh w-full\",\n className\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n containerClassName,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n side?: \"left\" | \"right\";\n variant?: \"sidebar\" | \"floating\" | \"inset\";\n collapsible?: \"offcanvas\" | \"icon\" | \"none\";\n containerClassName?: string;\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n \"flex h-full w-[var(--sidebar-width)] flex-col bg-surface-navigation text-gray-foreground\",\n className\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className={cn(\n \"w-[var(--sidebar-width-mobile)] bg-surface-navigation p-0 text-gray-foreground [&>button]:hidden\",\n className\n )}\n side={side}\n >\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className={cn(\n \"group peer hidden text-gray-foreground md:block\",\n className\n )}\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n \"relative w-[var(--sidebar-width)] bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)]\"\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n \"fixed inset-y-0 z-10 hidden h-svh w-[var(--sidebar-width)] border-border transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-[var(--sidebar-width-icon)] group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n containerClassName\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className=\"flex h-full w-full flex-col bg-surface-navigation group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({\n className,\n onClick,\n sizeIcon = \"size-5\",\n icon = <HamburgerMd className={sizeIcon} />,\n showTooltip = false,\n tooltipContent,\n enableHover = false,\n ...props\n}: React.ComponentProps<typeof Button> & {\n icon?: React.ReactNode;\n sizeIcon?: string;\n showTooltip?: boolean;\n tooltipContent?: { open?: string; closed?: string };\n enableHover?: boolean;\n}) {\n const { toggleSidebar, open, isMobile } = useSidebar();\n const [isHovered, setIsHovered] = React.useState(false);\n\n const defaultTooltipContent = {\n open: \"Esconder\",\n closed: \"Mostrar\",\n };\n\n const tooltip = tooltipContent || defaultTooltipContent;\n\n // Determina qual ícone mostrar baseado no hover e estado do sidebar\n const getDisplayIcon = () => {\n if (enableHover && isHovered) {\n return open ? (\n <ChevronLeftMd className={sizeIcon} />\n ) : (\n <ChevronRightMd className={sizeIcon} />\n );\n }\n return icon;\n };\n\n const button = (\n <button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n className={cn(\n \"flex min-h-8 min-w-8 items-center justify-center rounded-full bg-surface-elevated text-gray-foreground transition-all duration-200 hover:shadow-[0px_0px_2px_0px_rgba(24,26,30,0.16),0px_2px_4px_0px_rgba(24,26,30,0.08)] [&>svg]:text-gray-foreground\",\n className\n )}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n onMouseEnter={\n !isMobile && enableHover ? () => setIsHovered(true) : undefined\n }\n onMouseLeave={\n !isMobile && enableHover ? () => setIsHovered(false) : undefined\n }\n {...props}\n >\n {getDisplayIcon()}\n\n <span className=\"sr-only\">Toggle Sidebar</span>\n </button>\n );\n\n if (!showTooltip || isMobile) {\n return button;\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side=\"right\" align=\"center\">\n {open ? tooltip.open : tooltip.closed}\n </TooltipContent>\n </Tooltip>\n );\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<\"button\">) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex\",\n \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-surface-navigation\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<\"main\">) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n \"relative flex w-full flex-1 flex-col bg-surface-navigation\",\n \"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInput({\n className,\n ...props\n}: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn(\n \"bg-bg-surface-navigation h-8 w-full shadow-none\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-0.5 px-4 pt-3\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn(\n \"flex flex-col gap-0.5 px-4 pb-3 [[data-state=collapsed]_&]:px-2\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn(\"mx-2 w-auto bg-border\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-0.5 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn(\n \"relative flex w-full min-w-0 flex-col p-2 px-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & { asChild?: boolean }) {\n const Comp = (asChild ? Slot.Slot : \"div\") as React.ElementType;\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n \"outline-hidden flex h-12 shrink-0 items-center whitespace-nowrap rounded-md px-2 text-xs font-semibold uppercase text-gray-foreground-muted ring-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n \"group-data-[collapsible=icon]:mt-0 group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> & { asChild?: boolean }) {\n const Comp = (asChild ? Slot.Slot : \"button\") as React.ElementType;\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n \"outline-hidden absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-gray-foreground ring-ring transition-transform hover:bg-secondary-background-soft-emphasis focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupContent({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItem({\n className,\n isActive,\n children,\n ...props\n}: React.ComponentProps<\"li\"> & { isActive?: boolean }) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative hover:cursor-pointer\", className)}\n {...props}\n >\n {isActive && (\n <span\n className=\"absolute -left-4 top-0 h-full w-0.5 bg-secondary-stroke-emphasis\"\n aria-hidden=\"true\"\n />\n )}\n {children}\n </li>\n );\n}\n\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button font-medium flex w-full items-center gap-2.5 overflow-hidden rounded-md p-[.55rem] text-left text-sm outline-hidden ring-ring transition-[width,height,padding] hover:bg-secondary-background-soft-emphasis focus-visible:ring-2 active:text-secondary-foreground active:font-semibold disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:text-secondary-foreground data-[active=true]:font-semibold data-[active=true]:hover:bg-secondary-background-soft-emphasis data-[active=true]:hover:text-secondary-foreground group-data-[collapsible=icon]:size-10! group-data-[collapsible=icon]:p-2.5! [&>span:last-child]:truncate [&>svg]:data-[active=true]:stroke-[2.2] [&>svg]:size-5 [&>svg]:shrink-0 mx-auto\",\n {\n variants: {\n variant: {\n default: \"hover:bg-secondary-background-soft-emphasis\",\n section: \"[[data-state=collapsed]_&]:p-[5px]\",\n outline:\n \"bg-surface-navigation shadow-[0_0_0_1px_hsl(var(--color-border))] hover:bg-secondary-background-soft-emphasis hover:shadow-[0_0_0_1px_hsl(var(--secondary))]\",\n },\n size: {\n sm: \"h-8 text-xs\",\n md: \"h-10 text-sm\",\n lg: \"h-12 text-md group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n }\n);\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"md\",\n tooltip,\n className,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = (asChild ? Slot.Slot : \"button\") as React.ElementType;\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<\"button\"> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = (asChild ? Slot.Slot : \"button\") as React.ElementType;\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n \"outline-hidden absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-gray-foreground ring-ring transition-transform hover:bg-secondary-background-soft-emphasis focus-visible:ring-2 peer-hover/menu-button:text-secondary-stroke-emphasis [&>svg]:size-4 [&>svg]:shrink-0\",\n // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-secondary md:opacity-0\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuBadge({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n \"pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-gray-foreground\",\n \"peer-hover/menu-button:text-secondary peer-data-[active=true]/menu-button:text-secondary\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn(\"flex h-8 items-center gap-0.5 rounded-md px-2\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"max-w-(--skeleton-width) h-4 flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n \"mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-border px-2.5 py-0.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({\n className,\n ...props\n}: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn(\"group/menu-sub-item relative\", className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItemTitle({\n icon,\n title,\n}: {\n icon?: React.ReactNode;\n title: string;\n}) {\n const { state, isMobile } = useSidebar();\n\n return (\n <>\n {React.isValidElement(icon)\n ? React.cloneElement(icon, { strokeWidth: 1.8 } as any)\n : icon}\n <span\n className={cn(\n \"whitespace-nowrap\",\n state === \"collapsed\" && \"opacity-0\",\n isMobile && \"opacity-100\"\n )}\n >\n {title}\n </span>\n </>\n );\n}\n\nfunction SidebarMenuItemCollapse() {\n return (\n <div className=\"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90\">\n <ChevronRightMd size={20} strokeWidth={1.5} />\n </div>\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = \"md\",\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n asChild?: boolean;\n size?: \"sm\" | \"md\";\n isActive?: boolean;\n}) {\n const Comp = (asChild ? Slot.Slot : \"a\") as React.ElementType;\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"outline-hidden flex h-9 min-w-0 -translate-x-px items-center gap-0.5 overflow-hidden rounded-md px-2 font-medium text-gray-foreground ring-ring hover:bg-secondary-background-soft-emphasis focus-visible:ring-2 active:font-semibold active:text-secondary-foreground disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-gray-foreground\",\n \"data-[active=true]:font-semibold data-[active=true]:text-secondary-foreground\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-sm\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuItemTitle,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarMenuItemCollapse,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"@/components/DropdownMenu\";\n\ninterface SwitcherContextValue {\n value?: string;\n onValueChange?: (value: string) => void;\n}\n\nconst SwitcherContext = React.createContext<SwitcherContextValue>({});\n\ninterface SwitcherItem {\n id: string;\n label: string;\n icon?: string;\n onClick?: () => void;\n}\n\ninterface SwitcherGroup {\n label: string;\n items: SwitcherItem[];\n}\n\ninterface SwitcherProps {\n children: React.ReactNode;\n value?: string;\n onValueChange?: (value: string) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n}\n\ninterface SwitcherTriggerProps {\n children: React.ReactNode;\n asChild?: boolean;\n className?: string;\n}\n\ninterface SwitcherContentProps {\n children: React.ReactNode;\n className?: string;\n align?: \"start\" | \"center\" | \"end\";\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n}\n\ninterface SwitcherGroupProps {\n children: React.ReactNode;\n label?: string;\n}\n\ninterface SwitcherItemProps {\n children: React.ReactNode;\n value?: string;\n onClick?: () => void;\n icon?: string | React.ReactNode;\n}\n\ninterface SwitcherFooterProps {\n children: React.ReactNode;\n onClick?: () => void;\n icon?: React.ReactNode;\n}\n\nfunction Switcher({\n children,\n value,\n onValueChange,\n open,\n defaultOpen,\n onOpenChange,\n}: SwitcherProps) {\n const [internalValue, setInternalValue] = React.useState(value || \"\");\n\n const contextValue: SwitcherContextValue = {\n value: value || internalValue,\n onValueChange: onValueChange || setInternalValue,\n };\n\n return (\n <SwitcherContext.Provider value={contextValue}>\n <DropdownMenu\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n >\n {children}\n </DropdownMenu>\n </SwitcherContext.Provider>\n );\n}\n\nfunction SwitcherTrigger({\n children,\n asChild = true,\n className,\n}: SwitcherTriggerProps) {\n return (\n <DropdownMenuTrigger className={className} asChild={asChild}>\n {children}\n </DropdownMenuTrigger>\n );\n}\n\nfunction SwitcherContent({\n children,\n align = \"center\",\n side = \"right\",\n className,\n}: SwitcherContentProps) {\n return (\n <DropdownMenuContent className={className} align={align} side={side}>\n {children}\n </DropdownMenuContent>\n );\n}\n\nfunction SwitcherGroup({ children, label }: SwitcherGroupProps) {\n const { value, onValueChange } = React.useContext(SwitcherContext);\n\n if (label) {\n return (\n <>\n <DropdownMenuLabel>{label}</DropdownMenuLabel>\n <DropdownMenuRadioGroup value={value} onValueChange={onValueChange}>\n {children}\n </DropdownMenuRadioGroup>\n </>\n );\n }\n\n return (\n <DropdownMenuRadioGroup value={value} onValueChange={onValueChange}>\n {children}\n </DropdownMenuRadioGroup>\n );\n}\n\nfunction SwitcherItem({ children, value, onClick, icon }: SwitcherItemProps) {\n const handleClick = () => {\n if (onClick) {\n onClick();\n }\n };\n\n if (value) {\n return (\n <DropdownMenuRadioItem value={value} onClick={handleClick}>\n {typeof icon === \"string\" ? (\n // eslint-disable-next-line @next/next/no-img-element\n <img src={icon} alt=\"\" width={20} height={14} />\n ) : (\n icon\n )}\n {children}\n </DropdownMenuRadioItem>\n );\n }\n\n return (\n <DropdownMenuItem onClick={handleClick}>\n {typeof icon === \"string\" ? (\n // eslint-disable-next-line @next/next/no-img-element\n <img src={icon} alt=\"\" width={20} height={14} />\n ) : (\n icon\n )}\n {children}\n </DropdownMenuItem>\n );\n}\n\nfunction SwitcherFooter({ children, onClick, icon }: SwitcherFooterProps) {\n return (\n <DropdownMenuItem onClick={onClick}>\n {icon}\n {children}\n </DropdownMenuItem>\n );\n}\n\nfunction SwitcherSeparator() {\n return <DropdownMenuSeparator />;\n}\n\nexport {\n Switcher,\n SwitcherTrigger,\n SwitcherContent,\n SwitcherGroup,\n SwitcherItem,\n SwitcherFooter,\n SwitcherSeparator,\n};\n\nexport type {\n SwitcherProps,\n SwitcherTriggerProps,\n SwitcherContentProps,\n SwitcherGroupProps,\n SwitcherItemProps,\n SwitcherFooterProps,\n SwitcherGroup as SwitcherGroupType,\n SwitcherItem as SwitcherItemType,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"@/lib/utils\";\n\ninterface TagProps\n extends React.ComponentProps<\"span\">,\n VariantProps<typeof tagVariants> {\n asChild?: boolean;\n icon?: React.ReactElement;\n}\n\nconst tagVariants = cva(\n \"inline-flex items-center justify-center rounded-md px-2 py-1 text-xs font-semibold w-fit whitespace-nowrap shrink-0 gap-1.5 transition-colors overflow-hidden max-h-6\",\n {\n variants: {\n variant: {\n regular:\n \"bg-primary-background-fill text-primary-foreground-onfill fill-primary-foreground-onfill\",\n \"regular-soft\":\n \"bg-primary-background-soft text-primary-foreground fill-primary-foreground\",\n \"regular-basic\":\n \"bg-transparent text-primary-foreground fill-primary-foreground\",\n emphasis:\n \"bg-secondary-background-fill text-secondary-foreground-onfill fill-secondary-foreground-onfill\",\n \"emphasis-soft\":\n \"bg-secondary-background-soft text-secondary-foreground fill-secondary-foreground\",\n \"emphasis-basic\":\n \"bg-transparent text-secondary-foreground fill-secondary-foreground\",\n gray: \"bg-gray-background-fill text-gray-foreground-onfill fill-gray-foreground-onfill\",\n \"gray-soft\":\n \"bg-gray-background-soft text-gray-foreground fill-gray-foreground\",\n \"gray-basic\":\n \"bg-transparent text-gray-foreground fill-gray-foreground\",\n success:\n \"bg-green-background-fill text-green-foreground-onfill fill-green-foreground-onfill\",\n \"success-soft\":\n \"bg-green-background-soft text-green-foreground fill-green-foreground\",\n \"success-basic\":\n \"bg-transparent text-green-foreground fill-green-foreground\",\n error:\n \"bg-red-background-fill text-red-foreground-onfill fill-red-foreground-onfill\",\n \"error-soft\":\n \"bg-red-background-soft text-red-foreground fill-red-foreground\",\n \"error-basic\": \"bg-transparent text-red-foreground fill-red-foreground\",\n warning:\n \"bg-yellow-background-fill text-yellow-foreground-onfill fill-yellow-foreground-onfill\",\n \"warning-soft\":\n \"bg-yellow-background-soft text-yellow-foreground fill-yellow-foreground\",\n \"warning-basic\":\n \"bg-transparent text-yellow-foreground fill-yellow-foreground\",\n cm: \"bg-cm-background-fill text-cm-foreground-onfill fill-cm-foreground-onfill\",\n \"cm-soft\":\n \"bg-cm-background-soft text-cm-foreground fill-cm-foreground\",\n \"cm-basic\": \"bg-transparent text-cm-foreground fill-cm-foreground\",\n go: \"bg-go-background-fill text-go-foreground-onfill fill-go-foreground-onfill\",\n \"go-soft\":\n \"bg-go-background-soft text-go-foreground fill-go-foreground\",\n \"go-basic\": \"bg-transparent text-go-foreground fill-go-foreground\",\n cir: \"bg-cir-background-fill text-cir-foreground-onfill fill-cir-foreground-onfill\",\n \"cir-soft\":\n \"bg-cir-background-soft text-cir-foreground fill-cir-foreground\",\n \"cir-basic\": \"bg-transparent text-cir-foreground fill-cir-foreground\",\n ped: \"bg-ped-background-fill text-ped-foreground-onfill fill-ped-foreground-onfill\",\n \"ped-soft\":\n \"bg-ped-background-soft text-ped-foreground fill-ped-foreground\",\n \"ped-basic\": \"bg-transparent text-ped-foreground fill-ped-foreground\",\n prev: \"bg-prev-background-fill text-prev-foreground-onfill fill-prev-foreground-onfill\",\n \"prev-soft\":\n \"bg-prev-background-soft text-prev-foreground fill-prev-foreground\",\n \"prev-basic\":\n \"bg-transparent text-prev-foreground fill-prev-foreground\",\n },\n },\n defaultVariants: {\n variant: \"regular\",\n },\n }\n);\n\nfunction TagIcon({\n className,\n icon,\n ...props\n}: React.ComponentProps<\"div\"> & {\n icon?: React.ReactNode;\n}) {\n return (\n <div\n data-slot=\"tag-icon\"\n className={cn(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {icon}\n </div>\n );\n}\n\nfunction Tag({\n className,\n variant,\n asChild = false,\n icon,\n children,\n ...props\n}: TagProps) {\n const Comp = (asChild ? Slot.Slot : \"span\") as React.ElementType;\n\n return (\n <Comp\n data-slot=\"tag\"\n className={cn(tagVariants({ variant }), className)}\n {...props}\n >\n {icon && <TagIcon icon={icon} />}\n {children}\n </Comp>\n );\n}\n\nexport { Tag, tagVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Slot } from \"radix-ui\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { EditPencil } from \"@medway-ui/icons\";\n\nimport { cn } from \"@/lib/utils\";\n\nconst tileVariants = cva(\n \"group/tile relative flex flex-col justify-center rounded-lg gap-0.5 px-5 py-4 cursor-default data-[disabled=true]:pointer-events-none\",\n {\n variants: {\n variant: {\n regular:\n \"bg-surface-settings-on text-primary-foreground fill-primary-foreground data-[disabled=false]:hover:[background:radial-gradient(51.96%_112.02%_at_50%_112.02%,_var(--color-surface-card)_0%,_var(--color-surface-settings-on)_100%)] data-[disabled=true]:bg-surface-disable data-[inactive=true]:bg-surface-settings-off data-[inactive=true]:hover:[background:radial-gradient(51.96%_112.02%_at_50%_112.02%,_var(--color-surface-card)_0%,_var(--color-surface-settings-off)_100%)]\",\n cm: \"bg-cm-background-fill text-cm-foreground-onfill fill-cm-foreground-onfill data-[disabled=false]:hover:[background:radial-gradient(63.78%_137.5%_at_50%_137.5%,_var(--color-cm-background-fill-emphasis)_0%,_var(--color-cm-background-fill)_100%)] data-[disabled=true]:opacity-70 data-[inactive=true]:[filter:brightness(.8)]\",\n go: \"bg-go-background-fill text-go-foreground-onfill fill-go-foreground-onfill data-[disabled=false]:hover:[background:radial-gradient(63.78%_137.5%_at_50%_137.5%,_var(--color-go-background-fill-emphasis)_0%,_var(--color-go-background-fill)_100%)] data-[disabled=true]:opacity-70 data-[inactive=true]:[filter:brightness(.8)]\",\n cir: \"bg-cir-background-fill text-cir-foreground-onfill fill-cir-foreground-onfill data-[disabled=false]:hover:[background:radial-gradient(63.78%_137.5%_at_50%_137.5%,_var(--color-cir-background-fill-emphasis)_0%,_var(--color-cir-background-fill)_100%)] data-[disabled=true]:opacity-70 data-[inactive=true]:[filter:brightness(.8)]\",\n ped: \"bg-ped-background-fill text-ped-foreground-onfill fill-ped-foreground-onfill data-[disabled=false]:hover:[background:radial-gradient(51.96%_112.02%_at_50%_112.02%,_var(--color-ped-background-fill-emphasis)_0%,_var(--color-ped-background-fill)_100%)] data-[disabled=true]:opacity-70 data-[inactive=true]:[filter:brightness(.8)]\",\n prev: \"bg-prev-background-fill text-prev-foreground-onfill fill-prev-foreground-onfill data-[disabled=false]:hover:[background:radial-gradient(63.78%_137.5%_at_50%_137.5%,_var(--color-prev-background-fill-emphasis)_0%,_var(--color-prev-background-fill)_100%)] data-[disabled=true]:opacity-70 data-[inactive=true]:[filter:brightness(.8)]\",\n },\n },\n defaultVariants: {\n variant: \"regular\",\n },\n }\n);\n\nfunction Tile({\n className,\n variant = \"regular\",\n asChild = false,\n disabled = false,\n inactive = false,\n ...props\n}: React.ComponentProps<\"div\"> &\n React.ComponentProps<\"div\"> &\n VariantProps<typeof tileVariants> & {\n asChild?: boolean;\n disabled?: boolean;\n inactive?: boolean;\n }) {\n const Comp = (asChild ? Slot.Slot : \"div\") as React.ElementType;\n\n return (\n <Comp\n data-slot=\"tile\"\n data-variant={variant}\n data-inactive={inactive}\n data-disabled={disabled}\n aria-disabled={disabled || inactive}\n className={cn(\n tileVariants({ variant, className }),\n props.onClick && !disabled && \"cursor-pointer\"\n )}\n {...props}\n >\n {props.children}\n {props.onClick && !disabled && (\n <EditPencil className=\"absolute right-5 top-4 size-5 opacity-0 transition-opacity group-hover/tile:opacity-100\" />\n )}\n </Comp>\n );\n}\n\nfunction TileIcon({\n className,\n icon,\n ...props\n}: React.ComponentProps<\"div\"> & {\n icon?: React.ReactNode;\n}) {\n return (\n <div\n data-slot=\"tile-icon\"\n className={cn(\"mb-2.5 last:mb-0 [&>svg]:size-5\", className)}\n {...props}\n >\n {icon}\n </div>\n );\n}\n\nfunction TileTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"tile-title\"\n className={cn(\"line-clamp-1 flex w-fit text-xs font-medium\", className)}\n {...props}\n />\n );\n}\n\nfunction TileDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <span\n data-slot=\"tile-description\"\n className={cn(\"line-clamp-1 flex w-fit text-sm font-semibold\", className)}\n {...props}\n />\n );\n}\n\nexport { Tile, TileIcon, TileTitle, TileDescription };\n"]}
|