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.mjs CHANGED
@@ -32934,21 +32934,23 @@ try {
32934
32934
  var __toCommonJS = (mod) => __copyProps222(__defProp222({}, "__esModule", { value: true }), mod);
32935
32935
  var require_compiler22 = __commonJS222({
32936
32936
  "dist/compiler.js"(exports$122, module2) {
32937
- var crypto = __require222("crypto");
32938
- var fs322 = __require222("fs");
32939
32937
  var module$122 = __require222("module");
32940
32938
  var path72 = __require222("path");
32941
32939
  var url222 = __require222("url");
32942
32940
  var tailwindMerge = __require222("tailwind-merge");
32941
+ var fs222 = __require222("fs");
32942
+ var crypto = __require222("crypto");
32943
32943
  var _documentCurrentScript22 = typeof document !== "undefined" ? document.currentScript : null;
32944
32944
  function _interopDefault222(e) {
32945
32945
  return e && e.__esModule ? e : { default: e };
32946
32946
  }
32947
- var fs3__default = /* @__PURE__ */ _interopDefault222(fs322);
32948
32947
  var path7__default = /* @__PURE__ */ _interopDefault222(path72);
32948
+ var fs2__default2 = /* @__PURE__ */ _interopDefault222(fs222);
32949
+ var __create2222 = Object.create;
32949
32950
  var __defProp2222 = Object.defineProperty;
32950
32951
  var __getOwnPropDesc2222 = Object.getOwnPropertyDescriptor;
32951
32952
  var __getOwnPropNames2222 = Object.getOwnPropertyNames;
32953
+ var __getProtoOf2222 = Object.getPrototypeOf;
32952
32954
  var __hasOwnProp2222 = Object.prototype.hasOwnProperty;
32953
32955
  var __require2222 = /* @__PURE__ */ ((x3) => typeof __require222 !== "undefined" ? __require222 : typeof Proxy !== "undefined" ? new Proxy(x3, {
32954
32956
  get: (a, b) => (typeof __require222 !== "undefined" ? __require222 : a)[b]
@@ -32959,6 +32961,9 @@ try {
32959
32961
  var __esm22 = (fn, res) => function __init() {
32960
32962
  return fn && (res = (0, fn[__getOwnPropNames2222(fn)[0]])(fn = 0)), res;
32961
32963
  };
32964
+ var __commonJS2222 = (cb, mod) => function __require22222() {
32965
+ return mod || (0, cb[__getOwnPropNames2222(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
32966
+ };
32962
32967
  var __export22 = (target, all) => {
32963
32968
  for (var name in all)
32964
32969
  __defProp2222(target, name, { get: all[name], enumerable: true });
@@ -32971,48 +32976,438 @@ try {
32971
32976
  }
32972
32977
  return to;
32973
32978
  };
32979
+ var __toESM2222 = (mod, isNodeMode, target) => (target = mod != null ? __create2222(__getProtoOf2222(mod)) : {}, __copyProps2222(
32980
+ // If the importer is in node compatibility mode or this is not an ESM
32981
+ // file that has been converted to a CommonJS file using a Babel-
32982
+ // compatible transform (i.e. "__esModule" has not been set), then set
32983
+ // "default" to the CommonJS "module.exports" for node compatibility.
32984
+ __defProp2222(target, "default", { value: mod, enumerable: true }),
32985
+ mod
32986
+ ));
32974
32987
  var __toCommonJS2 = (mod) => __copyProps2222(__defProp2222({}, "__esModule", { value: true }), mod);
32975
- function getEnvLevel() {
32976
- const env = process.env.TWS_LOG_LEVEL?.toLowerCase();
32977
- if (env && env in LEVELS) return env;
32978
- return process.env.TWS_DEBUG_SCANNER === "1" ? "debug" : "info";
32979
- }
32980
- function createLogger22(prefix, level) {
32981
- let currentLevel = getEnvLevel();
32982
- const log222 = (msgLevel, stream, args) => {
32983
- if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
32984
- const line = `[${prefix}] ${args.map(String).join(" ")}
32985
- `;
32986
- process[stream].write(line);
32987
- };
32988
- return {
32989
- error: (...a) => log222("error", "stderr", a),
32990
- warn: (...a) => log222("warn", "stderr", a),
32991
- info: (...a) => log222("info", "stdout", a),
32992
- debug: (...a) => log222("debug", "stderr", a),
32993
- setLevel: (l) => {
32994
- currentLevel = l;
32988
+ var require_plugin = __commonJS2222({
32989
+ "dist/plugin.js"(exports$1222) {
32990
+ var TOKEN_ENGINE_KEY = "__TW_TOKEN_ENGINE__";
32991
+ function resolveTokenEngine() {
32992
+ if (typeof globalThis !== "undefined") {
32993
+ return globalThis[TOKEN_ENGINE_KEY];
32994
+ }
32995
+ return null;
32995
32996
  }
32996
- };
32997
- }
32998
- var LEVELS;
32999
- var init_logger = __esm22({
33000
- "packages/shared/src/logger.ts"() {
33001
- LEVELS = { silent: 0, error: 1, warn: 2, info: 3, debug: 4 };
33002
- createLogger22("tailwind-styled");
33003
- }
33004
- });
33005
- function hashContent(content, algorithm = "md5", length = 8) {
33006
- return crypto.createHash(algorithm).update(content).digest("hex").slice(0, length);
33007
- }
33008
- var init_hash = __esm22({
33009
- "packages/shared/src/hash.ts"() {
32997
+ function readToken(engine, name) {
32998
+ if (!engine) return void 0;
32999
+ if (typeof engine.getToken === "function") return engine.getToken(name);
33000
+ if (typeof engine.getTokens === "function") {
33001
+ const tokens = engine.getTokens();
33002
+ return tokens?.[name];
33003
+ }
33004
+ return void 0;
33005
+ }
33006
+ function createTwPlugin(options = {}) {
33007
+ return {
33008
+ async resolveId(source, importer) {
33009
+ if (!source.startsWith("tw.") && !source.startsWith("tw:")) return null;
33010
+ const importPath = source.replace(/^tw[.:]/, "");
33011
+ const resolved = await this.resolve(importPath, importer, { skipSelf: true });
33012
+ if (resolved) return { id: resolved.id };
33013
+ return null;
33014
+ },
33015
+ async load(id) {
33016
+ return null;
33017
+ },
33018
+ async transform(code, id) {
33019
+ return null;
33020
+ },
33021
+ getToken(name) {
33022
+ const engine = resolveTokenEngine();
33023
+ return readToken(engine, name);
33024
+ },
33025
+ subscribeTokens(callback) {
33026
+ const engine = resolveTokenEngine();
33027
+ if (!engine) return () => {
33028
+ };
33029
+ if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
33030
+ if (typeof engine.subscribe === "function") return engine.subscribe(callback);
33031
+ return () => {
33032
+ };
33033
+ }
33034
+ };
33035
+ }
33036
+ var globalRegistry = {
33037
+ transforms: [],
33038
+ tokens: {}
33039
+ };
33040
+ function getGlobalRegistry2() {
33041
+ return globalRegistry;
33042
+ }
33043
+ function registerTransform(transform) {
33044
+ globalRegistry.transforms.push(transform);
33045
+ }
33046
+ function registerToken(name, value) {
33047
+ globalRegistry.tokens[name] = value;
33048
+ }
33049
+ function createRegistry() {
33050
+ return {
33051
+ variants: /* @__PURE__ */ new Map(),
33052
+ utilities: /* @__PURE__ */ new Map(),
33053
+ tokens: /* @__PURE__ */ new Map(),
33054
+ transforms: [],
33055
+ cssHooks: [],
33056
+ buildHooks: [],
33057
+ plugins: /* @__PURE__ */ new Set()
33058
+ };
33059
+ }
33060
+ var _globalRegistry = createRegistry();
33061
+ function resetGlobalRegistry() {
33062
+ _globalRegistry = createRegistry();
33063
+ }
33064
+ function createContext(registry, config = {}) {
33065
+ return {
33066
+ config,
33067
+ addVariant(name, resolver) {
33068
+ registry.variants.set(name, resolver);
33069
+ },
33070
+ addUtility(name, styles) {
33071
+ registry.utilities.set(name, styles);
33072
+ },
33073
+ addToken(name, value) {
33074
+ const normalized = name.replace(/[^a-zA-Z0-9-]/g, "-").toLowerCase();
33075
+ registry.tokens.set(normalized, value);
33076
+ },
33077
+ addTransform(fn) {
33078
+ registry.transforms.push(fn);
33079
+ },
33080
+ onGenerateCSS(hook) {
33081
+ registry.cssHooks.push(hook);
33082
+ },
33083
+ onBuildEnd(hook) {
33084
+ registry.buildHooks.push(hook);
33085
+ },
33086
+ getToken(name) {
33087
+ return readToken(resolveTokenEngine(), name);
33088
+ },
33089
+ subscribeTokens(callback) {
33090
+ const engine = resolveTokenEngine();
33091
+ if (!engine) return () => {
33092
+ };
33093
+ if (typeof engine.subscribeTokens === "function") return engine.subscribeTokens(callback);
33094
+ if (typeof engine.subscribe === "function") return engine.subscribe(callback);
33095
+ return () => {
33096
+ };
33097
+ }
33098
+ };
33099
+ }
33100
+ function createTw(config = {}) {
33101
+ const registry = createRegistry();
33102
+ const ctx = createContext(registry, config);
33103
+ const result = ctx;
33104
+ result.registry = {
33105
+ plugins: registry.plugins,
33106
+ variants: registry.variants,
33107
+ utilities: registry.utilities,
33108
+ tokens: registry.tokens
33109
+ };
33110
+ result.use = (plugin) => {
33111
+ plugin.setup(ctx);
33112
+ registry.plugins.add(plugin.name);
33113
+ };
33114
+ if (config.plugins && Array.isArray(config.plugins)) {
33115
+ for (const plugin of config.plugins) {
33116
+ if (plugin && plugin.name) {
33117
+ result.use(plugin);
33118
+ }
33119
+ }
33120
+ }
33121
+ return result;
33122
+ }
33123
+ function use(plugin) {
33124
+ const ctx = createContext(_globalRegistry);
33125
+ plugin.setup(ctx);
33126
+ }
33127
+ function presetTokens(tokens) {
33128
+ return {
33129
+ name: "preset-tokens",
33130
+ setup(ctx) {
33131
+ for (const [name, value] of Object.entries(tokens)) {
33132
+ ctx.addToken(name, value);
33133
+ }
33134
+ }
33135
+ };
33136
+ }
33137
+ function presetVariants(variants) {
33138
+ return {
33139
+ name: "preset-variants",
33140
+ setup(ctx) {
33141
+ for (const [name, resolver] of Object.entries(variants)) {
33142
+ ctx.addVariant(name, resolver);
33143
+ }
33144
+ }
33145
+ };
33146
+ }
33147
+ function presetScrollbar() {
33148
+ return {
33149
+ name: "preset-scrollbar",
33150
+ setup(ctx) {
33151
+ ctx.addVariant("scrollbar-thin", () => "::-webkit-scrollbar{width:8px;height:8px}");
33152
+ ctx.addVariant("scrollbar-none", () => "::-webkit-scrollbar{display:none}");
33153
+ ctx.addUtility("scrollbar-hide", { "-ms-overflow-style": "none", "scrollbar-width": "none" });
33154
+ }
33155
+ };
33156
+ }
33157
+ exports$1222.createTw = createTw;
33158
+ exports$1222.createTwPlugin = createTwPlugin;
33159
+ exports$1222.getGlobalRegistry = getGlobalRegistry2;
33160
+ exports$1222.presetScrollbar = presetScrollbar;
33161
+ exports$1222.presetTokens = presetTokens;
33162
+ exports$1222.presetVariants = presetVariants;
33163
+ exports$1222.registerToken = registerToken;
33164
+ exports$1222.registerTransform = registerTransform;
33165
+ exports$1222.resetGlobalRegistry = resetGlobalRegistry;
33166
+ exports$1222.use = use;
33010
33167
  }
33011
33168
  });
33012
- var init_src = __esm22({
33013
- "packages/shared/src/index.ts"() {
33014
- init_logger();
33015
- init_hash();
33169
+ var require_shared222 = __commonJS2222({
33170
+ "dist/shared.js"(exports$1222) {
33171
+ var fs5 = __require2222("fs");
33172
+ var module$1222 = __require2222("module");
33173
+ var os = __require2222("os");
33174
+ var path92 = __require2222("path");
33175
+ var url2222 = __require2222("url");
33176
+ var crypto2 = __require2222("crypto");
33177
+ function _interopDefault2222(e) {
33178
+ return e && e.__esModule ? e : { default: e };
33179
+ }
33180
+ var fs__default22 = /* @__PURE__ */ _interopDefault2222(fs5);
33181
+ var os__default = /* @__PURE__ */ _interopDefault2222(os);
33182
+ var path__default2 = /* @__PURE__ */ _interopDefault2222(path92);
33183
+ var LRUCache = class {
33184
+ constructor(max = 256, ttlMs = null) {
33185
+ this.map = /* @__PURE__ */ new Map();
33186
+ this.max = max;
33187
+ this.ttlMs = ttlMs;
33188
+ }
33189
+ get(key) {
33190
+ const entry = this.map.get(key);
33191
+ if (!entry) return void 0;
33192
+ if (this.ttlMs !== null && Date.now() - entry.ts > this.ttlMs) {
33193
+ this.map.delete(key);
33194
+ return void 0;
33195
+ }
33196
+ this.map.delete(key);
33197
+ this.map.set(key, entry);
33198
+ return entry.value;
33199
+ }
33200
+ set(key, value) {
33201
+ if (this.map.has(key)) this.map.delete(key);
33202
+ else if (this.map.size >= this.max) {
33203
+ this.map.delete(this.map.keys().next().value);
33204
+ }
33205
+ this.map.set(key, { value, ts: Date.now() });
33206
+ }
33207
+ has(key) {
33208
+ return this.get(key) !== void 0;
33209
+ }
33210
+ delete(key) {
33211
+ this.map.delete(key);
33212
+ }
33213
+ clear() {
33214
+ this.map.clear();
33215
+ }
33216
+ get size() {
33217
+ return this.map.size;
33218
+ }
33219
+ keys() {
33220
+ return this.map.keys();
33221
+ }
33222
+ *values() {
33223
+ for (const entry of this.map.values()) {
33224
+ yield entry.value;
33225
+ }
33226
+ }
33227
+ *entries() {
33228
+ for (const [key, entry] of this.map.entries()) {
33229
+ yield [key, entry.value];
33230
+ }
33231
+ }
33232
+ };
33233
+ function getPlatformExtension() {
33234
+ const platform = os__default.default.platform();
33235
+ switch (platform) {
33236
+ case "win32":
33237
+ return ".node";
33238
+ case "darwin":
33239
+ return ".dylib";
33240
+ case "linux":
33241
+ return ".so";
33242
+ default:
33243
+ return ".node";
33244
+ }
33245
+ }
33246
+ function formatErrorMessage2(error) {
33247
+ return error instanceof Error ? error.message : String(error);
33248
+ }
33249
+ function resolveRuntimeDir2(dirnameValue, moduleImportUrl) {
33250
+ if (typeof dirnameValue === "string" && dirnameValue.length > 0) return dirnameValue;
33251
+ return path__default2.default.dirname(url2222.fileURLToPath(moduleImportUrl));
33252
+ }
33253
+ function resolveNativeBindingCandidates2(options) {
33254
+ const out = [];
33255
+ const envVarNames = options.envVarNames ?? ["TWS_NATIVE_PATH"];
33256
+ for (const envVarName of envVarNames) {
33257
+ const raw = process.env[envVarName]?.trim();
33258
+ if (!raw) continue;
33259
+ const resolved = path__default2.default.resolve(raw);
33260
+ if (options.enforceNodeExtensionForEnvPath) {
33261
+ if (path__default2.default.extname(resolved).toLowerCase() !== ".node") {
33262
+ throw new Error(
33263
+ `Invalid native binding path from ${envVarName}="${raw}". Expected a .node file.`
33264
+ );
33265
+ }
33266
+ }
33267
+ out.push(resolved);
33268
+ }
33269
+ if (options.includeDefaultCandidates !== false) {
33270
+ const ext = options.platformExtension ?? getPlatformExtension();
33271
+ const defaultBindingName = `tailwind_styled_parser${ext}`;
33272
+ out.push(path__default2.default.resolve(process.cwd(), "native", defaultBindingName));
33273
+ out.push(path__default2.default.resolve(options.runtimeDir, "..", "..", "..", "native", defaultBindingName));
33274
+ }
33275
+ return Array.from(new Set(out));
33276
+ }
33277
+ function parseDebugToken(namespace, token) {
33278
+ if (token === "*" || token === namespace || token === "tailwind-styled:*") return true;
33279
+ return token.endsWith("*") && namespace.startsWith(token.slice(0, -1));
33280
+ }
33281
+ function isDebugNamespaceEnabled(namespace) {
33282
+ if (process.env.TWS_DEBUG === "1" || process.env.TAILWIND_STYLED_DEBUG === "1") return true;
33283
+ const raw = process.env.DEBUG;
33284
+ if (!raw) return false;
33285
+ return raw.split(",").map((token) => token.trim()).some((token) => parseDebugToken(namespace, token));
33286
+ }
33287
+ function createDebugLogger2(namespace, label = namespace) {
33288
+ const debugEnabled = isDebugNamespaceEnabled(namespace);
33289
+ return (message) => {
33290
+ if (!debugEnabled) return;
33291
+ console.debug(`[${label}] ${message}`);
33292
+ };
33293
+ }
33294
+ function loadNativeBinding2(options) {
33295
+ const req = module$1222.createRequire(path__default2.default.join(options.runtimeDir, "noop.cjs"));
33296
+ const loadErrors2 = [];
33297
+ for (const candidate of options.candidates) {
33298
+ if (!fs__default22.default.existsSync(candidate)) continue;
33299
+ try {
33300
+ const mod = req(candidate);
33301
+ if (options.isValid(mod)) {
33302
+ return {
33303
+ binding: mod,
33304
+ loadedPath: candidate,
33305
+ loadErrors: loadErrors2
33306
+ };
33307
+ }
33308
+ loadErrors2.push({
33309
+ path: candidate,
33310
+ message: options.invalidExportMessage
33311
+ });
33312
+ } catch (error) {
33313
+ loadErrors2.push({
33314
+ path: candidate,
33315
+ message: formatErrorMessage2(error)
33316
+ });
33317
+ }
33318
+ }
33319
+ return {
33320
+ binding: null,
33321
+ loadedPath: null,
33322
+ loadErrors: loadErrors2
33323
+ };
33324
+ }
33325
+ var LEVELS = { silent: 0, error: 1, warn: 2, info: 3, debug: 4 };
33326
+ function getEnvLevel() {
33327
+ const env = process.env.TWS_LOG_LEVEL?.toLowerCase();
33328
+ if (env && env in LEVELS) return env;
33329
+ return process.env.TWS_DEBUG_SCANNER === "1" ? "debug" : "info";
33330
+ }
33331
+ function createLogger22(prefix, level) {
33332
+ let currentLevel = level ?? getEnvLevel();
33333
+ const log222 = (msgLevel, stream, args) => {
33334
+ if (LEVELS[msgLevel] > LEVELS[currentLevel]) return;
33335
+ const line = `[${prefix}] ${args.map(String).join(" ")}
33336
+ `;
33337
+ process[stream].write(line);
33338
+ };
33339
+ return {
33340
+ error: (...a) => log222("error", "stderr", a),
33341
+ warn: (...a) => log222("warn", "stderr", a),
33342
+ info: (...a) => log222("info", "stdout", a),
33343
+ debug: (...a) => log222("debug", "stderr", a),
33344
+ setLevel: (l) => {
33345
+ currentLevel = l;
33346
+ }
33347
+ };
33348
+ }
33349
+ var logger = createLogger22("tailwind-styled");
33350
+ function hashContent2(content, algorithm = "md5", length = 8) {
33351
+ return crypto2.createHash(algorithm).update(content).digest("hex").slice(0, length);
33352
+ }
33353
+ function hashFile(filePath, algorithm = "md5", length = 8) {
33354
+ try {
33355
+ const content = fs__default22.default.readFileSync(filePath, "utf8");
33356
+ return hashContent2(content, algorithm, length);
33357
+ } catch {
33358
+ return "00000000";
33359
+ }
33360
+ }
33361
+ function debounce(fn, ms) {
33362
+ let timer = null;
33363
+ return ((...args) => {
33364
+ if (timer) clearTimeout(timer);
33365
+ timer = setTimeout(() => {
33366
+ timer = null;
33367
+ fn(...args);
33368
+ }, ms);
33369
+ });
33370
+ }
33371
+ function throttle(fn, ms) {
33372
+ let last = 0;
33373
+ return ((...args) => {
33374
+ const now = Date.now();
33375
+ if (now - last >= ms) {
33376
+ last = now;
33377
+ fn(...args);
33378
+ }
33379
+ });
33380
+ }
33381
+ function parseVersion(v) {
33382
+ const parts = v.replace(/^v/, "").split(".").map((p) => {
33383
+ const n = Number(p);
33384
+ return Number.isNaN(n) ? 0 : n;
33385
+ });
33386
+ const [major = 0, minor = 0, patch = 0] = parts;
33387
+ return { major, minor, patch };
33388
+ }
33389
+ function satisfiesMinVersion(version, minVersion) {
33390
+ const v = parseVersion(version);
33391
+ const min = parseVersion(minVersion);
33392
+ if (v.major !== min.major) return v.major > min.major;
33393
+ if (v.minor !== min.minor) return v.minor > min.minor;
33394
+ return v.patch >= min.patch;
33395
+ }
33396
+ exports$1222.LRUCache = LRUCache;
33397
+ exports$1222.createDebugLogger = createDebugLogger2;
33398
+ exports$1222.createLogger = createLogger22;
33399
+ exports$1222.debounce = debounce;
33400
+ exports$1222.formatErrorMessage = formatErrorMessage2;
33401
+ exports$1222.hashContent = hashContent2;
33402
+ exports$1222.hashFile = hashFile;
33403
+ exports$1222.isDebugNamespaceEnabled = isDebugNamespaceEnabled;
33404
+ exports$1222.loadNativeBinding = loadNativeBinding2;
33405
+ exports$1222.logger = logger;
33406
+ exports$1222.parseVersion = parseVersion;
33407
+ exports$1222.resolveNativeBindingCandidates = resolveNativeBindingCandidates2;
33408
+ exports$1222.resolveRuntimeDir = resolveRuntimeDir2;
33409
+ exports$1222.satisfiesMinVersion = satisfiesMinVersion;
33410
+ exports$1222.throttle = throttle;
33016
33411
  }
33017
33412
  });
33018
33413
  var nativeBridge_exports = {};
@@ -33115,6 +33510,7 @@ Or install a prebuilt binary for your platform.`
33115
33510
  metadata
33116
33511
  };
33117
33512
  }
33513
+ var import_shared222;
33118
33514
  var getDirname2;
33119
33515
  var runtimeDir;
33120
33516
  var requireFromRuntime;
@@ -33122,7 +33518,7 @@ Or install a prebuilt binary for your platform.`
33122
33518
  var log22;
33123
33519
  var init_nativeBridge = __esm22({
33124
33520
  "packages/compiler/src/nativeBridge.ts"() {
33125
- init_src();
33521
+ import_shared222 = __toESM2222(require_shared222());
33126
33522
  getDirname2 = () => {
33127
33523
  if (typeof __dirname !== "undefined") {
33128
33524
  return __dirname;
@@ -33134,7 +33530,7 @@ Or install a prebuilt binary for your platform.`
33134
33530
  };
33135
33531
  runtimeDir = getDirname2();
33136
33532
  requireFromRuntime = typeof module2 !== "undefined" && typeof module2.require === "function" ? module2.require.bind(module2) : module$122.createRequire(path7__default.default.join(runtimeDir, "noop.cjs"));
33137
- log22 = createLogger22("compiler:native");
33533
+ log22 = (0, import_shared222.createLogger)("compiler:native");
33138
33534
  }
33139
33535
  });
33140
33536
  function requireNative() {
@@ -34859,13 +35255,7 @@ body {
34859
35255
  `;
34860
35256
  }
34861
35257
  });
34862
- var globalRegistry = {
34863
- transforms: [],
34864
- tokens: {}
34865
- };
34866
- function getGlobalRegistry() {
34867
- return globalRegistry;
34868
- }
35258
+ var import_plugin2 = __toESM2222(require_plugin());
34869
35259
  function mergeClassesStatic2(classes) {
34870
35260
  return tailwindMerge.twMerge(classes);
34871
35261
  }
@@ -35604,7 +35994,7 @@ ${subAssignments}
35604
35994
  compoundVariants: compounds,
35605
35995
  defaultVariants: defaults
35606
35996
  };
35607
- const registry = getGlobalRegistry();
35997
+ const registry = (0, import_plugin2.getGlobalRegistry)();
35608
35998
  if (registry.transforms.length > 0) {
35609
35999
  const componentName = `Tw${tag}`;
35610
36000
  for (const transform of registry.transforms) {
@@ -35784,8 +36174,8 @@ Please ensure the native module is properly built.`
35784
36174
  function scanFiles(dir) {
35785
36175
  const files = [];
35786
36176
  function walk(current) {
35787
- if (!fs3__default.default.existsSync(current)) return;
35788
- const entries = fs3__default.default.readdirSync(current, { withFileTypes: true });
36177
+ if (!fs2__default2.default.existsSync(current)) return;
36178
+ const entries = fs2__default2.default.readdirSync(current, { withFileTypes: true });
35789
36179
  for (const entry of entries) {
35790
36180
  if (SKIP_DIRS.has(entry.name)) continue;
35791
36181
  const fullPath = path7__default.default.join(current, entry.name);
@@ -35806,7 +36196,7 @@ Please ensure the native module is properly built.`
35806
36196
  const files = scanFiles(absDir);
35807
36197
  for (const file of files) {
35808
36198
  try {
35809
- const source = fs3__default.default.readFileSync(file, "utf-8");
36199
+ const source = fs2__default2.default.readFileSync(file, "utf-8");
35810
36200
  const usage = extractComponentUsage(source);
35811
36201
  for (const [comp, props] of Object.entries(usage)) {
35812
36202
  if (!combined[comp]) combined[comp] = {};
@@ -35945,19 +36335,19 @@ Please ensure the native module is properly built.`
35945
36335
  }
35946
36336
  return { css, report };
35947
36337
  }
35948
- init_src();
36338
+ var import_shared2222 = __toESM2222(require_shared222());
35949
36339
  var CACHE_DIR = ".tw-cache";
35950
36340
  var HASH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "file-hashes.json");
35951
36341
  var GRAPH_CACHE_FILE = path7__default.default.join(CACHE_DIR, "dep-graph.json");
35952
36342
  function ensureCacheDir() {
35953
- if (!fs3__default.default.existsSync(CACHE_DIR)) {
35954
- fs3__default.default.mkdirSync(CACHE_DIR, { recursive: true });
36343
+ if (!fs2__default2.default.existsSync(CACHE_DIR)) {
36344
+ fs2__default2.default.mkdirSync(CACHE_DIR, { recursive: true });
35955
36345
  }
35956
36346
  }
35957
36347
  function loadHashCache() {
35958
36348
  try {
35959
- if (fs3__default.default.existsSync(HASH_CACHE_FILE)) {
35960
- const raw = fs3__default.default.readFileSync(HASH_CACHE_FILE, "utf-8");
36349
+ if (fs2__default2.default.existsSync(HASH_CACHE_FILE)) {
36350
+ const raw = fs2__default2.default.readFileSync(HASH_CACHE_FILE, "utf-8");
35961
36351
  return new Map(Object.entries(JSON.parse(raw)));
35962
36352
  }
35963
36353
  } catch {
@@ -35968,14 +36358,14 @@ Please ensure the native module is properly built.`
35968
36358
  try {
35969
36359
  ensureCacheDir();
35970
36360
  const obj = Object.fromEntries(cache);
35971
- fs3__default.default.writeFileSync(HASH_CACHE_FILE, JSON.stringify(obj, null, 2));
36361
+ fs2__default2.default.writeFileSync(HASH_CACHE_FILE, JSON.stringify(obj, null, 2));
35972
36362
  } catch {
35973
36363
  }
35974
36364
  }
35975
36365
  function loadGraphCache() {
35976
36366
  try {
35977
- if (fs3__default.default.existsSync(GRAPH_CACHE_FILE)) {
35978
- const raw = fs3__default.default.readFileSync(GRAPH_CACHE_FILE, "utf-8");
36367
+ if (fs2__default2.default.existsSync(GRAPH_CACHE_FILE)) {
36368
+ const raw = fs2__default2.default.readFileSync(GRAPH_CACHE_FILE, "utf-8");
35979
36369
  const data = JSON.parse(raw);
35980
36370
  return new Map(Object.entries(data));
35981
36371
  }
@@ -35987,7 +36377,7 @@ Please ensure the native module is properly built.`
35987
36377
  try {
35988
36378
  ensureCacheDir();
35989
36379
  const obj = Object.fromEntries(graph);
35990
- fs3__default.default.writeFileSync(GRAPH_CACHE_FILE, JSON.stringify(obj, null, 2));
36380
+ fs2__default2.default.writeFileSync(GRAPH_CACHE_FILE, JSON.stringify(obj, null, 2));
35991
36381
  } catch {
35992
36382
  }
35993
36383
  }
@@ -36010,7 +36400,7 @@ Please ensure the native module is properly built.`
36010
36400
  return result;
36011
36401
  }
36012
36402
  function hashFileContent(content) {
36013
- return hashContent(content, "md5", 8);
36403
+ return (0, import_shared2222.hashContent)(content, "md5", 8);
36014
36404
  }
36015
36405
  function makeAtomicClass(declaration, modifier) {
36016
36406
  const key = modifier ? `${declaration}::${modifier}` : declaration;
@@ -36092,8 +36482,8 @@ Please ensure the native module is properly built.`
36092
36482
  }
36093
36483
  loadFromDisk() {
36094
36484
  try {
36095
- if (fs3__default.default.existsSync(this.outputPath)) {
36096
- const css = fs3__default.default.readFileSync(this.outputPath, "utf-8");
36485
+ if (fs2__default2.default.existsSync(this.outputPath)) {
36486
+ const css = fs2__default2.default.readFileSync(this.outputPath, "utf-8");
36097
36487
  const ruleRe = /(\.tw-[a-z0-9]+(?::[\w-]+)?)\{([^}]+)\}|(@[^{]+)\{(\.tw-[a-z0-9]+)\{([^}]+)\}\}/g;
36098
36488
  let m;
36099
36489
  while ((m = ruleRe.exec(css)) !== null) {
@@ -36123,7 +36513,7 @@ Please ensure the native module is properly built.`
36123
36513
  try {
36124
36514
  ensureCacheDir();
36125
36515
  const css = Array.from(this.ruleMap.values()).join("\n");
36126
- await fs3__default.default.promises.writeFile(this.outputPath, css, "utf-8");
36516
+ await fs2__default2.default.promises.writeFile(this.outputPath, css, "utf-8");
36127
36517
  this.dirty = false;
36128
36518
  } catch {
36129
36519
  }
@@ -36134,7 +36524,7 @@ Please ensure the native module is properly built.`
36134
36524
  try {
36135
36525
  ensureCacheDir();
36136
36526
  const css = Array.from(this.ruleMap.values()).join("\n");
36137
- fs3__default.default.writeFileSync(this.outputPath, css, "utf-8");
36527
+ fs2__default2.default.writeFileSync(this.outputPath, css, "utf-8");
36138
36528
  this.dirty = false;
36139
36529
  } catch {
36140
36530
  }
@@ -37091,7 +37481,7 @@ The native binding is required for all transformations.`
37091
37481
  _cachedCwd = cwd2;
37092
37482
  for (const file of CONFIG_FILES) {
37093
37483
  const fullPath = path7__default.default.join(cwd2, file);
37094
- if (fs3__default.default.existsSync(fullPath)) {
37484
+ if (fs2__default2.default.existsSync(fullPath)) {
37095
37485
  try {
37096
37486
  const mod = __require2222(fullPath);
37097
37487
  const config = mod.default ?? mod;
@@ -37119,14 +37509,14 @@ The native binding is required for all transformations.`
37119
37509
  if (config.content?.files) {
37120
37510
  return config.content.files.filter((f) => typeof f === "string");
37121
37511
  }
37122
- return ["src", "app", "pages", "components"].filter((d) => fs3__default.default.existsSync(path7__default.default.join(cwd2, d))).map((d) => `./${d}/**/*.{tsx,ts,jsx,js}`);
37512
+ return ["src", "app", "pages", "components"].filter((d) => fs2__default2.default.existsSync(path7__default.default.join(cwd2, d))).map((d) => `./${d}/**/*.{tsx,ts,jsx,js}`);
37123
37513
  }
37124
37514
  function invalidateConfigCache() {
37125
37515
  _cachedConfig = null;
37126
37516
  _cachedCwd = "";
37127
37517
  }
37128
37518
  function isZeroConfig(cwd2 = process.cwd()) {
37129
- return !CONFIG_FILES.some((f) => fs3__default.default.existsSync(path7__default.default.join(cwd2, f)));
37519
+ return !CONFIG_FILES.some((f) => fs2__default2.default.existsSync(path7__default.default.join(cwd2, f)));
37130
37520
  }
37131
37521
  function bootstrapZeroConfig(cwd2 = process.cwd()) {
37132
37522
  let generatedConfig = false;
@@ -37138,13 +37528,13 @@ The native binding is required for all transformations.`
37138
37528
  "src/index.css",
37139
37529
  "src/styles/globals.css"
37140
37530
  ];
37141
- const hasGlobalCss = cssPaths.some((p) => fs3__default.default.existsSync(path7__default.default.join(cwd2, p)));
37531
+ const hasGlobalCss = cssPaths.some((p) => fs2__default2.default.existsSync(path7__default.default.join(cwd2, p)));
37142
37532
  if (!hasGlobalCss) {
37143
37533
  const { defaultGlobalCss: defaultGlobalCss2 } = (init_defaultPreset(), __toCommonJS2(defaultPreset_exports));
37144
- 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";
37534
+ 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";
37145
37535
  const cssPath = path7__default.default.join(cwd2, appDir, "globals.css");
37146
- if (fs3__default.default.existsSync(path7__default.default.dirname(cssPath))) {
37147
- fs3__default.default.writeFileSync(cssPath, defaultGlobalCss2);
37536
+ if (fs2__default2.default.existsSync(path7__default.default.dirname(cssPath))) {
37537
+ fs2__default2.default.writeFileSync(cssPath, defaultGlobalCss2);
37148
37538
  generatedCss = true;
37149
37539
  console.log(`[tailwind-styled-v4] Generated ${cssPath}`);
37150
37540
  }
@@ -37217,8 +37607,8 @@ Please build the native module.`
37217
37607
  }
37218
37608
  var SCAN_EXTENSIONS2 = [".tsx", ".ts", ".jsx", ".js"];
37219
37609
  function scanDir(dir, files = []) {
37220
- if (!fs3__default.default.existsSync(dir)) return files;
37221
- const entries = fs3__default.default.readdirSync(dir, { withFileTypes: true });
37610
+ if (!fs2__default2.default.existsSync(dir)) return files;
37611
+ const entries = fs2__default2.default.readdirSync(dir, { withFileTypes: true });
37222
37612
  for (const entry of entries) {
37223
37613
  if (entry.name === "node_modules" || entry.name === ".next" || entry.name === "dist") continue;
37224
37614
  const fullPath = path7__default.default.join(dir, entry.name);
@@ -37237,7 +37627,7 @@ Please build the native module.`
37237
37627
  const files = scanDir(absDir);
37238
37628
  for (const file of files) {
37239
37629
  try {
37240
- const source = fs3__default.default.readFileSync(file, "utf-8");
37630
+ const source = fs2__default2.default.readFileSync(file, "utf-8");
37241
37631
  const classes = extractAllClasses2(source);
37242
37632
  classes.forEach((c) => allClasses.add(c));
37243
37633
  } catch {
@@ -37246,13 +37636,13 @@ Please build the native module.`
37246
37636
  }
37247
37637
  const sorted = Array.from(allClasses).sort();
37248
37638
  const absOutput = path7__default.default.isAbsolute(outputPath) ? outputPath : path7__default.default.resolve(cwd2, outputPath);
37249
- fs3__default.default.writeFileSync(absOutput, JSON.stringify(sorted, null, 2));
37639
+ fs2__default2.default.writeFileSync(absOutput, JSON.stringify(sorted, null, 2));
37250
37640
  console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
37251
37641
  return sorted;
37252
37642
  }
37253
37643
  function loadSafelist(safelistPath) {
37254
37644
  try {
37255
- const content = fs3__default.default.readFileSync(safelistPath, "utf-8");
37645
+ const content = fs2__default2.default.readFileSync(safelistPath, "utf-8");
37256
37646
  return JSON.parse(content);
37257
37647
  } catch {
37258
37648
  return [];
@@ -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.mkdirSync(path7__default.default.dirname(absOutput), { recursive: true });
37667
+ fs2__default2.default.mkdirSync(path7__default.default.dirname(absOutput), { recursive: true });
37278
37668
  const css = sorted.length > 0 ? `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
37279
37669
  @source inline("${sorted.join(" ")}");
37280
37670
  ` : `/* Auto-generated by tailwind-styled-v4 \u2014 DO NOT EDIT */
37281
37671
  /* No safelist classes found */
37282
37672
  `;
37283
- fs3__default.default.writeFileSync(absOutput, css);
37673
+ fs2__default2.default.writeFileSync(absOutput, css);
37284
37674
  console.log(`[tailwind-styled-v4] Safelist: ${sorted.length} classes \u2192 ${absOutput}`);
37285
37675
  return sorted;
37286
37676
  }
@@ -37388,13 +37778,13 @@ Please build the native module.`
37388
37778
  }
37389
37779
  }
37390
37780
  if (outputDir) {
37391
- const fs6 = __require2222("fs");
37392
- fs6.mkdirSync(outputDir, { recursive: true });
37781
+ const fs5 = __require2222("fs");
37782
+ fs5.mkdirSync(outputDir, { recursive: true });
37393
37783
  for (const result of results) {
37394
37784
  const filename = routeToFilename(result.route);
37395
37785
  const filepath = path7__default.default.join(outputDir, filename);
37396
- fs6.mkdirSync(path7__default.default.dirname(filepath), { recursive: true });
37397
- fs6.writeFileSync(filepath, result.css);
37786
+ fs5.mkdirSync(path7__default.default.dirname(filepath), { recursive: true });
37787
+ fs5.writeFileSync(filepath, result.css);
37398
37788
  }
37399
37789
  const totalSize = results.reduce((sum, r) => sum + r.sizeBytes, 0);
37400
37790
  console.log(