{"version":3,"file":"create-namespace.mjs","sources":["../../../../packages/utils/create-namespace.ts"],"sourcesContent":["const _bem = (\r\n  prefixedName: string,\r\n  blockSuffix: string,\r\n  element: string,\r\n  modifier: string\r\n) => {\r\n  if (blockSuffix) {\r\n    prefixedName += `-${blockSuffix}`\r\n  }\r\n  if (element) {\r\n    prefixedName += `__${element}`\r\n  }\r\n  if (modifier) {\r\n    prefixedName += `--${modifier}`\r\n  }\r\n  return prefixedName\r\n}\r\nfunction createBEM(prefixedName: string) {\r\n  const b = (blockSuffix = '') => _bem(prefixedName, blockSuffix, '', '')\r\n  const e = (element = '') =>\r\n    element ? _bem(prefixedName, '', element, '') : ''\r\n  const m = (modifier = '') =>\r\n    modifier ? _bem(prefixedName, '', '', modifier) : ''\r\n  const be = (blockSuffix = '', element = '') =>\r\n    blockSuffix && element ? _bem(prefixedName, blockSuffix, element, '') : ''\r\n  const em = (element: string, modifier: string) =>\r\n    element && modifier ? _bem(prefixedName, '', element, modifier) : ''\r\n  const bm = (blockSuffix: string, modifier: string) =>\r\n    blockSuffix && modifier ? _bem(prefixedName, blockSuffix, '', modifier) : ''\r\n  const bem = (blockSuffix: string, element: string, modifier: string) =>\r\n    blockSuffix && element && modifier\r\n      ? _bem(prefixedName, blockSuffix, element, modifier)\r\n      : ''\r\n  const is = (name = '') => (name ? `is-${name}` : '')\r\n  return {\r\n    b,\r\n    e,\r\n    m,\r\n    be,\r\n    em,\r\n    bm,\r\n    bem,\r\n    is\r\n  }\r\n}\r\nexport function createNamespace(name: string) {\r\n  const prefixedName = `ll-${name}`\r\n  return createBEM(prefixedName)\r\n}\r\n// const bem = createNamespace('button')\r\n// a-button\r\n// a-button-box\r\n// a-button__element\r\n// a-button--disabled\r\n// console.log(bem.b());\r\n// console.log(bem.b(\"box\"));\r\n// console.log(bem.e(\"element\"));\r\n// console.log(bem.m(\"disabled\"));\r\n// console.log(bem.is(\"checked\"));\r\n// console.log(bem.bem(\"box\", \"element\", \"disabled\"));\r\n"],"names":[],"mappings":";AAAA,MAAM,IAAA,GAAO,CACX,YAAA,EACA,WAAA,EACA,SACA,QAAA,KACG;AACH,EAAA,IAAI,WAAA,EAAa;AACf,IAAA,YAAA,IAAgB,IAAI,WAAW,CAAA,CAAA;AAAA,EACjC;AACA,EAAA,IAAI,OAAA,EAAS;AACX,IAAA,YAAA,IAAgB,KAAK,OAAO,CAAA,CAAA;AAAA,EAC9B;AACA,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,YAAA,IAAgB,KAAK,QAAQ,CAAA,CAAA;AAAA,EAC/B;AACA,EAAA,OAAO,YAAA;AACT,CAAA;AACA,SAAS,UAAU,YAAA,EAAsB;AACvC,EAAA,MAAM,CAAA,GAAI,CAAC,WAAA,GAAc,EAAA,KAAO,KAAK,YAAA,EAAc,WAAA,EAAa,IAAI,EAAE,CAAA;AACtE,EAAA,MAAM,CAAA,GAAI,CAAC,OAAA,GAAU,EAAA,KACnB,OAAA,GAAU,KAAK,YAAA,EAAc,EAAA,EAAI,OAAA,EAAS,EAAE,CAAA,GAAI,EAAA;AAClD,EAAA,MAAM,CAAA,GAAI,CAAC,QAAA,GAAW,EAAA,KACpB,QAAA,GAAW,KAAK,YAAA,EAAc,EAAA,EAAI,EAAA,EAAI,QAAQ,CAAA,GAAI,EAAA;AACpD,EAAA,MAAM,EAAA,GAAK,CAAC,WAAA,GAAc,EAAA,EAAI,OAAA,GAAU,EAAA,KACtC,WAAA,IAAe,OAAA,GAAU,IAAA,CAAK,YAAA,EAAc,WAAA,EAAa,OAAA,EAAS,EAAE,CAAA,GAAI,EAAA;AAC1E,EAAA,MAAM,EAAA,GAAK,CAAC,OAAA,EAAiB,QAAA,KAC3B,OAAA,IAAW,QAAA,GAAW,IAAA,CAAK,YAAA,EAAc,EAAA,EAAI,OAAA,EAAS,QAAQ,CAAA,GAAI,EAAA;AACpE,EAAA,MAAM,EAAA,GAAK,CAAC,WAAA,EAAqB,QAAA,KAC/B,WAAA,IAAe,QAAA,GAAW,IAAA,CAAK,YAAA,EAAc,WAAA,EAAa,EAAA,EAAI,QAAQ,CAAA,GAAI,EAAA;AAC5E,EAAA,MAAM,GAAA,GAAM,CAAC,WAAA,EAAqB,OAAA,EAAiB,QAAA,KACjD,WAAA,IAAe,OAAA,IAAW,QAAA,GACtB,IAAA,CAAK,YAAA,EAAc,WAAA,EAAa,OAAA,EAAS,QAAQ,CAAA,GACjD,EAAA;AACN,EAAA,MAAM,KAAK,CAAC,IAAA,GAAO,OAAQ,IAAA,GAAO,CAAA,GAAA,EAAM,IAAI,CAAA,CAAA,GAAK,EAAA;AACjD,EAAA,OAAO;AAAA,IACL,CAAA;AAAA,IACA,CAAA;AAAA,IACA,CAAA;AAAA,IACA,EAAA;AAAA,IACA,EAAA;AAAA,IACA,EAAA;AAAA,IACA,GAAA;AAAA,IACA;AAAA,GACF;AACF;AACO,SAAS,gBAAgB,IAAA,EAAc;AAC5C,EAAA,MAAM,YAAA,GAAe,MAAM,IAAI,CAAA,CAAA;AAC/B,EAAA,OAAO,UAAU,YAAY,CAAA;AAC/B;;;;"}