{
  "version": 3,
  "sources": ["../src/main.ts", "../build/import-meta-url.js"],
  "sourcesContent": ["import setupContextUtil from \"tailwindcss/lib/lib/setupContextUtils.js\";\nimport generateRules from \"tailwindcss/lib/lib/generateRules.js\";\nimport resolveConfig from \"tailwindcss/resolveConfig.js\";\nimport loadConfig from \"tailwindcss/loadConfig.js\";\nimport type { Config } from \"tailwindcss/types/config\";\nimport escalade from \"escalade/sync\";\nimport { IOption } from \"./options\";\nimport objectHash from \"object-hash\";\nimport path from \"path\";\nimport fs from \"fs\";\nimport { fileURLToPath } from \"url\";\n\nconst __filename = fileURLToPath(import.meta.url);\nconst __dirname = path.dirname(__filename);\n\nlet tailwindConfig: Config = {\n    content: [],\n    theme: {},\n};\n\nconst contextMap = new Map();\nconst __defaultConfig__ = \"tailwind.config.js\";\n\nfunction bigSign(bigIntValue: number) {\n    const left: any = bigIntValue > 0n;\n    const right: any = bigIntValue < 0n;\n\n    return left - right;\n}\n\nfunction prefixCandidate(context, selector) {\n    const prefix = context.tailwindConfig.prefix;\n\n    return typeof prefix === \"function\" ? prefix(selector) : prefix + selector;\n}\n\nfunction getClassOrderPolyfill(classes, context) {\n    const parasiteUtilities = new Set([\n        prefixCandidate(context, \"group\"),\n\n        prefixCandidate(context, \"peer\"),\n    ]);\n\n    const classNamesWithOrder: Array<Array<string>> = [];\n\n    for (const className of classes) {\n        let order =\n            generateRules(new Set([className]), context).sort(([a], [z]) =>\n                bigSign(z - a)\n            )[0]?.[0] ?? null;\n\n        if (order === null && parasiteUtilities.has(className)) {\n            order = context.layerOrder.components;\n        }\n\n        classNamesWithOrder.push([className, order]);\n    }\n\n    return classNamesWithOrder;\n}\n\nexport function sortClasses(classStr: string, options: IOption = {}): string {\n    const tailwindConfigPath = escalade(__dirname, (dir, names) => {\n        if (names.includes(__defaultConfig__)) {\n            return __defaultConfig__;\n        }\n    });\n\n    tailwindConfig.content = [\"no-op\"];\n\n    if (tailwindConfigPath) {\n        tailwindConfig = requireConfig(tailwindConfigPath);\n    }\n\n    if (options.tailwindConfig && options.tailwindConfigPath) {\n        throw new Error(\n            \"You can not specify tailwinfConfig or tailwinfConfigPath. Please specify either one.\"\n        );\n    }\n\n    if (options.tailwindConfigPath) {\n        tailwindConfig = requireConfig(options.tailwindConfigPath);\n    }\n\n    if (options.tailwindConfig) {\n        tailwindConfig = options.tailwindConfig;\n    }\n\n    const hash = objectHash(tailwindConfig, { ignoreUnknown: true });\n\n    let context;\n\n    const existing = contextMap.get(hash);\n\n    if (existing && existing.hash === hash) {\n        context = existing.context;\n    } else {\n        context = setupContextUtil.createContext(resolveConfig(tailwindConfig));\n\n        contextMap.set(hash, { context, hash });\n    }\n\n    const parts: string[] = classStr\n\n        .split(/\\s+/)\n\n        .filter((x) => x !== \"\" && x !== \"|\");\n\n    const unknownClassNames: string[] = [];\n\n    const knownClassNamesWithOrder = context.getClassOrder\n        ? context.getClassOrder(parts)\n        : getClassOrderPolyfill(parts, context);\n\n    const knownClassNames = knownClassNamesWithOrder\n\n        .sort(([, a]: any, [, z]: any) => {\n            if (a === z) return 0;\n\n            if (a === null) return -1;\n\n            if (z === null) return 1;\n\n            return bigSign(a - z);\n        })\n\n        .map(([className]) => className);\n\n    return [...unknownClassNames, ...knownClassNames].join(\" \");\n}\n\nfunction requireConfig(configPath: string) {\n    if (!fs.existsSync(configPath)) {\n        throw new Error(\"tailwind config could not be found at: \" + path);\n    }\n\n    try {\n        return loadConfig(configPath);\n    } catch (err: any) {\n        if (\n            err.code === \"MODULE_NOT_FOUND\" &&\n            err.moduleName === path.resolve(configPath)\n        ) {\n            throw new Error(\n                \"tailwind config could not be found at: \" + configPath\n            );\n        }\n\n        throw err;\n    }\n}\n", "export var import_meta_url = require(\"url\").pathToFileURL(__filename);\n"],
  "mappings": "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",
  "names": ["main_exports", "__export", "sortClasses", "__toCommonJS", "import_meta_url", "import_setupContextUtils", "import_generateRules", "import_resolveConfig", "import_loadConfig", "import_sync", "import_object_hash", "import_path", "import_fs", "import_url", "__filename", "import_meta_url", "__dirname", "path", "tailwindConfig", "contextMap", "__defaultConfig__", "bigSign", "bigIntValue", "left", "right", "prefixCandidate", "context", "selector", "prefix", "getClassOrderPolyfill", "classes", "parasiteUtilities", "classNamesWithOrder", "className", "order", "generateRules", "a", "z", "sortClasses", "classStr", "options", "tailwindConfigPath", "escalade", "dir", "names", "requireConfig", "hash", "objectHash", "existing", "setupContextUtil", "resolveConfig", "parts", "x", "unknownClassNames", "knownClassNames", "configPath", "fs", "loadConfig", "err"]
}
