{"version":3,"file":"elements.mjs","sources":["../../../../src/themes/GlobalStyles/elements.ts"],"sourcesContent":["import { css } from '@emotion/react';\n\nimport { GrafanaTheme2, ThemeTypographyVariant } from '@grafana/data';\n\nimport { getFocusStyles } from '../mixins';\n\nexport function getElementStyles(theme: GrafanaTheme2, isExtensionSidebarOpen?: boolean) {\n  // in case the sidebar is closed, we want the body to scroll\n  // react select tries prevent scrolling by setting overflow/padding-right on the body\n  // Need type assertion here due to the use of !important\n  // see https://github.com/frenic/csstype/issues/114#issuecomment-697201978\n  // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n  const bodyOverflow = isExtensionSidebarOpen ? {} : { overflowY: 'auto !important' as 'auto' };\n  return css({\n    '*, *::before, *::after': {\n      boxSizing: 'inherit',\n    },\n\n    // Suppress the focus outline on elements that cannot be accessed via keyboard.\n    // This prevents an unwanted focus outline from appearing around elements that\n    // might still respond to pointer events.\n    //\n    // Credit: https://github.com/suitcss/base\n    \"[tabindex='-1']:focus\": {\n      outline: 'none !important',\n    },\n\n    html: {\n      MsOverflowStyle: 'scrollbar',\n      WebkitTapHighlightColor: 'rgba(0, 0, 0, 0)',\n      boxSizing: 'border-box',\n      height: '100%',\n      fontSize: `${theme.typography.htmlFontSize}px`,\n      fontFamily: theme.typography.fontFamily,\n      lineHeight: theme.typography.body.lineHeight,\n      fontKerning: 'normal',\n    },\n\n    ':root': {\n      colorScheme: theme.colors.mode,\n    },\n\n    body: {\n      height: '100%',\n      width: '100%',\n      position: 'unset',\n      color: theme.colors.text.primary,\n      backgroundColor: theme.colors.background.canvas,\n      paddingRight: '0 !important',\n      '@media print': {\n        overflow: 'visible',\n      },\n      '@page': {\n        margin: 0,\n        size: 'auto',\n        padding: 0,\n      },\n      // disable contextual font ligatures. otherwise, in firefox and safari,\n      // an \"x\" between 2 numbers is replaced by a multiplication ligature\n      // see https://github.com/rsms/inter/issues/222\n      fontVariantLigatures: 'no-contextual',\n      ...theme.typography.body,\n      ...bodyOverflow,\n    },\n\n    'h1, .h1': getVariantStyles(theme.typography.h1),\n    'h2, .h2': getVariantStyles(theme.typography.h2),\n    'h3, .h3': getVariantStyles(theme.typography.h3),\n    'h4, .h4': getVariantStyles(theme.typography.h4),\n    'h5, .h5': getVariantStyles(theme.typography.h5),\n    'h6, .h6': getVariantStyles(theme.typography.h6),\n\n    p: {\n      margin: theme.spacing(0, 0, 2),\n    },\n\n    textarea: {\n      overflow: 'auto',\n      // Textareas should really only resize vertically so they don't break their (horizontal) containers.\n      resize: 'vertical',\n    },\n\n    button: {\n      letterSpacing: theme.typography.body.letterSpacing,\n\n      '&:focus-visible': getFocusStyles(theme),\n      '&:focus': {\n        outline: 'none',\n      },\n    },\n\n    label: {\n      // Allow labels to use `margin` for spacing.\n      display: 'inline-block',\n    },\n\n    figure: {\n      margin: theme.spacing(0, 0, 2),\n    },\n\n    img: {\n      // By default, `<img>`s are `inline-block`. This assumes that, and vertically\n      // centers them. This won't apply should you reset them to `block` level.\n      verticalAlign: 'middle',\n      // Note: `<img>`s are deliberately not made responsive by default.\n      // For the rationale behind this, see the comments on the `.img-fluid` class.\n    },\n\n    fieldset: {\n      // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n      // so we reset that to ensure it behaves more like a standard block element.\n      // See https://github.com/twbs/bootstrap/issues/12359.\n      minWidth: 0,\n      // Reset the default outline behavior of fieldsets so they don't affect page layout.\n      padding: 0,\n      margin: 0,\n      border: 0,\n    },\n\n    legend: {\n      // Reset the entire legend element to match the `fieldset`\n      display: 'block',\n      width: '100%',\n      padding: 0,\n      marginBottom: theme.spacing(1),\n      fontSize: theme.spacing(3),\n      lineHeight: 'inherit',\n      border: 0,\n    },\n\n    // Ex: 14px base font * 85% = about 12px\n    'small, .small': {\n      fontSize: theme.typography.bodySmall.fontSize,\n      fontWeight: 'normal',\n    },\n\n    'b, strong': {\n      fontWeight: theme.typography.fontWeightMedium,\n    },\n\n    em: {\n      fontStyle: 'italic',\n      color: theme.colors.text.primary,\n    },\n\n    cite: {\n      fontStyle: 'normal',\n    },\n\n    blockquote: {\n      padding: theme.spacing(0, 0, 0, 2),\n      margin: theme.spacing(0, 0, 2),\n      borderLeft: `5px solid ${theme.v1.palette.gray3}`,\n      p: {\n        marginBottom: 0,\n        fontSize: theme.typography.fontSize * 1.25,\n        fontWeight: 300,\n        lineHeight: 1.25,\n      },\n      small: {\n        display: 'block',\n        lineHeight: theme.typography.body.lineHeight,\n        color: theme.v1.palette.gray2,\n        '&:before': {\n          content: \"'\\\\2014 \\\\00A0'\",\n        },\n      },\n    },\n\n    // Quotes\n    'q:before, q:after, blockquote:before, blockquote:after': {\n      content: \"''\",\n    },\n\n    // Addresses\n    address: {\n      display: 'block',\n      marginBottom: theme.spacing(2),\n      fontStyle: 'normal',\n      lineHeight: theme.typography.body.lineHeight,\n    },\n\n    'a.external-link': {\n      color: theme.colors.text.link,\n      textDecoration: 'normal',\n\n      '&:hover': {\n        color: theme.colors.text.link,\n        textDecoration: 'underline',\n      },\n    },\n\n    '.link': {\n      color: theme.colors.text.primary,\n      cursor: 'pointer',\n    },\n\n    '.link:hover': {\n      color: theme.colors.text.maxContrast,\n    },\n\n    '.pointer': {\n      cursor: 'pointer',\n    },\n\n    'audio, canvas, progress, video': {\n      display: 'inline-block',\n      verticalAlign: 'baseline',\n    },\n\n    // Prevent modern browsers from displaying `audio` without controls.\n    // Remove excess height in iOS 5 devices.\n    'audio:not([controls])': {\n      display: 'none',\n      height: 0,\n    },\n\n    // Address styling not present in Safari.\n    'abbr[title]': {\n      borderBottom: '1px dotted',\n      cursor: 'help',\n    },\n    dfn: {\n      fontStyle: 'italic',\n    },\n\n    // Prevent `sub` and `sup` affecting `line-height` in all browsers.\n    'sub, sup': {\n      fontSize: '75%',\n      lineHeight: 0,\n      position: 'relative',\n      verticalAlign: 'baseline',\n    },\n    sup: {\n      top: '-0.5em',\n    },\n    sub: {\n      bottom: '-0.25em',\n    },\n\n    hr: {\n      marginTop: theme.spacing(2),\n      marginBottom: theme.spacing(2),\n      border: 0,\n      borderTop: `1px solid ${theme.colors.border.medium}`,\n    },\n\n    'mark, .mark': {\n      background: theme.colors.warning.main,\n    },\n\n    'ul, ol, dl': {\n      marginTop: 0,\n      marginBottom: 0,\n      padding: 0,\n    },\n    'ul ul, ul ol, ol ol, ol ul': {\n      marginBottom: 0,\n    },\n    li: {\n      lineHeight: theme.typography.body.lineHeight,\n    },\n    dd: {\n      marginBottom: theme.spacing(1),\n      marginLeft: 0, // Undo browser default\n    },\n    'dt, dd': {\n      lineHeight: theme.typography.body.lineHeight,\n    },\n    dt: {\n      fontWeight: theme.typography.fontWeightMedium,\n    },\n\n    // 1. Correct color not being inherited.\n    //    Known issue: affects color of disabled elements.\n    // 2. Correct font properties not being inherited.\n    // 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n    'button, input, optgroup, select, textarea': {\n      borderRadius: 0,\n      color: 'inherit',\n      font: 'inherit',\n      lineHeight: 'inherit',\n      margin: 0,\n    },\n\n    // Don't inherit the `font-weight` (applied by a rule above).\n    // NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n    optgroup: {\n      fontWeight: 'bold',\n    },\n\n    // 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n    //    and `video` controls.\n    // 2. Correct inability to style clickable `input` types in iOS.\n    // 3. Improve usability and consistency of cursor style between image-type\n    //    `input` and others.\n    'button, html input[type=\"button\"], input[type=\"submit\"]': {\n      WebkitAppearance: 'button',\n      cursor: 'pointer',\n    },\n\n    'input[type=\"search\"]': {\n      // This overrides the extra rounded corners on search inputs in iOS so that our\n      // `.form-control` class can properly style them. Note that this cannot simply\n      // be added to `.form-control` as it's not specific enough. For details, see\n      // https://github.com/twbs/bootstrap/issues/11586.\n      WebkitAppearance: 'none',\n    },\n\n    // Remove inner padding and search cancel button in Safari and Chrome on OS X.\n    // Safari (but not Chrome) clips the cancel button when the search input has\n    // padding (and `textfield` appearance).\n    'input[type=\"search\"]::-webkit-search-cancel-button, input[type=\"search\"]::-webkit-search-decoration': {\n      WebkitAppearance: 'none',\n    },\n\n    table: {\n      // Reset for nesting within parents with `background-color`.\n      backgroundColor: 'transparent',\n      borderCollapse: 'collapse',\n      borderSpacing: 0,\n    },\n\n    caption: {\n      paddingTop: theme.spacing(0.5),\n      paddingBottom: theme.spacing(0.5),\n      color: theme.colors.text.secondary,\n      textAlign: 'left',\n      captionSide: 'bottom',\n    },\n\n    th: {\n      fontWeight: theme.typography.fontWeightMedium,\n      textAlign: 'left',\n    },\n\n    'td, th': {\n      padding: 0,\n    },\n\n    // Utility classes\n    '.muted': {\n      color: theme.colors.text.secondary,\n    },\n\n    'a.muted:hover, a.muted:focus': {\n      color: theme.colors.text.primary,\n    },\n\n    '.text-warning': {\n      color: theme.colors.warning.text,\n\n      '&:hover, &:focus': {\n        color: theme.colors.emphasize(theme.colors.warning.text, 0.15),\n      },\n    },\n\n    '.text-error': {\n      color: theme.colors.error.text,\n\n      '&:hover, &:focus': {\n        color: theme.colors.emphasize(theme.colors.error.text, 0.15),\n      },\n    },\n\n    '.text-success': {\n      color: '$success-text-color',\n\n      '&:hover, &:focus': {\n        color: theme.colors.emphasize(theme.colors.success.text, 0.15),\n      },\n    },\n\n    a: {\n      cursor: 'pointer',\n      color: theme.colors.text.primary,\n      textDecoration: 'none',\n\n      '&:focus': {\n        outline: 'none',\n      },\n\n      '&:focus-visible': getFocusStyles(theme),\n\n      '&:[disabled]': {\n        cursor: 'default',\n        // Need type assertion here due to the use of !important\n        // see https://github.com/frenic/csstype/issues/114#issuecomment-697201978\n        // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n        pointerEvents: 'none !important' as 'none',\n      },\n    },\n\n    // iOS \"clickable elements\" fix for role=\"button\"\n    //\n    // Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n    // for traditionally non-focusable elements with role=\"button\"\n    // see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n    \"[role='button']\": {\n      cursor: 'pointer',\n    },\n\n    // Always hide an element with the `hidden` HTML attribute (from PureCSS).\n    '[hidden]': {\n      display: 'none !important',\n    },\n\n    // Avoid 300ms click delay on touch devices that support the `touch-action` CSS property.\n    //\n    // In particular, unlike most other browsers, IE11+Edge on Windows 10 on touch devices and IE Mobile 10-11\n    // DON'T remove the click delay when `<meta name=\"viewport\" content=\"width=device-width\">` is present.\n    // However, they DO support removing the click delay via `touch-action: manipulation`.\n    // See:\n    // * http://v4-alpha.getbootstrap.com/content/reboot/#click-delay-optimization-for-touch\n    // * http://caniuse.com/#feat=css-touch-action\n    // * http://patrickhlauke.github.io/touch/tests/results/#suppressing-300ms-delay\n    \"a, area, button, [role='button'], input, label, select, summary, textarea\": {\n      touchAction: 'manipulation',\n    },\n\n    '.text-link': {\n      textDecoration: 'underline',\n    },\n\n    '.text-left': {\n      textAlign: 'left',\n    },\n\n    '.text-right': {\n      textAlign: 'right',\n    },\n\n    '.text-center': {\n      textAlign: 'center',\n    },\n\n    '.highlight-search-match': {\n      background: theme.components.textHighlight.background,\n      color: theme.components.textHighlight.text,\n      padding: 0,\n    },\n\n    '.template-variable': {\n      color: theme.colors.primary.text,\n    },\n\n    '.modal-header-title': {\n      fontSize: theme.typography.size.lg,\n      float: 'left',\n      paddingTop: theme.spacing(1),\n      margin: theme.spacing(0, 2),\n    },\n  });\n}\n\nexport function getVariantStyles(variant: ThemeTypographyVariant) {\n  return {\n    margin: 0,\n    fontSize: variant.fontSize,\n    lineHeight: variant.lineHeight,\n    fontWeight: variant.fontWeight,\n    letterSpacing: variant.letterSpacing,\n    fontFamily: variant.fontFamily,\n    marginBottom: '0.45em',\n  };\n}\n"],"names":[],"mappings":"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"}