{"version":3,"file":"utils.mjs","sources":["../../../../src/components/Combobox/utils.ts"],"sourcesContent":["import { isIconName, type SelectableValue } from '@grafana/data';\n\nimport { type ComboboxOption } from './types';\n\nexport const isNewGroup = <T extends string | number>(option: ComboboxOption<T>, prevOption?: ComboboxOption<T>) => {\n  const currentGroup = option.group;\n\n  if (!currentGroup) {\n    return prevOption?.group ? true : false;\n  }\n\n  if (!prevOption) {\n    return true;\n  }\n\n  return prevOption.group !== currentGroup;\n};\n\n/**\n * returns a ComboboxOption from a SelectableValue, or undefined if it could not be converted.\n * @param v - The SelectableValue to convert.\n * @returns The ComboboxOption, or undefined if it could not be converted.\n */\nexport const selectableValueToComboboxOption = <T extends string | number>(\n  v: SelectableValue<T>\n): ComboboxOption<T> | undefined => {\n  if (v == null || v.value == null) {\n    console.warn('selectableValueToComboboxOption: value is null or undefined', v);\n    return undefined;\n  }\n  if (v.icon != null && !isIconName(v.icon)) {\n    console.warn('selectableValueToComboboxOption: icon is not a valid icon name', v.icon);\n    return undefined;\n  }\n  return {\n    label: v.label,\n    value: v.value,\n    description: v.description,\n    group: v.group,\n    infoOption: v.infoOption,\n    icon: v.icon,\n  };\n};\n"],"names":[],"mappings":";;;AAIO,MAAM,UAAA,GAAa,CAA4B,MAAA,EAA2B,UAAA,KAAmC;AAClH,EAAA,MAAM,eAAe,MAAA,CAAO,KAAA;AAE5B,EAAA,IAAI,CAAC,YAAA,EAAc;AACjB,IAAA,OAAA,CAAO,UAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,UAAA,CAAY,SAAQ,IAAA,GAAO,KAAA;AAAA,EACpC;AAEA,EAAA,IAAI,CAAC,UAAA,EAAY;AACf,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,OAAO,WAAW,KAAA,KAAU,YAAA;AAC9B;AAOO,MAAM,+BAAA,GAAkC,CAC7C,CAAA,KACkC;AAClC,EAAA,IAAI,CAAA,IAAK,IAAA,IAAQ,CAAA,CAAE,KAAA,IAAS,IAAA,EAAM;AAChC,IAAA,OAAA,CAAQ,IAAA,CAAK,+DAA+D,CAAC,CAAA;AAC7E,IAAA,OAAO,KAAA,CAAA;AAAA,EACT;AACA,EAAA,IAAI,EAAE,IAAA,IAAQ,IAAA,IAAQ,CAAC,UAAA,CAAW,CAAA,CAAE,IAAI,CAAA,EAAG;AACzC,IAAA,OAAA,CAAQ,IAAA,CAAK,gEAAA,EAAkE,CAAA,CAAE,IAAI,CAAA;AACrF,IAAA,OAAO,KAAA,CAAA;AAAA,EACT;AACA,EAAA,OAAO;AAAA,IACL,OAAO,CAAA,CAAE,KAAA;AAAA,IACT,OAAO,CAAA,CAAE,KAAA;AAAA,IACT,aAAa,CAAA,CAAE,WAAA;AAAA,IACf,OAAO,CAAA,CAAE,KAAA;AAAA,IACT,YAAY,CAAA,CAAE,UAAA;AAAA,IACd,MAAM,CAAA,CAAE;AAAA,GACV;AACF;;;;"}