clases 1.1.6 → 1.1.7
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 +4 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/index.ts +12 -6
package/dist/index.cjs
CHANGED
|
@@ -22,7 +22,10 @@ function createCl(...plugins) {
|
|
|
22
22
|
const nextKey = key ? `${key}:${nestedKey}` : nestedKey;
|
|
23
23
|
return process(nextKey, nestedValue);
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
if (nestedValue) {
|
|
26
|
+
return process(key, nestedKey);
|
|
27
|
+
}
|
|
28
|
+
return "";
|
|
26
29
|
}).join(" ");
|
|
27
30
|
}
|
|
28
31
|
const resolvedPrefix = key.split(":").map((part) => registry[part] || null).filter(Boolean).join(":");
|
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;AAGnB,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;AAGA,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,QAAA,GAAW,QAAA,CAAS,SAAS,CAAA,KAAM,MAAA;AAEzC,QAAA,IAAI,QAAA,EAAU;AACV,UAAA,MAAM,UAAU,GAAA,GAAM,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA,GAAK,SAAA;AAC9C,UAAA,OAAO,OAAA,CAAQ,SAAS,WAAW,CAAA;AAAA,QACvC;
|
|
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;AAGnB,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;AAGA,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,QAAA,GAAW,QAAA,CAAS,SAAS,CAAA,KAAM,MAAA;AAEzC,QAAA,IAAI,QAAA,EAAU;AACV,UAAA,MAAM,UAAU,GAAA,GAAM,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA,GAAK,SAAA;AAC9C,UAAA,OAAO,OAAA,CAAQ,SAAS,WAAW,CAAA;AAAA,QACvC;AAIA,QAAA,IAAI,WAAA,EAAa;AACb,UAAA,OAAO,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,QACjC;AAEA,QAAA,OAAO,EAAA;AAAA,MACX,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;AAGb,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;AAEA,IAAA,OAAO,EAAA;AAAA,EACX,CAAA;AAEA,EAAA,OAAO,IAAI,MAAA,KAAyB;AAChC,IAAA,MAAM,SAAA,GAAY,OAAO,GAAA,CAAI,CAAC,UAAU,OAAA,CAAQ,EAAA,EAAI,KAAK,CAAC,CAAA;AAC1D,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, { type ClassValue } 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 // 1. Arrays: Multilínea\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 // 2. Objetos\r\n if (typeof value === 'object') {\r\n return Object.entries(value)\r\n .map(([nestedKey, nestedValue]) => {\r\n const isPrefix = registry[nestedKey] !== undefined;\r\n\r\n if (isPrefix) {\r\n const nextKey = key ? `${key}:${nestedKey}` : nestedKey;\r\n return process(nextKey, nestedValue);\r\n }\r\n\r\n // CORRECCIÓN: Si es lógica { 'clase': true },\r\n // procesamos la LLAVE como el valor para que reciba el prefijo\r\n if (nestedValue) {\r\n return process(key, nestedKey);\r\n }\r\n\r\n return '';\r\n })\r\n .join(' ');\r\n }\r\n\r\n // 3. Resolución de 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 // 4. Aplicación (Ahora sí recibirá la clase desde el paso 2)\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\r\n return '';\r\n };\r\n\r\n return (...inputs: ClassValue[]) => {\r\n const processed = inputs.map((input) => process('', input));\r\n return twMerge(clsx(processed));\r\n };\r\n}\r\n"]}
|
package/dist/index.js
CHANGED
|
@@ -16,7 +16,10 @@ function createCl(...plugins) {
|
|
|
16
16
|
const nextKey = key ? `${key}:${nestedKey}` : nestedKey;
|
|
17
17
|
return process(nextKey, nestedValue);
|
|
18
18
|
}
|
|
19
|
-
|
|
19
|
+
if (nestedValue) {
|
|
20
|
+
return process(key, nestedKey);
|
|
21
|
+
}
|
|
22
|
+
return "";
|
|
20
23
|
}).join(" ");
|
|
21
24
|
}
|
|
22
25
|
const resolvedPrefix = key.split(":").map((part) => registry[part] || null).filter(Boolean).join(":");
|
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;AAGnB,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;AAGA,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,QAAA,GAAW,QAAA,CAAS,SAAS,CAAA,KAAM,MAAA;AAEzC,QAAA,IAAI,QAAA,EAAU;AACV,UAAA,MAAM,UAAU,GAAA,GAAM,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA,GAAK,SAAA;AAC9C,UAAA,OAAO,OAAA,CAAQ,SAAS,WAAW,CAAA;AAAA,QACvC;
|
|
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;AAGnB,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;AAGA,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,QAAA,GAAW,QAAA,CAAS,SAAS,CAAA,KAAM,MAAA;AAEzC,QAAA,IAAI,QAAA,EAAU;AACV,UAAA,MAAM,UAAU,GAAA,GAAM,CAAA,EAAG,GAAG,CAAA,CAAA,EAAI,SAAS,CAAA,CAAA,GAAK,SAAA;AAC9C,UAAA,OAAO,OAAA,CAAQ,SAAS,WAAW,CAAA;AAAA,QACvC;AAIA,QAAA,IAAI,WAAA,EAAa;AACb,UAAA,OAAO,OAAA,CAAQ,KAAK,SAAS,CAAA;AAAA,QACjC;AAEA,QAAA,OAAO,EAAA;AAAA,MACX,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;AAGb,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;AAEA,IAAA,OAAO,EAAA;AAAA,EACX,CAAA;AAEA,EAAA,OAAO,IAAI,MAAA,KAAyB;AAChC,IAAA,MAAM,SAAA,GAAY,OAAO,GAAA,CAAI,CAAC,UAAU,OAAA,CAAQ,EAAA,EAAI,KAAK,CAAC,CAAA;AAC1D,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, { type ClassValue } 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 // 1. Arrays: Multilínea\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 // 2. Objetos\r\n if (typeof value === 'object') {\r\n return Object.entries(value)\r\n .map(([nestedKey, nestedValue]) => {\r\n const isPrefix = registry[nestedKey] !== undefined;\r\n\r\n if (isPrefix) {\r\n const nextKey = key ? `${key}:${nestedKey}` : nestedKey;\r\n return process(nextKey, nestedValue);\r\n }\r\n\r\n // CORRECCIÓN: Si es lógica { 'clase': true },\r\n // procesamos la LLAVE como el valor para que reciba el prefijo\r\n if (nestedValue) {\r\n return process(key, nestedKey);\r\n }\r\n\r\n return '';\r\n })\r\n .join(' ');\r\n }\r\n\r\n // 3. Resolución de 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 // 4. Aplicación (Ahora sí recibirá la clase desde el paso 2)\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\r\n return '';\r\n };\r\n\r\n return (...inputs: ClassValue[]) => {\r\n const processed = inputs.map((input) => process('', input));\r\n return twMerge(clsx(processed));\r\n };\r\n}\r\n"]}
|
package/package.json
CHANGED
package/src/index.ts
CHANGED
|
@@ -7,7 +7,7 @@ export function createCl<TPlugins extends Record<string, string>[]>(...plugins:
|
|
|
7
7
|
const process = (key: string, value: any): string => {
|
|
8
8
|
if (!value) return '';
|
|
9
9
|
|
|
10
|
-
// 1.
|
|
10
|
+
// 1. Arrays: Multilínea
|
|
11
11
|
if (Array.isArray(value)) {
|
|
12
12
|
return value
|
|
13
13
|
.map((v) => process(key, v))
|
|
@@ -15,7 +15,7 @@ export function createCl<TPlugins extends Record<string, string>[]>(...plugins:
|
|
|
15
15
|
.join(' ');
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
// 2. Objetos
|
|
18
|
+
// 2. Objetos
|
|
19
19
|
if (typeof value === 'object') {
|
|
20
20
|
return Object.entries(value)
|
|
21
21
|
.map(([nestedKey, nestedValue]) => {
|
|
@@ -26,19 +26,25 @@ export function createCl<TPlugins extends Record<string, string>[]>(...plugins:
|
|
|
26
26
|
return process(nextKey, nestedValue);
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
//
|
|
30
|
-
|
|
29
|
+
// CORRECCIÓN: Si es lógica { 'clase': true },
|
|
30
|
+
// procesamos la LLAVE como el valor para que reciba el prefijo
|
|
31
|
+
if (nestedValue) {
|
|
32
|
+
return process(key, nestedKey);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return '';
|
|
31
36
|
})
|
|
32
37
|
.join(' ');
|
|
33
38
|
}
|
|
34
39
|
|
|
35
|
-
// 3. Resolución
|
|
40
|
+
// 3. Resolución de Prefijo
|
|
36
41
|
const resolvedPrefix = key
|
|
37
42
|
.split(':')
|
|
38
43
|
.map((part) => registry[part] || null)
|
|
39
44
|
.filter(Boolean)
|
|
40
45
|
.join(':');
|
|
41
46
|
|
|
47
|
+
// 4. Aplicación (Ahora sí recibirá la clase desde el paso 2)
|
|
42
48
|
if (typeof value === 'string') {
|
|
43
49
|
return value
|
|
44
50
|
.split(/[,\s\n]+/)
|
|
@@ -46,11 +52,11 @@ export function createCl<TPlugins extends Record<string, string>[]>(...plugins:
|
|
|
46
52
|
.map((cls) => (!resolvedPrefix ? cls : `${resolvedPrefix}:${cls}`))
|
|
47
53
|
.join(' ');
|
|
48
54
|
}
|
|
55
|
+
|
|
49
56
|
return '';
|
|
50
57
|
};
|
|
51
58
|
|
|
52
59
|
return (...inputs: ClassValue[]) => {
|
|
53
|
-
// Procesamos uno a uno para capturar objetos de prefijos antes de que clsx los aplane
|
|
54
60
|
const processed = inputs.map((input) => process('', input));
|
|
55
61
|
return twMerge(clsx(processed));
|
|
56
62
|
};
|