UNPKG

@grafana/ui

Version:
1 lines 3.13 kB
{"version":3,"file":"utils.mjs","sources":["../../../../src/components/Icon/utils.ts"],"sourcesContent":["import { IconName, IconSize, IconType } from '../../types/icon';\n\nconst alwaysMonoIcons: IconName[] = [\n 'grafana',\n 'favorite',\n 'heart-break',\n 'heart',\n 'panel-add',\n 'library-panel',\n 'circle-mono',\n];\n\nexport function getIconSubDir(name: IconName, type: IconType): string {\n if (name?.startsWith('gf-')) {\n return 'custom';\n } else if (alwaysMonoIcons.includes(name)) {\n return 'mono';\n } else if (type === 'default') {\n return 'unicons';\n } else if (type === 'solid') {\n return 'solid';\n } else {\n return 'mono';\n }\n}\n\n/* Transform string with px to number and add 2 pxs as path in svg is 2px smaller */\nexport function getSvgSize(size: IconSize) {\n switch (size) {\n case 'xs':\n return 12;\n case 'sm':\n return 14;\n case 'md':\n return 16;\n case 'lg':\n return 18;\n case 'xl':\n return 24;\n case 'xxl':\n return 36;\n case 'xxxl':\n return 48;\n }\n}\n\nlet iconRoot: string | undefined;\n\nexport function getIconRoot(): string {\n if (iconRoot) {\n return iconRoot;\n }\n\n const grafanaPublicPath = typeof window !== 'undefined' && window.__grafana_public_path__;\n if (grafanaPublicPath) {\n iconRoot = grafanaPublicPath + 'build/img/icons/';\n } else {\n iconRoot = 'public/build/img/icons/';\n }\n\n return iconRoot;\n}\n\nexport function getIconPath(name: IconName, type: IconType = 'default'): string {\n const iconRoot = getIconRoot();\n const subDir = getIconSubDir(name, type);\n return `${iconRoot}${subDir}/${name}.svg`;\n}\n"],"names":["iconRoot"],"mappings":";AAEA,MAAM,eAAA,GAA8B;AAAA,EAClC,SAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,eAAA;AAAA,EACA;AACF,CAAA;AAEO,SAAS,aAAA,CAAc,MAAgB,IAAA,EAAwB;AACpE,EAAA,IAAI,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,WAAW,KAAA,CAAA,EAAQ;AAC3B,IAAA,OAAO,QAAA;AAAA,EACT,CAAA,MAAA,IAAW,eAAA,CAAgB,QAAA,CAAS,IAAI,CAAA,EAAG;AACzC,IAAA,OAAO,MAAA;AAAA,EACT,CAAA,MAAA,IAAW,SAAS,SAAA,EAAW;AAC7B,IAAA,OAAO,SAAA;AAAA,EACT,CAAA,MAAA,IAAW,SAAS,OAAA,EAAS;AAC3B,IAAA,OAAO,OAAA;AAAA,EACT,CAAA,MAAO;AACL,IAAA,OAAO,MAAA;AAAA,EACT;AACF;AAGO,SAAS,WAAW,IAAA,EAAgB;AACzC,EAAA,QAAQ,IAAA;AAAM,IACZ,KAAK,IAAA;AACH,MAAA,OAAO,EAAA;AAAA,IACT,KAAK,IAAA;AACH,MAAA,OAAO,EAAA;AAAA,IACT,KAAK,IAAA;AACH,MAAA,OAAO,EAAA;AAAA,IACT,KAAK,IAAA;AACH,MAAA,OAAO,EAAA;AAAA,IACT,KAAK,IAAA;AACH,MAAA,OAAO,EAAA;AAAA,IACT,KAAK,KAAA;AACH,MAAA,OAAO,EAAA;AAAA,IACT,KAAK,MAAA;AACH,MAAA,OAAO,EAAA;AAAA;AAEb;AAEA,IAAI,QAAA;AAEG,SAAS,WAAA,GAAsB;AACpC,EAAA,IAAI,QAAA,EAAU;AACZ,IAAA,OAAO,QAAA;AAAA,EACT;AAEA,EAAA,MAAM,iBAAA,GAAoB,OAAO,MAAA,KAAW,WAAA,IAAe,MAAA,CAAO,uBAAA;AAClE,EAAA,IAAI,iBAAA,EAAmB;AACrB,IAAA,QAAA,GAAW,iBAAA,GAAoB,kBAAA;AAAA,EACjC,CAAA,MAAO;AACL,IAAA,QAAA,GAAW,yBAAA;AAAA,EACb;AAEA,EAAA,OAAO,QAAA;AACT;AAEO,SAAS,WAAA,CAAY,IAAA,EAAgB,IAAA,GAAiB,SAAA,EAAmB;AAC9E,EAAA,MAAMA,YAAW,WAAA,EAAY;AAC7B,EAAA,MAAM,MAAA,GAAS,aAAA,CAAc,IAAA,EAAM,IAAI,CAAA;AACvC,EAAA,OAAO,CAAA,EAAGA,SAAQ,CAAA,EAAG,MAAM,IAAI,IAAI,CAAA,IAAA,CAAA;AACrC;;;;"}