clases 1.1.3 → 1.1.4
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/index.cjs +3 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +11 -14
package/dist/index.cjs
CHANGED
|
@@ -18,11 +18,11 @@ function createCl(...plugins) {
|
|
|
18
18
|
if (typeof value === "object") {
|
|
19
19
|
return Object.entries(value).map(([nestedKey, nestedValue]) => {
|
|
20
20
|
const isRegistered = registry[nestedKey] !== void 0;
|
|
21
|
-
const nextKey =
|
|
21
|
+
const nextKey = isRegistered ? key ? `${key}:${nestedKey}` : nestedKey : key;
|
|
22
22
|
return process(nextKey, nestedValue);
|
|
23
23
|
}).join(" ");
|
|
24
24
|
}
|
|
25
|
-
const resolvedPrefix = key.split(":").map((part) =>
|
|
25
|
+
const resolvedPrefix = key.split(":").map((part) => registry[part] || null).filter(Boolean).join(":");
|
|
26
26
|
if (typeof value === "string") {
|
|
27
27
|
return value.split(/[,\s\n]+/).filter(Boolean).map((cls) => !resolvedPrefix ? cls : `${resolvedPrefix}:${cls}`).join(" ");
|
|
28
28
|
}
|
|
@@ -33,8 +33,7 @@ function createCl(...plugins) {
|
|
|
33
33
|
if (input !== null && typeof input === "object" && !Array.isArray(input)) {
|
|
34
34
|
return Object.entries(input).map(([k, v]) => {
|
|
35
35
|
if (v === true) return k;
|
|
36
|
-
|
|
37
|
-
return process(isRegistered ? k : "base", v);
|
|
36
|
+
return process(registry[k] ? k : "", v);
|
|
38
37
|
}).join(" ");
|
|
39
38
|
}
|
|
40
39
|
return input;
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":["twMerge","clsx"],"mappings":";;;;;;;;;;AAGO,SAAS,YAAuD,OAAA,EAAmB;AACtF,EAAA,MAAM,WAAmC,MAAA,CAAO,MAAA,CAAO,EAAC,EAAG,GAAG,OAAO,CAAA;AAErE,EAAA,MAAM,OAAA,GAAU,CAAC,GAAA,EAAa,KAAA,KAAuB;AACjD,IAAA,IAAI,CAAC,OAAO,OAAO,EAAA;AAEnB,IAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACtB,MAAA,OAAO,KAAA,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":["twMerge","clsx"],"mappings":";;;;;;;;;;AAGO,SAAS,YAAuD,OAAA,EAAmB;AACtF,EAAA,MAAM,WAAmC,MAAA,CAAO,MAAA,CAAO,EAAC,EAAG,GAAG,OAAO,CAAA;AAErE,EAAA,MAAM,OAAA,GAAU,CAAC,GAAA,EAAa,KAAA,KAAuB;AACjD,IAAA,IAAI,CAAC,OAAO,OAAO,EAAA;AAEnB,IAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACtB,MAAA,OAAO,KAAA,CACF,GAAA,CAAI,CAAC,CAAA,KAAM,OAAA,CAAQ,GAAA,EAAK,CAAC,CAAC,CAAA,CAC1B,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,GAAG,CAAA;AAAA,IACjB;AAEA,IAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC3B,MAAA,OAAO,MAAA,CAAO,QAAQ,KAAK,CAAA,CACtB,IAAI,CAAC,CAAC,SAAA,EAAW,WAAW,CAAA,KAAM;AAC/B,QAAA,MAAM,YAAA,GAAe,QAAA,CAAS,SAAS,CAAA,KAAM,MAAA;AAG7C,QAAA,MAAM,OAAA,GAAU,eAAgB,GAAA,GAAM,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,SAAS,KAAK,SAAA,GAAa,GAAA;AAE3E,QAAA,OAAO,OAAA,CAAQ,SAAS,WAAW,CAAA;AAAA,MACvC,CAAC,CAAA,CACA,IAAA,CAAK,GAAG,CAAA;AAAA,IACjB;AAGA,IAAA,MAAM,iBAAiB,GAAA,CAClB,KAAA,CAAM,GAAG,CAAA,CACT,IAAI,CAAC,IAAA,KAAS,QAAA,CAAS,IAAI,KAAK,IAAI,CAAA,CACpC,OAAO,OAAO,CAAA,CACd,KAAK,GAAG,CAAA;AAEb,IAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC3B,MAAA,OAAO,KAAA,CACF,MAAM,UAAU,CAAA,CAChB,OAAO,OAAO,CAAA,CACd,IAAI,CAAC,GAAA,KAAS,CAAC,cAAA,GAAiB,GAAA,GAAM,GAAG,cAAc,CAAA,CAAA,EAAI,GAAG,CAAA,CAAG,CAAA,CACjE,KAAK,GAAG,CAAA;AAAA,IACjB;AACA,IAAA,OAAO,EAAA;AAAA,EACX,CAAA;AAEA,EAAA,OAAO,IAAI,MAAA,KAAkB;AACzB,IAAA,MAAM,SAAA,GAAY,MAAA,CAAO,GAAA,CAAI,CAAC,KAAA,KAAU;AACpC,MAAA,IAAI,KAAA,KAAU,QAAQ,OAAO,KAAA,KAAU,YAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACtE,QAAA,OAAO,MAAA,CAAO,QAAQ,KAAK,CAAA,CACtB,IAAI,CAAC,CAAC,CAAA,EAAG,CAAC,CAAA,KAAM;AACb,UAAA,IAAI,CAAA,KAAM,MAAM,OAAO,CAAA;AAEvB,UAAA,OAAO,QAAQ,QAAA,CAAS,CAAC,CAAA,GAAI,CAAA,GAAI,IAAI,CAAC,CAAA;AAAA,QAC1C,CAAC,CAAA,CACA,IAAA,CAAK,GAAG,CAAA;AAAA,MACjB;AACA,MAAA,OAAO,KAAA;AAAA,IACX,CAAC,CAAA;AACD,IAAA,OAAOA,qBAAA,CAAQC,qBAAA,CAAK,SAAS,CAAC,CAAA;AAAA,EAClC,CAAA;AACJ","file":"index.cjs","sourcesContent":["import { twMerge } from 'tailwind-merge';\r\nimport clsx from 'clsx';\r\n\r\nexport function createCl<TPlugins extends Record<string, string>[]>(...plugins: TPlugins) {\r\n const registry: Record<string, string> = Object.assign({}, ...plugins);\r\n\r\n const process = (key: string, value: any): string => {\r\n if (!value) return '';\r\n\r\n if (Array.isArray(value)) {\r\n return value\r\n .map((v) => process(key, v))\r\n .filter(Boolean)\r\n .join(' ');\r\n }\r\n\r\n if (typeof value === 'object') {\r\n return Object.entries(value)\r\n .map(([nestedKey, nestedValue]) => {\r\n const isRegistered = registry[nestedKey] !== undefined;\r\n // Si el hijo está registrado, añadimos al prefijo.\r\n // Si no, mantenemos el prefijo actual (transparencia).\r\n const nextKey = isRegistered ? (key ? `${key}:${nestedKey}` : nestedKey) : key;\r\n\r\n return process(nextKey, nestedValue);\r\n })\r\n .join(' ');\r\n }\r\n\r\n // RESOLUCIÓN: Solo lo que esté en el registro se convierte en prefijo.\r\n const resolvedPrefix = key\r\n .split(':')\r\n .map((part) => registry[part] || null)\r\n .filter(Boolean)\r\n .join(':');\r\n\r\n if (typeof value === 'string') {\r\n return value\r\n .split(/[,\\s\\n]+/)\r\n .filter(Boolean)\r\n .map((cls) => (!resolvedPrefix ? cls : `${resolvedPrefix}:${cls}`))\r\n .join(' ');\r\n }\r\n return '';\r\n };\r\n\r\n return (...inputs: any[]) => {\r\n const processed = inputs.map((input) => {\r\n if (input !== null && typeof input === 'object' && !Array.isArray(input)) {\r\n return Object.entries(input)\r\n .map(([k, v]) => {\r\n if (v === true) return k;\r\n // Si la llave raíz no está registrada, empezamos proceso con key vacía\r\n return process(registry[k] ? k : '', v);\r\n })\r\n .join(' ');\r\n }\r\n return input;\r\n });\r\n return twMerge(clsx(processed));\r\n };\r\n}\r\n"]}
|
package/dist/index.js
CHANGED
|
@@ -12,11 +12,11 @@ function createCl(...plugins) {
|
|
|
12
12
|
if (typeof value === "object") {
|
|
13
13
|
return Object.entries(value).map(([nestedKey, nestedValue]) => {
|
|
14
14
|
const isRegistered = registry[nestedKey] !== void 0;
|
|
15
|
-
const nextKey =
|
|
15
|
+
const nextKey = isRegistered ? key ? `${key}:${nestedKey}` : nestedKey : key;
|
|
16
16
|
return process(nextKey, nestedValue);
|
|
17
17
|
}).join(" ");
|
|
18
18
|
}
|
|
19
|
-
const resolvedPrefix = key.split(":").map((part) =>
|
|
19
|
+
const resolvedPrefix = key.split(":").map((part) => registry[part] || null).filter(Boolean).join(":");
|
|
20
20
|
if (typeof value === "string") {
|
|
21
21
|
return value.split(/[,\s\n]+/).filter(Boolean).map((cls) => !resolvedPrefix ? cls : `${resolvedPrefix}:${cls}`).join(" ");
|
|
22
22
|
}
|
|
@@ -27,8 +27,7 @@ function createCl(...plugins) {
|
|
|
27
27
|
if (input !== null && typeof input === "object" && !Array.isArray(input)) {
|
|
28
28
|
return Object.entries(input).map(([k, v]) => {
|
|
29
29
|
if (v === true) return k;
|
|
30
|
-
|
|
31
|
-
return process(isRegistered ? k : "base", v);
|
|
30
|
+
return process(registry[k] ? k : "", v);
|
|
32
31
|
}).join(" ");
|
|
33
32
|
}
|
|
34
33
|
return input;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;AAGO,SAAS,YAAuD,OAAA,EAAmB;AACtF,EAAA,MAAM,WAAmC,MAAA,CAAO,MAAA,CAAO,EAAC,EAAG,GAAG,OAAO,CAAA;AAErE,EAAA,MAAM,OAAA,GAAU,CAAC,GAAA,EAAa,KAAA,KAAuB;AACjD,IAAA,IAAI,CAAC,OAAO,OAAO,EAAA;AAEnB,IAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACtB,MAAA,OAAO,KAAA,
|
|
1
|
+
{"version":3,"sources":["../src/index.ts"],"names":[],"mappings":";;;;AAGO,SAAS,YAAuD,OAAA,EAAmB;AACtF,EAAA,MAAM,WAAmC,MAAA,CAAO,MAAA,CAAO,EAAC,EAAG,GAAG,OAAO,CAAA;AAErE,EAAA,MAAM,OAAA,GAAU,CAAC,GAAA,EAAa,KAAA,KAAuB;AACjD,IAAA,IAAI,CAAC,OAAO,OAAO,EAAA;AAEnB,IAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACtB,MAAA,OAAO,KAAA,CACF,GAAA,CAAI,CAAC,CAAA,KAAM,OAAA,CAAQ,GAAA,EAAK,CAAC,CAAC,CAAA,CAC1B,MAAA,CAAO,OAAO,CAAA,CACd,KAAK,GAAG,CAAA;AAAA,IACjB;AAEA,IAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC3B,MAAA,OAAO,MAAA,CAAO,QAAQ,KAAK,CAAA,CACtB,IAAI,CAAC,CAAC,SAAA,EAAW,WAAW,CAAA,KAAM;AAC/B,QAAA,MAAM,YAAA,GAAe,QAAA,CAAS,SAAS,CAAA,KAAM,MAAA;AAG7C,QAAA,MAAM,OAAA,GAAU,eAAgB,GAAA,GAAM,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,SAAS,KAAK,SAAA,GAAa,GAAA;AAE3E,QAAA,OAAO,OAAA,CAAQ,SAAS,WAAW,CAAA;AAAA,MACvC,CAAC,CAAA,CACA,IAAA,CAAK,GAAG,CAAA;AAAA,IACjB;AAGA,IAAA,MAAM,iBAAiB,GAAA,CAClB,KAAA,CAAM,GAAG,CAAA,CACT,IAAI,CAAC,IAAA,KAAS,QAAA,CAAS,IAAI,KAAK,IAAI,CAAA,CACpC,OAAO,OAAO,CAAA,CACd,KAAK,GAAG,CAAA;AAEb,IAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC3B,MAAA,OAAO,KAAA,CACF,MAAM,UAAU,CAAA,CAChB,OAAO,OAAO,CAAA,CACd,IAAI,CAAC,GAAA,KAAS,CAAC,cAAA,GAAiB,GAAA,GAAM,GAAG,cAAc,CAAA,CAAA,EAAI,GAAG,CAAA,CAAG,CAAA,CACjE,KAAK,GAAG,CAAA;AAAA,IACjB;AACA,IAAA,OAAO,EAAA;AAAA,EACX,CAAA;AAEA,EAAA,OAAO,IAAI,MAAA,KAAkB;AACzB,IAAA,MAAM,SAAA,GAAY,MAAA,CAAO,GAAA,CAAI,CAAC,KAAA,KAAU;AACpC,MAAA,IAAI,KAAA,KAAU,QAAQ,OAAO,KAAA,KAAU,YAAY,CAAC,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACtE,QAAA,OAAO,MAAA,CAAO,QAAQ,KAAK,CAAA,CACtB,IAAI,CAAC,CAAC,CAAA,EAAG,CAAC,CAAA,KAAM;AACb,UAAA,IAAI,CAAA,KAAM,MAAM,OAAO,CAAA;AAEvB,UAAA,OAAO,QAAQ,QAAA,CAAS,CAAC,CAAA,GAAI,CAAA,GAAI,IAAI,CAAC,CAAA;AAAA,QAC1C,CAAC,CAAA,CACA,IAAA,CAAK,GAAG,CAAA;AAAA,MACjB;AACA,MAAA,OAAO,KAAA;AAAA,IACX,CAAC,CAAA;AACD,IAAA,OAAO,OAAA,CAAQ,IAAA,CAAK,SAAS,CAAC,CAAA;AAAA,EAClC,CAAA;AACJ","file":"index.js","sourcesContent":["import { twMerge } from 'tailwind-merge';\r\nimport clsx from 'clsx';\r\n\r\nexport function createCl<TPlugins extends Record<string, string>[]>(...plugins: TPlugins) {\r\n const registry: Record<string, string> = Object.assign({}, ...plugins);\r\n\r\n const process = (key: string, value: any): string => {\r\n if (!value) return '';\r\n\r\n if (Array.isArray(value)) {\r\n return value\r\n .map((v) => process(key, v))\r\n .filter(Boolean)\r\n .join(' ');\r\n }\r\n\r\n if (typeof value === 'object') {\r\n return Object.entries(value)\r\n .map(([nestedKey, nestedValue]) => {\r\n const isRegistered = registry[nestedKey] !== undefined;\r\n // Si el hijo está registrado, añadimos al prefijo.\r\n // Si no, mantenemos el prefijo actual (transparencia).\r\n const nextKey = isRegistered ? (key ? `${key}:${nestedKey}` : nestedKey) : key;\r\n\r\n return process(nextKey, nestedValue);\r\n })\r\n .join(' ');\r\n }\r\n\r\n // RESOLUCIÓN: Solo lo que esté en el registro se convierte en prefijo.\r\n const resolvedPrefix = key\r\n .split(':')\r\n .map((part) => registry[part] || null)\r\n .filter(Boolean)\r\n .join(':');\r\n\r\n if (typeof value === 'string') {\r\n return value\r\n .split(/[,\\s\\n]+/)\r\n .filter(Boolean)\r\n .map((cls) => (!resolvedPrefix ? cls : `${resolvedPrefix}:${cls}`))\r\n .join(' ');\r\n }\r\n return '';\r\n };\r\n\r\n return (...inputs: any[]) => {\r\n const processed = inputs.map((input) => {\r\n if (input !== null && typeof input === 'object' && !Array.isArray(input)) {\r\n return Object.entries(input)\r\n .map(([k, v]) => {\r\n if (v === true) return k;\r\n // Si la llave raíz no está registrada, empezamos proceso con key vacía\r\n return process(registry[k] ? k : '', v);\r\n })\r\n .join(' ');\r\n }\r\n return input;\r\n });\r\n return twMerge(clsx(processed));\r\n };\r\n}\r\n"]}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -8,30 +8,29 @@ export function createCl<TPlugins extends Record<string, string>[]>(...plugins:
|
|
|
8
8
|
if (!value) return '';
|
|
9
9
|
|
|
10
10
|
if (Array.isArray(value)) {
|
|
11
|
-
return value
|
|
11
|
+
return value
|
|
12
|
+
.map((v) => process(key, v))
|
|
13
|
+
.filter(Boolean)
|
|
14
|
+
.join(' ');
|
|
12
15
|
}
|
|
13
16
|
|
|
14
17
|
if (typeof value === 'object') {
|
|
15
18
|
return Object.entries(value)
|
|
16
19
|
.map(([nestedKey, nestedValue]) => {
|
|
17
20
|
const isRegistered = registry[nestedKey] !== undefined;
|
|
18
|
-
|
|
19
|
-
// Si
|
|
20
|
-
|
|
21
|
-
// Si no, heredamos el padre para mantener la transparencia.
|
|
22
|
-
const nextKey = key === 'base'
|
|
23
|
-
? nestedKey
|
|
24
|
-
: (isRegistered ? `${key}:${nestedKey}` : key);
|
|
21
|
+
// Si el hijo está registrado, añadimos al prefijo.
|
|
22
|
+
// Si no, mantenemos el prefijo actual (transparencia).
|
|
23
|
+
const nextKey = isRegistered ? (key ? `${key}:${nestedKey}` : nestedKey) : key;
|
|
25
24
|
|
|
26
25
|
return process(nextKey, nestedValue);
|
|
27
26
|
})
|
|
28
27
|
.join(' ');
|
|
29
28
|
}
|
|
30
29
|
|
|
31
|
-
// RESOLUCIÓN: Solo
|
|
30
|
+
// RESOLUCIÓN: Solo lo que esté en el registro se convierte en prefijo.
|
|
32
31
|
const resolvedPrefix = key
|
|
33
32
|
.split(':')
|
|
34
|
-
.map((part) =>
|
|
33
|
+
.map((part) => registry[part] || null)
|
|
35
34
|
.filter(Boolean)
|
|
36
35
|
.join(':');
|
|
37
36
|
|
|
@@ -51,10 +50,8 @@ export function createCl<TPlugins extends Record<string, string>[]>(...plugins:
|
|
|
51
50
|
return Object.entries(input)
|
|
52
51
|
.map(([k, v]) => {
|
|
53
52
|
if (v === true) return k;
|
|
54
|
-
//
|
|
55
|
-
|
|
56
|
-
const isRegistered = registry[k] !== undefined;
|
|
57
|
-
return process(isRegistered ? k : 'base', v);
|
|
53
|
+
// Si la llave raíz no está registrada, empezamos proceso con key vacía
|
|
54
|
+
return process(registry[k] ? k : '', v);
|
|
58
55
|
})
|
|
59
56
|
.join(' ');
|
|
60
57
|
}
|