{"version":3,"file":"index.mjs","sources":["../../../../packages/hooks/use-namespace/index.ts"],"sourcesContent":["const namespace = 'el'\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) {\n    cls += `-${blockSuffix}`\n  }\n  if (element) {\n    cls += `__${element}`\n  }\n  if (modifier) {\n    cls += `--${modifier}`\n  }\n  return cls\n}\n\nexport const useNamespace = (block: string) => {\n  const b = (blockSuffix = '') => _bem(namespace, block, blockSuffix, '', '')\n  const e = (element?: string) =>\n    element ? _bem(namespace, block, '', element, '') : ''\n  const m = (modifier?: string) =>\n    modifier ? _bem(namespace, block, '', '', modifier) : ''\n  const is = (name: string, ...args: [boolean | undefined] | []) => {\n    const state = args.length >= 1 ? args[0]! : true\n    return name && state ? `${statePrefix}${name}` : ''\n  }\n\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}-${block}-${key}`] = object[key]\n      }\n    }\n    return styles\n  }\n\n  return { b, e, m, is, cssVarBlock }\n}\n"],"names":["namespace"],"mappings":"AAAA,MAAM,SAAY,GAAA,IAAA,CAAA;AAClB,MAAM,WAAc,GAAA,KAAA,CAAA;AAEpB,MAAM,OAAO,CACXA,UAAAA,EACA,KACA,EAAA,WAAA,EACA,SACA,QACG,KAAA;AACH,EAAI,IAAA,GAAA,GAAM,GAAGA,UAAa,CAAA,CAAA,EAAA,KAAA,CAAA,CAAA,CAAA;AAC1B,EAAA,IAAI,WAAa,EAAA;AACf,IAAA,GAAA,IAAO,CAAI,CAAA,EAAA,WAAA,CAAA,CAAA,CAAA;AAAA,GACb;AACA,EAAA,IAAI,OAAS,EAAA;AACX,IAAA,GAAA,IAAO,CAAK,EAAA,EAAA,OAAA,CAAA,CAAA,CAAA;AAAA,GACd;AACA,EAAA,IAAI,QAAU,EAAA;AACZ,IAAA,GAAA,IAAO,CAAK,EAAA,EAAA,QAAA,CAAA,CAAA,CAAA;AAAA,GACd;AACA,EAAO,OAAA,GAAA,CAAA;AACT,CAAA,CAAA;AAEa,MAAA,YAAA,GAAe,CAAC,KAAkB,KAAA;AAC7C,EAAM,MAAA,CAAA,GAAI,CAAC,WAAc,GAAA,EAAA,KAAO,KAAK,SAAW,EAAA,KAAA,EAAO,WAAa,EAAA,EAAA,EAAI,EAAE,CAAA,CAAA;AAC1E,EAAM,MAAA,CAAA,GAAI,CAAC,OAAA,KACT,OAAU,GAAA,IAAA,CAAK,WAAW,KAAO,EAAA,EAAA,EAAI,OAAS,EAAA,EAAE,CAAI,GAAA,EAAA,CAAA;AACtD,EAAM,MAAA,CAAA,GAAI,CAAC,QAAA,KACT,QAAW,GAAA,IAAA,CAAK,WAAW,KAAO,EAAA,EAAA,EAAI,EAAI,EAAA,QAAQ,CAAI,GAAA,EAAA,CAAA;AACxD,EAAM,MAAA,EAAA,GAAK,CAAC,IAAA,EAAA,GAAiB,IAAqC,KAAA;AAChE,IAAA,MAAM,KAAQ,GAAA,IAAA,CAAK,MAAU,IAAA,CAAA,GAAI,KAAK,CAAM,CAAA,GAAA,IAAA,CAAA;AAC5C,IAAA,OAAO,IAAQ,IAAA,KAAA,GAAQ,CAAG,EAAA,WAAA,CAAA,EAAc,IAAS,CAAA,CAAA,GAAA,EAAA,CAAA;AAAA,GACnD,CAAA;AAEA,EAAM,MAAA,WAAA,GAAc,CAAC,MAAmC,KAAA;AACtD,IAAA,MAAM,SAAiC,EAAC,CAAA;AACxC,IAAA,KAAA,MAAW,OAAO,MAAQ,EAAA;AACxB,MAAA,IAAI,OAAO,GAAM,CAAA,EAAA;AACf,QAAA,MAAA,CAAO,CAAK,EAAA,EAAA,SAAA,CAAA,CAAA,EAAa,KAAS,CAAA,CAAA,EAAA,GAAA,CAAA,CAAA,CAAA,GAAS,MAAO,CAAA,GAAA,CAAA,CAAA;AAAA,OACpD;AAAA,KACF;AACA,IAAO,OAAA,MAAA,CAAA;AAAA,GACT,CAAA;AAEA,EAAA,OAAO,EAAE,CAAA,EAAG,CAAG,EAAA,CAAA,EAAG,IAAI,WAAY,EAAA,CAAA;AACpC;;;;"}