UNPKG

@grafana/ui

Version:
1 lines 4.74 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,KAAA,EAAsB;AAC9D,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,EAAoC;AACnD,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,MAA8B;AAAA,MACnD;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,MAAwC;AAAA,MACpD,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,EAAoC;AAC9F,EAAA,OAAO,QAAQ,MAAM;AACnB,IAAA,OAAO;AAAA,MACL,GAAG,kBAAkB,KAAK,CAAA;AAAA,MAC1B,UAAA,EAAY,CAAC,IAAA,KAAc;AAGzB,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,KAAW;AACxC,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,EAAe,KAAA,MAAgB;AAAA,QACtC,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;;;;"}