{"version":3,"file":"resetSelectStyles.cjs","sources":["../../../../src/components/Select/resetSelectStyles.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { StylesConfig } from 'react-select';\n\nimport { GrafanaTheme2 } from '@grafana/data';\n\nexport default function resetSelectStyles(theme: GrafanaTheme2): Partial<StylesConfig> {\n  return {\n    clearIndicator: () => ({}),\n    container: () => ({}),\n    control: () => ({}),\n    dropdownIndicator: () => ({}),\n    group: () => ({}),\n    groupHeading: () => ({}),\n    indicatorsContainer: () => ({}),\n    indicatorSeparator: () => ({}),\n    input: function (originalStyles) {\n      return {\n        ...originalStyles,\n        color: 'inherit',\n        margin: 0,\n        padding: 0,\n        // Set an explicit z-index here to ensure this element always overlays the singleValue\n        zIndex: 1,\n        overflow: 'hidden',\n      };\n    },\n    loadingIndicator: () => ({}),\n    loadingMessage: () => ({}),\n    menu: () => ({}),\n    menuList: ({ maxHeight }) => ({\n      maxHeight,\n    }),\n    multiValue: () => ({}),\n    multiValueLabel: () => ({\n      overflow: 'hidden',\n      textOverflow: 'ellipsis',\n    }),\n    multiValueRemove: () => ({}),\n    noOptionsMessage: () => ({}),\n    option: () => ({}),\n    placeholder: (originalStyles) => ({\n      ...originalStyles,\n      color: theme.colors.text.secondary,\n    }),\n    singleValue: () => ({}),\n    valueContainer: () => ({}),\n  };\n}\n\nexport function useCustomSelectStyles(theme: GrafanaTheme2, width: number | string | undefined): Partial<StylesConfig> {\n  return useMemo(() => {\n    return {\n      ...resetSelectStyles(theme),\n      menuPortal: (base) => {\n        // Would like to correct top position when menu is placed bottom, but have props are not sent to this style function.\n        // Only state is. https://github.com/JedWatson/react-select/blob/master/packages/react-select/src/components/Menu.tsx#L605\n        return {\n          ...base,\n          zIndex: theme.zIndex.portal,\n        };\n      },\n      //These are required for the menu positioning to function\n      menu: ({ top, bottom, position }) => {\n        return {\n          top,\n          bottom,\n          position,\n          minWidth: '100%',\n          zIndex: theme.zIndex.dropdown,\n        };\n      },\n      container: () => ({\n        width: width ? theme.spacing(width) : '100%',\n        display: width === 'auto' ? 'inline-flex' : 'flex',\n      }),\n      option: (provided, state) => ({\n        ...provided,\n        opacity: state.isDisabled ? 0.5 : 1,\n      }),\n    };\n  }, [theme, width]);\n}\n"],"names":["useMemo"],"mappings":";;;;;;;AAKA,SAAwB,kBAAkB,KAAA,EAA6C;AACrF,EAAA,OAAO;AAAA,IACL,cAAA,EAAgB,OAAO,EAAC,CAAA;AAAA,IACxB,SAAA,EAAW,OAAO,EAAC,CAAA;AAAA,IACnB,OAAA,EAAS,OAAO,EAAC,CAAA;AAAA,IACjB,iBAAA,EAAmB,OAAO,EAAC,CAAA;AAAA,IAC3B,KAAA,EAAO,OAAO,EAAC,CAAA;AAAA,IACf,YAAA,EAAc,OAAO,EAAC,CAAA;AAAA,IACtB,mBAAA,EAAqB,OAAO,EAAC,CAAA;AAAA,IAC7B,kBAAA,EAAoB,OAAO,EAAC,CAAA;AAAA,IAC5B,KAAA,EAAO,SAAU,cAAA,EAAgB;AAC/B,MAAA,OAAO;AAAA,QACL,GAAG,cAAA;AAAA,QACH,KAAA,EAAO,SAAA;AAAA,QACP,MAAA,EAAQ,CAAA;AAAA,QACR,OAAA,EAAS,CAAA;AAAA;AAAA,QAET,MAAA,EAAQ,CAAA;AAAA,QACR,QAAA,EAAU;AAAA,OACZ;AAAA,IACF,CAAA;AAAA,IACA,gBAAA,EAAkB,OAAO,EAAC,CAAA;AAAA,IAC1B,cAAA,EAAgB,OAAO,EAAC,CAAA;AAAA,IACxB,IAAA,EAAM,OAAO,EAAC,CAAA;AAAA,IACd,QAAA,EAAU,CAAC,EAAE,SAAA,EAAU,MAAO;AAAA,MAC5B;AAAA,KACF,CAAA;AAAA,IACA,UAAA,EAAY,OAAO,EAAC,CAAA;AAAA,IACpB,iBAAiB,OAAO;AAAA,MACtB,QAAA,EAAU,QAAA;AAAA,MACV,YAAA,EAAc;AAAA,KAChB,CAAA;AAAA,IACA,gBAAA,EAAkB,OAAO,EAAC,CAAA;AAAA,IAC1B,gBAAA,EAAkB,OAAO,EAAC,CAAA;AAAA,IAC1B,MAAA,EAAQ,OAAO,EAAC,CAAA;AAAA,IAChB,WAAA,EAAa,CAAC,cAAA,MAAoB;AAAA,MAChC,GAAG,cAAA;AAAA,MACH,KAAA,EAAO,KAAA,CAAM,MAAA,CAAO,IAAA,CAAK;AAAA,KAC3B,CAAA;AAAA,IACA,WAAA,EAAa,OAAO,EAAC,CAAA;AAAA,IACrB,cAAA,EAAgB,OAAO,EAAC;AAAA,GAC1B;AACF;AAEO,SAAS,qBAAA,CAAsB,OAAsB,KAAA,EAA2D;AACrH,EAAA,OAAOA,cAAQ,MAAM;AACnB,IAAA,OAAO;AAAA,MACL,GAAG,kBAAkB,KAAK,CAAA;AAAA,MAC1B,UAAA,EAAY,CAAC,IAAA,KAAS;AAGpB,QAAA,OAAO;AAAA,UACL,GAAG,IAAA;AAAA,UACH,MAAA,EAAQ,MAAM,MAAA,CAAO;AAAA,SACvB;AAAA,MACF,CAAA;AAAA;AAAA,MAEA,MAAM,CAAC,EAAE,GAAA,EAAK,MAAA,EAAQ,UAAS,KAAM;AACnC,QAAA,OAAO;AAAA,UACL,GAAA;AAAA,UACA,MAAA;AAAA,UACA,QAAA;AAAA,UACA,QAAA,EAAU,MAAA;AAAA,UACV,MAAA,EAAQ,MAAM,MAAA,CAAO;AAAA,SACvB;AAAA,MACF,CAAA;AAAA,MACA,WAAW,OAAO;AAAA,QAChB,KAAA,EAAO,KAAA,GAAQ,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,GAAI,MAAA;AAAA,QACtC,OAAA,EAAS,KAAA,KAAU,MAAA,GAAS,aAAA,GAAgB;AAAA,OAC9C,CAAA;AAAA,MACA,MAAA,EAAQ,CAAC,QAAA,EAAU,KAAA,MAAW;AAAA,QAC5B,GAAG,QAAA;AAAA,QACH,OAAA,EAAS,KAAA,CAAM,UAAA,GAAa,GAAA,GAAM;AAAA,OACpC;AAAA,KACF;AAAA,EACF,CAAA,EAAG,CAAC,KAAA,EAAO,KAAK,CAAC,CAAA;AACnB;;;;;"}