tailwind-styled-v4 5.0.26 → 5.0.28
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/LICENSE +21 -21
- package/README.md +575 -575
- package/dist/analyzer.js.map +1 -1
- package/dist/analyzer.mjs.map +1 -1
- package/dist/animate.js.map +1 -1
- package/dist/animate.mjs.map +1 -1
- package/dist/atomic.js.map +1 -1
- package/dist/atomic.mjs.map +1 -1
- package/dist/cli.js +2 -2
- package/dist/cli.js.map +1 -1
- package/dist/cli.mjs +2 -2
- package/dist/cli.mjs.map +1 -1
- package/dist/compiler.js +2 -1
- package/dist/compiler.js.map +1 -1
- package/dist/compiler.mjs +2 -1
- package/dist/compiler.mjs.map +1 -1
- package/dist/dashboard.d.mts +69 -69
- package/dist/dashboard.d.ts +69 -69
- package/dist/dashboard.js.map +1 -1
- package/dist/dashboard.mjs.map +1 -1
- package/dist/devtools.js.map +1 -1
- package/dist/devtools.mjs.map +1 -1
- package/dist/engine.js +26 -5
- package/dist/engine.js.map +1 -1
- package/dist/engine.mjs +26 -5
- package/dist/engine.mjs.map +1 -1
- package/dist/index.browser.mjs +16 -16
- package/dist/index.browser.mjs.map +1 -1
- package/dist/index.d.mts +4 -4
- package/dist/index.d.ts +4 -4
- package/dist/index.js +51 -28
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +51 -28
- package/dist/index.mjs.map +1 -1
- package/dist/next.js +26 -5
- package/dist/next.js.map +1 -1
- package/dist/next.mjs +26 -5
- package/dist/next.mjs.map +1 -1
- package/dist/plugin-api.js.map +1 -1
- package/dist/plugin-api.mjs.map +1 -1
- package/dist/plugin-registry.js.map +1 -1
- package/dist/plugin-registry.mjs.map +1 -1
- package/dist/plugin.js.map +1 -1
- package/dist/plugin.mjs.map +1 -1
- package/dist/preset.js.map +1 -1
- package/dist/preset.mjs.map +1 -1
- package/dist/rspack.js.map +1 -1
- package/dist/rspack.mjs.map +1 -1
- package/dist/runtime-css.js.map +1 -1
- package/dist/runtime-css.mjs.map +1 -1
- package/dist/runtime.js.map +1 -1
- package/dist/runtime.mjs.map +1 -1
- package/dist/scanner.js.map +1 -1
- package/dist/scanner.mjs.map +1 -1
- package/dist/shared.js +26 -5
- package/dist/shared.js.map +1 -1
- package/dist/shared.mjs +26 -5
- package/dist/shared.mjs.map +1 -1
- package/dist/storybook-addon.js.map +1 -1
- package/dist/storybook-addon.mjs.map +1 -1
- package/dist/svelte.js.map +1 -1
- package/dist/svelte.mjs.map +1 -1
- package/dist/syntax.js.map +1 -1
- package/dist/syntax.mjs.map +1 -1
- package/dist/testing.js.map +1 -1
- package/dist/testing.mjs.map +1 -1
- package/dist/theme.js.map +1 -1
- package/dist/theme.mjs.map +1 -1
- package/dist/turbopackLoader.js +2 -1
- package/dist/turbopackLoader.js.map +1 -1
- package/dist/turbopackLoader.mjs +2 -1
- package/dist/turbopackLoader.mjs.map +1 -1
- package/dist/tw.js +2 -2
- package/dist/tw.js.map +1 -1
- package/dist/tw.mjs +2 -2
- package/dist/tw.mjs.map +1 -1
- package/dist/vite.js +26 -5
- package/dist/vite.js.map +1 -1
- package/dist/vite.mjs +26 -5
- package/dist/vite.mjs.map +1 -1
- package/dist/vue.js.map +1 -1
- package/dist/vue.mjs.map +1 -1
- package/dist/webpackLoader.js +2 -1
- package/dist/webpackLoader.js.map +1 -1
- package/dist/webpackLoader.mjs +2 -1
- package/dist/webpackLoader.mjs.map +1 -1
- package/native/tailwind-styled-native.node +0 -0
- package/package.json +296 -289
- package/native/tailwind-styled-native.win32-x64-msvc.node +0 -0
package/dist/index.d.mts
CHANGED
|
@@ -139,11 +139,11 @@ type TwSubComponentAccessor = React.FC<{
|
|
|
139
139
|
children?: React.ReactNode;
|
|
140
140
|
className?: string;
|
|
141
141
|
}>;
|
|
142
|
-
type TrimLeft<S extends string> = S extends ` ${infer R}` | `
|
|
143
|
-
${infer R}` | ` ${infer R}` | `
|
|
142
|
+
type TrimLeft<S extends string> = S extends ` ${infer R}` | `
|
|
143
|
+
${infer R}` | ` ${infer R}` | `
|
|
144
144
|
${infer R}` ? TrimLeft<R> : S;
|
|
145
|
-
type TrimRight<S extends string> = S extends `${infer L} ` | `${infer L}
|
|
146
|
-
` | `${infer L} ` | `${infer L}
|
|
145
|
+
type TrimRight<S extends string> = S extends `${infer L} ` | `${infer L}
|
|
146
|
+
` | `${infer L} ` | `${infer L}
|
|
147
147
|
` ? TrimRight<L> : S;
|
|
148
148
|
type Trim<S extends string> = TrimLeft<TrimRight<S>>;
|
|
149
149
|
type ExtractSubNames<T extends string> = T extends `${string}[${infer Name}]${string}{${string}}${infer Rest}` ? Trim<Name> | ExtractSubNames<Rest> : T extends `${string}\n${infer Name}{${string}}${infer Rest}` ? (Trim<Name> extends "" ? never : Trim<Name>) | ExtractSubNames<Rest> : never;
|
package/dist/index.d.ts
CHANGED
|
@@ -139,11 +139,11 @@ type TwSubComponentAccessor = React.FC<{
|
|
|
139
139
|
children?: React.ReactNode;
|
|
140
140
|
className?: string;
|
|
141
141
|
}>;
|
|
142
|
-
type TrimLeft<S extends string> = S extends ` ${infer R}` | `
|
|
143
|
-
${infer R}` | ` ${infer R}` | `
|
|
142
|
+
type TrimLeft<S extends string> = S extends ` ${infer R}` | `
|
|
143
|
+
${infer R}` | ` ${infer R}` | `
|
|
144
144
|
${infer R}` ? TrimLeft<R> : S;
|
|
145
|
-
type TrimRight<S extends string> = S extends `${infer L} ` | `${infer L}
|
|
146
|
-
` | `${infer L} ` | `${infer L}
|
|
145
|
+
type TrimRight<S extends string> = S extends `${infer L} ` | `${infer L}
|
|
146
|
+
` | `${infer L} ` | `${infer L}
|
|
147
147
|
` ? TrimRight<L> : S;
|
|
148
148
|
type Trim<S extends string> = TrimLeft<TrimRight<S>>;
|
|
149
149
|
type ExtractSubNames<T extends string> = T extends `${string}[${infer Name}]${string}{${string}}${infer Rest}` ? Trim<Name> | ExtractSubNames<Rest> : T extends `${string}\n${infer Name}{${string}}${infer Rest}` ? (Trim<Name> extends "" ? never : Trim<Name>) | ExtractSubNames<Rest> : never;
|
package/dist/index.js
CHANGED
|
@@ -2791,7 +2791,8 @@ var init_src = __esm({
|
|
|
2791
2791
|
if (!native?.transformSource) {
|
|
2792
2792
|
throw new Error("FATAL: Native binding 'transformSource' is required but not available.");
|
|
2793
2793
|
}
|
|
2794
|
-
const
|
|
2794
|
+
const stringOpts = opts ? Object.fromEntries(Object.entries(opts).map(([k, v]) => [k, String(v)])) : void 0;
|
|
2795
|
+
const result = native.transformSource(source, stringOpts);
|
|
2795
2796
|
if (!result) {
|
|
2796
2797
|
throw new Error("FATAL: transformSource returned null");
|
|
2797
2798
|
}
|
|
@@ -3513,6 +3514,19 @@ function extractStaticStateCss(srcDir, options = {}) {
|
|
|
3513
3514
|
const decl = r.declarations.trim();
|
|
3514
3515
|
return decl.length === 0 || !decl.includes(":");
|
|
3515
3516
|
}).length;
|
|
3517
|
+
function sanitizeCssRule(cssRule, declarations) {
|
|
3518
|
+
const segments = declarations.split(/[;\n]/).map((s) => s.trim()).filter(Boolean);
|
|
3519
|
+
const validSegs = segments.filter((s) => s.includes(":"));
|
|
3520
|
+
const invalidSegs = segments.filter((s) => !s.includes(":"));
|
|
3521
|
+
if (invalidSegs.length === 0) return cssRule;
|
|
3522
|
+
if (validSegs.length === 0) return null;
|
|
3523
|
+
const braceIdx = cssRule.indexOf("{");
|
|
3524
|
+
if (braceIdx === -1) return null;
|
|
3525
|
+
const selector = cssRule.slice(0, braceIdx).trim();
|
|
3526
|
+
return `${selector} {
|
|
3527
|
+
${validSegs.join(";\n ")};
|
|
3528
|
+
}`;
|
|
3529
|
+
}
|
|
3516
3530
|
const byComponent = /* @__PURE__ */ new Map();
|
|
3517
3531
|
for (const rule of allRules) {
|
|
3518
3532
|
const existing = byComponent.get(rule.componentName) ?? [];
|
|
@@ -3524,11 +3538,18 @@ function extractStaticStateCss(srcDir, options = {}) {
|
|
|
3524
3538
|
cssBlocks.push(`/* ${componentName} */`);
|
|
3525
3539
|
for (const rule of rules) {
|
|
3526
3540
|
cssBlocks.push(`/* state: ${rule.stateName} */`);
|
|
3527
|
-
const
|
|
3528
|
-
if (
|
|
3529
|
-
|
|
3541
|
+
const isFullyUnresolved = rule.declarations.trim().length > 0 && !rule.declarations.includes(":");
|
|
3542
|
+
if (isFullyUnresolved) {
|
|
3543
|
+
const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
|
|
3544
|
+
cssBlocks.push(`/* SKIP [unresolved]: ${encoded} */`);
|
|
3530
3545
|
} else {
|
|
3531
|
-
|
|
3546
|
+
const sanitized = sanitizeCssRule(rule.cssRule, rule.declarations);
|
|
3547
|
+
if (sanitized !== null) {
|
|
3548
|
+
cssBlocks.push(sanitized);
|
|
3549
|
+
} else {
|
|
3550
|
+
const encoded = rule.declarations.replace(/([\w-]+)/g, "[$1]");
|
|
3551
|
+
cssBlocks.push(`/* SKIP [sanitized-empty]: ${encoded} */`);
|
|
3552
|
+
}
|
|
3532
3553
|
}
|
|
3533
3554
|
}
|
|
3534
3555
|
cssBlocks.push("");
|
|
@@ -5244,25 +5265,30 @@ function getStateRegistry() {
|
|
|
5244
5265
|
var ALWAYS_BLOCKED = /* @__PURE__ */ new Set(["base", "_ref", "state", "container", "containerName"]);
|
|
5245
5266
|
var _templateParseCache = /* @__PURE__ */ new Map();
|
|
5246
5267
|
var _statesLookupCache = /* @__PURE__ */ new Map();
|
|
5268
|
+
var _SUB_BLOCK_RE = /(?:^|[\s])(\[\w[\w-]*\])\s*\{/;
|
|
5247
5269
|
function _getParsedTemplate(template) {
|
|
5248
5270
|
const cached = _templateParseCache.get(template);
|
|
5249
5271
|
if (cached) return cached;
|
|
5250
|
-
|
|
5251
|
-
|
|
5252
|
-
|
|
5253
|
-
|
|
5254
|
-
|
|
5255
|
-
|
|
5256
|
-
|
|
5257
|
-
baseClasses: r.baseClasses.trim().replace(/\s+/g, " "),
|
|
5258
|
-
subMap: new Map(Object.entries(raw))
|
|
5259
|
-
};
|
|
5260
|
-
_templateParseCache.set(template, result);
|
|
5261
|
-
return result;
|
|
5262
|
-
}
|
|
5263
|
-
} catch {
|
|
5272
|
+
if (!_SUB_BLOCK_RE.test(template)) {
|
|
5273
|
+
const result2 = {
|
|
5274
|
+
baseClasses: template.trim().replace(/\s+/g, " "),
|
|
5275
|
+
subMap: /* @__PURE__ */ new Map()
|
|
5276
|
+
};
|
|
5277
|
+
_templateParseCache.set(template, result2);
|
|
5278
|
+
return result2;
|
|
5264
5279
|
}
|
|
5265
|
-
|
|
5280
|
+
const native = getNativeBinding();
|
|
5281
|
+
if (!native?.parseSubcomponentBlocksNapi) {
|
|
5282
|
+
throw new Error("FATAL: Native binding 'parseSubcomponentBlocksNapi' is required but not available.");
|
|
5283
|
+
}
|
|
5284
|
+
const r = native.parseSubcomponentBlocksNapi(template, "tw");
|
|
5285
|
+
const raw = JSON.parse(r.subMapJson);
|
|
5286
|
+
const result = {
|
|
5287
|
+
baseClasses: r.baseClasses.trim().replace(/\s+/g, " "),
|
|
5288
|
+
subMap: new Map(Object.entries(raw))
|
|
5289
|
+
};
|
|
5290
|
+
_templateParseCache.set(template, result);
|
|
5291
|
+
return result;
|
|
5266
5292
|
}
|
|
5267
5293
|
function parseSubComponentBlocks(template) {
|
|
5268
5294
|
return _getParsedTemplate(template).subMap;
|
|
@@ -5403,15 +5429,12 @@ function resolveVariants2(variants, props, defaults) {
|
|
|
5403
5429
|
const v = props[k];
|
|
5404
5430
|
if (v !== void 0 && v !== null) cleanProps[k] = String(v);
|
|
5405
5431
|
}
|
|
5406
|
-
|
|
5407
|
-
|
|
5408
|
-
|
|
5409
|
-
const result = binding.resolveSimpleVariants(null, variants, defaults, cleanProps);
|
|
5410
|
-
return result.trim().replace(/\s+/g, " ");
|
|
5411
|
-
}
|
|
5412
|
-
} catch {
|
|
5432
|
+
const binding = getNativeBinding();
|
|
5433
|
+
if (!binding?.resolveSimpleVariants) {
|
|
5434
|
+
throw new Error("FATAL: Native binding 'resolveSimpleVariants' is required but not available.");
|
|
5413
5435
|
}
|
|
5414
|
-
|
|
5436
|
+
const result = binding.resolveSimpleVariants(null, variants, defaults, cleanProps);
|
|
5437
|
+
return result.trim().replace(/\s+/g, " ");
|
|
5415
5438
|
}
|
|
5416
5439
|
function resolveStates(statesConfig, stateKeys, statesLookup, props) {
|
|
5417
5440
|
if (statesLookup && stateKeys.length > 0) {
|