@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
JavaScript
/*!
*
* 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