tailwind-styled-v4 5.0.2 → 5.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js CHANGED
@@ -32962,21 +32962,23 @@ try {
32962
32962
  var __toCommonJS = (mod) => __copyProps222(__defProp222({}, "__esModule", { value: true }), mod);
32963
32963
  var require_compiler22 = __commonJS222({
32964
32964
  "dist/compiler.js"(exports$122, module2) {
32965
- var crypto = __require222("crypto");
32966
- var fs322 = __require222("fs");
32967
32965
  var module$122 = __require222("module");
32968
32966
  var path72 = __require222("path");
32969
32967
  var url222 = __require222("url");
32970
32968
  var tailwindMerge = __require222("tailwind-merge");
32969
+ var fs222 = __require222("fs");
32970
+ var crypto = __require222("crypto");
32971
32971
  var _documentCurrentScript22 = typeof document !== "undefined" ? document.currentScript : null;
32972
32972
  function _interopDefault222(e) {
32973
32973
  return e && e.__esModule ? e : { default: e };
32974
32974
  }
32975
- var fs3__default = /* @__PURE__ */ _interopDefault222(fs322);
32976
32975
  var path7__default = /* @__PURE__ */ _interopDefault222(path72);
32976
+ var fs2__default2 = /* @__PURE__ */ _interopDefault222(fs222);
32977
+ var __create2222 = Object.create;
32977
32978
  var __defProp2222 = Object.defineProperty;
32978
32979
  var __getOwnPropDesc2222 = Object.getOwnPropertyDescriptor;
32979
32980
  var __getOwnPropNames2222 = Object.getOwnPropertyNames;
32981
+ var __getProtoOf2222 = Object.getPrototypeOf;
32980
32982
  var __hasOwnProp2222 = Object.prototype.hasOwnProperty;
32981
32983
  var __require2222 = /* @__PURE__ */ ((x3) => typeof __require222 !== "undefined" ? __require222 : typeof Proxy !== "undefined" ? new Proxy(x3, {
32982
32984
  get: (a, b) => (typeof __require222 !== "undefined" ? __require222 : a)[b]
@@ -32987,6 +32989,9 @@ try {
32987
32989
  var __esm22 = (fn, res) => function __init() {
32988
32990
  return fn && (res = (0, fn[__getOwnPropNames2222(fn)[0]])(fn = 0)), res;
32989
32991
  };
32992
+ var __commonJS2222 = (cb, mod) => function __require22222() {
32993
+ return mod || (0, cb[__getOwnPropNames2222(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
32994
+ };
32990
32995
  var __export22 = (target, all) => {
32991
32996
  for (var name in all)
32992
32997
  __defProp2222(target, name, { get: all[name], enumerable: true });
@@ -32999,48 +33004,438 @@ try {
32999
33004
  }
33000
33005
  return to;
33001
33006
  };
33007
+ var __toESM2222 = (mod, isNodeMode, target) => (target = mod != null ? __create2222(__getProtoOf2222(mod)) : {}, __copyProps2222(
33008
+ // If the importer is in node compatibility mode or this is not an ESM
33009
+ // file that has been converted to a CommonJS file using a Babel-
33010
+ // compatible transform (i.e. "__esModule" has not been set), then set
33011
+ // "default" to the CommonJS "module.exports" for node compatibility.
33012
+ __defProp2222(target, "default", { value: mod, enumerable: true }),
33013
+ mod
33014
+ ));
33002
33015
  var __toCommonJS2 = (mod) => __copyProps2222(__defProp2222({}, "__esModule", { value: true }), mod);
33003
- function getEnvLevel() {
33004
- const env = process.env.TWS_LOG_LEVEL?.toLowerCase();
33005
- if (env && env in LEVELS) return env;
33006
- return process.env.TWS_DEBUG_SCANNER === "1" ? "debug" : "info";
33007
- }
33008
- function createLogger22(prefix, level) {
33009
- let currentLevel = getEnvLevel();
33010
- const log222 = (msgLevel, stream, args) => {
33011
- if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
33012
- const line = `[${prefix}] ${args.map(String).join(" ")}
33013
- `;
33014
- process[stream].write(line);
33015
- };
33016
- return {
33017
- error: (...a) => log222("error", "stderr", a),
33018
- warn: (...a) => log222("warn", "stderr", a),
33019
- info: (...a) => log222("info", "stdout", a),
33020
- debug: (...a) => log222("debug", "stderr", a),
33021
- setLevel: (l) => {
33022
- currentLevel = l;
33016
+ var require_plugin = __commonJS2222({
33017
+ "dist/plugin.js"(exports$1222) {
33018
+ var TOKEN_ENGINE_KEY = "__TW_TOKEN_ENGINE__";
33019
+ function resolveTokenEngine() {
33020
+ if (typeof globalThis !== "undefined") {
33021
+ return globalThis[TOKEN_ENGINE_KEY];
33022
+ }
33023
+ return null;
33023
33024
  }
33024
- };
33025
- }
33026
- var LEVELS;
33027
- var init_logger = __esm22({
33028
- "packages/shared/src/logger.ts"() {
33029
- LEVELS = { silent: 0, error: 1, warn: 2, info: 3, debug: 4 };
33030
- createLogger22("tailwind-styled");
33031
- }
33032
- });
33033
- function hashContent(content, algorithm = "md5", length = 8) {
33034
- return crypto.createHash(algorithm).update(content).digest("hex").slice(0, length);
33035
- }
33036
- var init_hash = __esm22({
33037
- "packages/shared/src/hash.ts"() {
33025
+ function readToken(engine, name) {
33026
+ if (!engine) return void 0;
33027
+ if (typeof engine.getToken === "function") return engine.getToken(name);
33028
+ if (typeof engine.getTokens === "function") {
33029
+ const tokens = engine.getTokens();
33030
+ return tokens?.[name];
33031
+ }
33032
+ return void 0;
33033
+ }
33034
+ function createTwPlugin(options = {}) {
33035
+ return {
33036
+ async resolveId(source, importer) {
33037
+ if (!source.startsWith("tw.") && !source.startsWith("tw:")) return null;
33038
+ const importPath = source.replace(/^tw[.:]/, "");
33039
+ const resolved = await this.resolve(importPath, importer, { skipSelf: true });
33040
+ if (resolved) return { id: resolved.id };
33041
+ return null;
33042
+ },
33043
+ async load(id) {
33044
+ return null;
33045
+ },
33046
+ async transform(code, id) {
33047
+ return null;
33048
+ },
33049
+ getToken(name) {
33050
+ const engine = resolveTokenEngine();
33051
+ return readToken(engine, name);
33052
+ },
33053
+ subscribeTokens(callback) {
33054
+ const engine = resolveTokenEngine();
33055
+ if (!engine) return () => {
33056
+ };
33057
+ if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
33058
+ if (typeof engine.subscribe === "function") return engine.subscribe(callback);
33059
+ return () => {
33060
+ };
33061
+ }
33062
+ };
33063
+ }
33064
+ var globalRegistry = {
33065
+ transforms: [],
33066
+ tokens: {}
33067
+ };
33068
+ function getGlobalRegistry2() {
33069
+ return globalRegistry;
33070
+ }
33071
+ function registerTransform(transform) {
33072
+ globalRegistry.transforms.push(transform);
33073
+ }
33074
+ function registerToken(name, value) {
33075
+ globalRegistry.tokens[name] = value;
33076
+ }
33077
+ function createRegistry() {
33078
+ return {
33079
+ variants: /* @__PURE__ */ new Map(),
33080
+ utilities: /* @__PURE__ */ new Map(),
33081
+ tokens: /* @__PURE__ */ new Map(),
33082
+ transforms: [],
33083
+ cssHooks: [],
33084
+ buildHooks: [],
33085
+ plugins: /* @__PURE__ */ new Set()
33086
+ };
33087
+ }
33088
+ var _globalRegistry = createRegistry();
33089
+ function resetGlobalRegistry() {
33090
+ _globalRegistry = createRegistry();
33091
+ }
33092
+ function createContext(registry, config = {}) {
33093
+ return {
33094
+ config,
33095
+ addVariant(name, resolver) {
33096
+ registry.variants.set(name, resolver);
33097
+ },
33098
+ addUtility(name, styles) {
33099
+ registry.utilities.set(name, styles);
33100
+ },
33101
+ addToken(name, value) {
33102
+ const normalized = name.replace(/[^a-zA-Z0-9-]/g, "-").toLowerCase();
33103
+ registry.tokens.set(normalized, value);
33104
+ },
33105
+ addTransform(fn) {
33106
+ registry.transforms.push(fn);
33107
+ },
33108
+ onGenerateCSS(hook) {
33109
+ registry.cssHooks.push(hook);
33110
+ },
33111
+ onBuildEnd(hook) {
33112
+ registry.buildHooks.push(hook);
33113
+ },
33114
+ getToken(name) {
33115
+ return readToken(resolveTokenEngine(), name);
33116
+ },
33117
+ subscribeTokens(callback) {
33118
+ const engine = resolveTokenEngine();
33119
+ if (!engine) return () => {
33120
+ };
33121
+ if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
33122
+ if (typeof engine.subscribe === "function") return engine.subscribe(callback);
33123
+ return () => {
33124
+ };
33125
+ }
33126
+ };
33127
+ }
33128
+ function createTw(config = {}) {
33129
+ const registry = createRegistry();
33130
+ const ctx = createContext(registry, config);
33131
+ const result = ctx;
33132
+ result.registry = {
33133
+ plugins: registry.plugins,
33134
+ variants: registry.variants,
33135
+ utilities: registry.utilities,
33136
+ tokens: registry.tokens
33137
+ };
33138
+ result.use = (plugin) => {
33139
+ plugin.setup(ctx);
33140
+ registry.plugins.add(plugin.name);
33141
+ };
33142
+ if (config.plugins && Array.isArray(config.plugins)) {
33143
+ for (const plugin of config.plugins) {
33144
+ if (plugin && plugin.name) {
33145
+ result.use(plugin);
33146
+ }
33147
+ }
33148
+ }
33149
+ return result;
33150
+ }
33151
+ function use(plugin) {
33152
+ const ctx = createContext(_globalRegistry);
33153
+ plugin.setup(ctx);
33154
+ }
33155
+ function presetTokens(tokens) {
33156
+ return {
33157
+ name: "preset-tokens",
33158
+ setup(ctx) {
33159
+ for (const [name, value] of Object.entries(tokens)) {
33160
+ ctx.addToken(name, value);
33161
+ }
33162
+ }
33163
+ };
33164
+ }
33165
+ function presetVariants(variants) {
33166
+ return {
33167
+ name: "preset-variants",
33168
+ setup(ctx) {
33169
+ for (const [name, resolver] of Object.entries(variants)) {
33170
+ ctx.addVariant(name, resolver);
33171
+ }
33172
+ }
33173
+ };
33174
+ }
33175
+ function presetScrollbar() {
33176
+ return {
33177
+ name: "preset-scrollbar",
33178
+ setup(ctx) {
33179
+ ctx.addVariant("scrollbar-thin", () => "::-webkit-scrollbar{width:8px;height:8px}");
33180
+ ctx.addVariant("scrollbar-none", () => "::-webkit-scrollbar{display:none}");
33181
+ ctx.addUtility("scrollbar-hide", { "-ms-overflow-style": "none", "scrollbar-width": "none" });
33182
+ }
33183
+ };
33184
+ }
33185
+ exports$1222.createTw = createTw;
33186
+ exports$1222.createTwPlugin = createTwPlugin;
33187
+ exports$1222.getGlobalRegistry = getGlobalRegistry2;
33188
+ exports$1222.presetScrollbar = presetScrollbar;
33189
+ exports$1222.presetTokens = presetTokens;
33190
+ exports$1222.presetVariants = presetVariants;
33191
+ exports$1222.registerToken = registerToken;
33192
+ exports$1222.registerTransform = registerTransform;
33193
+ exports$1222.resetGlobalRegistry = resetGlobalRegistry;
33194
+ exports$1222.use = use;
33038
33195
  }
33039
33196
  });
33040
- var init_src = __esm22({
33041
- "packages/shared/src/index.ts"() {
33042
- init_logger();
33043
- init_hash();
33197
+ var require_shared222 = __commonJS2222({
33198
+ "dist/shared.js"(exports$1222) {
33199
+ var fs5 = __require2222("fs");
33200
+ var module$1222 = __require2222("module");
33201
+ var os = __require2222("os");
33202
+ var path92 = __require2222("path");
33203
+ var url2222 = __require2222("url");
33204
+ var crypto2 = __require2222("crypto");
33205
+ function _interopDefault2222(e) {
33206
+ return e && e.__esModule ? e : { default: e };
33207
+ }
33208
+ var fs__default22 = /* @__PURE__ */ _interopDefault2222(fs5);
33209
+ var os__default = /* @__PURE__ */ _interopDefault2222(os);
33210
+ var path__default2 = /* @__PURE__ */ _interopDefault2222(path92);
33211
+ var LRUCache = class {
33212
+ constructor(max = 256, ttlMs = null) {
33213
+ this.map = /* @__PURE__ */ new Map();
33214
+ this.max = max;
33215
+ this.ttlMs = ttlMs;
33216
+ }
33217
+ get(key) {
33218
+ const entry = this.map.get(key);
33219
+ if (!entry) return void 0;
33220
+ if (this.ttlMs !== null && Date.now() - entry.ts > this.ttlMs) {
33221
+ this.map.delete(key);
33222
+ return void 0;
33223
+ }
33224
+ this.map.delete(key);
33225
+ this.map.set(key, entry);
33226
+ return entry.value;
33227
+ }
33228
+ set(key, value) {
33229
+ if (this.map.has(key)) this.map.delete(key);
33230
+ else if (this.map.size >= this.max) {
33231
+ this.map.delete(this.map.keys().next().value);
33232
+ }
33233
+ this.map.set(key, { value, ts: Date.now() });
33234
+ }
33235
+ has(key) {
33236
+ return this.get(key) !== void 0;
33237
+ }
33238
+ delete(key) {
33239
+ this.map.delete(key);
33240
+ }
33241
+ clear() {
33242
+ this.map.clear();
33243
+ }
33244
+ get size() {
33245
+ return this.map.size;
33246
+ }
33247
+ keys() {
33248
+ return this.map.keys();
33249
+ }
33250
+ *values() {
33251
+ for (const entry of this.map.values()) {
33252
+ yield entry.value;
33253
+ }
33254
+ }
33255
+ *entries() {
33256
+ for (const [key, entry] of this.map.entries()) {
33257
+ yield [key, entry.value];
33258
+ }
33259
+ }
33260
+ };
33261
+ function getPlatformExtension() {
33262
+ const platform = os__default.default.platform();
33263
+ switch (platform) {
33264
+ case "win32":
33265
+ return ".node";
33266
+ case "darwin":
33267
+ return ".dylib";
33268
+ case "linux":
33269
+ return ".so";
33270
+ default:
33271
+ return ".node";
33272
+ }
33273
+ }
33274
+ function formatErrorMessage2(error) {
33275
+ return error instanceof Error ? error.message : String(error);
33276
+ }
33277
+ function resolveRuntimeDir2(dirnameValue, moduleImportUrl) {
33278
+ if (typeof dirnameValue === "string" && dirnameValue.length > 0) return dirnameValue;
33279
+ return path__default2.default.dirname(url2222.fileURLToPath(moduleImportUrl));
33280
+ }
33281
+ function resolveNativeBindingCandidates2(options) {
33282
+ const out = [];
33283
+ const envVarNames = options.envVarNames ?? ["TWS_NATIVE_PATH"];
33284
+ for (const envVarName of envVarNames) {
33285
+ const raw = process.env[envVarName]?.trim();
33286
+ if (!raw) continue;
33287
+ const resolved = path__default2.default.resolve(raw);
33288
+ if (options.enforceNodeExtensionForEnvPath) {
33289
+ if (path__default2.default.extname(resolved).toLowerCase() !== ".node") {
33290
+ throw new Error(
33291
+ `Invalid native binding path from ${envVarName}="${raw}". Expected a .node file.`
33292
+ );
33293
+ }
33294
+ }
33295
+ out.push(resolved);
33296
+ }
33297
+ if (options.includeDefaultCandidates !== false) {
33298
+ const ext = options.platformExtension ?? getPlatformExtension();
33299
+ const defaultBindingName = `tailwind_styled_parser${ext}`;
33300
+ out.push(path__default2.default.resolve(process.cwd(), "native", defaultBindingName));
33301
+ out.push(path__default2.default.resolve(options.runtimeDir, "..", "..", "..", "native", defaultBindingName));
33302
+ }
33303
+ return Array.from(new Set(out));
33304
+ }
33305
+ function parseDebugToken(namespace, token) {
33306
+ if (token === "*" || token === namespace || token === "tailwind-styled:*") return true;
33307
+ return token.endsWith("*") && namespace.startsWith(token.slice(0, -1));
33308
+ }
33309
+ function isDebugNamespaceEnabled(namespace) {
33310
+ if (process.env.TWS_DEBUG === "1" || process.env.TAILWIND_STYLED_DEBUG === "1") return true;
33311
+ const raw = process.env.DEBUG;
33312
+ if (!raw) return false;
33313
+ return raw.split(",").map((token) => token.trim()).some((token) => parseDebugToken(namespace, token));
33314
+ }
33315
+ function createDebugLogger2(namespace, label = namespace) {
33316
+ const debugEnabled = isDebugNamespaceEnabled(namespace);
33317
+ return (message) => {
33318
+ if (!debugEnabled) return;
33319
+ console.debug(`[${label}] ${message}`);
33320
+ };
33321
+ }
33322
+ function loadNativeBinding2(options) {
33323
+ const req = module$1222.createRequire(path__default2.default.join(options.runtimeDir, "noop.cjs"));
33324
+ const loadErrors2 = [];
33325
+ for (const candidate of options.candidates) {
33326
+ if (!fs__default22.default.existsSync(candidate)) continue;
33327
+ try {
33328
+ const mod = req(candidate);
33329
+ if (options.isValid(mod)) {
33330
+ return {
33331
+ binding: mod,
33332
+ loadedPath: candidate,
33333
+ loadErrors: loadErrors2
33334
+ };
33335
+ }
33336
+ loadErrors2.push({
33337
+ path: candidate,
33338
+ message: options.invalidExportMessage
33339
+ });
33340
+ } catch (error) {
33341
+ loadErrors2.push({
33342
+ path: candidate,
33343
+ message: formatErrorMessage2(error)
33344
+ });
33345
+ }
33346
+ }
33347
+ return {
33348
+ binding: null,
33349
+ loadedPath: null,
33350
+ loadErrors: loadErrors2
33351
+ };
33352
+ }
33353
+ var LEVELS = { silent: 0, error: 1, warn: 2, info: 3, debug: 4 };
33354
+ function getEnvLevel() {
33355
+ const env = process.env.TWS_LOG_LEVEL?.toLowerCase();
33356
+ if (env && env in LEVELS) return env;
33357
+ return process.env.TWS_DEBUG_SCANNER === "1" ? "debug" : "info";
33358
+ }
33359
+ function createLogger22(prefix, level) {
33360
+ let currentLevel = level ?? getEnvLevel();
33361
+ const log222 = (msgLevel, stream, args) => {
33362
+ if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
33363
+ const line = `[${prefix}] ${args.map(String).join(" ")}
33364
+ `;
33365
+ process[stream].write(line);
33366
+ };
33367
+ return {
33368
+ error: (...a) => log222("error", "stderr", a),
33369
+ warn: (...a) => log222("warn", "stderr", a),
33370
+ info: (...a) => log222("info", "stdout", a),
33371
+ debug: (...a) => log222("debug", "stderr", a),
33372
+ setLevel: (l) => {
33373
+ currentLevel = l;
33374
+ }
33375
+ };
33376
+ }
33377
+ var logger = createLogger22("tailwind-styled");
33378
+ function hashContent2(content, algorithm = "md5", length = 8) {
33379
+ return crypto2.createHash(algorithm).update(content).digest("hex").slice(0, length);
33380
+ }
33381
+ function hashFile(filePath, algorithm = "md5", length = 8) {
33382
+ try {
33383
+ const content = fs__default22.default.readFileSync(filePath, "utf8");
33384
+ return hashContent2(content, algorithm, length);
33385
+ } catch {
33386
+ return "00000000";
33387
+ }
33388
+ }
33389
+ function debounce(fn, ms) {
33390
+ let timer = null;
33391
+ return ((...args) => {
33392
+ if (timer) clearTimeout(timer);
33393
+ timer = setTimeout(() => {
33394
+ timer = null;
33395
+ fn(...args);
33396
+ }, ms);
33397
+ });
33398
+ }
33399
+ function throttle(fn, ms) {
33400
+ let last = 0;
33401
+ return ((...args) => {
33402
+ const now = Date.now();
33403
+ if (now - last >= ms) {
33404
+ last = now;
33405
+ fn(...args);
33406
+ }
33407
+ });
33408
+ }
33409
+ function parseVersion(v) {
33410
+ const parts = v.replace(/^v/, "").split(".").map((p) => {
33411
+ const n = Number(p);
33412
+ return Number.isNaN(n) ? 0 : n;
33413
+ });
33414
+ const [major = 0, minor = 0, patch = 0] = parts;
33415
+ return { major, minor, patch };
33416
+ }
33417
+ function satisfiesMinVersion(version, minVersion) {
33418
+ const v = parseVersion(version);
33419
+ const min = parseVersion(minVersion);
33420
+ if (v.major !== min.major) return v.major > min.major;
33421
+ if (v.minor !== min.minor) return v.minor > min.minor;
33422
+ return v.patch >= min.patch;
33423
+ }
33424
+ exports$1222.LRUCache = LRUCache;
33425
+ exports$1222.createDebugLogger = createDebugLogger2;
33426
+ exports$1222.createLogger = createLogger22;
33427
+ exports$1222.debounce = debounce;
33428
+ exports$1222.formatErrorMessage = formatErrorMessage2;
33429
+ exports$1222.hashContent = hashContent2;
33430
+ exports$1222.hashFile = hashFile;
33431
+ exports$1222.isDebugNamespaceEnabled = isDebugNamespaceEnabled;
33432
+ exports$1222.loadNativeBinding = loadNativeBinding2;
33433
+ exports$1222.logger = logger;
33434
+ exports$1222.parseVersion = parseVersion;
33435
+ exports$1222.resolveNativeBindingCandidates = resolveNativeBindingCandidates2;
33436
+ exports$1222.resolveRuntimeDir = resolveRuntimeDir2;
33437
+ exports$1222.satisfiesMinVersion = satisfiesMinVersion;
33438
+ exports$1222.throttle = throttle;
33044
33439
  }
33045
33440
  });
33046
33441
  var nativeBridge_exports = {};
@@ -33143,6 +33538,7 @@ Or install a prebuilt binary for your platform.`
33143
33538
  metadata
33144
33539
  };
33145
33540
  }
33541
+ var import_shared222;
33146
33542
  var getDirname2;
33147
33543
  var runtimeDir;
33148
33544
  var requireFromRuntime;
@@ -33150,7 +33546,7 @@ Or install a prebuilt binary for your platform.`
33150
33546
  var log22;
33151
33547
  var init_nativeBridge = __esm22({
33152
33548
  "packages/compiler/src/nativeBridge.ts"() {
33153
- init_src();
33549
+ import_shared222 = __toESM2222(require_shared222());
33154
33550
  getDirname2 = () => {
33155
33551
  if (typeof __dirname !== "undefined") {
33156
33552
  return __dirname;
@@ -33162,7 +33558,7 @@ Or install a prebuilt binary for your platform.`
33162
33558
  };
33163
33559
  runtimeDir = getDirname2();
33164
33560
  requireFromRuntime = typeof module2 !== "undefined" && typeof module2.require === "function" ? module2.require.bind(module2) : module$122.createRequire(path7__default.default.join(runtimeDir, "noop.cjs"));
33165
- log22 = createLogger22("compiler:native");
33561
+ log22 = (0, import_shared222.createLogger)("compiler:native");
33166
33562
  }
33167
33563
  });
33168
33564
  function requireNative() {
@@ -34887,13 +35283,7 @@ body {
34887
35283
  `;
34888
35284
  }
34889
35285
  });
34890
- var globalRegistry = {
34891
- transforms: [],
34892
- tokens: {}
34893
- };
34894
- function getGlobalRegistry() {
34895
- return globalRegistry;
34896
- }
35286
+ var import_plugin2 = __toESM2222(require_plugin());
34897
35287
  function mergeClassesStatic2(classes) {
34898
35288
  return tailwindMerge.twMerge(classes);
34899
35289
  }
@@ -35632,7 +36022,7 @@ ${subAssignments}
35632
36022
  compoundVariants: compounds,
35633
36023
  defaultVariants: defaults
35634
36024
  };
35635
- const registry = getGlobalRegistry();
36025
+ const registry = (0, import_plugin2.getGlobalRegistry)();
35636
36026
  if (registry.transforms.length > 0) {
35637
36027
  const componentName = `Tw${tag}`;
35638
36028
  for (const transform of registry.transforms) {
@@ -35812,8 +36202,8 @@ Please ensure the native module is properly built.`
35812
36202
  function scanFiles(dir) {
35813
36203
  const files = [];
35814
36204
  function walk(current) {
35815
- if (!fs3__default.default.existsSync(current)) return;
35816
- const entries = fs3__default.default.readdirSync(current, { withFileTypes: true });
36205
+ if (!fs2__default2.default.existsSync(current)) return;
36206
+ const entries = fs2__default2.default.readdirSync(current, { withFileTypes: true });
35817
36207
  for (const entry of entries) {
35818
36208
  if (SKIP_DIRS.has(entry.name)) continue;
35819
36209
  const fullPath = path7__default.default.join(current, entry.name);
@@ -35834,7 +36224,7 @@ Please ensure the native module is properly built.`
35834
36224
  const files = scanFiles(absDir);
35835
36225
  for (const file of files) {
35836
36226
  try {
35837
- const source = fs3__default.default.readFileSync(file, "utf-8");
36227
+ const source = fs2__default2.default.readFileSync(file, "utf-8");
35838
36228
  const usage = extractComponentUsage(source);
35839
36229
  for (const [comp, props] of Object.entries(usage)) {
35840
36230
  if (!combined[comp]) combined[comp] = {};
@@ -35973,19 +36363,19 @@ Please ensure the native module is properly built.`
35973
36363
  }
35974
36364
  return { css, report };
35975
36365
  }
35976
- init_src();
36366
+ var import_shared2222 = __toESM2222(require_shared222());
35977
36367
  var CACHE_DIR = ".tw-cache";
35978
36368
  var HASH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "file-hashes.json");
35979
36369
  var GRAPH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "dep-graph.json");
35980
36370
  function ensureCacheDir() {
35981
- if (!fs3__default.default.existsSync(CACHE_DIR)) {
35982
- fs3__default.default.mkdirSync(CACHE_DIR, { recursive: true });
36371
+ if (!fs2__default2.default.existsSync(CACHE_DIR)) {
36372
+ fs2__default2.default.mkdirSync(CACHE_DIR, { recursive: true });
35983
36373
  }
35984
36374
  }
35985
36375
  function loadHashCache() {
35986
36376
  try {
35987
- if (fs3__default.default.existsSync(HASH_CACHE_FILE)) {
35988
- const raw = fs3__default.default.readFileSync(HASH_CACHE_FILE, "utf-8");
36377
+ if (fs2__default2.default.existsSync(HASH_CACHE_FILE)) {
36378
+ const raw = fs2__default2.default.readFileSync(HASH_CACHE_FILE, "utf-8");
35989
36379
  return new Map(Object.entries(JSON.parse(raw)));
35990
36380
  }
35991
36381
  } catch {
@@ -35996,14 +36386,14 @@ Please ensure the native module is properly built.`
35996
36386
  try {
35997
36387
  ensureCacheDir();
35998
36388
  const obj = Object.fromEntries(cache);
35999
- fs3__default.default.writeFileSync(HASH_CACHE_FILE, JSON.stringify(obj, null, 2));
36389
+ fs2__default2.default.writeFileSync(HASH_CACHE_FILE, JSON.stringify(obj, null, 2));
36000
36390
  } catch {
36001
36391
  }
36002
36392
  }
36003
36393
  function loadGraphCache() {
36004
36394
  try {
36005
- if (fs3__default.default.existsSync(GRAPH_CACHE_FILE)) {
36006
- const raw = fs3__default.default.readFileSync(GRAPH_CACHE_FILE, "utf-8");
36395
+ if (fs2__default2.default.existsSync(GRAPH_CACHE_FILE)) {
36396
+ const raw = fs2__default2.default.readFileSync(GRAPH_CACHE_FILE, "utf-8");
36007
36397
  const data = JSON.parse(raw);
36008
36398
  return new Map(Object.entries(data));
36009
36399
  }
@@ -36015,7 +36405,7 @@ Please ensure the native module is properly built.`
36015
36405
  try {
36016
36406
  ensureCacheDir();
36017
36407
  const obj = Object.fromEntries(graph);
36018
- fs3__default.default.writeFileSync(GRAPH_CACHE_FILE, JSON.stringify(obj, null, 2));
36408
+ fs2__default2.default.writeFileSync(GRAPH_CACHE_FILE, JSON.stringify(obj, null, 2));
36019
36409
  } catch {
36020
36410
  }
36021
36411
  }
@@ -36038,7 +36428,7 @@ Please ensure the native module is properly built.`
36038
36428
  return result;
36039
36429
  }
36040
36430
  function hashFileContent(content) {
36041
- return hashContent(content, "md5", 8);
36431
+ return (0, import_shared2222.hashContent)(content, "md5", 8);
36042
36432
  }
36043
36433
  function makeAtomicClass(declaration, modifier) {
36044
36434
  const key = modifier ? `${declaration}::${modifier}` : declaration;
@@ -36120,8 +36510,8 @@ Please ensure the native module is properly built.`
36120
36510
  }
36121
36511
  loadFromDisk() {
36122
36512
  try {
36123
- if (fs3__default.default.existsSync(this.outputPath)) {
36124
- const css = fs3__default.default.readFileSync(this.outputPath, "utf-8");
36513
+ if (fs2__default2.default.existsSync(this.outputPath)) {
36514
+ const css = fs2__default2.default.readFileSync(this.outputPath, "utf-8");
36125
36515
  const ruleRe = /(\.tw-[a-z0-9]+(?::[\w-]+)?)\{([^}]+)\}|(@[^{]+)\{(\.tw-[a-z0-9]+)\{([^}]+)\}\}/g;
36126
36516
  let m;
36127
36517
  while ((m = ruleRe.exec(css)) !== null) {
@@ -36151,7 +36541,7 @@ Please ensure the native module is properly built.`
36151
36541
  try {
36152
36542
  ensureCacheDir();
36153
36543
  const css = Array.from(this.ruleMap.values()).join("\n");
36154
- await fs3__default.default.promises.writeFile(this.outputPath, css, "utf-8");
36544
+ await fs2__default2.default.promises.writeFile(this.outputPath, css, "utf-8");
36155
36545
  this.dirty = false;
36156
36546
  } catch {
36157
36547
  }
@@ -36162,7 +36552,7 @@ Please ensure the native module is properly built.`
36162
36552
  try {
36163
36553
  ensureCacheDir();
36164
36554
  const css = Array.from(this.ruleMap.values()).join("\n");
36165
- fs3__default.default.writeFileSync(this.outputPath, css, "utf-8");
36555
+ fs2__default2.default.writeFileSync(this.outputPath, css, "utf-8");
36166
36556
  this.dirty = false;
36167
36557
  } catch {
36168
36558
  }
@@ -37119,7 +37509,7 @@ The native binding is required for all transformations.`
37119
37509
  _cachedCwd = cwd2;
37120
37510
  for (const file of CONFIG_FILES) {
37121
37511
  const fullPath = path7__default.default.join(cwd2, file);
37122
- if (fs3__default.default.existsSync(fullPath)) {
37512
+ if (fs2__default2.default.existsSync(fullPath)) {
37123
37513
  try {
37124
37514
  const mod = __require2222(fullPath);
37125
37515
  const config = mod.default ?? mod;
@@ -37147,14 +37537,14 @@ The native binding is required for all transformations.`
37147
37537
  if (config.content?.files) {
37148
37538
  return config.content.files.filter((f) => typeof f === "string");
37149
37539
  }
37150
- return ["src", "app", "pages", "components"].filter((d) => fs3__default.default.existsSync(path7__default.default.join(cwd2, d))).map((d) => `./${d}/**/*.{tsx,ts,jsx,js}`);
37540
+ return ["src", "app", "pages", "components"].filter((d) => fs2__default2.default.existsSync(path7__default.default.join(cwd2, d))).map((d) => `./${d}/**/*.{tsx,ts,jsx,js}`);
37151
37541
  }
37152
37542
  function invalidateConfigCache() {
37153
37543
  _cachedConfig = null;
37154
37544
  _cachedCwd = "";
37155
37545
  }
37156
37546
  function isZeroConfig(cwd2 = process.cwd()) {
37157
- return !CONFIG_FILES.some((f) => fs3__default.default.existsSync(path7__default.default.join(cwd2, f)));
37547
+ return !CONFIG_FILES.some((f) => fs2__default2.default.existsSync(path7__default.default.join(cwd2, f)));
37158
37548
  }
37159
37549
  function bootstrapZeroConfig(cwd2 = process.cwd()) {
37160
37550
  let generatedConfig = false;
@@ -37166,13 +37556,13 @@ The native binding is required for all transformations.`
37166
37556
  "src/index.css",
37167
37557
  "src/styles/globals.css"
37168
37558
  ];
37169
- const hasGlobalCss = cssPaths.some((p) => fs3__default.default.existsSync(path7__default.default.join(cwd2, p)));
37559
+ const hasGlobalCss = cssPaths.some((p) => fs2__default2.default.existsSync(path7__default.default.join(cwd2, p)));
37170
37560
  if (!hasGlobalCss) {
37171
37561
  const { defaultGlobalCss: defaultGlobalCss2 } = (init_defaultPreset(), __toCommonJS2(defaultPreset_exports));
37172
- const appDir = fs3__default.default.existsSync(path7__default.default.join(cwd2, "src/app")) ? "src/app" : fs3__default.default.existsSync(path7__default.default.join(cwd2, "app")) ? "app" : "src";
37562
+ const appDir = fs2__default2.default.existsSync(path7__default.default.join(cwd2, "src/app")) ? "src/app" : fs2__default2.default.existsSync(path7__default.default.join(cwd2, "app")) ? "app" : "src";
37173
37563
  const cssPath = path7__default.default.join(cwd2, appDir, "globals.css");
37174
- if (fs3__default.default.existsSync(path7__default.default.dirname(cssPath))) {
37175
- fs3__default.default.writeFileSync(cssPath, defaultGlobalCss2);
37564
+ if (fs2__default2.default.existsSync(path7__default.default.dirname(cssPath))) {
37565
+ fs2__default2.default.writeFileSync(cssPath, defaultGlobalCss2);
37176
37566
  generatedCss = true;
37177
37567
  console.log(`[tailwind-styled-v4] Generated ${cssPath}`);
37178
37568
  }
@@ -37245,8 +37635,8 @@ Please build the native module.`
37245
37635
  }
37246
37636
  var SCAN_EXTENSIONS2 = [".tsx", ".ts", ".jsx", ".js"];
37247
37637
  function scanDir(dir, files = []) {
37248
- if (!fs3__default.default.existsSync(dir)) return files;
37249
- const entries = fs3__default.default.readdirSync(dir, { withFileTypes: true });
37638
+ if (!fs2__default2.default.existsSync(dir)) return files;
37639
+ const entries = fs2__default2.default.readdirSync(dir, { withFileTypes: true });
37250
37640
  for (const entry of entries) {
37251
37641
  if (entry.name === "node_modules" || entry.name === ".next" || entry.name === "dist") continue;
37252
37642
  const fullPath = path7__default.default.join(dir, entry.name);
@@ -37265,7 +37655,7 @@ Please build the native module.`
37265
37655
  const files = scanDir(absDir);
37266
37656
  for (const file of files) {
37267
37657
  try {
37268
- const source = fs3__default.default.readFileSync(file, "utf-8");
37658
+ const source = fs2__default2.default.readFileSync(file, "utf-8");
37269
37659
  const classes = extractAllClasses2(source);
37270
37660
  classes.forEach((c) => allClasses.add(c));
37271
37661
  } catch {
@@ -37274,13 +37664,13 @@ Please build the native module.`
37274
37664
  }
37275
37665
  const sorted = Array.from(allClasses).sort();
37276
37666
  const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd2, outputPath);
37277
- fs3__default.default.writeFileSync(absOutput, JSON.stringify(sorted, null, 2));
37667
+ fs2__default2.default.writeFileSync(absOutput, JSON.stringify(sorted, null, 2));
37278
37668
  console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
37279
37669
  return sorted;
37280
37670
  }
37281
37671
  function loadSafelist(safelistPath) {
37282
37672
  try {
37283
- const content = fs3__default.default.readFileSync(safelistPath, "utf-8");
37673
+ const content = fs2__default2.default.readFileSync(safelistPath, "utf-8");
37284
37674
  return JSON.parse(content);
37285
37675
  } catch {
37286
37676
  return [];
@@ -37293,7 +37683,7 @@ Please build the native module.`
37293
37683
  const files = scanDir(absDir);
37294
37684
  for (const file of files) {
37295
37685
  try {
37296
- const source = fs3__default.default.readFileSync(file, "utf-8");
37686
+ const source = fs2__default2.default.readFileSync(file, "utf-8");
37297
37687
  const classes = extractAllClasses2(source);
37298
37688
  classes.forEach((c) => allClasses.add(c));
37299
37689
  } catch {
@@ -37302,13 +37692,13 @@ Please build the native module.`
37302
37692
  }
37303
37693
  const sorted = Array.from(allClasses).sort();
37304
37694
  const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd2, outputPath);
37305
- fs3__default.default.mkdirSync(path7__default.default.dirname(absOutput), { recursive: true });
37695
+ fs2__default2.default.mkdirSync(path7__default.default.dirname(absOutput), { recursive: true });
37306
37696
  const css = sorted.length > 0 ? `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
37307
37697
  @source inline("${sorted.join(" ")}");
37308
37698
  ` : `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
37309
37699
  /* No safelist classes found */
37310
37700
  `;
37311
- fs3__default.default.writeFileSync(absOutput, css);
37701
+ fs2__default2.default.writeFileSync(absOutput, css);
37312
37702
  console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
37313
37703
  return sorted;
37314
37704
  }
@@ -37416,13 +37806,13 @@ Please build the native module.`
37416
37806
  }
37417
37807
  }
37418
37808
  if (outputDir) {
37419
- const fs6 = __require2222("fs");
37420
- fs6.mkdirSync(outputDir, { recursive: true });
37809
+ const fs5 = __require2222("fs");
37810
+ fs5.mkdirSync(outputDir, { recursive: true });
37421
37811
  for (const result of results) {
37422
37812
  const filename = routeToFilename(result.route);
37423
37813
  const filepath = path7__default.default.join(outputDir, filename);
37424
- fs6.mkdirSync(path7__default.default.dirname(filepath), { recursive: true });
37425
- fs6.writeFileSync(filepath, result.css);
37814
+ fs5.mkdirSync(path7__default.default.dirname(filepath), { recursive: true });
37815
+ fs5.writeFileSync(filepath, result.css);
37426
37816
  }
37427
37817
  const totalSize = results.reduce((sum, r) => sum + r.sizeBytes, 0);
37428
37818
  console.log(