HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/buyercall/node_modules/tailwind-merge/dist/lib/modifier-utils.mjs.map
{"version":3,"file":"modifier-utils.mjs","sources":["../../src/lib/modifier-utils.ts"],"sourcesContent":["import { Config } from './types'\n\nexport const IMPORTANT_MODIFIER = '!'\n\nexport function createSplitModifiers(config: Config) {\n    const separator = config.separator || ':'\n    const isSeparatorSingleCharacter = separator.length === 1\n    const firstSeparatorCharacter = separator[0]\n    const separatorLength = separator.length\n\n    // splitModifiers inspired by https://github.com/tailwindlabs/tailwindcss/blob/v3.2.2/src/util/splitAtTopLevelOnly.js\n    return function splitModifiers(className: string) {\n        const modifiers = []\n\n        let bracketDepth = 0\n        let modifierStart = 0\n        let postfixModifierPosition: number | undefined\n\n        for (let index = 0; index < className.length; index++) {\n            let currentCharacter = className[index]\n\n            if (bracketDepth === 0) {\n                if (\n                    currentCharacter === firstSeparatorCharacter &&\n                    (isSeparatorSingleCharacter ||\n                        className.slice(index, index + separatorLength) === separator)\n                ) {\n                    modifiers.push(className.slice(modifierStart, index))\n                    modifierStart = index + separatorLength\n                    continue\n                }\n\n                if (currentCharacter === '/') {\n                    postfixModifierPosition = index\n                    continue\n                }\n            }\n\n            if (currentCharacter === '[') {\n                bracketDepth++\n            } else if (currentCharacter === ']') {\n                bracketDepth--\n            }\n        }\n\n        const baseClassNameWithImportantModifier =\n            modifiers.length === 0 ? className : className.substring(modifierStart)\n        const hasImportantModifier =\n            baseClassNameWithImportantModifier.startsWith(IMPORTANT_MODIFIER)\n        const baseClassName = hasImportantModifier\n            ? baseClassNameWithImportantModifier.substring(1)\n            : baseClassNameWithImportantModifier\n\n        const maybePostfixModifierPosition =\n            postfixModifierPosition && postfixModifierPosition > modifierStart\n                ? postfixModifierPosition - modifierStart\n                : undefined\n\n        return {\n            modifiers,\n            hasImportantModifier,\n            baseClassName,\n            maybePostfixModifierPosition,\n        }\n    }\n}\n\n/**\n * Sorts modifiers according to following schema:\n * - Predefined modifiers are sorted alphabetically\n * - When an arbitrary variant appears, it must be preserved which modifiers are before and after it\n */\nexport function sortModifiers(modifiers: string[]) {\n    if (modifiers.length <= 1) {\n        return modifiers\n    }\n\n    const sortedModifiers: string[] = []\n    let unsortedModifiers: string[] = []\n\n    modifiers.forEach((modifier) => {\n        const isArbitraryVariant = modifier[0] === '['\n\n        if (isArbitraryVariant) {\n            sortedModifiers.push(...unsortedModifiers.sort(), modifier)\n            unsortedModifiers = []\n        } else {\n            unsortedModifiers.push(modifier)\n        }\n    })\n\n    sortedModifiers.push(...unsortedModifiers.sort())\n\n    return sortedModifiers\n}\n"],"names":["IMPORTANT_MODIFIER","createSplitModifiers","config","separator","isSeparatorSingleCharacter","length","firstSeparatorCharacter","separatorLength","splitModifiers","className","modifiers","bracketDepth","modifierStart","postfixModifierPosition","index","currentCharacter","slice","push","baseClassNameWithImportantModifier","substring","hasImportantModifier","startsWith","baseClassName","maybePostfixModifierPosition","undefined","sortModifiers","sortedModifiers","unsortedModifiers","forEach","modifier","isArbitraryVariant","sort"],"mappings":"AAEO,IAAMA,kBAAkB,GAAG,IAAG;AAE/B,SAAUC,oBAAoB,CAACC,MAAc,EAAA;AAC/C,EAAA,IAAMC,SAAS,GAAGD,MAAM,CAACC,SAAS,IAAI,GAAG,CAAA;AACzC,EAAA,IAAMC,0BAA0B,GAAGD,SAAS,CAACE,MAAM,KAAK,CAAC,CAAA;AACzD,EAAA,IAAMC,uBAAuB,GAAGH,SAAS,CAAC,CAAC,CAAC,CAAA;AAC5C,EAAA,IAAMI,eAAe,GAAGJ,SAAS,CAACE,MAAM,CAAA;AAExC;AACA,EAAA,OAAO,SAASG,cAAc,CAACC,SAAiB,EAAA;IAC5C,IAAMC,SAAS,GAAG,EAAE,CAAA;IAEpB,IAAIC,YAAY,GAAG,CAAC,CAAA;IACpB,IAAIC,aAAa,GAAG,CAAC,CAAA;AACrB,IAAA,IAAIC,uBAA2C,CAAA;AAE/C,IAAA,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGL,SAAS,CAACJ,MAAM,EAAES,KAAK,EAAE,EAAE;AACnD,MAAA,IAAIC,gBAAgB,GAAGN,SAAS,CAACK,KAAK,CAAC,CAAA;MAEvC,IAAIH,YAAY,KAAK,CAAC,EAAE;AACpB,QAAA,IACII,gBAAgB,KAAKT,uBAAuB,KAC3CF,0BAA0B,IACvBK,SAAS,CAACO,KAAK,CAACF,KAAK,EAAEA,KAAK,GAAGP,eAAe,CAAC,KAAKJ,SAAS,CAAC,EACpE;UACEO,SAAS,CAACO,IAAI,CAACR,SAAS,CAACO,KAAK,CAACJ,aAAa,EAAEE,KAAK,CAAC,CAAC,CAAA;UACrDF,aAAa,GAAGE,KAAK,GAAGP,eAAe,CAAA;AACvC,UAAA,SAAA;AACH,SAAA;QAED,IAAIQ,gBAAgB,KAAK,GAAG,EAAE;AAC1BF,UAAAA,uBAAuB,GAAGC,KAAK,CAAA;AAC/B,UAAA,SAAA;AACH,SAAA;AACJ,OAAA;MAED,IAAIC,gBAAgB,KAAK,GAAG,EAAE;AAC1BJ,QAAAA,YAAY,EAAE,CAAA;AACjB,OAAA,MAAM,IAAII,gBAAgB,KAAK,GAAG,EAAE;AACjCJ,QAAAA,YAAY,EAAE,CAAA;AACjB,OAAA;AACJ,KAAA;AAED,IAAA,IAAMO,kCAAkC,GACpCR,SAAS,CAACL,MAAM,KAAK,CAAC,GAAGI,SAAS,GAAGA,SAAS,CAACU,SAAS,CAACP,aAAa,CAAC,CAAA;AAC3E,IAAA,IAAMQ,oBAAoB,GACtBF,kCAAkC,CAACG,UAAU,CAACrB,kBAAkB,CAAC,CAAA;IACrE,IAAMsB,aAAa,GAAGF,oBAAoB,GACpCF,kCAAkC,CAACC,SAAS,CAAC,CAAC,CAAC,GAC/CD,kCAAkC,CAAA;AAExC,IAAA,IAAMK,4BAA4B,GAC9BV,uBAAuB,IAAIA,uBAAuB,GAAGD,aAAa,GAC5DC,uBAAuB,GAAGD,aAAa,GACvCY,SAAS,CAAA;IAEnB,OAAO;AACHd,MAAAA,SAAS,EAATA,SAAS;AACTU,MAAAA,oBAAoB,EAApBA,oBAAoB;AACpBE,MAAAA,aAAa,EAAbA,aAAa;AACbC,MAAAA,4BAA4B,EAA5BA,4BAAAA;KACH,CAAA;GACJ,CAAA;AACL,CAAA;AAEA;;;;AAIG;AACG,SAAUE,aAAa,CAACf,SAAmB,EAAA;AAC7C,EAAA,IAAIA,SAAS,CAACL,MAAM,IAAI,CAAC,EAAE;AACvB,IAAA,OAAOK,SAAS,CAAA;AACnB,GAAA;EAED,IAAMgB,eAAe,GAAa,EAAE,CAAA;EACpC,IAAIC,iBAAiB,GAAa,EAAE,CAAA;AAEpCjB,EAAAA,SAAS,CAACkB,OAAO,CAAC,UAACC,QAAQ,EAAI;AAC3B,IAAA,IAAMC,kBAAkB,GAAGD,QAAQ,CAAC,CAAC,CAAC,KAAK,GAAG,CAAA;AAE9C,IAAA,IAAIC,kBAAkB,EAAE;MACpBJ,eAAe,CAACT,IAAI,CAAA,KAAA,CAApBS,eAAe,EAASC,iBAAiB,CAACI,IAAI,EAAE,CAAEF,MAAAA,CAAAA,CAAAA,QAAQ,CAAC,CAAA,CAAA,CAAA;AAC3DF,MAAAA,iBAAiB,GAAG,EAAE,CAAA;AACzB,KAAA,MAAM;AACHA,MAAAA,iBAAiB,CAACV,IAAI,CAACY,QAAQ,CAAC,CAAA;AACnC,KAAA;AACL,GAAC,CAAC,CAAA;EAEFH,eAAe,CAACT,IAAI,CAApBS,KAAAA,CAAAA,eAAe,EAASC,iBAAiB,CAACI,IAAI,EAAE,CAAC,CAAA;AAEjD,EAAA,OAAOL,eAAe,CAAA;AAC1B;;;;"}