flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS
1 lines • 2.04 kB
Source Map (JSON)
{"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;;;;"}