@dnb/eufemia
Version:
DNB Eufemia Design System UI Library
59 lines • 2.15 kB
JavaScript
import _pushInstanceProperty from "core-js-pure/stable/instance/push.js";
import { getVersion, getSha, getBuildDate } from "./build-info/BuildInfo.js";
import { runCssVersionMismatchWarning } from "./helpers/runCssVersionMismatchWarning.js";
import { runOldBuildDateWarning } from "./helpers/runOldBuildDateWarning.js";
export const version = getVersion();
export const sha = getSha();
export const buildDate = getBuildDate();
export function init() {
if (typeof window !== 'undefined') {
class Eufemia {
constructor() {
if (!window.__eufemiaVersions) {
window.__eufemiaVersions = [];
}
if (!window.__eufemiaVersions.includes(this.version)) {
var _context;
_pushInstanceProperty(_context = window.__eufemiaVersions).call(_context, this.version);
}
if (!window.__eufemiaSHAs) {
window.__eufemiaSHAs = [];
}
if (!window.__eufemiaSHAs.includes(this.sha)) {
var _context2;
_pushInstanceProperty(_context2 = window.__eufemiaSHAs).call(_context2, this.sha);
}
}
get version() {
return version;
}
get sha() {
return sha;
}
get buildDate() {
return buildDate;
}
get shas() {
return window.__eufemiaSHAs;
}
get versions() {
return window.__eufemiaSHAs.map((sha, i) => {
const scopeElement = document.querySelector(`[data-scope-hash-id][data-scope-sha="${sha}"]`);
const styleElement = scopeElement === null || scopeElement === void 0 ? void 0 : scopeElement.querySelector('.dnb-core-style');
const css = window.getComputedStyle(styleElement || document.body).getPropertyValue('--eufemia-version').replace(/"/g, '');
const js = window.__eufemiaVersions[i] || window.__eufemiaVersions[0] || this.version;
return {
js,
css,
sha,
scopeElement
};
});
}
}
window.Eufemia = new Eufemia();
runCssVersionMismatchWarning();
runOldBuildDateWarning();
}
}
//# sourceMappingURL=Eufemia.js.map