{"version":3,"file":"utilityClasses.mjs","sources":["../../../../src/themes/GlobalStyles/utilityClasses.ts"],"sourcesContent":["import { css } from '@emotion/react';\nimport { CSSInterpolation } from '@emotion/serialize';\n\nimport { GrafanaTheme2 } from '@grafana/data';\n\nfunction buttonBackgroundMixin(\n  startColor: string,\n  endColor: string,\n  textColor = '#fff',\n  textShadow = '0px 1px 0 rgba(0, 0, 0, 0.1)'\n) {\n  return {\n    backgroundColor: startColor,\n    backgroundImage: `linear-gradient(to bottom, ${startColor}, ${endColor})`,\n    backgroundRepeat: 'repeat-x',\n    color: textColor,\n    textShadow: textShadow,\n    borderColor: startColor,\n\n    // in these cases the gradient won't cover the background, so we override\n    '&:hover, &:focus, &:active, &.active, &.disabled, &[disabled]': {\n      color: textColor,\n      backgroundImage: 'none',\n      backgroundColor: startColor,\n    },\n  };\n}\n\nfunction buttonSizeMixin(paddingY: string, paddingX: string, fontSize: string, borderRadius: string) {\n  return {\n    padding: `${paddingY} ${paddingX}`,\n    fontSize: fontSize,\n    borderRadius: borderRadius,\n  };\n}\n\nfunction widthMixin(theme: GrafanaTheme2, max: number) {\n  let result: CSSInterpolation = {};\n  for (let i = 1; i <= max; i++) {\n    const width = `${theme.spacing(2 * i)} !important`;\n    result[`.width-${i}`] = {\n      width,\n    };\n    result[`.max-width-${i}`] = {\n      maxWidth: width,\n      flexGrow: 1,\n    };\n    result[`.min-width-${i}`] = {\n      minWidth: width,\n    };\n    result[`.offset-width-${i}`] = {\n      marginLeft: width,\n    };\n  }\n  return result;\n}\n\nexport function getUtilityClassStyles(theme: GrafanaTheme2) {\n  return css({\n    '.highlight-word': {\n      color: theme.v1.palette.orange,\n    },\n    '.hide': {\n      display: 'none',\n    },\n    '.show': {\n      display: 'block',\n    },\n    '.invisible': {\n      // can't avoid type assertion here due to !important\n      // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n      visibility: 'hidden !important' as 'hidden',\n    },\n    '.absolute': {\n      position: 'absolute',\n    },\n    '.flex-grow-1': {\n      flexGrow: 1,\n    },\n    '.flex-shrink-1': {\n      flexShrink: 1,\n    },\n    '.flex-shrink-0': {\n      flexShrink: 0,\n    },\n    '.center-vh': {\n      height: '100%',\n      display: 'flex',\n      flexDirection: 'column',\n      alignItems: 'center',\n      justifyContent: 'center',\n      justifyItems: 'center',\n    },\n    '.btn': {\n      display: 'inline-flex',\n      alignItems: 'center',\n      justifyContent: 'center',\n      fontWeight: theme.typography.fontWeightMedium,\n      lineHeight: theme.typography.body.lineHeight,\n      textAlign: 'center',\n      verticalAlign: 'middle',\n      cursor: 'pointer',\n      border: 'none',\n      height: `${theme.spacing.gridSize * theme.components.height.md}px`,\n      ...buttonSizeMixin(\n        theme.spacing(0),\n        theme.spacing(2),\n        `${theme.typography.fontSize}px`,\n        theme.shape.radius.default\n      ),\n\n      '&, &:active, &.active': {\n        '&:focus, &.focus': {\n          outline: 'none',\n        },\n      },\n      '&:focus, &:hover': {\n        textDecoration: 'none',\n      },\n      '&.focus': {\n        textDecoration: 'none',\n      },\n      '&:active, &.active': {\n        backgroundImage: 'none',\n        outline: 0,\n      },\n      '&.disabled, &[disabled], &:disabled': {\n        cursor: 'not-allowed',\n        opacity: 0.65,\n        boxShadow: 'none',\n        pointerEvents: 'none',\n      },\n    },\n    '.btn-small': {\n      ...buttonSizeMixin(theme.spacing(0.5), theme.spacing(1), theme.typography.size.sm, theme.shape.radius.default),\n      height: `${theme.spacing.gridSize * theme.components.height.sm}px`,\n    },\n    // Deprecated, only used by old plugins\n    '.btn-mini': {\n      ...buttonSizeMixin(theme.spacing(0.5), theme.spacing(1), theme.typography.size.sm, theme.shape.radius.default),\n      height: `${theme.spacing.gridSize * theme.components.height.sm}px`,\n    },\n    '.btn-success, .btn-primary': {\n      ...buttonBackgroundMixin(theme.colors.primary.main, theme.colors.primary.shade),\n    },\n    '.btn-danger': {\n      ...buttonBackgroundMixin(theme.colors.error.main, theme.colors.error.shade),\n    },\n    '.btn-secondary': {\n      ...buttonBackgroundMixin(theme.colors.secondary.main, theme.colors.secondary.shade, theme.colors.text.primary),\n    },\n    '.btn-inverse': {\n      ...buttonBackgroundMixin(\n        theme.isDark ? theme.v1.palette.dark6 : theme.v1.palette.gray5,\n        theme.isDark ? theme.v1.palette.dark5 : theme.v1.palette.gray4,\n        theme.colors.text.primary\n      ),\n      '&': {\n        boxShadow: 'none',\n      },\n    },\n    '.typeahead': {\n      zIndex: theme.zIndex.typeahead,\n    },\n    ...widthMixin(theme, 30),\n    '.row': {\n      display: 'flex',\n      flexWrap: 'wrap',\n      marginLeft: `calc(${theme.spacing(4)} / -2)`,\n      marginRight: `calc(${theme.spacing(4)} / -2)`,\n    },\n    '.container': {\n      marginLeft: 'auto',\n      marginRight: 'auto',\n      paddingLeft: `calc(${theme.spacing(4)} / 2)`,\n      paddingRight: `calc(${theme.spacing(4)} / 2)`,\n      [theme.breakpoints.up('sm')]: {\n        maxWidth: theme.breakpoints.values.sm,\n      },\n      [theme.breakpoints.up('md')]: {\n        maxWidth: theme.breakpoints.values.md,\n      },\n      [theme.breakpoints.up('lg')]: {\n        maxWidth: theme.breakpoints.values.lg,\n      },\n      [theme.breakpoints.up('xl')]: {\n        maxWidth: theme.breakpoints.values.xl,\n      },\n    },\n  });\n}\n"],"names":[],"mappings":"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"}