UNPKG

@grafana/ui

Version:
47 lines (42 loc) 1.43 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); var jsxRuntime = require('react/jsx-runtime'); var css = require('@emotion/css'); var data = require('@grafana/data'); var ThemeContext = require('../../../themes/ThemeContext.cjs'); "use strict"; const TimeZoneOffset = (props) => { const { timestamp, timeZone, className } = props; const styles = ThemeContext.useStyles2(getStyles); if (typeof timeZone !== "string") { return null; } return /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: css.cx(styles.offset, className), children: formatUtcOffset(timestamp, timeZone) }) }); }; const formatUtcOffset = (timestamp, timeZone) => { const offset = data.dateTimeFormat(timestamp, { timeZone, format: "Z" }); return `UTC${offset}`; }; const getStyles = (theme) => { const textBase = css.css({ fontWeight: "normal", fontSize: theme.typography.size.sm, color: theme.colors.text.secondary, whiteSpace: "normal" }); return { offset: css.css(textBase, { color: theme.colors.text.primary, background: theme.colors.background.secondary, padding: "2px 5px", borderRadius: theme.shape.radius.default, marginLeft: "4px" }) }; }; exports.TimeZoneOffset = TimeZoneOffset; exports.formatUtcOffset = formatUtcOffset; //# sourceMappingURL=TimeZoneOffset.cjs.map