@dbp-toolkit/common
Version:
You can provide attributes (e.g. `global-name`) for components inside the provider:
149 lines (142 loc) • 5.51 kB
JavaScript
import {createInstance} from '../i18n.js';
import {css, html} from 'lit';
import DBPLitElement from '../dbp-lit-element.js';
import {ScopedElementsMixin} from '../scoped/ScopedElementsMixin.js';
import * as commonStyles from '../styles.js';
import {
MiniSpinner,
Spinner,
InlineNotification,
Translated,
Translation,
LangMixin,
} from '../index.js';
export class DbpMiscDemo extends LangMixin(ScopedElementsMixin(DBPLitElement), createInstance) {
static get scopedElements() {
return {
'dbp-mini-spinner': MiniSpinner,
'dbp-spinner': Spinner,
'dbp-inline-notification': InlineNotification,
'dbp-translated': Translated,
'dbp-translation': Translation,
};
}
static get properties() {
return {
...super.properties,
};
}
static get styles() {
// language=css
return css`
${commonStyles.getThemeCSS()}
.control:not(:last-child) {
margin-bottom: 0.5rem;
}
.content h1 {
font-size: 2em;
margin-bottom: 0.5em;
}
.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 {
color: var(--dbp-content);
font-weight: 600;
line-height: 1.125;
margin-top: 2em;
}
`;
}
render() {
return html`
<div class="content">
<h2>Mini Spinner</h2>
<div class="control">
<dbp-mini-spinner text="Loading..."></dbp-mini-spinner>
<dbp-mini-spinner></dbp-mini-spinner>
<dbp-mini-spinner style="font-size: 2em"></dbp-mini-spinner>
<dbp-mini-spinner style="font-size: 3em"></dbp-mini-spinner>
</div>
</div>
<div class="content">
<h2>Spinner</h2>
<div class="control">
<dbp-spinner></dbp-spinner>
</div>
</div>
<div class="content">
<h2>Theming CSS Override API</h2>
<pre><code style="text-wrap: wrap;">
<style>
html {
/* This will override --dbp-primary-surface */
--dbp-override-primary-surface: green;
/* Same for all other variables, prefix with "override" */
}
</style></code></pre>
</div>
<div class="content">
<h2>Inline Notification</h2>
<div class="control">
<dbp-inline-notification
summary="Default - no type"
body="Item <b>foo</b> was deleted!"></dbp-inline-notification>
<br />
<dbp-inline-notification
summary="Primary - Item deleted"
body="Item <b>foo</b> was deleted!"
type="primary"></dbp-inline-notification>
<br />
<dbp-inline-notification
summary="Info - Item deleted"
body="Item <b>foo</b> was deleted!"
type="info"></dbp-inline-notification>
<br />
<dbp-inline-notification
summary="Success - Item deleted"
body="Item <b>foo</b> was deleted!"
type="success"></dbp-inline-notification>
<br />
<dbp-inline-notification
summary="Warning - item deleted"
body="Item <b>foo</b> was deleted!"
type="warning"></dbp-inline-notification>
<br />
<dbp-inline-notification
summary="Danger - item will be deleted"
body="Item <b>foo</b> was deleted!"
type="danger"></dbp-inline-notification>
</div>
</div>
<div class="content">
<h2>Translated text</h2>
<div class="control" id="dbp-translated-demo">
<dbp-translated subscribe="lang">
<div slot="de">
Dieser Text ist Deutsch und wird Englisch werden wenn man die Sprache
auf Englisch stellt.
</div>
<div slot="en">
This text is English and will be German if the language is changed to
German.
</div>
</dbp-translated>
</div>
<div class="control" id="dbp-translation-demo">
<dbp-translation
key="toolkit-showcase"
subscribe="lang, lang-dir"></dbp-translation>
<dbp-translation
key="toolkit-showcase-link"
var='{"link1": "https://www.i18next.com/translation-function/interpolation"}'
subscribe="lang, lang-dir"
unsafe></dbp-translation>
<dbp-translation key="abc" subscribe="lang, lang-dir"></dbp-translation>
</div>
</div>
`;
}
}