@grafana/ui
Version:
Grafana Components Library
1 lines • 22.3 kB
Source Map (JSON)
{"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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"}