UNPKG

@grafana/ui

Version:
1 lines 3.09 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,eAA8B,GAAA;AAAA,EAClC,SAAA;AAAA,EACA,UAAA;AAAA,EACA,aAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,eAAA;AAAA,EACA;AACF,CAAA;AAEgB,SAAA,aAAA,CAAc,MAAgB,IAAwB,EAAA;AACpE,EAAI,IAAA,IAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,IAAA,CAAM,WAAW,KAAQ,CAAA,EAAA;AAC3B,IAAO,OAAA,QAAA;AAAA,GACE,MAAA,IAAA,eAAA,CAAgB,QAAS,CAAA,IAAI,CAAG,EAAA;AACzC,IAAO,OAAA,MAAA;AAAA,GACT,MAAA,IAAW,SAAS,SAAW,EAAA;AAC7B,IAAO,OAAA,SAAA;AAAA,GACT,MAAA,IAAW,SAAS,OAAS,EAAA;AAC3B,IAAO,OAAA,OAAA;AAAA,GACF,MAAA;AACL,IAAO,OAAA,MAAA;AAAA;AAEX;AAGO,SAAS,WAAW,IAAgB,EAAA;AACzC,EAAA,QAAQ,IAAM;AAAA,IACZ,KAAK,IAAA;AACH,MAAO,OAAA,EAAA;AAAA,IACT,KAAK,IAAA;AACH,MAAO,OAAA,EAAA;AAAA,IACT,KAAK,IAAA;AACH,MAAO,OAAA,EAAA;AAAA,IACT,KAAK,IAAA;AACH,MAAO,OAAA,EAAA;AAAA,IACT,KAAK,IAAA;AACH,MAAO,OAAA,EAAA;AAAA,IACT,KAAK,KAAA;AACH,MAAO,OAAA,EAAA;AAAA,IACT,KAAK,MAAA;AACH,MAAO,OAAA,EAAA;AAAA;AAEb;AAEA,IAAI,QAAA;AAEG,SAAS,WAAsB,GAAA;AACpC,EAAA,IAAI,QAAU,EAAA;AACZ,IAAO,OAAA,QAAA;AAAA;AAGT,EAAA,MAAM,iBAAoB,GAAA,OAAO,MAAW,KAAA,WAAA,IAAe,MAAO,CAAA,uBAAA;AAClE,EAAA,IAAI,iBAAmB,EAAA;AACrB,IAAA,QAAA,GAAW,iBAAoB,GAAA,kBAAA;AAAA,GAC1B,MAAA;AACL,IAAW,QAAA,GAAA,yBAAA;AAAA;AAGb,EAAO,OAAA,QAAA;AACT;AAEgB,SAAA,WAAA,CAAY,IAAgB,EAAA,IAAA,GAAiB,SAAmB,EAAA;AAC9E,EAAA,MAAMA,YAAW,WAAY,EAAA;AAC7B,EAAM,MAAA,MAAA,GAAS,aAAc,CAAA,IAAA,EAAM,IAAI,CAAA;AACvC,EAAA,OAAO,CAAGA,EAAAA,SAAQ,CAAG,EAAA,MAAM,IAAI,IAAI,CAAA,IAAA,CAAA;AACrC;;;;"}