i18n-element
Version:
I18N Base Element for lit-html and Polymer
119 lines (114 loc) • 3.73 kB
HTML
<!--
@license https://github.com/t2ym/i18n-behavior/blob/master/LICENSE.md
Copyright (c) 2016, Tetsuya Mori <t2y3141592@gmail.com>. All rights reserved.
-->
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, minimum-scale=1.0, initial-scale=1.0, user-scalable=yes">
<meta name="app-root" content="/components/i18n-behavior/test/src3/preference-test.html">
<script src="../../../@webcomponents/webcomponentsjs/webcomponents-bundle.js"></script>
<!-- <script src="../../../custom-elements/src/native-shim.js"></script> -->
<script src="../../../wct-browser-legacy/browser.js"></script>
<script type="module" src="./preference-test-imports.js"></script>
<template id="is-less-class"><span>abc</span></template>
<template id="is-class"><span>abc</span></template>
<script type="module">
import { PolymerElement } from '@polymer/polymer/polymer-element.js';
import { ElementMixin } from '@polymer/polymer/lib/mixins/element-mixin.js';
import { html } from '@polymer/polymer/lib/utils/html-tag.js';
import '../../define-element.js';
Define = class IsLessClass extends PolymerElement {
static get importMeta() {
return import.meta;
}
};
Define = class IsLessClass extends PolymerElement { // duplicate
static get importMeta() {
return import.meta;
}
};
Define = class extends PolymerElement {
static get importMeta() {
return import.meta;
}
static get is() {
return 'is-class';
}
};
Define = class InnerTemplate extends ElementMixin(HTMLElement) {
static get importMeta() {
return import.meta;
}
static get template() {
return html`<span>inner text</span>`;
}
};
Define = class EmptyTemplate extends PolymerElement {
static get importMeta() {
return import.meta;
}
};
Define = class extends PolymerElement {
static get importMeta() {
return import.meta;
}
static get is() {
return 'inner-is';
}
static get template() {
return html`<span>inner text</span>`;
}
};
Define = class VanillaElement extends HTMLElement {
static get importMeta() {
return import.meta;
}
constructor() {
super();
this.attachShadow({mode: 'open'});
}
connectedCallback() {
this.shadowRoot.innerHTML = `<span>vanilla element</span>`;
}
};
try {
Define = class extends PolymerElement {
static get importMeta() {
return import.meta;
}
};
}
catch (e) {
console.log(e);
document.querySelector('span#error-message').innerHTML = e.message;
}
</script>
<style>
.test-container.running-test {
display: block;
}
.test-container:not(.running-test) {
display: none;
}
</style>
</head>
<body>
<h2 id="test-name"></h2>
<test-fixture class="test-container" id="preference-element-fixture">
<template>
<preference-element></preference-element>
</template>
</test-fixture>
<div class="test-container" id="thin-element-fixture">
<is-less-class></is-less-class>
<is-class></is-class>
<inner-template></inner-template>
<empty-template></empty-template>
<inner-is></inner-is>
<vanilla-element></vanilla-element>
<span id="error-message"></span>
</div>
<i18n-preference persist></i18n-preference>
</body>
</html>