{"version":3,"file":"icon.cjs","sources":["../../../src/types/icon.ts"],"sourcesContent":["import { availableIconsIndex, Field, FieldType, IconName } from '@grafana/data';\n\nimport { ComponentSize } from './size';\n\n// Exported from here for backwards compatibility\nexport type { IconName } from '@grafana/data';\nexport { toIconName } from '@grafana/data';\n\nexport type IconType = 'mono' | 'default' | 'solid';\nexport type IconSize = ComponentSize | 'xl' | 'xxl' | 'xxxl';\nexport const isIconSize = (value: string): value is IconSize => {\n  return ['xs', 'sm', 'md', 'lg', 'xl', 'xxl', 'xxxl'].includes(value);\n};\n\n// function remains for backwards compatibility\nexport const getAvailableIcons = () => Object.keys(availableIconsIndex);\n\n/**\n * Get the icon for a given field\n */\nexport function getFieldTypeIcon(field?: Field): IconName {\n  return getFieldTypeIconName(field?.type);\n}\n\n/** Get an icon for a given field type  */\nexport function getFieldTypeIconName(type?: FieldType): IconName {\n  if (type) {\n    switch (type) {\n      case FieldType.time:\n        return 'clock-nine';\n      case FieldType.string:\n        return 'font';\n      case FieldType.number:\n        return 'calculator-alt';\n      case FieldType.boolean:\n        return 'toggle-on';\n      case FieldType.trace:\n        return 'info-circle';\n      case FieldType.enum:\n        return 'list-ol';\n      case FieldType.geo:\n        return 'map-marker';\n      case FieldType.other:\n        return 'brackets-curly';\n    }\n  }\n  return 'question-circle';\n}\n"],"names":["availableIconsIndex","FieldType"],"mappings":";;;;;;;AAUO,MAAM,UAAA,GAAa,CAAC,KAAA,KAAqC;AAC9D,EAAA,OAAO,CAAC,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,IAAA,EAAM,MAAM,KAAA,EAAO,MAAM,CAAA,CAAE,QAAA,CAAS,KAAK,CAAA;AACrE;AAGO,MAAM,iBAAA,GAAoB,MAAM,MAAA,CAAO,IAAA,CAAKA,wBAAmB;AAK/D,SAAS,iBAAiB,KAAA,EAAyB;AACxD,EAAA,OAAO,oBAAA,CAAqB,+BAAO,IAAI,CAAA;AACzC;AAGO,SAAS,qBAAqB,IAAA,EAA4B;AAC/D,EAAA,IAAI,IAAA,EAAM;AACR,IAAA,QAAQ,IAAA;AAAM,MACZ,KAAKC,cAAA,CAAU,IAAA;AACb,QAAA,OAAO,YAAA;AAAA,MACT,KAAKA,cAAA,CAAU,MAAA;AACb,QAAA,OAAO,MAAA;AAAA,MACT,KAAKA,cAAA,CAAU,MAAA;AACb,QAAA,OAAO,gBAAA;AAAA,MACT,KAAKA,cAAA,CAAU,OAAA;AACb,QAAA,OAAO,WAAA;AAAA,MACT,KAAKA,cAAA,CAAU,KAAA;AACb,QAAA,OAAO,aAAA;AAAA,MACT,KAAKA,cAAA,CAAU,IAAA;AACb,QAAA,OAAO,SAAA;AAAA,MACT,KAAKA,cAAA,CAAU,GAAA;AACb,QAAA,OAAO,YAAA;AAAA,MACT,KAAKA,cAAA,CAAU,KAAA;AACb,QAAA,OAAO,gBAAA;AAAA;AACX,EACF;AACA,EAAA,OAAO,iBAAA;AACT;;;;;;;;;;;"}