{"version":3,"file":"class.cjs","sources":["../../../../../packages/utils/dom/class.ts"],"sourcesContent":["import { isArray, isObject, isString } from '../is';\n\nexport function hasClass(node: Element, className: string) {\n  if (node.classList)\n    return node.classList.contains(className);\n\n  const originClass = node.className;\n  return ` ${originClass} `.includes(` ${className} `);\n}\n\nexport function addClass(node, className) {\n  if (node.classList) {\n    node.classList.add(className);\n  } else {\n    if (!hasClass(node, className))\n      node.className = `${node.className} ${className}`;\n  }\n}\n\nexport function removeClass(node, className) {\n  if (node.classList) {\n    node.classList.remove(className);\n  } else {\n    if (hasClass(node, className)) {\n      const originClass = node.className;\n      node.className = ` ${originClass} `.replace(` ${className} `, ' ');\n    }\n  }\n}\n\nexport function classNames(...args: any[]) {\n  const classes = [];\n  for (let i = 0; i < args.length; i++) {\n    const value = args[i];\n    if (!value) continue;\n    if (isString(value)) {\n      classes.push(value);\n    } else if (isArray(value)) {\n      for (let j = 0; j < value.length; j++) {\n        const inner = classNames(value[j]);\n        if (inner)\n          classes.push(inner);\n      }\n    } else if (isObject(value)) {\n      for (const name in value) {\n        if (value[name])\n          classes.push(name);\n      }\n    }\n  }\n  return classes.join(' ');\n}\n"],"names":["isString","isArray","isObject"],"mappings":";;;;AAEgB,SAAA,QAAA,CAAS,MAAe,SAAmB,EAAA;AACzD,EAAA,IAAI,IAAK,CAAA,SAAA;AACP,IAAO,OAAA,IAAA,CAAK,SAAU,CAAA,QAAA,CAAS,SAAS,CAAA,CAAA;AAE1C,EAAA,MAAM,cAAc,IAAK,CAAA,SAAA,CAAA;AACzB,EAAA,OAAO,IAAI,WAAW,CAAA,CAAA,CAAA,CAAI,QAAS,CAAA,CAAA,CAAA,EAAI,SAAS,CAAG,CAAA,CAAA,CAAA,CAAA;AACrD,CAAA;AAEgB,SAAA,QAAA,CAAS,MAAM,SAAW,EAAA;AACxC,EAAA,IAAI,KAAK,SAAW,EAAA;AAClB,IAAK,IAAA,CAAA,SAAA,CAAU,IAAI,SAAS,CAAA,CAAA;AAAA,GACvB,MAAA;AACL,IAAI,IAAA,CAAC,QAAS,CAAA,IAAA,EAAM,SAAS,CAAA;AAC3B,MAAA,IAAA,CAAK,SAAY,GAAA,CAAA,EAAG,IAAK,CAAA,SAAS,IAAI,SAAS,CAAA,CAAA,CAAA;AAAA,GACnD;AACF,CAAA;AAEgB,SAAA,WAAA,CAAY,MAAM,SAAW,EAAA;AAC3C,EAAA,IAAI,KAAK,SAAW,EAAA;AAClB,IAAK,IAAA,CAAA,SAAA,CAAU,OAAO,SAAS,CAAA,CAAA;AAAA,GAC1B,MAAA;AACL,IAAI,IAAA,QAAA,CAAS,IAAM,EAAA,SAAS,CAAG,EAAA;AAC7B,MAAA,MAAM,cAAc,IAAK,CAAA,SAAA,CAAA;AACzB,MAAK,IAAA,CAAA,SAAA,GAAY,IAAI,WAAW,CAAA,CAAA,CAAA,CAAI,QAAQ,CAAI,CAAA,EAAA,SAAS,KAAK,GAAG,CAAA,CAAA;AAAA,KACnE;AAAA,GACF;AACF,CAAA;AAEO,SAAS,cAAc,IAAa,EAAA;AACzC,EAAA,MAAM,UAAU,EAAC,CAAA;AACjB,EAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,IAAA,CAAK,QAAQ,CAAK,EAAA,EAAA;AACpC,IAAM,MAAA,KAAA,GAAQ,KAAK,CAAC,CAAA,CAAA;AACpB,IAAA,IAAI,CAAC,KAAA;AAAO,MAAA,SAAA;AACZ,IAAI,IAAAA,WAAA,CAAS,KAAK,CAAG,EAAA;AACnB,MAAA,OAAA,CAAQ,KAAK,KAAK,CAAA,CAAA;AAAA,KACpB,MAAA,IAAWC,UAAQ,CAAA,KAAK,CAAG,EAAA;AACzB,MAAA,KAAA,IAAS,CAAI,GAAA,CAAA,EAAG,CAAI,GAAA,KAAA,CAAM,QAAQ,CAAK,EAAA,EAAA;AACrC,QAAA,MAAM,KAAQ,GAAA,UAAA,CAAW,KAAM,CAAA,CAAC,CAAC,CAAA,CAAA;AACjC,QAAI,IAAA,KAAA;AACF,UAAA,OAAA,CAAQ,KAAK,KAAK,CAAA,CAAA;AAAA,OACtB;AAAA,KACF,MAAA,IAAWC,WAAS,CAAA,KAAK,CAAG,EAAA;AAC1B,MAAA,KAAA,MAAW,QAAQ,KAAO,EAAA;AACxB,QAAA,IAAI,MAAM,IAAI,CAAA;AACZ,UAAA,OAAA,CAAQ,KAAK,IAAI,CAAA,CAAA;AAAA,OACrB;AAAA,KACF;AAAA,GACF;AACA,EAAO,OAAA,OAAA,CAAQ,KAAK,GAAG,CAAA,CAAA;AACzB;;;;;;;"}