UNPKG

@grafana/ui

Version:
1 lines 4.72 kB
{"version":3,"file":"resetSelectStyles.mjs","sources":["../../../../src/components/Select/resetSelectStyles.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { CSSObjectWithLabel } from 'react-select';\n\nimport { GrafanaTheme2 } from '@grafana/data';\n\nexport default function resetSelectStyles(theme: GrafanaTheme2) {\n return {\n clearIndicator: () => ({}),\n container: () => ({}),\n control: () => ({}),\n dropdownIndicator: () => ({}),\n group: () => ({}),\n groupHeading: () => ({}),\n indicatorsContainer: () => ({}),\n indicatorSeparator: () => ({}),\n input: function (originalStyles: CSSObjectWithLabel) {\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 }: { maxHeight: number }) => ({\n maxHeight,\n }),\n multiValue: () => ({}),\n multiValueLabel: () => ({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n multiValueRemove: () => ({}),\n noOptionsMessage: () => ({}),\n option: () => ({}),\n placeholder: (originalStyles: CSSObjectWithLabel) => ({\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) {\n return useMemo(() => {\n return {\n ...resetSelectStyles(theme),\n menuPortal: (base: any) => {\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 }: any) => {\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: any, state: any) => ({\n ...provided,\n opacity: state.isDisabled ? 0.5 : 1,\n }),\n };\n }, [theme, width]);\n}\n"],"names":[],"mappings":";;AAKA,SAAwB,kBAAkB,KAAsB,EAAA;AAC9D,EAAO,OAAA;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,cAAoC,EAAA;AACnD,MAAO,OAAA;AAAA,QACL,GAAG,cAAA;AAAA,QACH,KAAO,EAAA,SAAA;AAAA,QACP,MAAQ,EAAA,CAAA;AAAA,QACR,OAAS,EAAA,CAAA;AAAA;AAAA,QAET,MAAQ,EAAA,CAAA;AAAA,QACR,QAAU,EAAA;AAAA,OACZ;AAAA,KACF;AAAA,IACA,gBAAA,EAAkB,OAAO,EAAC,CAAA;AAAA,IAC1B,cAAA,EAAgB,OAAO,EAAC,CAAA;AAAA,IACxB,IAAA,EAAM,OAAO,EAAC,CAAA;AAAA,IACd,QAAU,EAAA,CAAC,EAAE,SAAA,EAAwC,MAAA;AAAA,MACnD;AAAA,KACF,CAAA;AAAA,IACA,UAAA,EAAY,OAAO,EAAC,CAAA;AAAA,IACpB,iBAAiB,OAAO;AAAA,MACtB,QAAU,EAAA,QAAA;AAAA,MACV,YAAc,EAAA;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,cAAwC,MAAA;AAAA,MACpD,GAAG,cAAA;AAAA,MACH,KAAA,EAAO,KAAM,CAAA,MAAA,CAAO,IAAK,CAAA;AAAA,KAC3B,CAAA;AAAA,IACA,WAAA,EAAa,OAAO,EAAC,CAAA;AAAA,IACrB,cAAA,EAAgB,OAAO,EAAC;AAAA,GAC1B;AACF;AAEgB,SAAA,qBAAA,CAAsB,OAAsB,KAAoC,EAAA;AAC9F,EAAA,OAAO,QAAQ,MAAM;AACnB,IAAO,OAAA;AAAA,MACL,GAAG,kBAAkB,KAAK,CAAA;AAAA,MAC1B,UAAA,EAAY,CAAC,IAAc,KAAA;AAGzB,QAAO,OAAA;AAAA,UACL,GAAG,IAAA;AAAA,UACH,MAAA,EAAQ,MAAM,MAAO,CAAA;AAAA,SACvB;AAAA,OACF;AAAA;AAAA,MAEA,MAAM,CAAC,EAAE,GAAK,EAAA,MAAA,EAAQ,UAAoB,KAAA;AACxC,QAAO,OAAA;AAAA,UACL,GAAA;AAAA,UACA,MAAA;AAAA,UACA,QAAA;AAAA,UACA,QAAU,EAAA,MAAA;AAAA,UACV,MAAA,EAAQ,MAAM,MAAO,CAAA;AAAA,SACvB;AAAA,OACF;AAAA,MACA,WAAW,OAAO;AAAA,QAChB,KAAO,EAAA,KAAA,GAAQ,KAAM,CAAA,OAAA,CAAQ,KAAK,CAAI,GAAA,MAAA;AAAA,QACtC,OAAA,EAAS,KAAU,KAAA,MAAA,GAAS,aAAgB,GAAA;AAAA,OAC9C,CAAA;AAAA,MACA,MAAA,EAAQ,CAAC,QAAA,EAAe,KAAgB,MAAA;AAAA,QACtC,GAAG,QAAA;AAAA,QACH,OAAA,EAAS,KAAM,CAAA,UAAA,GAAa,GAAM,GAAA;AAAA,OACpC;AAAA,KACF;AAAA,GACC,EAAA,CAAC,KAAO,EAAA,KAAK,CAAC,CAAA;AACnB;;;;"}