{"version":3,"file":"icons.cjs","sources":["../icons.ts"],"sourcesContent":["import { App, inject, InjectionKey } from \"vue\";\n\nimport { IconSets, kebabize } from \"./utils\";\n\nconst IconSymbol: InjectionKey<IconSets> = Symbol.for(\"torusui:icons\");\n\nexport const getIconName = (name: string): string => {\n  return `${kebabize(name)}`;\n};\n\nexport const createIcons = (customIcons?: IconSets) => {\n  const install = (app: App) => {\n    const setup = () => {\n      const icons: IconSets = {};\n\n      Object.entries(customIcons || {}).forEach(([key, value]) => {\n        icons[kebabize(key)] = value;\n      });\n\n      return icons;\n    };\n    const { mount } = app;\n    // eslint-disable-next-line @typescript-eslint/no-explicit-any\n    app.mount = (rootContainer: any, isHydrate?: boolean, isSVG?: boolean) => {\n      app.provide(IconSymbol, setup());\n      const ret = mount(rootContainer, isHydrate, isSVG);\n      app.mount = mount;\n      return ret;\n    };\n  };\n\n  return { install };\n};\n\nexport const useIcons = () => {\n  const icons = inject(IconSymbol);\n\n  if (!icons) throw new Error(\"Missing Torus Icons provided\");\n\n  function getIcon(name: string) {\n    if (!icons[name]) {\n      console.error(`Missing Icon name give ${name}`);\n      return null;\n    }\n    return icons[name];\n  }\n\n  return { getIcon };\n};\n"],"names":["IconSymbol","getIconName","name","kebabize","createIcons","customIcons","app","setup","icons","key","value","mount","rootContainer","isHydrate","isSVG","ret","useIcons","inject","getIcon"],"mappings":"0IAIMA,EAAqC,OAAO,IAAI,eAAe,EAExDC,EAAeC,GACnB,GAAGC,EAAAA,SAASD,CAAI,CAAC,GAGbE,EAAeC,IAqBnB,CAAE,QApBQC,GAAa,CAC5B,MAAMC,EAAQ,IAAM,CAClB,MAAMC,EAAkB,CAAA,EAExB,cAAO,QAAQH,GAAe,CAAA,CAAE,EAAE,QAAQ,CAAC,CAACI,EAAKC,CAAK,IAAM,CAC1DF,EAAML,EAAAA,SAASM,CAAG,CAAC,EAAIC,CACzB,CAAC,EAEMF,CACT,EACM,CAAE,MAAAG,GAAUL,EAElBA,EAAI,MAAQ,CAACM,EAAoBC,EAAqBC,IAAoB,CACxER,EAAI,QAAQN,EAAYO,GAAO,EAC/B,MAAMQ,EAAMJ,EAAMC,EAAeC,EAAWC,CAAK,EACjD,OAAAR,EAAI,MAAQK,EACLI,CACT,CACF,CAES,GAGEC,EAAW,IAAM,CAC5B,MAAMR,EAAQS,EAAAA,OAAOjB,CAAU,EAE/B,GAAI,CAACQ,EAAO,MAAM,IAAI,MAAM,8BAA8B,EAE1D,SAASU,EAAQhB,EAAc,CAC7B,OAAKM,EAAMN,CAAI,EAIRM,EAAMN,CAAI,GAHf,QAAQ,MAAM,0BAA0BA,CAAI,EAAE,EACvC,KAGX,CAEA,MAAO,CAAE,QAAAgB,CAAA,CACX"}