{"version":3,"file":"apply-prefix.cjs","sources":["../../src/helpers/apply-prefix.ts"],"sourcesContent":["const cache = new Map<string, string>();\n\n/**\n * Applies a prefix to class names.\n *\n * @param classNames - A string containing one or more CSS class names separated by spaces\n * @param prefix - The prefix to be added to each class name\n * @returns A new string with the prefix applied to each class name\n */\nexport function applyPrefix(classNames: string, prefix: string): string {\n  if (!classNames.trim().length || !prefix.trim().length) {\n    return classNames;\n  }\n\n  classNames = classNames.trim();\n  prefix = prefix.trim();\n\n  const cacheKey = `${classNames}.${prefix}`;\n  const cacheValue = cache.get(cacheKey);\n\n  if (cacheValue) {\n    return cacheValue;\n  }\n\n  const result = classNames\n    .split(/\\s+/)\n    .map((className) => {\n      className = className.trim();\n\n      if (!className.length || className.startsWith(prefix)) {\n        return className;\n      }\n\n      return `${prefix}:${className}`;\n    })\n    .join(\" \");\n\n  cache.set(cacheKey, result);\n\n  return result;\n}\n"],"names":[],"mappings":";;AACA,MAAM,KAAK,mBAAmB,IAAI,GAAG,EAAE;AAChC,SAAS,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE;AAChD,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,EAAE;AAC1D,IAAI,OAAO,UAAU;AACrB;AACA,EAAE,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE;AAChC,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE;AACxB,EAAE,MAAM,QAAQ,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAC5C,EAAE,MAAM,UAAU,GAAG,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;AACxC,EAAE,IAAI,UAAU,EAAE;AAClB,IAAI,OAAO,UAAU;AACrB;AACA,EAAE,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK;AAC5D,IAAI,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE;AAChC,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE;AAC3D,MAAM,OAAO,SAAS;AACtB;AACA,IAAI,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AACnC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACd,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;AAC7B,EAAE,OAAO,MAAM;AACf;;;;"}