UNPKG

@kit-data-manager/pid-component

Version:

The PID-Component is a web component that can be used to evaluate and display FAIR Digital Objects, PIDs, ORCiDs, and possibly other identifiers in a user-friendly way. It is easily extensible to support other identifier types.

74 lines (70 loc) 2.77 kB
/*! * * Copyright 2024 Karlsruhe Institute of Technology. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * */ import { p as proxyCustomElement, H, h, c as Host } from './p-b3fbcf6f.js'; const LocaleVisualization$1 = proxyCustomElement(class LocaleVisualization extends H { constructor() { super(); this.__registerHost(); this.showFlag = true; } render() { const getLocaleDetail = (locale) => { const userLocale = [navigator.language.split('-')[0]]; const type = locale.split('-').length > 1 ? 'language' : 'region'; const friendlyName = new Intl.DisplayNames(userLocale, { type: type }).of(locale.toUpperCase()); if (friendlyName == locale.toUpperCase()) { return new Intl.DisplayNames(userLocale, { type: 'language' }).of(locale.toUpperCase()); } if (type === 'language') { const flag = generateFlag(locale.split('-')[1]); return `${flag}${friendlyName}`; } return `${generateFlag(locale)}${friendlyName}`; }; const generateFlag = (locale) => { if (this.showFlag === false) return ''; const codePoints = locale .toUpperCase() .split('') .map(char => 127397 + char.charCodeAt(0)); return String.fromCodePoint(...codePoints) + ' '; }; return (h(Host, null, h("span", null, getLocaleDetail(this.locale)))); } }, [0, "locale-visualization", { "locale": [1], "showFlag": [4, "show-flag"] }]); function defineCustomElement$1() { if (typeof customElements === "undefined") { return; } const components = ["locale-visualization"]; components.forEach(tagName => { switch (tagName) { case "locale-visualization": if (!customElements.get(tagName)) { customElements.define(tagName, LocaleVisualization$1); } break; } }); } const LocaleVisualization = LocaleVisualization$1; const defineCustomElement = defineCustomElement$1; export { LocaleVisualization, defineCustomElement }; //# sourceMappingURL=locale-visualization.js.map