cvax
Advanced tools
Comparing version 0.6.10 to 0.6.11
@@ -1,3 +0,3 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{mergeTwoObjects:function(){return mergeTwoObjects},isCompoundsEquivalent:function(){return isCompoundsEquivalent},cvax:function(){return cvax},cx:function(){return cx},compose:function(){return compose},cvaxify:function(){return cvaxify},variantIdentity:function(){return variantIdentity},mergeVariants:function(){return merge}});const _tailwindmerge=require("tailwind-merge");function variantIdentity(config){return config}function cvaxify(options){const cx=function(){for(var _len=arguments.length,inputs=new Array(_len),_key=0;_key<_len;_key++){inputs[_key]=arguments[_key]}if(typeof options?.hooks?.onComplete==="function")return options?.hooks.onComplete(classic(inputs));return classic(inputs)};const cvax=config=>{if(!config)return props=>cx(props?.class,props?.className);if(!config.variants)return props=>cx(config.base,props?.class,props?.className);return props=>{let classes=cx(config.base);let tmp="";if(!props){if(!("defaultVariants"in config)||!config.defaultVariants)return classes;for(const variant in config.variants){const key=toString(config.defaultVariants[variant]);if(tmp=config.variants[variant][key]){classes=cx(classes,tmp)}}if(!config.compoundVariants)return classes;let adding=true;for(const{class:Class,className,...compound}of config.compoundVariants){for(const prop in compound){assertsKeyof(prop);if(config.defaultVariants[prop]!==compound[prop]){adding=false;break}}if(adding)classes=cx(classes,Class,className);adding=true}return classes}for(const variant in config.variants){const value=toString(props[variant])||toString(config.defaultVariants?.[variant]);if(tmp=config.variants[variant][value]){classes=cx(classes,tmp)}}if(!config.compoundVariants)return cx(classes,props.class,props.className);let adding=true;for(const{class:Class,className,...compound}of config.compoundVariants){for(const prop in compound){assertsKeyof(prop);if(Array.isArray(compound[prop])){if(!compound[prop].includes(props[prop])){adding=false}}else{const some=prop in props?props[prop]:config.defaultVariants?.[prop];if(some!==compound[prop]){adding=false;break}}}if(adding)classes=cx(classes,Class,className);adding=true}return cx(classes,props.class,props.className)}};const compose=function(){for(var _len=arguments.length,components=new Array(_len),_key=0;_key<_len;_key++){components[_key]=arguments[_key]}return props=>{const{class:_,className:__,...rest}=props||{};let tmp,classes="";for(const component of components){if(tmp=component(rest))classes=classes+" "+tmp.trim()}return cx(classes,props?.class,props?.className)}};return{cx,cvax,compose}}function classic(){let i=0,str="",tmp,{length}=arguments;while(i<length){if(tmp=arguments[i++]){str+=getStr(tmp)}}return str.trim()}function getStr(classes){if(!classes||classes===true||typeof classes==="function")return"";if(typeof classes==="number")return classes+" ";if(typeof classes==="object"){let str="";if(Array.isArray(classes)){if(classes.length===0)return"";for(const item of classes.flat(Infinity)){if(item){str+=getStr(item)}}}else{for(const key in classes){if(key==="class"||key==="className"){str+=getStr(classes[key])+" "}else if(classes[key]){str+=key+" "}}}return str}return classes+" "}function assertsKeyof(_arg){}function toString(value){if(typeof value==="boolean"||typeof value==="number"){return value.toString()}if(!value)return"";return value.toString()}function cn(){for(var _len=arguments.length,inputs=new Array(_len),_key=0;_key<_len;_key++){inputs[_key]=arguments[_key]}return(0,_tailwindmerge.twMerge)(cx(inputs))}function merge(baseVariants,newVariants){const base=cn(baseVariants?.base,newVariants?.base);const variants=mergeVariants(baseVariants.variants,newVariants.variants);const defaultVariants=mergeDefaultVariants(baseVariants.defaultVariants,newVariants.defaultVariants);const compoundVariants=mergeCompoundVariants(baseVariants.compoundVariants,newVariants.compoundVariants);return{base,variants,defaultVariants,compoundVariants}}function mergeTwoObjects(left,right){if(Array.isArray(left)||Array.isArray(left))return{};return Object.assign({},left,right)}function mergeVariants(left,right){const acc={};if(left)for(const variants in left){for(const variant in left[variants]){Object.assign(acc,{[variants]:{}});Object.assign(acc[variants],{[variant]:left[variants][variant]})}}if(right)for(const variants in right){for(const variant in right[variants]){if(!(variants in acc)){Object.assign(acc,{[variants]:{}});Object.assign(acc[variants],{[variant]:right[variants][variant]})}else{Object.assign(acc[variants],{[variant]:cn(left?.[variants][variant],right[variants][variant])})}}}return acc}function mergeDefaultVariants(left,right){if(!right)return left||{};if(!left)return right;const acc=Object.assign({},left);for(const variants in right){Object.assign(acc,{[variants]:right[variants]})}return acc}function mergeCompoundVariants(baseVariants,newVariants){if(!baseVariants)return newVariants?newVariants:[];if(!newVariants)return baseVariants;const base=[...baseVariants,...newVariants];let compoundLength=0;for(let i=0;i<base.length;i++){compoundLength=length(base[i]);if(compoundLength<=1){base[i]=null;continue}for(let j=i+1;j<base.length;j++){if(length(base[j])<compoundLength){compoundLength--;break}if(isCompoundsEquivalent(base[i],base[j])){base[i]=null;break}}}return base.filter(item=>item!==null)}function isCompoundsEquivalent(left,right){if(length(left)!==length(right))return false;for(const key of Object.keys(left)){if(key==="class"||key==="className")continue;if(!(key in right))return false;if(left[key]!==right[key]){return false}}return true}function length(obj){return obj?Object.keys(obj).length:-1}const{cvax,cx,compose}=cvaxify(); | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:true});function _export(target,all){for(var name in all)Object.defineProperty(target,name,{enumerable:true,get:all[name]})}_export(exports,{compose:function(){return compose},cvax:function(){return cvax},cvaxify:function(){return cvaxify},cx:function(){return cx},isCompoundsEquivalent:function(){return isCompoundsEquivalent},mergeTwoObjects:function(){return mergeTwoObjects},mergeVariants:function(){return merge},variantIdentity:function(){return variantIdentity}});const _tailwindmerge=require("tailwind-merge");function variantIdentity(config){return config}function cvaxify(options){const cx=function(){for(var _len=arguments.length,inputs=new Array(_len),_key=0;_key<_len;_key++){inputs[_key]=arguments[_key]}if(typeof options?.hooks?.onComplete==="function")return options?.hooks.onComplete(classic(inputs));return classic(inputs)};const cvax=config=>{if(!config)return props=>cx(props?.class,props?.className);if(!config.variants)return props=>cx(config.base,props?.class,props?.className);return props=>{let classes=cx(config.base);let tmp="";if(!props){if(!("defaultVariants"in config)||!config.defaultVariants)return classes;for(const variant in config.variants){const key=toString(config.defaultVariants[variant]);if(tmp=config.variants[variant][key]){classes=cx(classes,tmp)}}if(!config.compoundVariants)return classes;let adding=true;for(const{class:Class,className,...compound}of config.compoundVariants){for(const prop in compound){assertsKeyof(prop);if(config.defaultVariants[prop]!==compound[prop]){adding=false;break}}if(adding)classes=cx(classes,Class,className);adding=true}return classes}for(const variant in config.variants){const value=toString(props[variant])||toString(config.defaultVariants?.[variant]);if(tmp=config.variants[variant][value]){classes=cx(classes,tmp)}}if(!config.compoundVariants)return cx(classes,props.class,props.className);let adding=true;for(const{class:Class,className,...compound}of config.compoundVariants){for(const prop in compound){assertsKeyof(prop);if(Array.isArray(compound[prop])){if(!compound[prop].includes(props[prop])){adding=false}}else{const some=prop in props?props[prop]:config.defaultVariants?.[prop];if(some!==compound[prop]){adding=false;break}}}if(adding)classes=cx(classes,Class,className);adding=true}return cx(classes,props.class,props.className)}};const compose=function(){for(var _len=arguments.length,components=new Array(_len),_key=0;_key<_len;_key++){components[_key]=arguments[_key]}return props=>{const{class:_,className:__,...rest}=props||{};let tmp,classes="";for(const component of components){if(tmp=component(rest))classes=classes+" "+tmp.trim()}return cx(classes,props?.class,props?.className)}};return{cx,cvax,compose}}function classic(){let i=0,str="",tmp,{length}=arguments;while(i<length){if(tmp=arguments[i++]){str+=getStr(tmp)}}return str.trim()}function getStr(classes){if(!classes||classes===true||typeof classes==="function")return"";if(typeof classes==="number")return classes+" ";if(typeof classes==="object"){let str="";if(Array.isArray(classes)){if(classes.length===0)return"";for(const item of classes.flat(Infinity)){if(item){str+=getStr(item)}}}else{for(const key in classes){if(key==="class"||key==="className"){str+=getStr(classes[key])+" "}else if(classes[key]){str+=key+" "}}}return str}return classes+" "}function assertsKeyof(_arg){}function toString(value){if(typeof value==="boolean"||typeof value==="number"){return value.toString()}if(!value)return"";return value.toString()}function cn(){for(var _len=arguments.length,inputs=new Array(_len),_key=0;_key<_len;_key++){inputs[_key]=arguments[_key]}return(0,_tailwindmerge.twMerge)(cx(inputs))}function merge(baseVariants,newVariants){const base=cn(baseVariants?.base,newVariants?.base);const variants=mergeVariants(baseVariants.variants,newVariants.variants);const defaultVariants=mergeDefaultVariants(baseVariants.defaultVariants,newVariants.defaultVariants);const compoundVariants=mergeCompoundVariants(baseVariants.compoundVariants,newVariants.compoundVariants);return{base,variants,defaultVariants,compoundVariants}}function mergeTwoObjects(left,right){if(Array.isArray(left)||Array.isArray(left))return{};return Object.assign({},left,right)}function mergeVariants(left,right){const acc={};if(left)for(const variants in left){for(const variant in left[variants]){Object.assign(acc,{[variants]:{}});Object.assign(acc[variants],{[variant]:left[variants][variant]})}}if(right)for(const variants in right){for(const variant in right[variants]){if(!(variants in acc)){Object.assign(acc,{[variants]:{}});Object.assign(acc[variants],{[variant]:right[variants][variant]})}else{Object.assign(acc[variants],{[variant]:cn(left?.[variants][variant],right[variants][variant])})}}}return acc}function mergeDefaultVariants(left,right){if(!right)return left||{};if(!left)return right;const acc=Object.assign({},left);for(const variants in right){Object.assign(acc,{[variants]:right[variants]})}return acc}function mergeCompoundVariants(baseVariants,newVariants){if(!baseVariants)return newVariants?newVariants:[];if(!newVariants)return baseVariants;const base=[...baseVariants,...newVariants];let compoundLength=0;for(let i=0;i<base.length;i++){compoundLength=length(base[i]);if(compoundLength<=1){base[i]=null;continue}for(let j=i+1;j<base.length;j++){if(length(base[j])<compoundLength){compoundLength--;break}if(isCompoundsEquivalent(base[i],base[j])){base[i]=null;break}}}return base.filter(item=>item!==null)}function isCompoundsEquivalent(left,right){if(length(left)!==length(right))return false;for(const key of Object.keys(left)){if(key==="class"||key==="className")continue;if(!(key in right))return false;if(left[key]!==right[key]){return false}}return true}function length(obj){return obj?Object.keys(obj).length:-1}const{cvax,cx,compose}=cvaxify(); | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "cvax", | ||
"version": "0.6.10", | ||
"version": "0.6.11", | ||
"description": "Customized CVA. fork 'class-variance-authority'", | ||
@@ -27,3 +27,2 @@ "repository": "https://github.com/alexvyber/cvax.git", | ||
"test": "run-p test:*", | ||
"test:size": "pnpm build && bundlesize -f 'dist/*.js' -s 2KB", | ||
"test:vitest": "vitest", | ||
@@ -34,10 +33,18 @@ "tsc": "tsc --project tsconfig.json --noEmit" | ||
"@alexvyber/turbo-helpers-types": "0.0.0-dev-4", | ||
"@swc/cli": "0.1.62", | ||
"@swc/core": "1.3.81", | ||
"@swc/cli": "0.1.63", | ||
"@swc/core": "1.3.99", | ||
"bundlesize": "^0.18.1", | ||
"npm-run-all": "4.1.5", | ||
"tailwind-merge": "^1.14.0", | ||
"typescript": "5.2.2", | ||
"vitest": "^0.34.3" | ||
"tailwind-merge": "^2.0.0", | ||
"typescript": "5.3.2", | ||
"vitest": "^0.34.6" | ||
}, | ||
"peerDependencies": { | ||
"typescript": ">= 4.5.5 < 6" | ||
}, | ||
"peerDependenciesMeta": { | ||
"typescript": { | ||
"optional": true | ||
} | ||
}, | ||
"publishConfig": { | ||
@@ -44,0 +51,0 @@ "exports": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
73293
9
+ Added@babel/runtime@7.24.4(transitive)
+ Added@swc/cli@0.1.63(transitive)
+ Added@swc/core@1.3.99(transitive)
+ Added@swc/core-darwin-arm64@1.3.99(transitive)
+ Added@swc/core-darwin-x64@1.3.99(transitive)
+ Added@swc/core-linux-arm64-gnu@1.3.99(transitive)
+ Added@swc/core-linux-arm64-musl@1.3.99(transitive)
+ Added@swc/core-linux-x64-gnu@1.3.99(transitive)
+ Added@swc/core-linux-x64-musl@1.3.99(transitive)
+ Added@swc/core-win32-arm64-msvc@1.3.99(transitive)
+ Added@swc/core-win32-ia32-msvc@1.3.99(transitive)
+ Added@swc/core-win32-x64-msvc@1.3.99(transitive)
+ Addedregenerator-runtime@0.14.1(transitive)
+ Addedtailwind-merge@2.3.0(transitive)
+ Addedtypescript@5.3.2(transitive)
- Removed@swc/cli@0.1.62(transitive)
- Removed@swc/core@1.3.81(transitive)
- Removed@swc/core-darwin-arm64@1.3.81(transitive)
- Removed@swc/core-darwin-x64@1.3.81(transitive)
- Removed@swc/core-linux-arm-gnueabihf@1.3.81(transitive)
- Removed@swc/core-linux-arm64-gnu@1.3.81(transitive)
- Removed@swc/core-linux-arm64-musl@1.3.81(transitive)
- Removed@swc/core-linux-x64-gnu@1.3.81(transitive)
- Removed@swc/core-linux-x64-musl@1.3.81(transitive)
- Removed@swc/core-win32-arm64-msvc@1.3.81(transitive)
- Removed@swc/core-win32-ia32-msvc@1.3.81(transitive)
- Removed@swc/core-win32-x64-msvc@1.3.81(transitive)
- Removedtailwind-merge@1.14.0(transitive)
- Removedtypescript@5.2.2(transitive)
Updated@swc/cli@0.1.63
Updated@swc/core@1.3.99
Updatedtailwind-merge@^2.0.0
Updatedtypescript@5.3.2
Updatedvitest@^0.34.6