{"version":3,"file":"index4.cjs","sources":["../../../src/hooks/use-namespace.ts"],"sourcesContent":["import { DEFAULT_COMPONENT_PREFIX } from '../tokens'\nimport { camelize, capitalize } from '../utils'\nimport { useGlobalConfig } from './use-global-config'\n\nconst statePrefix = 'is-'\n\nconst _bem = (\n  namespace: string,\n  block: string,\n  blockSuffix: string,\n  element: string,\n  modifier: string\n) => {\n  let cls = `${namespace}-${block}`\n  if (blockSuffix) cls += `-${blockSuffix}`\n\n  if (element) cls += `__${element}`\n\n  if (modifier) cls += `--${modifier}`\n\n  return cls\n}\n\nexport const useNamespace = (block: string) => {\n  const namespace = useGlobalConfig('namespace', DEFAULT_COMPONENT_PREFIX)\n  /** config-provider => TaConfigProvider */\n  const n = `${capitalize(DEFAULT_COMPONENT_PREFIX)}${camelize(block)}`\n  /** config-provider => ta-config-provider */\n  const b = (blockSuffix = '') =>\n    _bem(namespace.value, block, blockSuffix, '', '')\n  const e = (element?: string) =>\n    element ? _bem(namespace.value, block, '', element, '') : ''\n  const m = (modifier?: string) =>\n    modifier ? _bem(namespace.value, block, '', '', modifier) : ''\n  const be = (blockSuffix?: string, element?: string) =>\n    blockSuffix && element\n      ? _bem(namespace.value, block, blockSuffix, element, '')\n      : ''\n  const em = (element?: string, modifier?: string) =>\n    element && modifier\n      ? _bem(namespace.value, block, '', element, modifier)\n      : ''\n  const bm = (blockSuffix?: string, modifier?: string) =>\n    blockSuffix && modifier\n      ? _bem(namespace.value, block, blockSuffix, '', modifier)\n      : ''\n  const bem = (blockSuffix?: string, element?: string, modifier?: string) =>\n    blockSuffix && element && modifier\n      ? _bem(namespace.value, block, blockSuffix, element, modifier)\n      : ''\n  const is: {\n    (name: string, state: boolean | undefined): string\n    (name: string): string\n  } = (name: string, ...args: [boolean | undefined] | []) => {\n    const state = args.length >= 1 ? args[0]! : true\n    return name && state ? `${statePrefix}${name}` : ''\n  }\n\n  // for css var\n  // --el-xxx: value;\n  const cssVar = (object: Record<string, string>) => {\n    const styles: Record<string, string> = {}\n    for (const key in object)\n      if (object[key]) styles[`--${namespace.value}-${key}`] = object[key]\n\n    return styles\n  }\n  // with block\n  const cssVarBlock = (object: Record<string, string>) => {\n    const styles: Record<string, string> = {}\n    for (const key in object) {\n      if (object[key])\n        styles[`--${namespace.value}-${block}-${key}`] = object[key]\n    }\n    return styles\n  }\n\n  const cssVarName = (name: string) => `--${namespace.value}-${name}`\n  const cssVarBlockName = (name: string) =>\n    `--${namespace.value}-${block}-${name}`\n\n  return {\n    namespace,\n    n,\n    b,\n    e,\n    m,\n    be,\n    em,\n    bm,\n    bem,\n    is,\n    // css\n    cssVar,\n    cssVarName,\n    cssVarBlock,\n    cssVarBlockName,\n  }\n}\n\nexport type UseNamespaceReturn = ReturnType<typeof useNamespace>\n"],"names":["statePrefix","_bem","namespace","block","blockSuffix","element","modifier","cls","useNamespace","useGlobalConfig","DEFAULT_COMPONENT_PREFIX","n","capitalize","camelize","name","args","state","object","styles","key"],"mappings":"8MAIMA,EAAc,MAEdC,EAAO,CACXC,EACAC,EACAC,EACAC,EACAC,IACG,CACC,IAAAC,EAAM,GAAGL,KAAaC,IACtB,OAAAC,IAAaG,GAAO,IAAIH,KAExBC,IAASE,GAAO,KAAKF,KAErBC,IAAUC,GAAO,KAAKD,KAEnBC,CACT,EAEaC,EAAgBL,GAAkB,CACvC,MAAAD,EAAYO,EAAAA,gBAAgB,YAAaC,EAAwB,wBAAA,EAEjEC,EAAI,GAAGC,aAAWF,EAAAA,wBAAwB,IAAIG,WAASV,CAAK,IAuD3D,MAAA,CACL,UAAAD,EACA,EAAAS,EACA,EAxDQ,CAACP,EAAc,KACvBH,EAAKC,EAAU,MAAOC,EAAOC,EAAa,GAAI,EAAE,EAwDhD,EAvDSC,GACTA,EAAUJ,EAAKC,EAAU,MAAOC,EAAO,GAAIE,EAAS,EAAE,EAAI,GAuD1D,EAtDSC,GACTA,EAAWL,EAAKC,EAAU,MAAOC,EAAO,GAAI,GAAIG,CAAQ,EAAI,GAsD5D,GArDS,CAACF,EAAsBC,IAChCD,GAAeC,EACXJ,EAAKC,EAAU,MAAOC,EAAOC,EAAaC,EAAS,EAAE,EACrD,GAmDJ,GAlDS,CAACA,EAAkBC,IAC5BD,GAAWC,EACPL,EAAKC,EAAU,MAAOC,EAAO,GAAIE,EAASC,CAAQ,EAClD,GAgDJ,GA/CS,CAACF,EAAsBE,IAChCF,GAAeE,EACXL,EAAKC,EAAU,MAAOC,EAAOC,EAAa,GAAIE,CAAQ,EACtD,GA6CJ,IA5CU,CAACF,EAAsBC,EAAkBC,IACnDF,GAAeC,GAAWC,EACtBL,EAAKC,EAAU,MAAOC,EAAOC,EAAaC,EAASC,CAAQ,EAC3D,GA0CJ,GAtCE,CAACQ,KAAiBC,IAAqC,CACzD,MAAMC,EAAQD,EAAK,QAAU,EAAIA,EAAK,GAAM,GAC5C,OAAOD,GAAQE,EAAQ,GAAGhB,IAAcc,IAAS,EAAA,EAsCjD,OAjCcG,GAAmC,CACjD,MAAMC,EAAiC,CAAA,EACvC,UAAWC,KAAOF,EACZA,EAAOE,KAAMD,EAAO,KAAKhB,EAAU,SAASiB,KAASF,EAAOE,IAE3D,OAAAD,CAAA,EA6BP,WAjBkBJ,GAAiB,KAAKZ,EAAU,SAASY,IAkB3D,YA3BmBG,GAAmC,CACtD,MAAMC,EAAiC,CAAA,EACvC,UAAWC,KAAOF,EACZA,EAAOE,KACTD,EAAO,KAAKhB,EAAU,SAASC,KAASgB,KAASF,EAAOE,IAErD,OAAAD,CAAA,EAsBP,gBAlBuBJ,GACvB,KAAKZ,EAAU,SAASC,KAASW,GAiBjC,CAEJ"}