UNPKG

@primeuix/utils

Version:

Utility functions and helpers for PrimeUI Libraries

1 lines 3.58 kB
{"version":3,"sources":["../../src/classnames/index.ts","../../src/object/methods/isFunction.ts","../../src/mergeprops/index.ts"],"sourcesContent":["export function cn(...args: any[]): string | undefined {\n if (args) {\n let classes: any = [];\n\n for (let i = 0; i < args.length; i++) {\n const className = args[i];\n\n if (!className) {\n continue;\n }\n\n const type = typeof className;\n\n if (type === 'string' || type === 'number') {\n classes.push(className);\n } else if (type === 'object') {\n const _classes = Array.isArray(className) ? [cn(...className)] : Object.entries(className).map(([key, value]) => (value ? key : undefined));\n\n classes = _classes.length ? classes.concat(_classes.filter((c) => !!c)) : classes;\n }\n }\n\n return classes.join(' ').trim();\n }\n\n return undefined;\n}\n\n/**\n * @deprecated Use `cn` instead.\n * @param args\n * @returns\n */\nexport function classNames(...args: any[]): string | undefined {\n return cn(...args);\n}\n","export default function isFunction(value: unknown): value is (...args: unknown[]) => unknown {\n return typeof value === 'function' && 'call' in value && 'apply' in value;\n}\n","import { cn } from '../classnames';\nimport { isFunction } from '../object';\n\nexport function mergeProps(...props: any[]): object | undefined {\n return props?.reduce((merged, ps = {}) => {\n for (const key in ps) {\n const value = ps[key];\n\n if (key === 'style') {\n merged['style'] = { ...merged['style'], ...ps['style'] };\n } else if (key === 'class' || key === 'className') {\n merged[key] = cn(merged[key], ps[key]);\n } else if (isFunction(value)) {\n const fn = merged[key];\n\n merged[key] = fn\n ? (...args: any[]) => {\n fn(...args);\n value(...args);\n }\n : value;\n } else {\n merged[key] = value;\n }\n }\n\n return merged;\n }, {});\n}\n"],"mappings":"yVAAO,SAASA,KAAMC,EAAiC,CACnD,GAAIA,EAAM,CACN,IAAIC,EAAe,CAAC,EAEpB,QAASC,EAAI,EAAGA,EAAIF,EAAK,OAAQE,IAAK,CAClC,IAAMC,EAAYH,EAAKE,CAAC,EAExB,GAAI,CAACC,EACD,SAGJ,IAAMC,EAAO,OAAOD,EAEpB,GAAIC,IAAS,UAAYA,IAAS,SAC9BH,EAAQ,KAAKE,CAAS,UACfC,IAAS,SAAU,CAC1B,IAAMC,EAAW,MAAM,QAAQF,CAAS,EAAI,CAACJ,EAAG,GAAGI,CAAS,CAAC,EAAI,OAAO,QAAQA,CAAS,EAAE,IAAI,CAAC,CAACG,EAAKC,CAAK,IAAOA,EAAQD,EAAM,MAAU,EAE1IL,EAAUI,EAAS,OAASJ,EAAQ,OAAOI,EAAS,OAAQG,GAAM,CAAC,CAACA,CAAC,CAAC,EAAIP,CAC9E,CACJ,CAEA,OAAOA,EAAQ,KAAK,GAAG,EAAE,KAAK,CAClC,CAGJ,CC1Be,SAARQ,EAA4BC,EAA0D,CACzF,OAAO,OAAOA,GAAU,YAAc,SAAUA,GAAS,UAAWA,CACxE,CCCO,SAASC,KAAcC,EAAkC,CAC5D,OAAOA,GAAA,YAAAA,EAAO,OAAO,CAACC,EAAQC,EAAK,CAAC,IAAM,CACtC,QAAWC,KAAOD,EAAI,CAClB,IAAME,EAAQF,EAAGC,CAAG,EAEpB,GAAIA,IAAQ,QACRF,EAAO,MAAWI,IAAA,GAAKJ,EAAO,OAAaC,EAAG,eACvCC,IAAQ,SAAWA,IAAQ,YAClCF,EAAOE,CAAG,EAAIG,EAAGL,EAAOE,CAAG,EAAGD,EAAGC,CAAG,CAAC,UAC9BI,EAAWH,CAAK,EAAG,CAC1B,IAAMI,EAAKP,EAAOE,CAAG,EAErBF,EAAOE,CAAG,EAAIK,EACR,IAAIC,IAAgB,CAChBD,EAAG,GAAGC,CAAI,EACVL,EAAM,GAAGK,CAAI,CACjB,EACAL,CACV,MACIH,EAAOE,CAAG,EAAIC,CAEtB,CAEA,OAAOH,CACX,EAAG,CAAC,EACR","names":["cn","args","classes","i","className","type","_classes","key","value","c","isFunction","value","mergeProps","props","merged","ps","key","value","__spreadValues","cn","isFunction","fn","args"]}