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/vite.mjs CHANGED
@@ -16068,21 +16068,23 @@ try {
16068
16068
  var __toCommonJS = (mod) => __copyProps222(__defProp222({}, "__esModule", { value: true }), mod);
16069
16069
  var require_compiler22 = __commonJS222({
16070
16070
  "dist/compiler.js"(exports$122, module2) {
16071
- var crypto = __require222("crypto");
16072
- var fs322 = __require222("fs");
16073
16071
  var module$122 = __require222("module");
16074
16072
  var path7 = __require222("path");
16075
16073
  var url222 = __require222("url");
16076
16074
  var tailwindMerge = __require222("tailwind-merge");
16075
+ var fs22 = __require222("fs");
16076
+ var crypto = __require222("crypto");
16077
16077
  var _documentCurrentScript22 = typeof document !== "undefined" ? document.currentScript : null;
16078
16078
  function _interopDefault222(e) {
16079
16079
  return e && e.__esModule ? e : { default: e };
16080
16080
  }
16081
- var fs3__default = /* @__PURE__ */ _interopDefault222(fs322);
16082
16081
  var path7__default = /* @__PURE__ */ _interopDefault222(path7);
16082
+ var fs2__default2 = /* @__PURE__ */ _interopDefault222(fs22);
16083
+ var __create2222 = Object.create;
16083
16084
  var __defProp2222 = Object.defineProperty;
16084
16085
  var __getOwnPropDesc2222 = Object.getOwnPropertyDescriptor;
16085
16086
  var __getOwnPropNames2222 = Object.getOwnPropertyNames;
16087
+ var __getProtoOf2222 = Object.getPrototypeOf;
16086
16088
  var __hasOwnProp2222 = Object.prototype.hasOwnProperty;
16087
16089
  var __require2222 = /* @__PURE__ */ ((x) => typeof __require222 !== "undefined" ? __require222 : typeof Proxy !== "undefined" ? new Proxy(x, {
16088
16090
  get: (a, b) => (typeof __require222 !== "undefined" ? __require222 : a)[b]
@@ -16093,6 +16095,9 @@ try {
16093
16095
  var __esm2 = (fn, res) => function __init() {
16094
16096
  return fn && (res = (0, fn[__getOwnPropNames2222(fn)[0]])(fn = 0)), res;
16095
16097
  };
16098
+ var __commonJS2222 = (cb, mod) => function __require22222() {
16099
+ return mod || (0, cb[__getOwnPropNames2222(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
16100
+ };
16096
16101
  var __export2 = (target, all) => {
16097
16102
  for (var name in all)
16098
16103
  __defProp2222(target, name, { get: all[name], enumerable: true });
@@ -16105,48 +16110,438 @@ try {
16105
16110
  }
16106
16111
  return to;
16107
16112
  };
16113
+ var __toESM2222 = (mod, isNodeMode, target) => (target = mod != null ? __create2222(__getProtoOf2222(mod)) : {}, __copyProps2222(
16114
+ // If the importer is in node compatibility mode or this is not an ESM
16115
+ // file that has been converted to a CommonJS file using a Babel-
16116
+ // compatible transform (i.e. "__esModule" has not been set), then set
16117
+ // "default" to the CommonJS "module.exports" for node compatibility.
16118
+ __defProp2222(target, "default", { value: mod, enumerable: true }),
16119
+ mod
16120
+ ));
16108
16121
  var __toCommonJS2 = (mod) => __copyProps2222(__defProp2222({}, "__esModule", { value: true }), mod);
16109
- function getEnvLevel() {
16110
- const env = process.env.TWS_LOG_LEVEL?.toLowerCase();
16111
- if (env && env in LEVELS) return env;
16112
- return process.env.TWS_DEBUG_SCANNER === "1" ? "debug" : "info";
16113
- }
16114
- function createLogger22(prefix, level) {
16115
- let currentLevel = getEnvLevel();
16116
- const log222 = (msgLevel, stream, args) => {
16117
- if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
16118
- const line = `[${prefix}] ${args.map(String).join(" ")}
16119
- `;
16120
- process[stream].write(line);
16121
- };
16122
- return {
16123
- error: (...a) => log222("error", "stderr", a),
16124
- warn: (...a) => log222("warn", "stderr", a),
16125
- info: (...a) => log222("info", "stdout", a),
16126
- debug: (...a) => log222("debug", "stderr", a),
16127
- setLevel: (l) => {
16128
- currentLevel = l;
16122
+ var require_plugin = __commonJS2222({
16123
+ "dist/plugin.js"(exports$1222) {
16124
+ var TOKEN_ENGINE_KEY = "__TW_TOKEN_ENGINE__";
16125
+ function resolveTokenEngine() {
16126
+ if (typeof globalThis !== "undefined") {
16127
+ return globalThis[TOKEN_ENGINE_KEY];
16128
+ }
16129
+ return null;
16129
16130
  }
16130
- };
16131
- }
16132
- var LEVELS;
16133
- var init_logger = __esm2({
16134
- "packages/shared/src/logger.ts"() {
16135
- LEVELS = { silent: 0, error: 1, warn: 2, info: 3, debug: 4 };
16136
- createLogger22("tailwind-styled");
16137
- }
16138
- });
16139
- function hashContent(content, algorithm = "md5", length = 8) {
16140
- return crypto.createHash(algorithm).update(content).digest("hex").slice(0, length);
16141
- }
16142
- var init_hash = __esm2({
16143
- "packages/shared/src/hash.ts"() {
16131
+ function readToken(engine, name) {
16132
+ if (!engine) return void 0;
16133
+ if (typeof engine.getToken === "function") return engine.getToken(name);
16134
+ if (typeof engine.getTokens === "function") {
16135
+ const tokens = engine.getTokens();
16136
+ return tokens?.[name];
16137
+ }
16138
+ return void 0;
16139
+ }
16140
+ function createTwPlugin(options = {}) {
16141
+ return {
16142
+ async resolveId(source, importer) {
16143
+ if (!source.startsWith("tw.") && !source.startsWith("tw:")) return null;
16144
+ const importPath = source.replace(/^tw[.:]/, "");
16145
+ const resolved = await this.resolve(importPath, importer, { skipSelf: true });
16146
+ if (resolved) return { id: resolved.id };
16147
+ return null;
16148
+ },
16149
+ async load(id) {
16150
+ return null;
16151
+ },
16152
+ async transform(code, id) {
16153
+ return null;
16154
+ },
16155
+ getToken(name) {
16156
+ const engine = resolveTokenEngine();
16157
+ return readToken(engine, name);
16158
+ },
16159
+ subscribeTokens(callback) {
16160
+ const engine = resolveTokenEngine();
16161
+ if (!engine) return () => {
16162
+ };
16163
+ if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
16164
+ if (typeof engine.subscribe === "function") return engine.subscribe(callback);
16165
+ return () => {
16166
+ };
16167
+ }
16168
+ };
16169
+ }
16170
+ var globalRegistry = {
16171
+ transforms: [],
16172
+ tokens: {}
16173
+ };
16174
+ function getGlobalRegistry2() {
16175
+ return globalRegistry;
16176
+ }
16177
+ function registerTransform(transform) {
16178
+ globalRegistry.transforms.push(transform);
16179
+ }
16180
+ function registerToken(name, value) {
16181
+ globalRegistry.tokens[name] = value;
16182
+ }
16183
+ function createRegistry() {
16184
+ return {
16185
+ variants: /* @__PURE__ */ new Map(),
16186
+ utilities: /* @__PURE__ */ new Map(),
16187
+ tokens: /* @__PURE__ */ new Map(),
16188
+ transforms: [],
16189
+ cssHooks: [],
16190
+ buildHooks: [],
16191
+ plugins: /* @__PURE__ */ new Set()
16192
+ };
16193
+ }
16194
+ var _globalRegistry = createRegistry();
16195
+ function resetGlobalRegistry() {
16196
+ _globalRegistry = createRegistry();
16197
+ }
16198
+ function createContext(registry, config = {}) {
16199
+ return {
16200
+ config,
16201
+ addVariant(name, resolver) {
16202
+ registry.variants.set(name, resolver);
16203
+ },
16204
+ addUtility(name, styles) {
16205
+ registry.utilities.set(name, styles);
16206
+ },
16207
+ addToken(name, value) {
16208
+ const normalized = name.replace(/[^a-zA-Z0-9-]/g, "-").toLowerCase();
16209
+ registry.tokens.set(normalized, value);
16210
+ },
16211
+ addTransform(fn) {
16212
+ registry.transforms.push(fn);
16213
+ },
16214
+ onGenerateCSS(hook) {
16215
+ registry.cssHooks.push(hook);
16216
+ },
16217
+ onBuildEnd(hook) {
16218
+ registry.buildHooks.push(hook);
16219
+ },
16220
+ getToken(name) {
16221
+ return readToken(resolveTokenEngine(), name);
16222
+ },
16223
+ subscribeTokens(callback) {
16224
+ const engine = resolveTokenEngine();
16225
+ if (!engine) return () => {
16226
+ };
16227
+ if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
16228
+ if (typeof engine.subscribe === "function") return engine.subscribe(callback);
16229
+ return () => {
16230
+ };
16231
+ }
16232
+ };
16233
+ }
16234
+ function createTw(config = {}) {
16235
+ const registry = createRegistry();
16236
+ const ctx = createContext(registry, config);
16237
+ const result = ctx;
16238
+ result.registry = {
16239
+ plugins: registry.plugins,
16240
+ variants: registry.variants,
16241
+ utilities: registry.utilities,
16242
+ tokens: registry.tokens
16243
+ };
16244
+ result.use = (plugin) => {
16245
+ plugin.setup(ctx);
16246
+ registry.plugins.add(plugin.name);
16247
+ };
16248
+ if (config.plugins && Array.isArray(config.plugins)) {
16249
+ for (const plugin of config.plugins) {
16250
+ if (plugin && plugin.name) {
16251
+ result.use(plugin);
16252
+ }
16253
+ }
16254
+ }
16255
+ return result;
16256
+ }
16257
+ function use(plugin) {
16258
+ const ctx = createContext(_globalRegistry);
16259
+ plugin.setup(ctx);
16260
+ }
16261
+ function presetTokens(tokens) {
16262
+ return {
16263
+ name: "preset-tokens",
16264
+ setup(ctx) {
16265
+ for (const [name, value] of Object.entries(tokens)) {
16266
+ ctx.addToken(name, value);
16267
+ }
16268
+ }
16269
+ };
16270
+ }
16271
+ function presetVariants(variants) {
16272
+ return {
16273
+ name: "preset-variants",
16274
+ setup(ctx) {
16275
+ for (const [name, resolver] of Object.entries(variants)) {
16276
+ ctx.addVariant(name, resolver);
16277
+ }
16278
+ }
16279
+ };
16280
+ }
16281
+ function presetScrollbar() {
16282
+ return {
16283
+ name: "preset-scrollbar",
16284
+ setup(ctx) {
16285
+ ctx.addVariant("scrollbar-thin", () => "::-webkit-scrollbar{width:8px;height:8px}");
16286
+ ctx.addVariant("scrollbar-none", () => "::-webkit-scrollbar{display:none}");
16287
+ ctx.addUtility("scrollbar-hide", { "-ms-overflow-style": "none", "scrollbar-width": "none" });
16288
+ }
16289
+ };
16290
+ }
16291
+ exports$1222.createTw = createTw;
16292
+ exports$1222.createTwPlugin = createTwPlugin;
16293
+ exports$1222.getGlobalRegistry = getGlobalRegistry2;
16294
+ exports$1222.presetScrollbar = presetScrollbar;
16295
+ exports$1222.presetTokens = presetTokens;
16296
+ exports$1222.presetVariants = presetVariants;
16297
+ exports$1222.registerToken = registerToken;
16298
+ exports$1222.registerTransform = registerTransform;
16299
+ exports$1222.resetGlobalRegistry = resetGlobalRegistry;
16300
+ exports$1222.use = use;
16144
16301
  }
16145
16302
  });
16146
- var init_src = __esm2({
16147
- "packages/shared/src/index.ts"() {
16148
- init_logger();
16149
- init_hash();
16303
+ var require_shared222 = __commonJS2222({
16304
+ "dist/shared.js"(exports$1222) {
16305
+ var fs5 = __require2222("fs");
16306
+ var module$1222 = __require2222("module");
16307
+ var os = __require2222("os");
16308
+ var path9 = __require2222("path");
16309
+ var url2222 = __require2222("url");
16310
+ var crypto2 = __require2222("crypto");
16311
+ function _interopDefault2222(e) {
16312
+ return e && e.__esModule ? e : { default: e };
16313
+ }
16314
+ var fs__default22 = /* @__PURE__ */ _interopDefault2222(fs5);
16315
+ var os__default = /* @__PURE__ */ _interopDefault2222(os);
16316
+ var path__default2 = /* @__PURE__ */ _interopDefault2222(path9);
16317
+ var LRUCache = class {
16318
+ constructor(max = 256, ttlMs = null) {
16319
+ this.map = /* @__PURE__ */ new Map();
16320
+ this.max = max;
16321
+ this.ttlMs = ttlMs;
16322
+ }
16323
+ get(key) {
16324
+ const entry = this.map.get(key);
16325
+ if (!entry) return void 0;
16326
+ if (this.ttlMs !== null && Date.now() - entry.ts > this.ttlMs) {
16327
+ this.map.delete(key);
16328
+ return void 0;
16329
+ }
16330
+ this.map.delete(key);
16331
+ this.map.set(key, entry);
16332
+ return entry.value;
16333
+ }
16334
+ set(key, value) {
16335
+ if (this.map.has(key)) this.map.delete(key);
16336
+ else if (this.map.size >= this.max) {
16337
+ this.map.delete(this.map.keys().next().value);
16338
+ }
16339
+ this.map.set(key, { value, ts: Date.now() });
16340
+ }
16341
+ has(key) {
16342
+ return this.get(key) !== void 0;
16343
+ }
16344
+ delete(key) {
16345
+ this.map.delete(key);
16346
+ }
16347
+ clear() {
16348
+ this.map.clear();
16349
+ }
16350
+ get size() {
16351
+ return this.map.size;
16352
+ }
16353
+ keys() {
16354
+ return this.map.keys();
16355
+ }
16356
+ *values() {
16357
+ for (const entry of this.map.values()) {
16358
+ yield entry.value;
16359
+ }
16360
+ }
16361
+ *entries() {
16362
+ for (const [key, entry] of this.map.entries()) {
16363
+ yield [key, entry.value];
16364
+ }
16365
+ }
16366
+ };
16367
+ function getPlatformExtension() {
16368
+ const platform = os__default.default.platform();
16369
+ switch (platform) {
16370
+ case "win32":
16371
+ return ".node";
16372
+ case "darwin":
16373
+ return ".dylib";
16374
+ case "linux":
16375
+ return ".so";
16376
+ default:
16377
+ return ".node";
16378
+ }
16379
+ }
16380
+ function formatErrorMessage2(error) {
16381
+ return error instanceof Error ? error.message : String(error);
16382
+ }
16383
+ function resolveRuntimeDir2(dirnameValue, moduleImportUrl) {
16384
+ if (typeof dirnameValue === "string" && dirnameValue.length > 0) return dirnameValue;
16385
+ return path__default2.default.dirname(url2222.fileURLToPath(moduleImportUrl));
16386
+ }
16387
+ function resolveNativeBindingCandidates2(options) {
16388
+ const out = [];
16389
+ const envVarNames = options.envVarNames ?? ["TWS_NATIVE_PATH"];
16390
+ for (const envVarName of envVarNames) {
16391
+ const raw = process.env[envVarName]?.trim();
16392
+ if (!raw) continue;
16393
+ const resolved = path__default2.default.resolve(raw);
16394
+ if (options.enforceNodeExtensionForEnvPath) {
16395
+ if (path__default2.default.extname(resolved).toLowerCase() !== ".node") {
16396
+ throw new Error(
16397
+ `Invalid native binding path from ${envVarName}="${raw}". Expected a .node file.`
16398
+ );
16399
+ }
16400
+ }
16401
+ out.push(resolved);
16402
+ }
16403
+ if (options.includeDefaultCandidates !== false) {
16404
+ const ext = options.platformExtension ?? getPlatformExtension();
16405
+ const defaultBindingName = `tailwind_styled_parser${ext}`;
16406
+ out.push(path__default2.default.resolve(process.cwd(), "native", defaultBindingName));
16407
+ out.push(path__default2.default.resolve(options.runtimeDir, "..", "..", "..", "native", defaultBindingName));
16408
+ }
16409
+ return Array.from(new Set(out));
16410
+ }
16411
+ function parseDebugToken(namespace, token) {
16412
+ if (token === "*" || token === namespace || token === "tailwind-styled:*") return true;
16413
+ return token.endsWith("*") && namespace.startsWith(token.slice(0, -1));
16414
+ }
16415
+ function isDebugNamespaceEnabled(namespace) {
16416
+ if (process.env.TWS_DEBUG === "1" || process.env.TAILWIND_STYLED_DEBUG === "1") return true;
16417
+ const raw = process.env.DEBUG;
16418
+ if (!raw) return false;
16419
+ return raw.split(",").map((token) => token.trim()).some((token) => parseDebugToken(namespace, token));
16420
+ }
16421
+ function createDebugLogger2(namespace, label = namespace) {
16422
+ const debugEnabled = isDebugNamespaceEnabled(namespace);
16423
+ return (message) => {
16424
+ if (!debugEnabled) return;
16425
+ console.debug(`[${label}] ${message}`);
16426
+ };
16427
+ }
16428
+ function loadNativeBinding2(options) {
16429
+ const req = module$1222.createRequire(path__default2.default.join(options.runtimeDir, "noop.cjs"));
16430
+ const loadErrors2 = [];
16431
+ for (const candidate of options.candidates) {
16432
+ if (!fs__default22.default.existsSync(candidate)) continue;
16433
+ try {
16434
+ const mod = req(candidate);
16435
+ if (options.isValid(mod)) {
16436
+ return {
16437
+ binding: mod,
16438
+ loadedPath: candidate,
16439
+ loadErrors: loadErrors2
16440
+ };
16441
+ }
16442
+ loadErrors2.push({
16443
+ path: candidate,
16444
+ message: options.invalidExportMessage
16445
+ });
16446
+ } catch (error) {
16447
+ loadErrors2.push({
16448
+ path: candidate,
16449
+ message: formatErrorMessage2(error)
16450
+ });
16451
+ }
16452
+ }
16453
+ return {
16454
+ binding: null,
16455
+ loadedPath: null,
16456
+ loadErrors: loadErrors2
16457
+ };
16458
+ }
16459
+ var LEVELS = { silent: 0, error: 1, warn: 2, info: 3, debug: 4 };
16460
+ function getEnvLevel() {
16461
+ const env = process.env.TWS_LOG_LEVEL?.toLowerCase();
16462
+ if (env && env in LEVELS) return env;
16463
+ return process.env.TWS_DEBUG_SCANNER === "1" ? "debug" : "info";
16464
+ }
16465
+ function createLogger22(prefix, level) {
16466
+ let currentLevel = level ?? getEnvLevel();
16467
+ const log222 = (msgLevel, stream, args) => {
16468
+ if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
16469
+ const line = `[${prefix}] ${args.map(String).join(" ")}
16470
+ `;
16471
+ process[stream].write(line);
16472
+ };
16473
+ return {
16474
+ error: (...a) => log222("error", "stderr", a),
16475
+ warn: (...a) => log222("warn", "stderr", a),
16476
+ info: (...a) => log222("info", "stdout", a),
16477
+ debug: (...a) => log222("debug", "stderr", a),
16478
+ setLevel: (l) => {
16479
+ currentLevel = l;
16480
+ }
16481
+ };
16482
+ }
16483
+ var logger = createLogger22("tailwind-styled");
16484
+ function hashContent2(content, algorithm = "md5", length = 8) {
16485
+ return crypto2.createHash(algorithm).update(content).digest("hex").slice(0, length);
16486
+ }
16487
+ function hashFile(filePath, algorithm = "md5", length = 8) {
16488
+ try {
16489
+ const content = fs__default22.default.readFileSync(filePath, "utf8");
16490
+ return hashContent2(content, algorithm, length);
16491
+ } catch {
16492
+ return "00000000";
16493
+ }
16494
+ }
16495
+ function debounce(fn, ms) {
16496
+ let timer = null;
16497
+ return ((...args) => {
16498
+ if (timer) clearTimeout(timer);
16499
+ timer = setTimeout(() => {
16500
+ timer = null;
16501
+ fn(...args);
16502
+ }, ms);
16503
+ });
16504
+ }
16505
+ function throttle(fn, ms) {
16506
+ let last = 0;
16507
+ return ((...args) => {
16508
+ const now = Date.now();
16509
+ if (now - last >= ms) {
16510
+ last = now;
16511
+ fn(...args);
16512
+ }
16513
+ });
16514
+ }
16515
+ function parseVersion(v) {
16516
+ const parts = v.replace(/^v/, "").split(".").map((p) => {
16517
+ const n = Number(p);
16518
+ return Number.isNaN(n) ? 0 : n;
16519
+ });
16520
+ const [major = 0, minor = 0, patch = 0] = parts;
16521
+ return { major, minor, patch };
16522
+ }
16523
+ function satisfiesMinVersion(version, minVersion) {
16524
+ const v = parseVersion(version);
16525
+ const min = parseVersion(minVersion);
16526
+ if (v.major !== min.major) return v.major > min.major;
16527
+ if (v.minor !== min.minor) return v.minor > min.minor;
16528
+ return v.patch >= min.patch;
16529
+ }
16530
+ exports$1222.LRUCache = LRUCache;
16531
+ exports$1222.createDebugLogger = createDebugLogger2;
16532
+ exports$1222.createLogger = createLogger22;
16533
+ exports$1222.debounce = debounce;
16534
+ exports$1222.formatErrorMessage = formatErrorMessage2;
16535
+ exports$1222.hashContent = hashContent2;
16536
+ exports$1222.hashFile = hashFile;
16537
+ exports$1222.isDebugNamespaceEnabled = isDebugNamespaceEnabled;
16538
+ exports$1222.loadNativeBinding = loadNativeBinding2;
16539
+ exports$1222.logger = logger;
16540
+ exports$1222.parseVersion = parseVersion;
16541
+ exports$1222.resolveNativeBindingCandidates = resolveNativeBindingCandidates2;
16542
+ exports$1222.resolveRuntimeDir = resolveRuntimeDir2;
16543
+ exports$1222.satisfiesMinVersion = satisfiesMinVersion;
16544
+ exports$1222.throttle = throttle;
16150
16545
  }
16151
16546
  });
16152
16547
  var nativeBridge_exports = {};
@@ -16249,6 +16644,7 @@ Or install a prebuilt binary for your platform.`
16249
16644
  metadata
16250
16645
  };
16251
16646
  }
16647
+ var import_shared222;
16252
16648
  var getDirname2;
16253
16649
  var runtimeDir;
16254
16650
  var requireFromRuntime;
@@ -16256,7 +16652,7 @@ Or install a prebuilt binary for your platform.`
16256
16652
  var log22;
16257
16653
  var init_nativeBridge = __esm2({
16258
16654
  "packages/compiler/src/nativeBridge.ts"() {
16259
- init_src();
16655
+ import_shared222 = __toESM2222(require_shared222());
16260
16656
  getDirname2 = () => {
16261
16657
  if (typeof __dirname !== "undefined") {
16262
16658
  return __dirname;
@@ -16268,7 +16664,7 @@ Or install a prebuilt binary for your platform.`
16268
16664
  };
16269
16665
  runtimeDir = getDirname2();
16270
16666
  requireFromRuntime = typeof module2 !== "undefined" && typeof module2.require === "function" ? module2.require.bind(module2) : module$122.createRequire(path7__default.default.join(runtimeDir, "noop.cjs"));
16271
- log22 = createLogger22("compiler:native");
16667
+ log22 = (0, import_shared222.createLogger)("compiler:native");
16272
16668
  }
16273
16669
  });
16274
16670
  function requireNative() {
@@ -17993,13 +18389,7 @@ body {
17993
18389
  `;
17994
18390
  }
17995
18391
  });
17996
- var globalRegistry = {
17997
- transforms: [],
17998
- tokens: {}
17999
- };
18000
- function getGlobalRegistry() {
18001
- return globalRegistry;
18002
- }
18392
+ var import_plugin = __toESM2222(require_plugin());
18003
18393
  function mergeClassesStatic2(classes) {
18004
18394
  return tailwindMerge.twMerge(classes);
18005
18395
  }
@@ -18738,7 +19128,7 @@ ${subAssignments}
18738
19128
  compoundVariants: compounds,
18739
19129
  defaultVariants: defaults
18740
19130
  };
18741
- const registry = getGlobalRegistry();
19131
+ const registry = (0, import_plugin.getGlobalRegistry)();
18742
19132
  if (registry.transforms.length > 0) {
18743
19133
  const componentName = `Tw${tag}`;
18744
19134
  for (const transform of registry.transforms) {
@@ -18918,8 +19308,8 @@ Please ensure the native module is properly built.`
18918
19308
  function scanFiles(dir) {
18919
19309
  const files = [];
18920
19310
  function walk(current) {
18921
- if (!fs3__default.default.existsSync(current)) return;
18922
- const entries = fs3__default.default.readdirSync(current, { withFileTypes: true });
19311
+ if (!fs2__default2.default.existsSync(current)) return;
19312
+ const entries = fs2__default2.default.readdirSync(current, { withFileTypes: true });
18923
19313
  for (const entry of entries) {
18924
19314
  if (SKIP_DIRS.has(entry.name)) continue;
18925
19315
  const fullPath = path7__default.default.join(current, entry.name);
@@ -18940,7 +19330,7 @@ Please ensure the native module is properly built.`
18940
19330
  const files = scanFiles(absDir);
18941
19331
  for (const file of files) {
18942
19332
  try {
18943
- const source = fs3__default.default.readFileSync(file, "utf-8");
19333
+ const source = fs2__default2.default.readFileSync(file, "utf-8");
18944
19334
  const usage = extractComponentUsage(source);
18945
19335
  for (const [comp, props] of Object.entries(usage)) {
18946
19336
  if (!combined[comp]) combined[comp] = {};
@@ -19079,19 +19469,19 @@ Please ensure the native module is properly built.`
19079
19469
  }
19080
19470
  return { css, report };
19081
19471
  }
19082
- init_src();
19472
+ var import_shared2222 = __toESM2222(require_shared222());
19083
19473
  var CACHE_DIR = ".tw-cache";
19084
19474
  var HASH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "file-hashes.json");
19085
19475
  var GRAPH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "dep-graph.json");
19086
19476
  function ensureCacheDir() {
19087
- if (!fs3__default.default.existsSync(CACHE_DIR)) {
19088
- fs3__default.default.mkdirSync(CACHE_DIR, { recursive: true });
19477
+ if (!fs2__default2.default.existsSync(CACHE_DIR)) {
19478
+ fs2__default2.default.mkdirSync(CACHE_DIR, { recursive: true });
19089
19479
  }
19090
19480
  }
19091
19481
  function loadHashCache() {
19092
19482
  try {
19093
- if (fs3__default.default.existsSync(HASH_CACHE_FILE)) {
19094
- const raw = fs3__default.default.readFileSync(HASH_CACHE_FILE, "utf-8");
19483
+ if (fs2__default2.default.existsSync(HASH_CACHE_FILE)) {
19484
+ const raw = fs2__default2.default.readFileSync(HASH_CACHE_FILE, "utf-8");
19095
19485
  return new Map(Object.entries(JSON.parse(raw)));
19096
19486
  }
19097
19487
  } catch {
@@ -19102,14 +19492,14 @@ Please ensure the native module is properly built.`
19102
19492
  try {
19103
19493
  ensureCacheDir();
19104
19494
  const obj = Object.fromEntries(cache);
19105
- fs3__default.default.writeFileSync(HASH_CACHE_FILE, JSON.stringify(obj, null, 2));
19495
+ fs2__default2.default.writeFileSync(HASH_CACHE_FILE, JSON.stringify(obj, null, 2));
19106
19496
  } catch {
19107
19497
  }
19108
19498
  }
19109
19499
  function loadGraphCache() {
19110
19500
  try {
19111
- if (fs3__default.default.existsSync(GRAPH_CACHE_FILE)) {
19112
- const raw = fs3__default.default.readFileSync(GRAPH_CACHE_FILE, "utf-8");
19501
+ if (fs2__default2.default.existsSync(GRAPH_CACHE_FILE)) {
19502
+ const raw = fs2__default2.default.readFileSync(GRAPH_CACHE_FILE, "utf-8");
19113
19503
  const data = JSON.parse(raw);
19114
19504
  return new Map(Object.entries(data));
19115
19505
  }
@@ -19121,7 +19511,7 @@ Please ensure the native module is properly built.`
19121
19511
  try {
19122
19512
  ensureCacheDir();
19123
19513
  const obj = Object.fromEntries(graph);
19124
- fs3__default.default.writeFileSync(GRAPH_CACHE_FILE, JSON.stringify(obj, null, 2));
19514
+ fs2__default2.default.writeFileSync(GRAPH_CACHE_FILE, JSON.stringify(obj, null, 2));
19125
19515
  } catch {
19126
19516
  }
19127
19517
  }
@@ -19144,7 +19534,7 @@ Please ensure the native module is properly built.`
19144
19534
  return result;
19145
19535
  }
19146
19536
  function hashFileContent(content) {
19147
- return hashContent(content, "md5", 8);
19537
+ return (0, import_shared2222.hashContent)(content, "md5", 8);
19148
19538
  }
19149
19539
  function makeAtomicClass(declaration, modifier) {
19150
19540
  const key = modifier ? `${declaration}::${modifier}` : declaration;
@@ -19226,8 +19616,8 @@ Please ensure the native module is properly built.`
19226
19616
  }
19227
19617
  loadFromDisk() {
19228
19618
  try {
19229
- if (fs3__default.default.existsSync(this.outputPath)) {
19230
- const css = fs3__default.default.readFileSync(this.outputPath, "utf-8");
19619
+ if (fs2__default2.default.existsSync(this.outputPath)) {
19620
+ const css = fs2__default2.default.readFileSync(this.outputPath, "utf-8");
19231
19621
  const ruleRe = /(\.tw-[a-z0-9]+(?::[\w-]+)?)\{([^}]+)\}|(@[^{]+)\{(\.tw-[a-z0-9]+)\{([^}]+)\}\}/g;
19232
19622
  let m;
19233
19623
  while ((m = ruleRe.exec(css)) !== null) {
@@ -19257,7 +19647,7 @@ Please ensure the native module is properly built.`
19257
19647
  try {
19258
19648
  ensureCacheDir();
19259
19649
  const css = Array.from(this.ruleMap.values()).join("\n");
19260
- await fs3__default.default.promises.writeFile(this.outputPath, css, "utf-8");
19650
+ await fs2__default2.default.promises.writeFile(this.outputPath, css, "utf-8");
19261
19651
  this.dirty = false;
19262
19652
  } catch {
19263
19653
  }
@@ -19268,7 +19658,7 @@ Please ensure the native module is properly built.`
19268
19658
  try {
19269
19659
  ensureCacheDir();
19270
19660
  const css = Array.from(this.ruleMap.values()).join("\n");
19271
- fs3__default.default.writeFileSync(this.outputPath, css, "utf-8");
19661
+ fs2__default2.default.writeFileSync(this.outputPath, css, "utf-8");
19272
19662
  this.dirty = false;
19273
19663
  } catch {
19274
19664
  }
@@ -20225,7 +20615,7 @@ The native binding is required for all transformations.`
20225
20615
  _cachedCwd = cwd;
20226
20616
  for (const file of CONFIG_FILES) {
20227
20617
  const fullPath = path7__default.default.join(cwd, file);
20228
- if (fs3__default.default.existsSync(fullPath)) {
20618
+ if (fs2__default2.default.existsSync(fullPath)) {
20229
20619
  try {
20230
20620
  const mod = __require2222(fullPath);
20231
20621
  const config = mod.default ?? mod;
@@ -20253,14 +20643,14 @@ The native binding is required for all transformations.`
20253
20643
  if (config.content?.files) {
20254
20644
  return config.content.files.filter((f) => typeof f === "string");
20255
20645
  }
20256
- return ["src", "app", "pages", "components"].filter((d) => fs3__default.default.existsSync(path7__default.default.join(cwd, d))).map((d) => `./${d}/**/*.{tsx,ts,jsx,js}`);
20646
+ return ["src", "app", "pages", "components"].filter((d) => fs2__default2.default.existsSync(path7__default.default.join(cwd, d))).map((d) => `./${d}/**/*.{tsx,ts,jsx,js}`);
20257
20647
  }
20258
20648
  function invalidateConfigCache() {
20259
20649
  _cachedConfig = null;
20260
20650
  _cachedCwd = "";
20261
20651
  }
20262
20652
  function isZeroConfig(cwd = process.cwd()) {
20263
- return !CONFIG_FILES.some((f) => fs3__default.default.existsSync(path7__default.default.join(cwd, f)));
20653
+ return !CONFIG_FILES.some((f) => fs2__default2.default.existsSync(path7__default.default.join(cwd, f)));
20264
20654
  }
20265
20655
  function bootstrapZeroConfig(cwd = process.cwd()) {
20266
20656
  let generatedConfig = false;
@@ -20272,13 +20662,13 @@ The native binding is required for all transformations.`
20272
20662
  "src/index.css",
20273
20663
  "src/styles/globals.css"
20274
20664
  ];
20275
- const hasGlobalCss = cssPaths.some((p) => fs3__default.default.existsSync(path7__default.default.join(cwd, p)));
20665
+ const hasGlobalCss = cssPaths.some((p) => fs2__default2.default.existsSync(path7__default.default.join(cwd, p)));
20276
20666
  if (!hasGlobalCss) {
20277
20667
  const { defaultGlobalCss: defaultGlobalCss2 } = (init_defaultPreset(), __toCommonJS2(defaultPreset_exports));
20278
- const appDir = fs3__default.default.existsSync(path7__default.default.join(cwd, "src/app")) ? "src/app" : fs3__default.default.existsSync(path7__default.default.join(cwd, "app")) ? "app" : "src";
20668
+ const appDir = fs2__default2.default.existsSync(path7__default.default.join(cwd, "src/app")) ? "src/app" : fs2__default2.default.existsSync(path7__default.default.join(cwd, "app")) ? "app" : "src";
20279
20669
  const cssPath = path7__default.default.join(cwd, appDir, "globals.css");
20280
- if (fs3__default.default.existsSync(path7__default.default.dirname(cssPath))) {
20281
- fs3__default.default.writeFileSync(cssPath, defaultGlobalCss2);
20670
+ if (fs2__default2.default.existsSync(path7__default.default.dirname(cssPath))) {
20671
+ fs2__default2.default.writeFileSync(cssPath, defaultGlobalCss2);
20282
20672
  generatedCss = true;
20283
20673
  console.log(`[tailwind-styled-v4] Generated ${cssPath}`);
20284
20674
  }
@@ -20351,8 +20741,8 @@ Please build the native module.`
20351
20741
  }
20352
20742
  var SCAN_EXTENSIONS2 = [".tsx", ".ts", ".jsx", ".js"];
20353
20743
  function scanDir(dir, files = []) {
20354
- if (!fs3__default.default.existsSync(dir)) return files;
20355
- const entries = fs3__default.default.readdirSync(dir, { withFileTypes: true });
20744
+ if (!fs2__default2.default.existsSync(dir)) return files;
20745
+ const entries = fs2__default2.default.readdirSync(dir, { withFileTypes: true });
20356
20746
  for (const entry of entries) {
20357
20747
  if (entry.name === "node_modules" || entry.name === ".next" || entry.name === "dist") continue;
20358
20748
  const fullPath = path7__default.default.join(dir, entry.name);
@@ -20371,7 +20761,7 @@ Please build the native module.`
20371
20761
  const files = scanDir(absDir);
20372
20762
  for (const file of files) {
20373
20763
  try {
20374
- const source = fs3__default.default.readFileSync(file, "utf-8");
20764
+ const source = fs2__default2.default.readFileSync(file, "utf-8");
20375
20765
  const classes = extractAllClasses2(source);
20376
20766
  classes.forEach((c) => allClasses.add(c));
20377
20767
  } catch {
@@ -20380,13 +20770,13 @@ Please build the native module.`
20380
20770
  }
20381
20771
  const sorted = Array.from(allClasses).sort();
20382
20772
  const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd, outputPath);
20383
- fs3__default.default.writeFileSync(absOutput, JSON.stringify(sorted, null, 2));
20773
+ fs2__default2.default.writeFileSync(absOutput, JSON.stringify(sorted, null, 2));
20384
20774
  console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
20385
20775
  return sorted;
20386
20776
  }
20387
20777
  function loadSafelist(safelistPath) {
20388
20778
  try {
20389
- const content = fs3__default.default.readFileSync(safelistPath, "utf-8");
20779
+ const content = fs2__default2.default.readFileSync(safelistPath, "utf-8");
20390
20780
  return JSON.parse(content);
20391
20781
  } catch {
20392
20782
  return [];
@@ -20399,7 +20789,7 @@ Please build the native module.`
20399
20789
  const files = scanDir(absDir);
20400
20790
  for (const file of files) {
20401
20791
  try {
20402
- const source = fs3__default.default.readFileSync(file, "utf-8");
20792
+ const source = fs2__default2.default.readFileSync(file, "utf-8");
20403
20793
  const classes = extractAllClasses2(source);
20404
20794
  classes.forEach((c) => allClasses.add(c));
20405
20795
  } catch {
@@ -20408,13 +20798,13 @@ Please build the native module.`
20408
20798
  }
20409
20799
  const sorted = Array.from(allClasses).sort();
20410
20800
  const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd, outputPath);
20411
- fs3__default.default.mkdirSync(path7__default.default.dirname(absOutput), { recursive: true });
20801
+ fs2__default2.default.mkdirSync(path7__default.default.dirname(absOutput), { recursive: true });
20412
20802
  const css = sorted.length > 0 ? `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
20413
20803
  @source inline("${sorted.join(" ")}");
20414
20804
  ` : `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
20415
20805
  /* No safelist classes found */
20416
20806
  `;
20417
- fs3__default.default.writeFileSync(absOutput, css);
20807
+ fs2__default2.default.writeFileSync(absOutput, css);
20418
20808
  console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
20419
20809
  return sorted;
20420
20810
  }
@@ -20522,13 +20912,13 @@ Please build the native module.`
20522
20912
  }
20523
20913
  }
20524
20914
  if (outputDir) {
20525
- const fs6 = __require2222("fs");
20526
- fs6.mkdirSync(outputDir, { recursive: true });
20915
+ const fs5 = __require2222("fs");
20916
+ fs5.mkdirSync(outputDir, { recursive: true });
20527
20917
  for (const result of results) {
20528
20918
  const filename = routeToFilename(result.route);
20529
20919
  const filepath = path7__default.default.join(outputDir, filename);
20530
- fs6.mkdirSync(path7__default.default.dirname(filepath), { recursive: true });
20531
- fs6.writeFileSync(filepath, result.css);
20920
+ fs5.mkdirSync(path7__default.default.dirname(filepath), { recursive: true });
20921
+ fs5.writeFileSync(filepath, result.css);
20532
20922
  }
20533
20923
  const totalSize = results.reduce((sum, r) => sum + r.sizeBytes, 0);
20534
20924
  console.log(