{"version":3,"file":"berea-ui.cjs","sources":["../node_modules/clsx/dist/clsx.mjs","../node_modules/class-variance-authority/dist/index.mjs","../node_modules/tailwind-merge/dist/bundle-mjs.mjs","../src/utils/utils.ts","../src/utils/config.ts","../src/utils/helpers.ts","../src/components/Icon/BeIcon.vue","../src/components/Loading/BeLoading.vue","../src/components/Button/BeButton.vue","../src/components/Switch/BeSwitch.vue","../src/components/Divider/BeDivider.vue","../src/components/index.ts"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","/**\n * Copyright 2022 Joe Bell. All rights reserved.\n *\n * This file is licensed to you under the Apache License, Version 2.0\n * (the \"License\"); you may not use this file except in compliance with the\n * License. You may obtain a copy of the License at\n *\n *   http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR REPRESENTATIONS OF ANY KIND, either express or implied. See the\n * License for the specific language governing permissions and limitations under\n * the License.\n */ import { clsx } from \"clsx\";\nconst falsyToString = (value)=>typeof value === \"boolean\" ? `${value}` : value === 0 ? \"0\" : value;\nexport const cx = clsx;\nexport const cva = (base, config)=>(props)=>{\n        var _config_compoundVariants;\n        if ((config === null || config === void 0 ? void 0 : config.variants) == null) return cx(base, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n        const { variants, defaultVariants } = config;\n        const getVariantClassNames = Object.keys(variants).map((variant)=>{\n            const variantProp = props === null || props === void 0 ? void 0 : props[variant];\n            const defaultVariantProp = defaultVariants === null || defaultVariants === void 0 ? void 0 : defaultVariants[variant];\n            if (variantProp === null) return null;\n            const variantKey = falsyToString(variantProp) || falsyToString(defaultVariantProp);\n            return variants[variant][variantKey];\n        });\n        const propsWithoutUndefined = props && Object.entries(props).reduce((acc, param)=>{\n            let [key, value] = param;\n            if (value === undefined) {\n                return acc;\n            }\n            acc[key] = value;\n            return acc;\n        }, {});\n        const getCompoundVariantClassNames = config === null || config === void 0 ? void 0 : (_config_compoundVariants = config.compoundVariants) === null || _config_compoundVariants === void 0 ? void 0 : _config_compoundVariants.reduce((acc, param)=>{\n            let { class: cvClass, className: cvClassName, ...compoundVariantOptions } = param;\n            return Object.entries(compoundVariantOptions).every((param)=>{\n                let [key, value] = param;\n                return Array.isArray(value) ? value.includes({\n                    ...defaultVariants,\n                    ...propsWithoutUndefined\n                }[key]) : ({\n                    ...defaultVariants,\n                    ...propsWithoutUndefined\n                })[key] === value;\n            }) ? [\n                ...acc,\n                cvClass,\n                cvClassName\n            ] : acc;\n        }, []);\n        return cx(base, getVariantClassNames, getCompoundVariantClassNames, props === null || props === void 0 ? void 0 : props.class, props === null || props === void 0 ? void 0 : props.className);\n    };\n\n","const CLASS_PART_SEPARATOR = '-';\nconst createClassGroupUtils = config => {\n  const classMap = createClassMap(config);\n  const {\n    conflictingClassGroups,\n    conflictingClassGroupModifiers\n  } = config;\n  const getClassGroupId = className => {\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 remove it from classParts.\n    if (classParts[0] === '' && classParts.length !== 1) {\n      classParts.shift();\n    }\n    return getGroupRecursive(classParts, classMap) || getGroupIdForArbitraryProperty(className);\n  };\n  const getConflictingClassGroupIds = (classGroupId, hasPostfixModifier) => {\n    const conflicts = conflictingClassGroups[classGroupId] || [];\n    if (hasPostfixModifier && conflictingClassGroupModifiers[classGroupId]) {\n      return [...conflicts, ...conflictingClassGroupModifiers[classGroupId]];\n    }\n    return conflicts;\n  };\n  return {\n    getClassGroupId,\n    getConflictingClassGroupIds\n  };\n};\nconst getGroupRecursive = (classParts, classPartObject) => {\n  if (classParts.length === 0) {\n    return classPartObject.classGroupId;\n  }\n  const currentClassPart = classParts[0];\n  const nextClassPartObject = classPartObject.nextPart.get(currentClassPart);\n  const classGroupFromNextClassPart = nextClassPartObject ? getGroupRecursive(classParts.slice(1), nextClassPartObject) : undefined;\n  if (classGroupFromNextClassPart) {\n    return classGroupFromNextClassPart;\n  }\n  if (classPartObject.validators.length === 0) {\n    return undefined;\n  }\n  const classRest = classParts.join(CLASS_PART_SEPARATOR);\n  return classPartObject.validators.find(({\n    validator\n  }) => validator(classRest))?.classGroupId;\n};\nconst arbitraryPropertyRegex = /^\\[(.+)\\]$/;\nconst getGroupIdForArbitraryProperty = className => {\n  if (arbitraryPropertyRegex.test(className)) {\n    const arbitraryPropertyClassName = arbitraryPropertyRegex.exec(className)[1];\n    const property = arbitraryPropertyClassName?.substring(0, arbitraryPropertyClassName.indexOf(':'));\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 * Exported for testing only\n */\nconst createClassMap = config => {\n  const {\n    theme,\n    classGroups\n  } = config;\n  const classMap = {\n    nextPart: new Map(),\n    validators: []\n  };\n  for (const classGroupId in classGroups) {\n    processClassesRecursively(classGroups[classGroupId], classMap, classGroupId, theme);\n  }\n  return classMap;\n};\nconst processClassesRecursively = (classGroup, classPartObject, classGroupId, theme) => {\n  classGroup.forEach(classDefinition => {\n    if (typeof classDefinition === 'string') {\n      const classPartObjectToEdit = classDefinition === '' ? classPartObject : getPart(classPartObject, classDefinition);\n      classPartObjectToEdit.classGroupId = classGroupId;\n      return;\n    }\n    if (typeof classDefinition === 'function') {\n      if (isThemeGetter(classDefinition)) {\n        processClassesRecursively(classDefinition(theme), classPartObject, classGroupId, theme);\n        return;\n      }\n      classPartObject.validators.push({\n        validator: classDefinition,\n        classGroupId\n      });\n      return;\n    }\n    Object.entries(classDefinition).forEach(([key, classGroup]) => {\n      processClassesRecursively(classGroup, getPart(classPartObject, key), classGroupId, theme);\n    });\n  });\n};\nconst getPart = (classPartObject, path) => {\n  let currentClassPartObject = classPartObject;\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    currentClassPartObject = currentClassPartObject.nextPart.get(pathPart);\n  });\n  return currentClassPartObject;\n};\nconst isThemeGetter = func => func.isThemeGetter;\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\nconst createLruCache = maxCacheSize => {\n  if (maxCacheSize < 1) {\n    return {\n      get: () => undefined,\n      set: () => {}\n    };\n  }\n  let cacheSize = 0;\n  let cache = new Map();\n  let previousCache = new Map();\n  const update = (key, value) => {\n    cache.set(key, value);\n    cacheSize++;\n    if (cacheSize > maxCacheSize) {\n      cacheSize = 0;\n      previousCache = cache;\n      cache = new Map();\n    }\n  };\n  return {\n    get(key) {\n      let value = cache.get(key);\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};\nconst IMPORTANT_MODIFIER = '!';\nconst MODIFIER_SEPARATOR = ':';\nconst MODIFIER_SEPARATOR_LENGTH = MODIFIER_SEPARATOR.length;\nconst createParseClassName = config => {\n  const {\n    prefix,\n    experimentalParseClassName\n  } = config;\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 => {\n    const modifiers = [];\n    let bracketDepth = 0;\n    let parenDepth = 0;\n    let modifierStart = 0;\n    let postfixModifierPosition;\n    for (let index = 0; index < className.length; index++) {\n      let currentCharacter = className[index];\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        if (currentCharacter === '/') {\n          postfixModifierPosition = index;\n          continue;\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    const baseClassNameWithImportantModifier = modifiers.length === 0 ? className : className.substring(modifierStart);\n    const baseClassName = stripImportantModifier(baseClassNameWithImportantModifier);\n    const hasImportantModifier = baseClassName !== baseClassNameWithImportantModifier;\n    const maybePostfixModifierPosition = postfixModifierPosition && postfixModifierPosition > modifierStart ? postfixModifierPosition - modifierStart : undefined;\n    return {\n      modifiers,\n      hasImportantModifier,\n      baseClassName,\n      maybePostfixModifierPosition\n    };\n  };\n  if (prefix) {\n    const fullPrefix = prefix + MODIFIER_SEPARATOR;\n    const parseClassNameOriginal = parseClassName;\n    parseClassName = className => className.startsWith(fullPrefix) ? parseClassNameOriginal(className.substring(fullPrefix.length)) : {\n      isExternal: true,\n      modifiers: [],\n      hasImportantModifier: false,\n      baseClassName: className,\n      maybePostfixModifierPosition: undefined\n    };\n  }\n  if (experimentalParseClassName) {\n    const parseClassNameOriginal = parseClassName;\n    parseClassName = className => experimentalParseClassName({\n      className,\n      parseClassName: parseClassNameOriginal\n    });\n  }\n  return parseClassName;\n};\nconst stripImportantModifier = baseClassName => {\n  if (baseClassName.endsWith(IMPORTANT_MODIFIER)) {\n    return baseClassName.substring(0, baseClassName.length - 1);\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  return baseClassName;\n};\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 */\nconst createSortModifiers = config => {\n  const orderSensitiveModifiers = Object.fromEntries(config.orderSensitiveModifiers.map(modifier => [modifier, true]));\n  const sortModifiers = modifiers => {\n    if (modifiers.length <= 1) {\n      return modifiers;\n    }\n    const sortedModifiers = [];\n    let unsortedModifiers = [];\n    modifiers.forEach(modifier => {\n      const isPositionSensitive = modifier[0] === '[' || orderSensitiveModifiers[modifier];\n      if (isPositionSensitive) {\n        sortedModifiers.push(...unsortedModifiers.sort(), modifier);\n        unsortedModifiers = [];\n      } else {\n        unsortedModifiers.push(modifier);\n      }\n    });\n    sortedModifiers.push(...unsortedModifiers.sort());\n    return sortedModifiers;\n  };\n  return sortModifiers;\n};\nconst createConfigUtils = config => ({\n  cache: createLruCache(config.cacheSize),\n  parseClassName: createParseClassName(config),\n  sortModifiers: createSortModifiers(config),\n  ...createClassGroupUtils(config)\n});\nconst SPLIT_CLASSES_REGEX = /\\s+/;\nconst mergeClassList = (classList, configUtils) => {\n  const {\n    parseClassName,\n    getClassGroupId,\n    getConflictingClassGroupIds,\n    sortModifiers\n  } = configUtils;\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 = [];\n  const classNames = classList.trim().split(SPLIT_CLASSES_REGEX);\n  let result = '';\n  for (let index = classNames.length - 1; index >= 0; index -= 1) {\n    const originalClassName = classNames[index];\n    const {\n      isExternal,\n      modifiers,\n      hasImportantModifier,\n      baseClassName,\n      maybePostfixModifierPosition\n    } = parseClassName(originalClassName);\n    if (isExternal) {\n      result = originalClassName + (result.length > 0 ? ' ' + result : result);\n      continue;\n    }\n    let hasPostfixModifier = !!maybePostfixModifierPosition;\n    let classGroupId = getClassGroupId(hasPostfixModifier ? baseClassName.substring(0, maybePostfixModifierPosition) : baseClassName);\n    if (!classGroupId) {\n      if (!hasPostfixModifier) {\n        // Not a Tailwind class\n        result = originalClassName + (result.length > 0 ? ' ' + result : result);\n        continue;\n      }\n      classGroupId = getClassGroupId(baseClassName);\n      if (!classGroupId) {\n        // Not a Tailwind class\n        result = originalClassName + (result.length > 0 ? ' ' + result : result);\n        continue;\n      }\n      hasPostfixModifier = false;\n    }\n    const variantModifier = sortModifiers(modifiers).join(':');\n    const modifierId = hasImportantModifier ? variantModifier + IMPORTANT_MODIFIER : variantModifier;\n    const classId = modifierId + classGroupId;\n    if (classGroupsInConflict.includes(classId)) {\n      // Tailwind class omitted due to conflict\n      continue;\n    }\n    classGroupsInConflict.push(classId);\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    // Tailwind class not in conflict\n    result = originalClassName + (result.length > 0 ? ' ' + result : result);\n  }\n  return result;\n};\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 */\nfunction twJoin() {\n  let index = 0;\n  let argument;\n  let resolvedValue;\n  let string = '';\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}\nconst toValue = mix => {\n  if (typeof mix === 'string') {\n    return mix;\n  }\n  let resolvedValue;\n  let string = '';\n  for (let k = 0; k < mix.length; k++) {\n    if (mix[k]) {\n      if (resolvedValue = toValue(mix[k])) {\n        string && (string += ' ');\n        string += resolvedValue;\n      }\n    }\n  }\n  return string;\n};\nfunction createTailwindMerge(createConfigFirst, ...createConfigRest) {\n  let configUtils;\n  let cacheGet;\n  let cacheSet;\n  let functionToCall = initTailwindMerge;\n  function initTailwindMerge(classList) {\n    const config = createConfigRest.reduce((previousConfig, createConfigCurrent) => createConfigCurrent(previousConfig), createConfigFirst());\n    configUtils = createConfigUtils(config);\n    cacheGet = configUtils.cache.get;\n    cacheSet = configUtils.cache.set;\n    functionToCall = tailwindMerge;\n    return tailwindMerge(classList);\n  }\n  function tailwindMerge(classList) {\n    const cachedResult = cacheGet(classList);\n    if (cachedResult) {\n      return cachedResult;\n    }\n    const result = mergeClassList(classList, configUtils);\n    cacheSet(classList, result);\n    return result;\n  }\n  return function callTailwindMerge() {\n    return functionToCall(twJoin.apply(null, arguments));\n  };\n}\nconst fromTheme = key => {\n  const themeGetter = theme => theme[key] || [];\n  themeGetter.isThemeGetter = true;\n  return themeGetter;\n};\nconst arbitraryValueRegex = /^\\[(?:(\\w[\\w-]*):)?(.+)\\]$/i;\nconst arbitraryVariableRegex = /^\\((?:(\\w[\\w-]*):)?(.+)\\)$/i;\nconst fractionRegex = /^\\d+\\/\\d+$/;\nconst tshirtUnitRegex = /^(\\d+(\\.\\d+)?)?(xs|sm|md|lg|xl)$/;\nconst lengthUnitRegex = /\\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 = /^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\\(.+\\)$/;\nconst isFraction = value => fractionRegex.test(value);\nconst isNumber = value => Boolean(value) && !Number.isNaN(Number(value));\nconst isInteger = value => Boolean(value) && Number.isInteger(Number(value));\nconst isPercent = value => value.endsWith('%') && isNumber(value.slice(0, -1));\nconst isTshirtSize = value => tshirtUnitRegex.test(value);\nconst isAny = () => true;\nconst isLengthOnly = value =>\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.\nlengthUnitRegex.test(value) && !colorFunctionRegex.test(value);\nconst isNever = () => false;\nconst isShadow = value => shadowRegex.test(value);\nconst isImage = value => imageRegex.test(value);\nconst isAnyNonArbitrary = value => !isArbitraryValue(value) && !isArbitraryVariable(value);\nconst isArbitrarySize = value => getIsArbitraryValue(value, isLabelSize, isNever);\nconst isArbitraryValue = value => arbitraryValueRegex.test(value);\nconst isArbitraryLength = value => getIsArbitraryValue(value, isLabelLength, isLengthOnly);\nconst isArbitraryNumber = value => getIsArbitraryValue(value, isLabelNumber, isNumber);\nconst isArbitraryPosition = value => getIsArbitraryValue(value, isLabelPosition, isNever);\nconst isArbitraryImage = value => getIsArbitraryValue(value, isLabelImage, isImage);\nconst isArbitraryShadow = value => getIsArbitraryValue(value, isNever, isShadow);\nconst isArbitraryVariable = value => arbitraryVariableRegex.test(value);\nconst isArbitraryVariableLength = value => getIsArbitraryVariable(value, isLabelLength);\nconst isArbitraryVariableFamilyName = value => getIsArbitraryVariable(value, isLabelFamilyName);\nconst isArbitraryVariablePosition = value => getIsArbitraryVariable(value, isLabelPosition);\nconst isArbitraryVariableSize = value => getIsArbitraryVariable(value, isLabelSize);\nconst isArbitraryVariableImage = value => getIsArbitraryVariable(value, isLabelImage);\nconst isArbitraryVariableShadow = value => getIsArbitraryVariable(value, isLabelShadow, true);\n// Helpers\nconst getIsArbitraryValue = (value, testLabel, testValue) => {\n  const result = arbitraryValueRegex.exec(value);\n  if (result) {\n    if (result[1]) {\n      return testLabel(result[1]);\n    }\n    return testValue(result[2]);\n  }\n  return false;\n};\nconst getIsArbitraryVariable = (value, testLabel, shouldMatchNoLabel = false) => {\n  const result = arbitraryVariableRegex.exec(value);\n  if (result) {\n    if (result[1]) {\n      return testLabel(result[1]);\n    }\n    return shouldMatchNoLabel;\n  }\n  return false;\n};\n// Labels\nconst isLabelPosition = label => label === 'position';\nconst imageLabels = /*#__PURE__*/new Set(['image', 'url']);\nconst isLabelImage = label => imageLabels.has(label);\nconst sizeLabels = /*#__PURE__*/new Set(['length', 'size', 'percentage']);\nconst isLabelSize = label => sizeLabels.has(label);\nconst isLabelLength = label => label === 'length';\nconst isLabelNumber = label => label === 'number';\nconst isLabelFamilyName = label => label === 'family-name';\nconst isLabelShadow = label => label === 'shadow';\nconst validators = /*#__PURE__*/Object.defineProperty({\n  __proto__: null,\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}, Symbol.toStringTag, {\n  value: 'Module'\n});\nconst getDefaultConfig = () => {\n  /**\n   * Theme getters for theme variable namespaces\n   * @see https://tailwindcss.com/docs/theme#theme-variable-namespaces\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 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   * 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  const scaleBreak = () => ['auto', 'avoid', 'all', 'avoid-page', 'page', 'left', 'right', 'column'];\n  const scalePosition = () => ['bottom', 'center', 'left', 'left-bottom', 'left-top', 'right', 'right-bottom', 'right-top', 'top'];\n  const scaleOverflow = () => ['auto', 'hidden', 'clip', 'visible', 'scroll'];\n  const scaleOverscroll = () => ['auto', 'contain', 'none'];\n  const scaleInset = () => [isFraction, 'px', 'full', 'auto', isArbitraryVariable, isArbitraryValue, themeSpacing];\n  const scaleGridTemplateColsRows = () => [isInteger, 'none', 'subgrid', isArbitraryVariable, isArbitraryValue];\n  const scaleGridColRowStartAndEnd = () => ['auto', {\n    span: ['full', isInteger, isArbitraryVariable, isArbitraryValue]\n  }, isArbitraryVariable, isArbitraryValue];\n  const scaleGridColRowStartOrEnd = () => [isInteger, 'auto', isArbitraryVariable, isArbitraryValue];\n  const scaleGridAutoColsRows = () => ['auto', 'min', 'max', 'fr', isArbitraryVariable, isArbitraryValue];\n  const scaleGap = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];\n  const scaleAlignPrimaryAxis = () => ['start', 'end', 'center', 'between', 'around', 'evenly', 'stretch', 'baseline'];\n  const scaleAlignSecondaryAxis = () => ['start', 'end', 'center', 'stretch'];\n  const scaleUnambiguousSpacing = () => [isArbitraryVariable, isArbitraryValue, themeSpacing];\n  const scalePadding = () => ['px', ...scaleUnambiguousSpacing()];\n  const scaleMargin = () => ['px', 'auto', ...scaleUnambiguousSpacing()];\n  const scaleSizing = () => [isFraction, 'auto', 'px', 'full', 'dvw', 'dvh', 'lvw', 'lvh', 'svw', 'svh', 'min', 'max', 'fit', isArbitraryVariable, isArbitraryValue, themeSpacing];\n  const scaleColor = () => [themeColor, isArbitraryVariable, isArbitraryValue];\n  const scaleGradientStopPosition = () => [isPercent, isArbitraryLength];\n  const scaleRadius = () => [\n  // Deprecated since Tailwind CSS v4.0.0\n  '', 'none', 'full', themeRadius, isArbitraryVariable, isArbitraryValue];\n  const scaleBorderWidth = () => ['', isNumber, isArbitraryVariableLength, isArbitraryLength];\n  const scaleLineStyle = () => ['solid', 'dashed', 'dotted', 'double'];\n  const scaleBlendMode = () => ['normal', 'multiply', 'screen', 'overlay', 'darken', 'lighten', 'color-dodge', 'color-burn', 'hard-light', 'soft-light', 'difference', 'exclusion', 'hue', 'saturation', 'color', 'luminosity'];\n  const scaleBlur = () => [\n  // Deprecated since Tailwind CSS v4.0.0\n  '', 'none', themeBlur, isArbitraryVariable, isArbitraryValue];\n  const scaleOrigin = () => ['center', 'top', 'top-right', 'right', 'bottom-right', 'bottom', 'bottom-left', 'left', 'top-left', isArbitraryVariable, isArbitraryValue];\n  const scaleRotate = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n  const scaleScale = () => ['none', isNumber, isArbitraryVariable, isArbitraryValue];\n  const scaleSkew = () => [isNumber, isArbitraryVariable, isArbitraryValue];\n  const scaleTranslate = () => [isFraction, 'full', 'px', isArbitraryVariable, isArbitraryValue, themeSpacing];\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': ['thin', 'extralight', 'light', 'normal', 'medium', 'semibold', 'bold', 'extrabold', 'black'],\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: [isNumber],\n      text: [isTshirtSize],\n      tracking: ['tighter', 'tight', 'normal', 'wide', 'wider', 'widest']\n    },\n    classGroups: {\n      // --------------\n      // --- Layout ---\n      // --------------\n      /**\n       * Aspect Ratio\n       * @see https://tailwindcss.com/docs/aspect-ratio\n       */\n      aspect: [{\n        aspect: ['auto', 'square', isFraction, isArbitraryValue, isArbitraryVariable, themeAspect]\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': [{\n        'break-after': scaleBreak()\n      }],\n      /**\n       * Break Before\n       * @see https://tailwindcss.com/docs/break-before\n       */\n      'break-before': [{\n        'break-before': scaleBreak()\n      }],\n      /**\n       * Break Inside\n       * @see https://tailwindcss.com/docs/break-inside\n       */\n      'break-inside': [{\n        'break-inside': ['auto', 'avoid', 'avoid-page', 'avoid-column']\n      }],\n      /**\n       * Box Decoration Break\n       * @see https://tailwindcss.com/docs/box-decoration-break\n       */\n      'box-decoration': [{\n        'box-decoration': ['slice', 'clone']\n      }],\n      /**\n       * Box Sizing\n       * @see https://tailwindcss.com/docs/box-sizing\n       */\n      box: [{\n        box: ['border', 'content']\n      }],\n      /**\n       * Display\n       * @see https://tailwindcss.com/docs/display\n       */\n      display: ['block', 'inline-block', 'inline', 'flex', 'inline-flex', 'table', 'inline-table', 'table-caption', 'table-cell', 'table-column', 'table-column-group', 'table-footer-group', 'table-header-group', 'table-row-group', 'table-row', 'flow-root', 'grid', 'inline-grid', 'contents', 'list-item', 'hidden'],\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: [{\n        float: ['right', 'left', 'none', 'start', 'end']\n      }],\n      /**\n       * Clear\n       * @see https://tailwindcss.com/docs/clear\n       */\n      clear: [{\n        clear: ['left', 'right', 'both', 'none', 'start', 'end']\n      }],\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': [{\n        object: ['contain', 'cover', 'fill', 'none', 'scale-down']\n      }],\n      /**\n       * Object Position\n       * @see https://tailwindcss.com/docs/object-position\n       */\n      'object-position': [{\n        object: [...scalePosition(), isArbitraryValue, isArbitraryVariable]\n      }],\n      /**\n       * Overflow\n       * @see https://tailwindcss.com/docs/overflow\n       */\n      overflow: [{\n        overflow: scaleOverflow()\n      }],\n      /**\n       * Overflow X\n       * @see https://tailwindcss.com/docs/overflow\n       */\n      'overflow-x': [{\n        'overflow-x': scaleOverflow()\n      }],\n      /**\n       * Overflow Y\n       * @see https://tailwindcss.com/docs/overflow\n       */\n      'overflow-y': [{\n        'overflow-y': scaleOverflow()\n      }],\n      /**\n       * Overscroll Behavior\n       * @see https://tailwindcss.com/docs/overscroll-behavior\n       */\n      overscroll: [{\n        overscroll: scaleOverscroll()\n      }],\n      /**\n       * Overscroll Behavior X\n       * @see https://tailwindcss.com/docs/overscroll-behavior\n       */\n      'overscroll-x': [{\n        'overscroll-x': scaleOverscroll()\n      }],\n      /**\n       * Overscroll Behavior Y\n       * @see https://tailwindcss.com/docs/overscroll-behavior\n       */\n      'overscroll-y': [{\n        'overscroll-y': scaleOverscroll()\n      }],\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: [{\n        inset: scaleInset()\n      }],\n      /**\n       * Right / Left\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      'inset-x': [{\n        'inset-x': scaleInset()\n      }],\n      /**\n       * Top / Bottom\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      'inset-y': [{\n        'inset-y': scaleInset()\n      }],\n      /**\n       * Start\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      start: [{\n        start: scaleInset()\n      }],\n      /**\n       * End\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      end: [{\n        end: scaleInset()\n      }],\n      /**\n       * Top\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      top: [{\n        top: scaleInset()\n      }],\n      /**\n       * Right\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      right: [{\n        right: scaleInset()\n      }],\n      /**\n       * Bottom\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      bottom: [{\n        bottom: scaleInset()\n      }],\n      /**\n       * Left\n       * @see https://tailwindcss.com/docs/top-right-bottom-left\n       */\n      left: [{\n        left: scaleInset()\n      }],\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: [{\n        z: [isInteger, 'auto', isArbitraryVariable, isArbitraryValue]\n      }],\n      // ------------------------\n      // --- Flexbox and Grid ---\n      // ------------------------\n      /**\n       * Flex Basis\n       * @see https://tailwindcss.com/docs/flex-basis\n       */\n      basis: [{\n        basis: [isFraction, 'full', 'auto', isArbitraryVariable, isArbitraryValue, themeContainer, themeSpacing]\n      }],\n      /**\n       * Flex Direction\n       * @see https://tailwindcss.com/docs/flex-direction\n       */\n      'flex-direction': [{\n        flex: ['row', 'row-reverse', 'col', 'col-reverse']\n      }],\n      /**\n       * Flex Wrap\n       * @see https://tailwindcss.com/docs/flex-wrap\n       */\n      'flex-wrap': [{\n        flex: ['nowrap', 'wrap', 'wrap-reverse']\n      }],\n      /**\n       * Flex\n       * @see https://tailwindcss.com/docs/flex\n       */\n      flex: [{\n        flex: [isNumber, isFraction, 'auto', 'initial', 'none', isArbitraryValue]\n      }],\n      /**\n       * Flex Grow\n       * @see https://tailwindcss.com/docs/flex-grow\n       */\n      grow: [{\n        grow: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Flex Shrink\n       * @see https://tailwindcss.com/docs/flex-shrink\n       */\n      shrink: [{\n        shrink: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Order\n       * @see https://tailwindcss.com/docs/order\n       */\n      order: [{\n        order: [isInteger, 'first', 'last', 'none', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Grid Template Columns\n       * @see https://tailwindcss.com/docs/grid-template-columns\n       */\n      'grid-cols': [{\n        'grid-cols': scaleGridTemplateColsRows()\n      }],\n      /**\n       * Grid Column Start / End\n       * @see https://tailwindcss.com/docs/grid-column\n       */\n      'col-start-end': [{\n        col: scaleGridColRowStartAndEnd()\n      }],\n      /**\n       * Grid Column Start\n       * @see https://tailwindcss.com/docs/grid-column\n       */\n      'col-start': [{\n        'col-start': scaleGridColRowStartOrEnd()\n      }],\n      /**\n       * Grid Column End\n       * @see https://tailwindcss.com/docs/grid-column\n       */\n      'col-end': [{\n        'col-end': scaleGridColRowStartOrEnd()\n      }],\n      /**\n       * Grid Template Rows\n       * @see https://tailwindcss.com/docs/grid-template-rows\n       */\n      'grid-rows': [{\n        'grid-rows': scaleGridTemplateColsRows()\n      }],\n      /**\n       * Grid Row Start / End\n       * @see https://tailwindcss.com/docs/grid-row\n       */\n      'row-start-end': [{\n        row: scaleGridColRowStartAndEnd()\n      }],\n      /**\n       * Grid Row Start\n       * @see https://tailwindcss.com/docs/grid-row\n       */\n      'row-start': [{\n        'row-start': scaleGridColRowStartOrEnd()\n      }],\n      /**\n       * Grid Row End\n       * @see https://tailwindcss.com/docs/grid-row\n       */\n      'row-end': [{\n        'row-end': scaleGridColRowStartOrEnd()\n      }],\n      /**\n       * Grid Auto Flow\n       * @see https://tailwindcss.com/docs/grid-auto-flow\n       */\n      'grid-flow': [{\n        'grid-flow': ['row', 'col', 'dense', 'row-dense', 'col-dense']\n      }],\n      /**\n       * Grid Auto Columns\n       * @see https://tailwindcss.com/docs/grid-auto-columns\n       */\n      'auto-cols': [{\n        'auto-cols': scaleGridAutoColsRows()\n      }],\n      /**\n       * Grid Auto Rows\n       * @see https://tailwindcss.com/docs/grid-auto-rows\n       */\n      'auto-rows': [{\n        'auto-rows': scaleGridAutoColsRows()\n      }],\n      /**\n       * Gap\n       * @see https://tailwindcss.com/docs/gap\n       */\n      gap: [{\n        gap: scaleGap()\n      }],\n      /**\n       * Gap X\n       * @see https://tailwindcss.com/docs/gap\n       */\n      'gap-x': [{\n        'gap-x': scaleGap()\n      }],\n      /**\n       * Gap Y\n       * @see https://tailwindcss.com/docs/gap\n       */\n      'gap-y': [{\n        'gap-y': scaleGap()\n      }],\n      /**\n       * Justify Content\n       * @see https://tailwindcss.com/docs/justify-content\n       */\n      'justify-content': [{\n        justify: [...scaleAlignPrimaryAxis(), 'normal']\n      }],\n      /**\n       * Justify Items\n       * @see https://tailwindcss.com/docs/justify-items\n       */\n      'justify-items': [{\n        'justify-items': [...scaleAlignSecondaryAxis(), 'normal']\n      }],\n      /**\n       * Justify Self\n       * @see https://tailwindcss.com/docs/justify-self\n       */\n      'justify-self': [{\n        'justify-self': ['auto', ...scaleAlignSecondaryAxis()]\n      }],\n      /**\n       * Align Content\n       * @see https://tailwindcss.com/docs/align-content\n       */\n      'align-content': [{\n        content: ['normal', ...scaleAlignPrimaryAxis()]\n      }],\n      /**\n       * Align Items\n       * @see https://tailwindcss.com/docs/align-items\n       */\n      'align-items': [{\n        items: [...scaleAlignSecondaryAxis(), 'baseline']\n      }],\n      /**\n       * Align Self\n       * @see https://tailwindcss.com/docs/align-self\n       */\n      'align-self': [{\n        self: ['auto', ...scaleAlignSecondaryAxis(), 'baseline']\n      }],\n      /**\n       * Place Content\n       * @see https://tailwindcss.com/docs/place-content\n       */\n      'place-content': [{\n        'place-content': scaleAlignPrimaryAxis()\n      }],\n      /**\n       * Place Items\n       * @see https://tailwindcss.com/docs/place-items\n       */\n      'place-items': [{\n        'place-items': [...scaleAlignSecondaryAxis(), 'baseline']\n      }],\n      /**\n       * Place Self\n       * @see https://tailwindcss.com/docs/place-self\n       */\n      'place-self': [{\n        'place-self': ['auto', ...scaleAlignSecondaryAxis()]\n      }],\n      // Spacing\n      /**\n       * Padding\n       * @see https://tailwindcss.com/docs/padding\n       */\n      p: [{\n        p: scalePadding()\n      }],\n      /**\n       * Padding X\n       * @see https://tailwindcss.com/docs/padding\n       */\n      px: [{\n        px: scalePadding()\n      }],\n      /**\n       * Padding Y\n       * @see https://tailwindcss.com/docs/padding\n       */\n      py: [{\n        py: scalePadding()\n      }],\n      /**\n       * Padding Start\n       * @see https://tailwindcss.com/docs/padding\n       */\n      ps: [{\n        ps: scalePadding()\n      }],\n      /**\n       * Padding End\n       * @see https://tailwindcss.com/docs/padding\n       */\n      pe: [{\n        pe: scalePadding()\n      }],\n      /**\n       * Padding Top\n       * @see https://tailwindcss.com/docs/padding\n       */\n      pt: [{\n        pt: scalePadding()\n      }],\n      /**\n       * Padding Right\n       * @see https://tailwindcss.com/docs/padding\n       */\n      pr: [{\n        pr: scalePadding()\n      }],\n      /**\n       * Padding Bottom\n       * @see https://tailwindcss.com/docs/padding\n       */\n      pb: [{\n        pb: scalePadding()\n      }],\n      /**\n       * Padding Left\n       * @see https://tailwindcss.com/docs/padding\n       */\n      pl: [{\n        pl: scalePadding()\n      }],\n      /**\n       * Margin\n       * @see https://tailwindcss.com/docs/margin\n       */\n      m: [{\n        m: scaleMargin()\n      }],\n      /**\n       * Margin X\n       * @see https://tailwindcss.com/docs/margin\n       */\n      mx: [{\n        mx: scaleMargin()\n      }],\n      /**\n       * Margin Y\n       * @see https://tailwindcss.com/docs/margin\n       */\n      my: [{\n        my: scaleMargin()\n      }],\n      /**\n       * Margin Start\n       * @see https://tailwindcss.com/docs/margin\n       */\n      ms: [{\n        ms: scaleMargin()\n      }],\n      /**\n       * Margin End\n       * @see https://tailwindcss.com/docs/margin\n       */\n      me: [{\n        me: scaleMargin()\n      }],\n      /**\n       * Margin Top\n       * @see https://tailwindcss.com/docs/margin\n       */\n      mt: [{\n        mt: scaleMargin()\n      }],\n      /**\n       * Margin Right\n       * @see https://tailwindcss.com/docs/margin\n       */\n      mr: [{\n        mr: scaleMargin()\n      }],\n      /**\n       * Margin Bottom\n       * @see https://tailwindcss.com/docs/margin\n       */\n      mb: [{\n        mb: scaleMargin()\n      }],\n      /**\n       * Margin Left\n       * @see https://tailwindcss.com/docs/margin\n       */\n      ml: [{\n        ml: scaleMargin()\n      }],\n      /**\n       * Space Between X\n       * @see https://tailwindcss.com/docs/margin#adding-space-between-children\n       */\n      'space-x': [{\n        'space-x': scaleUnambiguousSpacing()\n      }],\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': [{\n        'space-y': scaleUnambiguousSpacing()\n      }],\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      // --- Sizing ---\n      // --------------\n      /**\n       * Width\n       * @see https://tailwindcss.com/docs/width\n       */\n      /**\n       * Size\n       * @see https://tailwindcss.com/docs/width#setting-both-width-and-height\n       */\n      size: [{\n        size: scaleSizing()\n      }],\n      w: [{\n        w: [themeContainer, 'screen', ...scaleSizing()]\n      }],\n      /**\n       * Min-Width\n       * @see https://tailwindcss.com/docs/min-width\n       */\n      'min-w': [{\n        'min-w': [themeContainer, 'screen', /** Deprecated. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n        'none', ...scaleSizing()]\n      }],\n      /**\n       * Max-Width\n       * @see https://tailwindcss.com/docs/max-width\n       */\n      'max-w': [{\n        'max-w': [themeContainer, 'screen', 'none', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n        'prose', /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n        {\n          screen: [themeBreakpoint]\n        }, ...scaleSizing()]\n      }],\n      /**\n       * Height\n       * @see https://tailwindcss.com/docs/height\n       */\n      h: [{\n        h: ['screen', ...scaleSizing()]\n      }],\n      /**\n       * Min-Height\n       * @see https://tailwindcss.com/docs/min-height\n       */\n      'min-h': [{\n        'min-h': ['screen', 'none', ...scaleSizing()]\n      }],\n      /**\n       * Max-Height\n       * @see https://tailwindcss.com/docs/max-height\n       */\n      'max-h': [{\n        'max-h': ['screen', ...scaleSizing()]\n      }],\n      // ------------------\n      // --- Typography ---\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': [{\n        font: [themeFontWeight, isArbitraryVariable, isArbitraryNumber]\n      }],\n      /**\n       * Font Stretch\n       * @see https://tailwindcss.com/docs/font-stretch\n       */\n      'font-stretch': [{\n        'font-stretch': ['ultra-condensed', 'extra-condensed', 'condensed', 'semi-condensed', 'normal', 'semi-expanded', 'expanded', 'extra-expanded', 'ultra-expanded', isPercent, isArbitraryValue]\n      }],\n      /**\n       * Font Family\n       * @see https://tailwindcss.com/docs/font-family\n       */\n      'font-family': [{\n        font: [isArbitraryVariableFamilyName, isArbitraryValue, themeFont]\n      }],\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: [{\n        tracking: [themeTracking, isArbitraryVariable, isArbitraryValue]\n      }],\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        leading: [isArbitraryVariable, isArbitraryValue, /** Deprecated since Tailwind CSS v4.0.0. @see https://github.com/tailwindlabs/tailwindcss.com/issues/2027#issuecomment-2620152757 */\n        themeLeading, themeSpacing]\n      }],\n      /**\n       * List Style Image\n       * @see https://tailwindcss.com/docs/list-style-image\n       */\n      'list-image': [{\n        'list-image': ['none', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * List Style Position\n       * @see https://tailwindcss.com/docs/list-style-position\n       */\n      'list-style-position': [{\n        list: ['inside', 'outside']\n      }],\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': [{\n        text: ['left', 'center', 'right', 'justify', 'start', 'end']\n      }],\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': [{\n        placeholder: scaleColor()\n      }],\n      /**\n       * Text Color\n       * @see https://tailwindcss.com/docs/text-color\n       */\n      'text-color': [{\n        text: scaleColor()\n      }],\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': [{\n        decoration: [...scaleLineStyle(), 'wavy']\n      }],\n      /**\n       * Text Decoration Thickness\n       * @see https://tailwindcss.com/docs/text-decoration-thickness\n       */\n      'text-decoration-thickness': [{\n        decoration: [isNumber, 'from-font', 'auto', isArbitraryVariable, isArbitraryLength]\n      }],\n      /**\n       * Text Decoration Color\n       * @see https://tailwindcss.com/docs/text-decoration-color\n       */\n      'text-decoration-color': [{\n        decoration: scaleColor()\n      }],\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': [{\n        text: ['wrap', 'nowrap', 'balance', 'pretty']\n      }],\n      /**\n       * Text Indent\n       * @see https://tailwindcss.com/docs/text-indent\n       */\n      indent: [{\n        indent: ['px', ...scaleUnambiguousSpacing()]\n      }],\n      /**\n       * Vertical Alignment\n       * @see https://tailwindcss.com/docs/vertical-align\n       */\n      'vertical-align': [{\n        align: ['baseline', 'top', 'middle', 'bottom', 'text-top', 'text-bottom', 'sub', 'super', isArbitraryVariable, isArbitraryValue]\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: [{\n        break: ['normal', 'words', 'all', 'keep']\n      }],\n      /**\n       * Hyphens\n       * @see https://tailwindcss.com/docs/hyphens\n       */\n      hyphens: [{\n        hyphens: ['none', 'manual', 'auto']\n      }],\n      /**\n       * Content\n       * @see https://tailwindcss.com/docs/content\n       */\n      content: [{\n        content: ['none', isArbitraryVariable, isArbitraryValue]\n      }],\n      // -------------------\n      // --- Backgrounds ---\n      // -------------------\n      /**\n       * Background Attachment\n       * @see https://tailwindcss.com/docs/background-attachment\n       */\n      'bg-attachment': [{\n        bg: ['fixed', 'local', 'scroll']\n      }],\n      /**\n       * Background Clip\n       * @see https://tailwindcss.com/docs/background-clip\n       */\n      'bg-clip': [{\n        'bg-clip': ['border', 'padding', 'content', 'text']\n      }],\n      /**\n       * Background Origin\n       * @see https://tailwindcss.com/docs/background-origin\n       */\n      'bg-origin': [{\n        'bg-origin': ['border', 'padding', 'content']\n      }],\n      /**\n       * Background Position\n       * @see https://tailwindcss.com/docs/background-position\n       */\n      'bg-position': [{\n        bg: [...scalePosition(), isArbitraryVariablePosition, isArbitraryPosition]\n      }],\n      /**\n       * Background Repeat\n       * @see https://tailwindcss.com/docs/background-repeat\n       */\n      'bg-repeat': [{\n        bg: ['no-repeat', {\n          repeat: ['', 'x', 'y', 'space', 'round']\n        }]\n      }],\n      /**\n       * Background Size\n       * @see https://tailwindcss.com/docs/background-size\n       */\n      'bg-size': [{\n        bg: ['auto', 'cover', 'contain', isArbitraryVariableSize, isArbitrarySize]\n      }],\n      /**\n       * Background Image\n       * @see https://tailwindcss.com/docs/background-image\n       */\n      'bg-image': [{\n        bg: ['none', {\n          linear: [{\n            to: ['t', 'tr', 'r', 'br', 'b', 'bl', 'l', 'tl']\n          }, isInteger, isArbitraryVariable, isArbitraryValue],\n          radial: ['', isArbitraryVariable, isArbitraryValue],\n          conic: [isInteger, isArbitraryVariable, isArbitraryValue]\n        }, isArbitraryVariableImage, isArbitraryImage]\n      }],\n      /**\n       * Background Color\n       * @see https://tailwindcss.com/docs/background-color\n       */\n      'bg-color': [{\n        bg: scaleColor()\n      }],\n      /**\n       * Gradient Color Stops From Position\n       * @see https://tailwindcss.com/docs/gradient-color-stops\n       */\n      'gradient-from-pos': [{\n        from: scaleGradientStopPosition()\n      }],\n      /**\n       * Gradient Color Stops Via Position\n       * @see https://tailwindcss.com/docs/gradient-color-stops\n       */\n      'gradient-via-pos': [{\n        via: scaleGradientStopPosition()\n      }],\n      /**\n       * Gradient Color Stops To Position\n       * @see https://tailwindcss.com/docs/gradient-color-stops\n       */\n      'gradient-to-pos': [{\n        to: scaleGradientStopPosition()\n      }],\n      /**\n       * Gradient Color Stops From\n       * @see https://tailwindcss.com/docs/gradient-color-stops\n       */\n      'gradient-from': [{\n        from: scaleColor()\n      }],\n      /**\n       * Gradient Color Stops Via\n       * @see https://tailwindcss.com/docs/gradient-color-stops\n       */\n      'gradient-via': [{\n        via: scaleColor()\n      }],\n      /**\n       * Gradient Color Stops To\n       * @see https://tailwindcss.com/docs/gradient-color-stops\n       */\n      'gradient-to': [{\n        to: scaleColor()\n      }],\n      // ---------------\n      // --- Borders ---\n      // ---------------\n      /**\n       * Border Radius\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      rounded: [{\n        rounded: scaleRadius()\n      }],\n      /**\n       * Border Radius Start\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-s': [{\n        'rounded-s': scaleRadius()\n      }],\n      /**\n       * Border Radius End\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-e': [{\n        'rounded-e': scaleRadius()\n      }],\n      /**\n       * Border Radius Top\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-t': [{\n        'rounded-t': scaleRadius()\n      }],\n      /**\n       * Border Radius Right\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-r': [{\n        'rounded-r': scaleRadius()\n      }],\n      /**\n       * Border Radius Bottom\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-b': [{\n        'rounded-b': scaleRadius()\n      }],\n      /**\n       * Border Radius Left\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-l': [{\n        'rounded-l': scaleRadius()\n      }],\n      /**\n       * Border Radius Start Start\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-ss': [{\n        'rounded-ss': scaleRadius()\n      }],\n      /**\n       * Border Radius Start End\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-se': [{\n        'rounded-se': scaleRadius()\n      }],\n      /**\n       * Border Radius End End\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-ee': [{\n        'rounded-ee': scaleRadius()\n      }],\n      /**\n       * Border Radius End Start\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-es': [{\n        'rounded-es': scaleRadius()\n      }],\n      /**\n       * Border Radius Top Left\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-tl': [{\n        'rounded-tl': scaleRadius()\n      }],\n      /**\n       * Border Radius Top Right\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-tr': [{\n        'rounded-tr': scaleRadius()\n      }],\n      /**\n       * Border Radius Bottom Right\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-br': [{\n        'rounded-br': scaleRadius()\n      }],\n      /**\n       * Border Radius Bottom Left\n       * @see https://tailwindcss.com/docs/border-radius\n       */\n      'rounded-bl': [{\n        'rounded-bl': scaleRadius()\n      }],\n      /**\n       * Border Width\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w': [{\n        border: scaleBorderWidth()\n      }],\n      /**\n       * Border Width X\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-x': [{\n        'border-x': scaleBorderWidth()\n      }],\n      /**\n       * Border Width Y\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-y': [{\n        'border-y': scaleBorderWidth()\n      }],\n      /**\n       * Border Width Start\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-s': [{\n        'border-s': scaleBorderWidth()\n      }],\n      /**\n       * Border Width End\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-e': [{\n        'border-e': scaleBorderWidth()\n      }],\n      /**\n       * Border Width Top\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-t': [{\n        'border-t': scaleBorderWidth()\n      }],\n      /**\n       * Border Width Right\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-r': [{\n        'border-r': scaleBorderWidth()\n      }],\n      /**\n       * Border Width Bottom\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-b': [{\n        'border-b': scaleBorderWidth()\n      }],\n      /**\n       * Border Width Left\n       * @see https://tailwindcss.com/docs/border-width\n       */\n      'border-w-l': [{\n        'border-l': scaleBorderWidth()\n      }],\n      /**\n       * Divide Width X\n       * @see https://tailwindcss.com/docs/border-width#between-children\n       */\n      'divide-x': [{\n        'divide-x': scaleBorderWidth()\n      }],\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': [{\n        'divide-y': scaleBorderWidth()\n      }],\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': [{\n        border: [...scaleLineStyle(), 'hidden', 'none']\n      }],\n      /**\n       * Divide Style\n       * @see https://tailwindcss.com/docs/border-style#setting-the-divider-style\n       */\n      'divide-style': [{\n        divide: [...scaleLineStyle(), 'hidden', 'none']\n      }],\n      /**\n       * Border Color\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color': [{\n        border: scaleColor()\n      }],\n      /**\n       * Border Color X\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-x': [{\n        'border-x': scaleColor()\n      }],\n      /**\n       * Border Color Y\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-y': [{\n        'border-y': scaleColor()\n      }],\n      /**\n       * Border Color S\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-s': [{\n        'border-s': scaleColor()\n      }],\n      /**\n       * Border Color E\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-e': [{\n        'border-e': scaleColor()\n      }],\n      /**\n       * Border Color Top\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-t': [{\n        'border-t': scaleColor()\n      }],\n      /**\n       * Border Color Right\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-r': [{\n        'border-r': scaleColor()\n      }],\n      /**\n       * Border Color Bottom\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-b': [{\n        'border-b': scaleColor()\n      }],\n      /**\n       * Border Color Left\n       * @see https://tailwindcss.com/docs/border-color\n       */\n      'border-color-l': [{\n        'border-l': scaleColor()\n      }],\n      /**\n       * Divide Color\n       * @see https://tailwindcss.com/docs/divide-color\n       */\n      'divide-color': [{\n        divide: scaleColor()\n      }],\n      /**\n       * Outline Style\n       * @see https://tailwindcss.com/docs/outline-style\n       */\n      'outline-style': [{\n        outline: [...scaleLineStyle(), 'none', 'hidden']\n      }],\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': [{\n        outline: [themeColor]\n      }],\n      // ---------------\n      // --- Effects ---\n      // ---------------\n      /**\n       * Box Shadow\n       * @see https://tailwindcss.com/docs/box-shadow\n       */\n      shadow: [{\n        shadow: [\n        // Deprecated since Tailwind CSS v4.0.0\n        '', 'none', themeShadow, isArbitraryVariableShadow, isArbitraryShadow]\n      }],\n      /**\n       * Box Shadow Color\n       * @see https://tailwindcss.com/docs/box-shadow#setting-the-shadow-color\n       */\n      'shadow-color': [{\n        shadow: scaleColor()\n      }],\n      /**\n       * Inset Box Shadow\n       * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-shadow\n       */\n      'inset-shadow': [{\n        'inset-shadow': ['none', isArbitraryVariable, isArbitraryValue, themeInsetShadow]\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': [{\n        'inset-shadow': scaleColor()\n      }],\n      /**\n       * Ring Width\n       * @see https://tailwindcss.com/docs/box-shadow#adding-a-ring\n       */\n      'ring-w': [{\n        ring: scaleBorderWidth()\n      }],\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': [{\n        ring: scaleColor()\n      }],\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': [{\n        'ring-offset': [isNumber, isArbitraryLength]\n      }],\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': [{\n        'ring-offset': scaleColor()\n      }],\n      /**\n       * Inset Ring Width\n       * @see https://tailwindcss.com/docs/box-shadow#adding-an-inset-ring\n       */\n      'inset-ring-w': [{\n        'inset-ring': scaleBorderWidth()\n      }],\n      /**\n       * Inset Ring Color\n       * @see https://tailwindcss.com/docs/box-shadow#setting-the-inset-ring-color\n       */\n      'inset-ring-color': [{\n        'inset-ring': scaleColor()\n      }],\n      /**\n       * Opacity\n       * @see https://tailwindcss.com/docs/opacity\n       */\n      opacity: [{\n        opacity: [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Mix Blend Mode\n       * @see https://tailwindcss.com/docs/mix-blend-mode\n       */\n      'mix-blend': [{\n        'mix-blend': [...scaleBlendMode(), 'plus-darker', 'plus-lighter']\n      }],\n      /**\n       * Background Blend Mode\n       * @see https://tailwindcss.com/docs/background-blend-mode\n       */\n      'bg-blend': [{\n        'bg-blend': scaleBlendMode()\n      }],\n      // ---------------\n      // --- Filters ---\n      // ---------------\n      /**\n       * Filter\n       * @see https://tailwindcss.com/docs/filter\n       */\n      filter: [{\n        filter: [\n        // Deprecated since Tailwind CSS v3.0.0\n        '', 'none', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Blur\n       * @see https://tailwindcss.com/docs/blur\n       */\n      blur: [{\n        blur: scaleBlur()\n      }],\n      /**\n       * Brightness\n       * @see https://tailwindcss.com/docs/brightness\n       */\n      brightness: [{\n        brightness: [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Contrast\n       * @see https://tailwindcss.com/docs/contrast\n       */\n      contrast: [{\n        contrast: [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Drop Shadow\n       * @see https://tailwindcss.com/docs/drop-shadow\n       */\n      'drop-shadow': [{\n        'drop-shadow': [\n        // Deprecated since Tailwind CSS v4.0.0\n        '', 'none', themeDropShadow, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Grayscale\n       * @see https://tailwindcss.com/docs/grayscale\n       */\n      grayscale: [{\n        grayscale: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Hue Rotate\n       * @see https://tailwindcss.com/docs/hue-rotate\n       */\n      'hue-rotate': [{\n        'hue-rotate': [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Invert\n       * @see https://tailwindcss.com/docs/invert\n       */\n      invert: [{\n        invert: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Saturate\n       * @see https://tailwindcss.com/docs/saturate\n       */\n      saturate: [{\n        saturate: [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Sepia\n       * @see https://tailwindcss.com/docs/sepia\n       */\n      sepia: [{\n        sepia: ['', isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Backdrop Filter\n       * @see https://tailwindcss.com/docs/backdrop-filter\n       */\n      'backdrop-filter': [{\n        'backdrop-filter': [\n        // Deprecated since Tailwind CSS v3.0.0\n        '', 'none', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Backdrop Blur\n       * @see https://tailwindcss.com/docs/backdrop-blur\n       */\n      'backdrop-blur': [{\n        'backdrop-blur': scaleBlur()\n      }],\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      // --- Tables ---\n      // --------------\n      /**\n       * Border Collapse\n       * @see https://tailwindcss.com/docs/border-collapse\n       */\n      'border-collapse': [{\n        border: ['collapse', 'separate']\n      }],\n      /**\n       * Border Spacing\n       * @see https://tailwindcss.com/docs/border-spacing\n       */\n      'border-spacing': [{\n        'border-spacing': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Border Spacing X\n       * @see https://tailwindcss.com/docs/border-spacing\n       */\n      'border-spacing-x': [{\n        'border-spacing-x': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Border Spacing Y\n       * @see https://tailwindcss.com/docs/border-spacing\n       */\n      'border-spacing-y': [{\n        'border-spacing-y': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Table Layout\n       * @see https://tailwindcss.com/docs/table-layout\n       */\n      'table-layout': [{\n        table: ['auto', 'fixed']\n      }],\n      /**\n       * Caption Side\n       * @see https://tailwindcss.com/docs/caption-side\n       */\n      caption: [{\n        caption: ['top', 'bottom']\n      }],\n      // ---------------------------------\n      // --- Transitions and Animation ---\n      // ---------------------------------\n      /**\n       * Transition Property\n       * @see https://tailwindcss.com/docs/transition-property\n       */\n      transition: [{\n        transition: ['', 'all', 'colors', 'opacity', 'shadow', 'transform', 'none', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Transition Behavior\n       * @see https://tailwindcss.com/docs/transition-behavior\n       */\n      'transition-behavior': [{\n        transition: ['normal', 'discrete']\n      }],\n      /**\n       * Transition Duration\n       * @see https://tailwindcss.com/docs/transition-duration\n       */\n      duration: [{\n        duration: [isNumber, 'initial', isArbitraryVariable, isArbitraryValue]\n      }],\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: [{\n        delay: [isNumber, isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Animation\n       * @see https://tailwindcss.com/docs/animation\n       */\n      animate: [{\n        animate: ['none', themeAnimate, isArbitraryVariable, isArbitraryValue]\n      }],\n      // ------------------\n      // --- Transforms ---\n      // ------------------\n      /**\n       * Backface Visibility\n       * @see https://tailwindcss.com/docs/backface-visibility\n       */\n      backface: [{\n        backface: ['hidden', 'visible']\n      }],\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': [{\n        'perspective-origin': scaleOrigin()\n      }],\n      /**\n       * Rotate\n       * @see https://tailwindcss.com/docs/rotate\n       */\n      rotate: [{\n        rotate: scaleRotate()\n      }],\n      /**\n       * Rotate X\n       * @see https://tailwindcss.com/docs/rotate\n       */\n      'rotate-x': [{\n        'rotate-x': scaleRotate()\n      }],\n      /**\n       * Rotate Y\n       * @see https://tailwindcss.com/docs/rotate\n       */\n      'rotate-y': [{\n        'rotate-y': scaleRotate()\n      }],\n      /**\n       * Rotate Z\n       * @see https://tailwindcss.com/docs/rotate\n       */\n      'rotate-z': [{\n        'rotate-z': scaleRotate()\n      }],\n      /**\n       * Scale\n       * @see https://tailwindcss.com/docs/scale\n       */\n      scale: [{\n        scale: scaleScale()\n      }],\n      /**\n       * Scale X\n       * @see https://tailwindcss.com/docs/scale\n       */\n      'scale-x': [{\n        'scale-x': scaleScale()\n      }],\n      /**\n       * Scale Y\n       * @see https://tailwindcss.com/docs/scale\n       */\n      'scale-y': [{\n        'scale-y': scaleScale()\n      }],\n      /**\n       * Scale Z\n       * @see https://tailwindcss.com/docs/scale\n       */\n      'scale-z': [{\n        'scale-z': scaleScale()\n      }],\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: [{\n        skew: scaleSkew()\n      }],\n      /**\n       * Skew X\n       * @see https://tailwindcss.com/docs/skew\n       */\n      'skew-x': [{\n        'skew-x': scaleSkew()\n      }],\n      /**\n       * Skew Y\n       * @see https://tailwindcss.com/docs/skew\n       */\n      'skew-y': [{\n        'skew-y': scaleSkew()\n      }],\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': [{\n        origin: scaleOrigin()\n      }],\n      /**\n       * Transform Style\n       * @see https://tailwindcss.com/docs/transform-style\n       */\n      'transform-style': [{\n        transform: ['3d', 'flat']\n      }],\n      /**\n       * Translate\n       * @see https://tailwindcss.com/docs/translate\n       */\n      translate: [{\n        translate: scaleTranslate()\n      }],\n      /**\n       * Translate X\n       * @see https://tailwindcss.com/docs/translate\n       */\n      'translate-x': [{\n        'translate-x': scaleTranslate()\n      }],\n      /**\n       * Translate Y\n       * @see https://tailwindcss.com/docs/translate\n       */\n      'translate-y': [{\n        'translate-y': scaleTranslate()\n      }],\n      /**\n       * Translate Z\n       * @see https://tailwindcss.com/docs/translate\n       */\n      'translate-z': [{\n        'translate-z': scaleTranslate()\n      }],\n      /**\n       * Translate None\n       * @see https://tailwindcss.com/docs/translate\n       */\n      'translate-none': ['translate-none'],\n      // ---------------------\n      // --- Interactivity ---\n      // ---------------------\n      /**\n       * Accent Color\n       * @see https://tailwindcss.com/docs/accent-color\n       */\n      accent: [{\n        accent: scaleColor()\n      }],\n      /**\n       * Appearance\n       * @see https://tailwindcss.com/docs/appearance\n       */\n      appearance: [{\n        appearance: ['none', 'auto']\n      }],\n      /**\n       * Caret Color\n       * @see https://tailwindcss.com/docs/just-in-time-mode#caret-color-utilities\n       */\n      'caret-color': [{\n        caret: scaleColor()\n      }],\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        cursor: ['auto', 'default', 'pointer', 'wait', 'text', 'move', 'help', 'not-allowed', 'none', 'context-menu', 'progress', 'cell', 'crosshair', 'vertical-text', 'alias', 'copy', 'no-drop', 'grab', 'grabbing', 'all-scroll', 'col-resize', 'row-resize', 'n-resize', 'e-resize', 's-resize', 'w-resize', 'ne-resize', 'nw-resize', 'se-resize', 'sw-resize', 'ew-resize', 'ns-resize', 'nesw-resize', 'nwse-resize', 'zoom-in', 'zoom-out', isArbitraryVariable, isArbitraryValue]\n      }],\n      /**\n       * Field Sizing\n       * @see https://tailwindcss.com/docs/field-sizing\n       */\n      'field-sizing': [{\n        'field-sizing': ['fixed', 'content']\n      }],\n      /**\n       * Pointer Events\n       * @see https://tailwindcss.com/docs/pointer-events\n       */\n      'pointer-events': [{\n        'pointer-events': ['auto', 'none']\n      }],\n      /**\n       * Resize\n       * @see https://tailwindcss.com/docs/resize\n       */\n      resize: [{\n        resize: ['none', '', 'y', 'x']\n      }],\n      /**\n       * Scroll Behavior\n       * @see https://tailwindcss.com/docs/scroll-behavior\n       */\n      'scroll-behavior': [{\n        scroll: ['auto', 'smooth']\n      }],\n      /**\n       * Scroll Margin\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-m': [{\n        'scroll-m': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin X\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-mx': [{\n        'scroll-mx': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin Y\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-my': [{\n        'scroll-my': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin Start\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-ms': [{\n        'scroll-ms': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin End\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-me': [{\n        'scroll-me': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin Top\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-mt': [{\n        'scroll-mt': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin Right\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-mr': [{\n        'scroll-mr': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin Bottom\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-mb': [{\n        'scroll-mb': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Margin Left\n       * @see https://tailwindcss.com/docs/scroll-margin\n       */\n      'scroll-ml': [{\n        'scroll-ml': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-p': [{\n        'scroll-p': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding X\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-px': [{\n        'scroll-px': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding Y\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-py': [{\n        'scroll-py': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding Start\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-ps': [{\n        'scroll-ps': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding End\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-pe': [{\n        'scroll-pe': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding Top\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-pt': [{\n        'scroll-pt': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding Right\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-pr': [{\n        'scroll-pr': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding Bottom\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-pb': [{\n        'scroll-pb': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Padding Left\n       * @see https://tailwindcss.com/docs/scroll-padding\n       */\n      'scroll-pl': [{\n        'scroll-pl': scaleUnambiguousSpacing()\n      }],\n      /**\n       * Scroll Snap Align\n       * @see https://tailwindcss.com/docs/scroll-snap-align\n       */\n      'snap-align': [{\n        snap: ['start', 'end', 'center', 'align-none']\n      }],\n      /**\n       * Scroll Snap Stop\n       * @see https://tailwindcss.com/docs/scroll-snap-stop\n       */\n      'snap-stop': [{\n        snap: ['normal', 'always']\n      }],\n      /**\n       * Scroll Snap Type\n       * @see https://tailwindcss.com/docs/scroll-snap-type\n       */\n      'snap-type': [{\n        snap: ['none', 'x', 'y', 'both']\n      }],\n      /**\n       * Scroll Snap Type Strictness\n       * @see https://tailwindcss.com/docs/scroll-snap-type\n       */\n      'snap-strictness': [{\n        snap: ['mandatory', 'proximity']\n      }],\n      /**\n       * Touch Action\n       * @see https://tailwindcss.com/docs/touch-action\n       */\n      touch: [{\n        touch: ['auto', 'none', 'manipulation']\n      }],\n      /**\n       * Touch Action X\n       * @see https://tailwindcss.com/docs/touch-action\n       */\n      'touch-x': [{\n        'touch-pan': ['x', 'left', 'right']\n      }],\n      /**\n       * Touch Action Y\n       * @see https://tailwindcss.com/docs/touch-action\n       */\n      'touch-y': [{\n        'touch-pan': ['y', 'up', 'down']\n      }],\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: [{\n        select: ['none', 'text', 'all', 'auto']\n      }],\n      /**\n       * Will Change\n       * @see https://tailwindcss.com/docs/will-change\n       */\n      'will-change': [{\n        'will-change': ['auto', 'scroll', 'contents', 'transform', isArbitraryVariable, isArbitraryValue]\n      }],\n      // -----------\n      // --- SVG ---\n      // -----------\n      /**\n       * Fill\n       * @see https://tailwindcss.com/docs/fill\n       */\n      fill: [{\n        fill: ['none', ...scaleColor()]\n      }],\n      /**\n       * Stroke Width\n       * @see https://tailwindcss.com/docs/stroke-width\n       */\n      'stroke-w': [{\n        stroke: [isNumber, isArbitraryVariableLength, isArbitraryLength, isArbitraryNumber]\n      }],\n      /**\n       * Stroke\n       * @see https://tailwindcss.com/docs/stroke\n       */\n      stroke: [{\n        stroke: ['none', ...scaleColor()]\n      }],\n      // ---------------------\n      // --- Accessibility ---\n      // ---------------------\n      /**\n       * Forced Color Adjust\n       * @see https://tailwindcss.com/docs/forced-color-adjust\n       */\n      'forced-color-adjust': [{\n        'forced-color-adjust': ['auto', 'none']\n      }]\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': ['fvn-ordinal', 'fvn-slashed-zero', 'fvn-figure', 'fvn-spacing', 'fvn-fraction'],\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: ['rounded-s', 'rounded-e', 'rounded-t', 'rounded-r', 'rounded-b', 'rounded-l', 'rounded-ss', 'rounded-se', 'rounded-ee', 'rounded-es', 'rounded-tl', 'rounded-tr', 'rounded-br', 'rounded-bl'],\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': ['border-w-s', 'border-w-e', 'border-w-t', 'border-w-r', 'border-w-b', 'border-w-l'],\n      'border-w-x': ['border-w-r', 'border-w-l'],\n      'border-w-y': ['border-w-t', 'border-w-b'],\n      'border-color': ['border-color-s', 'border-color-e', 'border-color-t', 'border-color-r', 'border-color-b', 'border-color-l'],\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': ['scroll-mx', 'scroll-my', 'scroll-ms', 'scroll-me', 'scroll-mt', 'scroll-mr', 'scroll-mb', 'scroll-ml'],\n      'scroll-mx': ['scroll-mr', 'scroll-ml'],\n      'scroll-my': ['scroll-mt', 'scroll-mb'],\n      'scroll-p': ['scroll-px', 'scroll-py', 'scroll-ps', 'scroll-pe', 'scroll-pt', 'scroll-pr', 'scroll-pb', 'scroll-pl'],\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: ['before', 'after', 'placeholder', 'file', 'marker', 'selection', 'first-line', 'first-letter', 'backdrop', '*', '**']\n  };\n};\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 */\nconst mergeConfigs = (baseConfig, {\n  cacheSize,\n  prefix,\n  experimentalParseClassName,\n  extend = {},\n  override = {}\n}) => {\n  overrideProperty(baseConfig, 'cacheSize', cacheSize);\n  overrideProperty(baseConfig, 'prefix', prefix);\n  overrideProperty(baseConfig, 'experimentalParseClassName', experimentalParseClassName);\n  overrideConfigProperties(baseConfig.theme, override.theme);\n  overrideConfigProperties(baseConfig.classGroups, override.classGroups);\n  overrideConfigProperties(baseConfig.conflictingClassGroups, override.conflictingClassGroups);\n  overrideConfigProperties(baseConfig.conflictingClassGroupModifiers, override.conflictingClassGroupModifiers);\n  overrideProperty(baseConfig, 'orderSensitiveModifiers', override.orderSensitiveModifiers);\n  mergeConfigProperties(baseConfig.theme, extend.theme);\n  mergeConfigProperties(baseConfig.classGroups, extend.classGroups);\n  mergeConfigProperties(baseConfig.conflictingClassGroups, extend.conflictingClassGroups);\n  mergeConfigProperties(baseConfig.conflictingClassGroupModifiers, extend.conflictingClassGroupModifiers);\n  mergeArrayProperties(baseConfig, extend, 'orderSensitiveModifiers');\n  return baseConfig;\n};\nconst overrideProperty = (baseObject, overrideKey, overrideValue) => {\n  if (overrideValue !== undefined) {\n    baseObject[overrideKey] = overrideValue;\n  }\n};\nconst overrideConfigProperties = (baseObject, overrideObject) => {\n  if (overrideObject) {\n    for (const key in overrideObject) {\n      overrideProperty(baseObject, key, overrideObject[key]);\n    }\n  }\n};\nconst mergeConfigProperties = (baseObject, mergeObject) => {\n  if (mergeObject) {\n    for (const key in mergeObject) {\n      mergeArrayProperties(baseObject, mergeObject, key);\n    }\n  }\n};\nconst mergeArrayProperties = (baseObject, mergeObject, key) => {\n  const mergeValue = mergeObject[key];\n  if (mergeValue !== undefined) {\n    baseObject[key] = baseObject[key] ? baseObject[key].concat(mergeValue) : mergeValue;\n  }\n};\nconst extendTailwindMerge = (configExtension, ...createConfig) => typeof configExtension === 'function' ? createTailwindMerge(getDefaultConfig, configExtension, ...createConfig) : createTailwindMerge(() => mergeConfigs(getDefaultConfig(), configExtension), ...createConfig);\nconst twMerge = /*#__PURE__*/createTailwindMerge(getDefaultConfig);\nexport { createTailwindMerge, extendTailwindMerge, fromTheme, getDefaultConfig, mergeConfigs, twJoin, twMerge, validators };\n//# sourceMappingURL=bundle-mjs.mjs.map\n","import { clsx, type ClassValue } from \"clsx\";\r\nimport { twMerge } from \"tailwind-merge\";\r\n\r\nexport const cn = (...inputs: ClassValue[]) => {\r\n  return twMerge(clsx(inputs));\r\n}\r\n\r\n","import { App } from \"vue\";\r\nimport { Config } from \"@/interfaces/config.interface\";\r\n\r\nlet config: Config = {\r\n  defaultTags: [\r\n    \"a\",\r\n    \"button\",\r\n    \"input\",\r\n    \"router-link\",\r\n    \"nuxt-link\",\r\n    \"n-link\",\r\n    \"RouterLink\",\r\n    \"NuxtLink\",\r\n    \"NLink\",\r\n  ],\r\n};\r\n\r\nconst setOptions = (options: Partial<Config>): void => {\r\n  config = { ...config, ...options };\r\n};\r\n\r\nlet VueInstance: App | null = null;\r\n\r\nconst setVueInstance = (Vue: App) => {\r\n  VueInstance = Vue;\r\n};\r\n\r\nexport { config, setOptions, setVueInstance, VueInstance };\r\n","export const processVariant = (variant: string) => {\r\n    if (variant.includes(' ')) {\r\n      return variant.replace(' ', '-');\r\n    }\r\n    return variant;\r\n  };","<template>\r\n  <component\r\n    v-if=\"icon\"\r\n    :is=\"icon\"\r\n    :class=\"[iconClass]\"\r\n    v-bind=\"iconProps\"\r\n    aria-hidden=\"true\"\r\n  />\r\n  <span v-else-if=\"$slots.default\" :class=\"[iconClass]\" aria-hidden=\"true\">\r\n    <slot />\r\n  </span>\r\n  <span v-else class=\"text-red-500\">\r\n    Error: No se proporcionó un icono o SVG.\r\n  </span>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\n  import { computed } from \"vue\";\r\n\r\n  defineOptions({\r\n    name: \"BeIcon\",\r\n  });\r\n\r\n  // Props\r\n  const props = defineProps({\r\n    icon: {\r\n      type: [String, Object],\r\n      default: null,\r\n      validator: (value: string | object) => {\r\n        return typeof value === \"string\" || typeof value === \"object\";\r\n      },\r\n    },\r\n    class: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    ariaLabel: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n  });\r\n\r\n  const iconClass = computed(() => props.class);\r\n  const iconProps = computed(() => ({\r\n    \"aria-label\": props.ariaLabel || undefined,\r\n  }));\r\n</script>\r\n","<script lang=\"ts\" setup>\r\n  import { cn } from \"../../utils/utils\";\r\n  import { cva } from \"class-variance-authority\";\r\n  import { computed, ref, watch } from \"vue\";\r\n  import BeIcon from \"../Icon/BeIcon.vue\"; // Importa el componente Icon\r\n\r\n  defineOptions({\r\n    name: \"BeLoading\",\r\n    components: {\r\n      BeIcon,\r\n    },\r\n  });\r\n\r\n  // Props\r\n  const props = defineProps({\r\n    class: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n  });\r\n\r\n  // Clases de loading\r\n  const classProps = ref(props.class);\r\n  const loading = cva(\r\n    \"animate-spin animate-infinite animate-ease-linear m-0.5 size-5\"\r\n  );\r\n\r\n  const loadingClasses = computed(() => {\r\n    return cn(loading(), props.class);\r\n  });\r\n\r\n  watch(\r\n    () => props.class,\r\n    (newValue) => {\r\n      classProps.value = newValue;\r\n    }\r\n  );\r\n</script>\r\n\r\n<template>\r\n  <be-icon :class=\"classProps\">\r\n    <svg\r\n      xmlns=\"http://www.w3.org/2000/svg\"\r\n      fill=\"none\"\r\n      viewBox=\"0 0 24 24\"\r\n      :class=\"loadingClasses\"\r\n    >\r\n      <circle\r\n        class=\"opacity-25\"\r\n        cx=\"12\"\r\n        cy=\"12\"\r\n        r=\"10\"\r\n        stroke=\"currentColor\"\r\n        stroke-width=\"4\"\r\n      ></circle>\r\n      <path\r\n        class=\"opacity-75\"\r\n        fill=\"currentColor\"\r\n        d=\"M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4zm2 5.291A7.962 7.962 0 014 12H0c0 3.042 1.135 5.824 3 7.938l3-2.647z\"\r\n      ></path>\r\n    </svg>\r\n  </be-icon>\r\n</template>\r\n\r\n<style lang=\"css\" scoped></style>\r\n","<script lang=\"ts\" setup>\r\n  import { computed, ref, useAttrs, PropType, watch } from \"vue\";\r\n  import { cva, type VariantProps } from \"class-variance-authority\";\r\n  import { cn } from \"../../utils/utils\";\r\n  import { config } from \"../../utils/config\";\r\n  import { processVariant } from \"../../utils/helpers\";\r\n  import BeLoading from \"../Loading/BeLoading.vue\";\r\n\r\n  defineOptions({\r\n    name: \"BeButton\",\r\n  });\r\n\r\n  type BaseVariant =\r\n    | \"default\"\r\n    | \"primary\"\r\n    | \"success\"\r\n    | \"warning\"\r\n    | \"danger\"\r\n    | \"ghost\"\r\n    | \"light\";\r\n\r\n  type CombinedVariant =\r\n    | BaseVariant\r\n    | \"primary-light\"\r\n    | \"primary light\"\r\n    | \"success-light\"\r\n    | \"success light\"\r\n    | \"warning-light\"\r\n    | \"warning light\"\r\n    | \"danger-light\"\r\n    | \"danger light\"\r\n    | \"ghost-light\"\r\n    | \"ghost light\";\r\n\r\n  const props = defineProps({\r\n    variant: {\r\n      type: String as PropType<CombinedVariant>,\r\n      default: \"default\",\r\n    },\r\n    outline: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    rounded: {\r\n      type: String as () => VariantProps<typeof button>[\"rounded\"],\r\n      default: \"md\",\r\n    },\r\n    size: {\r\n      type: String as () => VariantProps<typeof button>[\"size\"],\r\n      default: \"md\",\r\n    },\r\n    tag: {\r\n      type: String,\r\n      default: \"button\",\r\n      validator: (value) => {\r\n        return config.defaultTags.indexOf(value as string) >= 0;\r\n      },\r\n    },\r\n    nativeType: {\r\n      type: String,\r\n      default: \"button\",\r\n      validator: (value) => {\r\n        return [\"button\", \"submit\", \"reset\"].indexOf(value as string) >= 0;\r\n      },\r\n    },\r\n    expanded: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    class: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    iconLeft: {\r\n      type: Object,\r\n      default: null,\r\n    },\r\n    iconRight: {\r\n      type: Object,\r\n      default: null,\r\n    },\r\n    loading: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    iconLeftClass: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    iconRightClass: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    iconSize: {\r\n      type: String as () => VariantProps<typeof icon>[\"size\"],\r\n      default: \"md\",\r\n    },\r\n    between: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n  });\r\n\r\n  const emit = defineEmits([\"click\"]);\r\n  const attrs = useAttrs() as Record<string, unknown>;\r\n  const variantProps = ref(props.variant);\r\n  const outlineProps = ref(props.outline);\r\n  const roundedProps = ref(props.rounded);\r\n  const sizeProps = ref(props.size);\r\n  const classProps = ref(props.class);\r\n  const iconLeftProps = ref(props.iconLeft);\r\n  const iconRightProps = ref(props.iconRight);\r\n  const isLoading = ref(props.loading);\r\n  const tagProps = ref(props.tag);\r\n  const nativeTypeProps = ref(props.nativeType);\r\n  const iconLeftClassProps = ref(props.iconLeftClass);\r\n  const iconRightClassProps = ref(props.iconRightClass);\r\n  const iconSizeProps = ref(props.iconSize);\r\n  const expandedProps = ref(props.expanded);\r\n  const betweenProps = ref(props.between);\r\n\r\n  watch(\r\n    () => props.variant,\r\n    (value) => (variantProps.value = value)\r\n  );\r\n  watch(\r\n    () => props.outline,\r\n    (value) => (outlineProps.value = value)\r\n  );\r\n  watch(\r\n    () => props.rounded,\r\n    (value) => (roundedProps.value = value)\r\n  );\r\n  watch(\r\n    () => props.size,\r\n    (value) => (sizeProps.value = value)\r\n  );\r\n  watch(\r\n    () => props.class,\r\n    (value) => (classProps.value = value)\r\n  );\r\n  watch(\r\n    () => props.iconLeft,\r\n    (value) => (iconLeftProps.value = value)\r\n  );\r\n  watch(\r\n    () => props.iconRight,\r\n    (value) => (iconRightProps.value = value)\r\n  );\r\n  watch(\r\n    () => props.loading,\r\n    (value) => (isLoading.value = value)\r\n  );\r\n  watch(\r\n    () => props.tag,\r\n    (value) => (tagProps.value = value)\r\n  );\r\n  watch(\r\n    () => props.nativeType,\r\n    (value) => (nativeTypeProps.value = value)\r\n  );\r\n  watch(\r\n    () => props.iconLeftClass,\r\n    (value) => (iconLeftClassProps.value = value)\r\n  );\r\n  watch(\r\n    () => props.iconRightClass,\r\n    (value) => (iconRightClassProps.value = value)\r\n  );\r\n  watch(\r\n    () => props.iconSize,\r\n    (value) => (iconSizeProps.value = value)\r\n  );\r\n\r\n  watch(\r\n    () => props.expanded,\r\n    (value) => (expandedProps.value = value)\r\n  );\r\n\r\n  watch(\r\n    () => props.between,\r\n    (value) => {\r\n      if (value)  (betweenProps.value = value);\r\n    }\r\n  )\r\n\r\n  const button = cva(\r\n    \"inline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 gap-2\",\r\n    {\r\n      variants: {\r\n        variant: {\r\n          default: \"bg-slate-500 text-white font-bold hover:bg-slate-500/90\",\r\n          primary: \"bg-blue-500 text-white font-bold hover:bg-blue-500/90\",\r\n          success: \"bg-green-500 text-white hover:bg-green-500/80\",\r\n          warning: \"bg-orange-400 text-white hover:bg-orange-400/80\",\r\n          danger: \"bg-red-600 text-white hover:bg-red-600/80\",\r\n          ghost: \"hover:bg-slate-400 hover:text-white\",\r\n          light:\r\n            \"bg-slate-200 border-transparent text-slate-500 hover:bg-slate-300\",\r\n          \"primary-light\":\r\n            \"bg-white border-blue-500 text-blue-500 hover:bg-blue-500 hover:text-white\",\r\n          \"success-light\":\r\n            \"bg-white border-green-500 text-green-500 hover:bg-green-500 hover:text-white\",\r\n          \"warning-light\":\r\n            \"bg-white border-orange-400 text-orange-400 hover:bg-orange-400 hover:text-white\",\r\n          \"danger-light\":\r\n            \"bg-white border-red-600 text-red-600 hover:bg-red-600 hover:text-white\",\r\n          \"ghost-light\":\r\n            \"bg-white border-transparent text-slate-500 hover:bg-slate-400\",\r\n        },\r\n        outline: {\r\n          true: \"border border-input bg-transparent text-slate-600 hover:bg-slate-400 hover:text-white\",\r\n        },\r\n        expanded: {\r\n          true: \"w-full\",\r\n        },\r\n        between: {\r\n          true : \"justify-between\"\r\n        },\r\n        rounded: {\r\n          basic: \"rounded-none\",\r\n          sm: \"rounded-sm\",\r\n          md: \"rounded-md\",\r\n          lg: \"rounded-2xl\",\r\n          full: \"rounded-full\",\r\n        },\r\n        size: {\r\n          default: \"h-10 px-4 py-2\",\r\n          sm: \"h-9 px-3 text-sm\",\r\n          md: \"h-10 px-8 text-lg\",\r\n          lg: \"h-11 px-12 text-lg\",\r\n          xl: \"h-12 px-14 text-xl\",\r\n          full: \"h-12 px-16 text-2xl\",\r\n        },\r\n      },\r\n      compoundVariants: [\r\n        {\r\n          variant: \"primary\",\r\n          outline: true,\r\n          class: \"border-blue-500 hover:bg-blue-500\",\r\n        },\r\n        {\r\n          variant: \"success\",\r\n          outline: true,\r\n          class: \"border-green-500 hover:bg-green-500\",\r\n        },\r\n        {\r\n          variant: \"warning\",\r\n          outline: true,\r\n          class: \"border-orange-400 hover:bg-orange-400\",\r\n        },\r\n        {\r\n          variant: \"danger\",\r\n          outline: true,\r\n          class: \"border-red-600 hover:bg-red-600\",\r\n        },\r\n        {\r\n          variant: \"ghost\",\r\n          outline: true,\r\n          class: \"border-transparent hover:bg-slate-400\",\r\n        },\r\n        {\r\n          variant: \"light\",\r\n          outline: true,\r\n          class: \"border-transparent hover:bg-slate-200\",\r\n        },\r\n        {\r\n          variant: \"primary-light\",\r\n          class:\r\n            \"bg-blue-200 border-blue-500 text-blue-500 hover:bg-blue-300 hover:text-blue-600\",\r\n        },\r\n        {\r\n          variant: \"success-light\",\r\n          class:\r\n            \"bg-green-200 border-green-500 text-green-500 hover:bg-green-300 hover:text-green-600\",\r\n        },\r\n        {\r\n          variant: \"warning-light\",\r\n          class:\r\n            \"bg-orange-200 border-orange-400 text-orange-400 hover:bg-orange-300 hover:text-orange-600\",\r\n        },\r\n        {\r\n          variant: \"danger-light\",\r\n          class:\r\n            \"bg-red-200 border-red-600 text-red-600 hover:bg-red-300 hover:text-red-800\",\r\n        },\r\n        {\r\n          variant: \"ghost-light\",\r\n          class:\r\n            \"bg-slate-200 border-transparent text-slate-500 hover:bg-slate-300\",\r\n        },\r\n      ],\r\n      defaultVariants: {\r\n        variant: \"default\",\r\n        size: \"md\",\r\n        rounded: \"md\",\r\n      },\r\n    }\r\n  );\r\n  const icon = cva(\"\", {\r\n    variants: {\r\n      size: {\r\n        sm: \"w-4 h-4\",\r\n        md: \"w-5 h-5\",\r\n        lg: \"w-6 h-6\",\r\n        xl: \"w-8 h-8\",\r\n        xxl: \"w-10 h-10\",\r\n        xxxl: \"w-12 h-12\",\r\n      },\r\n    },\r\n    defaultVariants: {\r\n      size: \"md\",\r\n    },\r\n  });\r\n  const iconLeftClasses = computed(() => {\r\n    return cn(\r\n      icon({\r\n        size: iconSizeProps.value,\r\n      }) as string,\r\n      iconLeftClassProps.value as string\r\n    );\r\n  });\r\n\r\n  const iconRightClasses = computed(() => {\r\n    return cn(\r\n      icon({\r\n        size: iconSizeProps.value,\r\n      }) as string,\r\n      iconRightClassProps.value as string\r\n    );\r\n  });\r\n\r\n  const buttonClasses = computed(() => {\r\n    const processedVariant = processVariant(variantProps.value as string);\r\n\r\n    return cn(\r\n      button({\r\n        variant: processedVariant as VariantProps<typeof button>[\"variant\"],\r\n        outline: outlineProps.value,\r\n        rounded: roundedProps.value,\r\n        size: sizeProps.value,\r\n        expanded: expandedProps.value,\r\n        between: betweenProps.value\r\n      }) as string,\r\n      classProps.value as string\r\n    );\r\n  });\r\n\r\n  const handleClick = (event: MouseEvent) => {\r\n    if (!isLoading.value) {\r\n      isLoading.value = true;\r\n      emit(\"click\", event);\r\n      setTimeout(() => (isLoading.value = false), 1000); // Simulación del fin del estado de carga\r\n    }\r\n  };\r\n  const computedTag = computed(() => {\r\n    if (attrs.disabled !== undefined && attrs.disabled !== false) {\r\n      return \"button\";\r\n    }\r\n    return tagProps.value;\r\n  });\r\n</script>\r\n<template>\r\n  <component\r\n    :is=\"computedTag\"\r\n    :class=\"buttonClasses\"\r\n    :disabled=\"loading\"\r\n    v-bind=\"attrs\"\r\n    :type=\"\r\n      ['button', 'input'].includes(computedTag) ? nativeTypeProps : undefined\r\n    \"\r\n    @click=\"handleClick\"\r\n  >\r\n    <component\r\n      v-if=\"iconLeftProps && !iconRightProps && !isLoading\"\r\n      :is=\"iconLeftProps\"\r\n      :class=\"iconLeftClasses\"\r\n    />\r\n    <slot></slot>\r\n    <component\r\n      v-if=\"!iconLeftProps && iconRightProps && !isLoading\"\r\n      :is=\"iconRightProps\"\r\n      :class=\"iconRightClasses\"\r\n    />\r\n    <be-loading v-if=\"isLoading\" />\r\n  </component>\r\n</template>\r\n<style lang=\"scss\" scoped></style>\r\n","<script lang=\"ts\" setup>\r\n  import { ref, computed, watch, PropType, useAttrs } from \"vue\";\r\n  import { cn } from \"../../utils/utils\";\r\n  import { cva, type VariantProps } from \"class-variance-authority\";\r\n  import { processVariant } from \"../../utils/helpers\";\r\n  import BeLoading from \"../Loading/BeLoading.vue\";\r\n\r\n  defineOptions({\r\n    name: \"BeSwitch\",\r\n    components: {\r\n      BeLoading,\r\n    },\r\n  });\r\n\r\n  type BaseVariant =\r\n    | \"default\"\r\n    | \"primary\"\r\n    | \"success\"\r\n    | \"warning\"\r\n    | \"danger\"\r\n    | \"ghost\"\r\n    | \"light\";\r\n\r\n  const props = defineProps({\r\n    variant: {\r\n      type: String as PropType<BaseVariant>,\r\n      default: \"primary\",\r\n    },\r\n    disabled: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    loading: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    checked: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    checkedText: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    uncheckedText: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n    checkedIcon: {\r\n      type: [String, Object],\r\n      default: \"\",\r\n    },\r\n    uncheckedIcon: {\r\n      type: [String, Object],\r\n      default: \"\",\r\n    },\r\n    variantLoading: {\r\n      type: String,\r\n      default: \"text-gray-500\",\r\n    },\r\n  });\r\n\r\n  const emit = defineEmits([\"update:checked\", \"change\"]);\r\n  const attrs = useAttrs() as Record<string, any>;\r\n\r\n  const internalChecked = ref(props.checked);\r\n  const variantProps = ref<BaseVariant>(props.variant);\r\n  const checkedTextProps = ref(props.checkedText);\r\n  const uncheckedTextProps = ref(props.uncheckedText);\r\n  const checkedIconProps = ref(props.checkedIcon);\r\n  const uncheckedIconProps = ref(props.uncheckedIcon);\r\n  const loadingProps = ref(props.loading);\r\n  const disabledProps = ref(props.disabled);\r\n  const variantLoadingProps = ref(props.variantLoading);\r\n\r\n  const switchClass = cva(\r\n    \"relative inline-flex items-center justify-center w-16 h-6 rounded-full transition-colors duration-300 focus:outline-none\",\r\n    {\r\n      variants: {\r\n        variant: {\r\n          default: \"bg-slate-500 text-white\",\r\n          primary: \"bg-blue-500 text-white\",\r\n          success: \"bg-green-500 text-white\",\r\n          warning: \"bg-orange-400 text-white\",\r\n          danger: \"bg-red-600 text-white\",\r\n          ghost: \"hover:bg-slate-400\",\r\n        },\r\n        isDisabled: {\r\n          true: \"cursor-not-allowed opacity-50 bg-slate-400\",\r\n        },\r\n        isLoading: {\r\n          true: \"bg-slate-400\",\r\n        },\r\n        isChecked: {\r\n          false: \"bg-gray-400\",\r\n        },\r\n      },\r\n      defaultVariants: {\r\n        variant: \"primary\",\r\n      },\r\n    }\r\n  );\r\n\r\n  const labelClass = cva(\r\n    \"text-sm font-medium transition-opacity duration-300\",\r\n    {\r\n      variants: {\r\n        isChecked: {\r\n          true: \"opacity-100 mr-[1.9rem]\",\r\n          false: \"opacity-100 ml-[1.9rem]\",\r\n        },\r\n      },\r\n    }\r\n  );\r\n\r\n  const switchClasses = computed(() => {\r\n    const processedVariant = processVariant(variantProps.value as string);\r\n    return cn(\r\n      switchClass({\r\n        variant: processedVariant as VariantProps<\r\n          typeof switchClass\r\n        >[\"variant\"],\r\n        isDisabled: isDisabled.value,\r\n        isLoading: loadingProps.value,\r\n        isChecked: internalChecked.value,\r\n      })\r\n    );\r\n  });\r\n\r\n  watch(\r\n    () => props.checked,\r\n    (newValue) => {\r\n      internalChecked.value = newValue;\r\n    }\r\n  );\r\n\r\n  const isDisabled = computed(() => disabledProps.value || loadingProps.value);\r\n\r\n  const toggleClass = cva(\r\n    \"absolute left-0.5 w-6 h-6 rounded-full bg-white shadow-md transform transition-transform duration-300\",\r\n    {\r\n      variants: {\r\n        isChecked: {\r\n          true: \"translate-x-9\",\r\n          false: \"-translate-x-0\",\r\n        },\r\n      },\r\n    }\r\n  );\r\n\r\n  const toggleSwitch = () => {\r\n    if (isDisabled.value) return;\r\n\r\n    internalChecked.value = !internalChecked.value;\r\n    emit(\"update:checked\", internalChecked.value);\r\n    emit(\"change\", internalChecked.value);\r\n  };\r\n\r\n  watch(\r\n    () => props.variant,\r\n    (newValue) => {\r\n      variantProps.value = newValue;\r\n    }\r\n  );\r\n  watch(\r\n    () => props.disabled,\r\n    (newValue) => {\r\n      disabledProps.value = newValue;\r\n    }\r\n  );\r\n  watch(\r\n    () => props.loading,\r\n    (newValue) => {\r\n      loadingProps.value = newValue;\r\n    }\r\n  );\r\n  watch(\r\n    () => props.checked,\r\n    (newValue) => {\r\n      internalChecked.value = newValue;\r\n    }\r\n  );\r\n  watch(\r\n    () => props.checkedText,\r\n    (newValue) => {\r\n      checkedTextProps.value = newValue;\r\n    }\r\n  );\r\n  watch(\r\n    () => props.uncheckedText,\r\n    (newValue) => {\r\n      uncheckedTextProps.value = newValue;\r\n    }\r\n  );\r\n  watch(\r\n    () => props.checkedIcon,\r\n    (newValue) => {\r\n      checkedIconProps.value = newValue;\r\n    }\r\n  );\r\n  watch(\r\n    () => props.uncheckedIcon,\r\n    (newValue) => {\r\n      uncheckedIconProps.value = newValue;\r\n    }\r\n  );\r\n</script>\r\n\r\n<template>\r\n  <component\r\n    is=\"button\"\r\n    role=\"switch\"\r\n    :aria-checked=\"internalChecked\"\r\n    :disabled=\"isDisabled\"\r\n    @click=\"toggleSwitch\"\r\n    v-bind=\"attrs\"\r\n    :class=\"switchClasses\"\r\n  >\r\n    <span :class=\"toggleClass({ isChecked: internalChecked })\">\r\n      <be-loading :class=\"variantLoadingProps\" v-if=\"loadingProps\"/>\r\n    </span>\r\n\r\n    <span v-if=\"internalChecked\" :class=\"labelClass({ isChecked: true })\">\r\n      <template v-if=\"checkedIconProps\">\r\n        <component :is=\"checkedIconProps\" class=\"w-5 h-5\" />\r\n      </template>\r\n      <template v-else>\r\n        {{ checkedTextProps }}\r\n      </template>\r\n    </span>\r\n\r\n    <span v-else :class=\"labelClass({ isChecked: false })\">\r\n      <template v-if=\"uncheckedIconProps\">\r\n        <component :is=\"uncheckedIconProps\" class=\"w-5 h-5\" />\r\n      </template>\r\n      <template v-else>\r\n        {{ uncheckedTextProps }}\r\n      </template>\r\n    </span>\r\n  </component>\r\n</template>\r\n","<template>\r\n  <div :class=\"dividerClasses\" role=\"separator\">\r\n    <span v-if=\"slots.default\" :class=\"textClasses\">\r\n      <slot />\r\n    </span>\r\n  </div>\r\n</template>\r\n\r\n<script lang=\"ts\" setup>\r\n  import { computed, PropType, useSlots } from \"vue\";\r\n  import { cn } from \"../../utils/utils\"; // Ajusta la ruta según tu estructura\r\n  import { processVariant } from \"../../utils/helpers\";\r\n  import { cva, VariantProps } from \"class-variance-authority\";\r\n\r\n  defineOptions({\r\n    name: \"BeDivider\",\r\n  });\r\n\r\n  const slots = useSlots() as ReturnType<typeof useSlots>;\r\n\r\n  type BaseVariant =\r\n    | \"default\"\r\n    | \"primary\"\r\n    | \"success\"\r\n    | \"warning\"\r\n    | \"danger\"\r\n    | \"ghost\"\r\n    | \"light\";\r\n\r\n  type BaseOrientation = \"center\" | \"left\" | \"right\";\r\n\r\n  type BaseType = \"horizontal\" | \"vertical\";\r\n\r\n  const props = defineProps({\r\n    type: {\r\n      type: String as PropType<BaseType>,\r\n      default: \"horizontal\",\r\n    },\r\n    dashed: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    orientation: {\r\n      type: String as PropType<BaseOrientation>,\r\n      default: \"center\",\r\n    },\r\n    plain: {\r\n      type: Boolean,\r\n      default: false,\r\n    },\r\n    orientationMargin: {\r\n      type: [String, Number],\r\n      default: 100,\r\n    },\r\n    color: {\r\n      type: String as PropType<BaseVariant>,\r\n      default: \"default\",\r\n    },\r\n    class: {\r\n      type: String,\r\n      default: \"\",\r\n    },\r\n  });\r\n\r\n  const typeProps = computed(() => props.type);\r\n  const dashedProps = computed(() => props.dashed);\r\n  const orientationProps = computed(() => props.orientation);\r\n  const plainProps = computed(() => props.plain);\r\n  const orientationMarginProps = computed(() => props.orientationMargin);\r\n  const colorProps = computed(() => props.color);\r\n  const classProps = computed(() => props.class);\r\n\r\n  const divider = cva(\"whitespace-nowrap\", {\r\n    variants: {\r\n      type: {\r\n        horizontal:\r\n          \"flex items-center text-center box-border leading-6 border-block-start-custom my-4 px-4 text-slate-500\",\r\n        vertical: \"h-full mx-4 border-l border-t-0\",\r\n      },\r\n      isDashed: {\r\n        true: \"border-dashed\",\r\n        false: \"\",\r\n      },\r\n      orientation: {\r\n        center:\r\n          \"before:content-[''] before:flex-1 before:border-t before:border-gray-300 before:mr-4 after:content-[''] after:flex-1 after:border-t after:border-gray-300 after:ml-4 w-full\",\r\n        left: \"after:border after:border-solid after:border-inherit after:flex after:flex-1 after:flex-grow w-full after:content-[''] after:w-[95%] after:mr-4 before:border before:border-solid before:flex-grow before:border-inherit before:flex before:flex-1 after:grow-[10] before:content-[''] before:w-[5%] before:ml-4\",\r\n        right:\r\n          \"after:border after:border-solid after:border-inherit after:flex after:flex-1 after:flex-grow w-full after:content-[''] after:w-[5%] after:mr-4 before:border before:border-solid before:flex-grow before:border-inherit before:flex before:flex-1 before:grow-[10] before:content-[''] before:w-[95%] before:ml-4\",\r\n      },\r\n      plain: {\r\n        true: \"font-normal\",\r\n        false: \"\",\r\n      },\r\n      orientationMargin: {\r\n        100: \"orientation-margin-100\",\r\n      },\r\n      color: {\r\n        default: \"text-slate-500\",\r\n        primary: \"text-blue-500\",\r\n        success: \"text-green-500\",\r\n        warning: \"text-orange-400\",\r\n        danger: \"text-red-600\",\r\n        ghost: \"hover:text-slate-400\",\r\n      },\r\n    },\r\n    defaultVariants: {\r\n      type: \"horizontal\",\r\n      isDashed: false,\r\n      orientation: \"center\",\r\n      plain: false,\r\n      orientationMargin: 100,\r\n      color: \"default\",\r\n    },\r\n  });\r\n\r\n  const text = cva(\"text-base font-medium whitespace-nowrap text-center\", {\r\n    variants: {\r\n      orientation: {\r\n        center: \"text-center px-4\",\r\n        left: \"text-left px-4\",\r\n        right: \"text-right px-4\",\r\n      },\r\n      color: {\r\n        default: \"text-slate-500\",\r\n        primary: \"text-blue-500\",\r\n        success: \"text-green-500\",\r\n        warning: \"text-orange-400\",\r\n        danger: \"text-red-600\",\r\n        ghost: \"hover:text-slate-400\",\r\n      },\r\n    },\r\n    defaultVariants: {\r\n      orientation: \"center\",\r\n      color: \"default\",\r\n    },\r\n  });\r\n\r\n  const dividerClasses = computed(() => {\r\n    if (!slots.default) {\r\n      if (typeProps.value === \"horizontal\") return cn(\"w-full border-t border-gray-300 my-4\", classProps.value);\r\n    }\r\n    const processedVariant = processVariant(colorProps.value);\r\n    return cn(\r\n      divider({\r\n        type: typeProps.value as VariantProps<typeof divider>[\"type\"],\r\n        isDashed: dashedProps.value,\r\n        orientation: orientationProps.value as VariantProps<\r\n          typeof divider\r\n        >[\"orientation\"],\r\n        plain: plainProps.value,\r\n        orientationMargin: orientationMarginProps.value as VariantProps<\r\n          typeof divider\r\n        >[\"orientationMargin\"],\r\n        color: processedVariant as VariantProps<typeof divider>[\"color\"],\r\n      }),\r\n      classProps.value as string\r\n    );\r\n  });\r\n\r\n  const textClasses = computed(() => {\r\n    return cn(\r\n      text({\r\n        orientation: orientationProps.value as VariantProps<\r\n          typeof text\r\n        >[\"orientation\"],\r\n        color: colorProps.value as VariantProps<typeof text>[\"color\"],\r\n      }),\r\n      classProps.value as string\r\n    );\r\n  });\r\n</script>\r\n","import type { Plugin } from \"vue\";\r\nimport BeButton from \"@/components/Button/BeButton.vue\";\r\nimport BeIcon from \"@/components/Icon/BeIcon.vue\";\r\nimport BeLoading from \"@/components/Loading/BeLoading.vue\";\r\nimport BeSwitch from \"@/components/Switch/BeSwitch.vue\";\r\nimport \"../berea-ui.css\";\r\nimport BeDivider from \"@/components/Divider/BeDivider.vue\";\r\n\r\nconst components: Record<string, any> = {\r\n  BeButton,\r\n  BeIcon,\r\n  BeLoading,\r\n  BeSwitch,\r\n  BeDivider,\r\n};\r\n\r\nconst install: Plugin = (app) => {\r\n  Object.entries(components).forEach(([name, component]) => {\r\n    app.component(name, component);\r\n  });\r\n};\r\n\r\nconst getComponent = (name: string) => {\r\n  const componentName = Object.keys(components).find(\r\n    (key) => key.toLowerCase() === name.toLowerCase().replace(/-/g, \"\")\r\n  );\r\n  return componentName ? components[componentName] : null;\r\n};\r\n\r\nexport { getComponent, BeButton, BeIcon, BeLoading, BeSwitch, BeDivider };\r\n\r\nexport default install;\r\n"],"names":["r","t","f","n","o","clsx","falsyToString","value","cx","cva","base","config","props","_config_compoundVariants","variants","defaultVariants","getVariantClassNames","variant","variantProp","defaultVariantProp","variantKey","propsWithoutUndefined","acc","param","key","getCompoundVariantClassNames","cvClass","cvClassName","compoundVariantOptions","CLASS_PART_SEPARATOR","createClassGroupUtils","classMap","createClassMap","conflictingClassGroups","conflictingClassGroupModifiers","className","classParts","getGroupRecursive","getGroupIdForArbitraryProperty","classGroupId","hasPostfixModifier","conflicts","classPartObject","currentClassPart","nextClassPartObject","classGroupFromNextClassPart","classRest","_a","validator","arbitraryPropertyRegex","arbitraryPropertyClassName","property","theme","classGroups","processClassesRecursively","classGroup","classDefinition","classPartObjectToEdit","getPart","isThemeGetter","path","currentClassPartObject","pathPart","func","createLruCache","maxCacheSize","cacheSize","cache","previousCache","update","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","createSortModifiers","orderSensitiveModifiers","modifier","sortedModifiers","unsortedModifiers","createConfigUtils","SPLIT_CLASSES_REGEX","mergeClassList","classList","configUtils","getClassGroupId","getConflictingClassGroupIds","sortModifiers","classGroupsInConflict","classNames","result","originalClassName","isExternal","variantModifier","modifierId","classId","conflictGroups","i","group","twJoin","argument","resolvedValue","string","toValue","mix","k","createTailwindMerge","createConfigFirst","createConfigRest","cacheGet","cacheSet","functionToCall","initTailwindMerge","previousConfig","createConfigCurrent","tailwindMerge","cachedResult","fromTheme","themeGetter","arbitraryValueRegex","arbitraryVariableRegex","fractionRegex","tshirtUnitRegex","lengthUnitRegex","colorFunctionRegex","shadowRegex","imageRegex","isFraction","isNumber","isInteger","isPercent","isTshirtSize","isAny","isLengthOnly","isNever","isShadow","isImage","isAnyNonArbitrary","isArbitraryValue","isArbitraryVariable","isArbitrarySize","getIsArbitraryValue","isLabelSize","isArbitraryLength","isLabelLength","isArbitraryNumber","isLabelNumber","isArbitraryPosition","isLabelPosition","isArbitraryImage","isLabelImage","isArbitraryShadow","isArbitraryVariableLength","getIsArbitraryVariable","isArbitraryVariableFamilyName","isLabelFamilyName","isArbitraryVariablePosition","isArbitraryVariableSize","isArbitraryVariableImage","isArbitraryVariableShadow","isLabelShadow","testLabel","testValue","shouldMatchNoLabel","label","imageLabels","sizeLabels","getDefaultConfig","themeColor","themeFont","themeText","themeFontWeight","themeTracking","themeLeading","themeBreakpoint","themeContainer","themeSpacing","themeRadius","themeShadow","themeInsetShadow","themeDropShadow","themeBlur","themePerspective","themeAspect","themeEase","themeAnimate","scaleBreak","scalePosition","scaleOverflow","scaleOverscroll","scaleInset","scaleGridTemplateColsRows","scaleGridColRowStartAndEnd","scaleGridColRowStartOrEnd","scaleGridAutoColsRows","scaleGap","scaleAlignPrimaryAxis","scaleAlignSecondaryAxis","scaleUnambiguousSpacing","scalePadding","scaleMargin","scaleSizing","scaleColor","scaleGradientStopPosition","scaleRadius","scaleBorderWidth","scaleLineStyle","scaleBlendMode","scaleBlur","scaleOrigin","scaleRotate","scaleScale","scaleSkew","scaleTranslate","twMerge","cn","inputs","processVariant","__props","iconClass","computed","iconProps","classProps","ref","loading","loadingClasses","watch","newValue","emit","__emit","attrs","useAttrs","variantProps","outlineProps","roundedProps","sizeProps","iconLeftProps","iconRightProps","isLoading","tagProps","nativeTypeProps","iconLeftClassProps","iconRightClassProps","iconSizeProps","expandedProps","betweenProps","button","icon","iconLeftClasses","iconRightClasses","buttonClasses","processedVariant","handleClick","event","computedTag","internalChecked","checkedTextProps","uncheckedTextProps","checkedIconProps","uncheckedIconProps","loadingProps","disabledProps","variantLoadingProps","switchClass","labelClass","switchClasses","isDisabled","toggleClass","toggleSwitch","slots","useSlots","typeProps","dashedProps","orientationProps","plainProps","orientationMarginProps","colorProps","divider","text","dividerClasses","textClasses","components","BeButton","BeIcon","BeLoading","BeSwitch","BeDivider","install","app","name","component","getComponent","componentName"],"mappings":"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","x_google_ignoreList":[0,1,2]}