- add download menu - add selection hilite - tweak colors on chooser disable notarize for now
120 lines
2.6 KiB
JavaScript
120 lines
2.6 KiB
JavaScript
"use strict";
|
|
|
|
import { LitElement, html, css, unsafeCSS } from 'lit-element';
|
|
import { unsafeSVG } from 'lit-html/directives/unsafe-svg';
|
|
import { styleMap } from 'lit-html/directives/style-map';
|
|
|
|
import allCssRaw from '../assets/main.scss';
|
|
|
|
import rwpLogo from '../assets/logo.svg';
|
|
|
|
|
|
// ===========================================================================
|
|
const allCss = unsafeCSS(allCssRaw);
|
|
function wrapCss(custom) {
|
|
return [allCss, custom];
|
|
}
|
|
|
|
const IS_APP = window.IS_APP || window.electron && window.electron.IS_APP || window.matchMedia('(display-mode: standalone)').matches;
|
|
|
|
|
|
// ===========================================================================
|
|
class FaIcon extends LitElement
|
|
{
|
|
constructor() {
|
|
super();
|
|
this.size = "1.1em";
|
|
this.width = null;
|
|
this.height = null;
|
|
}
|
|
|
|
static get properties() {
|
|
return {
|
|
svg: { type: String },
|
|
size: { type: String },
|
|
width: { type: String },
|
|
height: { type: String }
|
|
}
|
|
}
|
|
|
|
static get styles() {
|
|
return css`
|
|
:host {
|
|
display: inline-block;
|
|
padding: 0;
|
|
margin: 0;
|
|
line-height: 1.0em;
|
|
}
|
|
:host svg {
|
|
fill: var(--fa-icon-fill-color, currentcolor);
|
|
width: var(--fa-icon-width, 19px);
|
|
height: var(--fa-icon-height, 19px);
|
|
}
|
|
`;
|
|
}
|
|
|
|
render() {
|
|
if (!this.svg) {
|
|
return html``;
|
|
}
|
|
|
|
const styles = {};
|
|
|
|
if (this.size) {
|
|
styles.width = this.size;
|
|
styles.height = this.size;
|
|
} else {
|
|
if (this.width) {
|
|
styles.width = this.width;
|
|
}
|
|
if (this.height) {
|
|
styles.height = this.height;
|
|
}
|
|
}
|
|
|
|
return html`<svg style="${styleMap(styles)}"><g>${unsafeSVG(this.svg)}</g></svg>`;
|
|
}
|
|
}
|
|
|
|
|
|
// ===========================================================================
|
|
class AnimLogo extends FaIcon
|
|
{
|
|
constructor() {
|
|
super();
|
|
this.svg = rwpLogo;
|
|
}
|
|
|
|
static get styles() {
|
|
return css`
|
|
#wrlogo #stop5687 {
|
|
animation: animLeft 7s linear infinite;
|
|
}
|
|
|
|
#wrlogo #stop5689 {
|
|
animation: animRight 7s linear infinite;
|
|
}
|
|
|
|
@keyframes animLeft {
|
|
0% {stop-color: #4876ff}
|
|
25% {stop-color: #1b0921}
|
|
50% {stop-color: #4876ff}
|
|
75% {stop-color: #04cdff}
|
|
100% {stop-color: #4876ff}
|
|
}
|
|
|
|
@keyframes animRight {
|
|
0% {stop-color: #04cdff}
|
|
25% {stop-color: #4876ff}
|
|
50% {stop-color: #1b0921}
|
|
75% {stop-color: #4876ff}
|
|
100% {stop-color: #04cdff}
|
|
}
|
|
`;
|
|
}
|
|
}
|
|
|
|
customElements.define("fa-icon", FaIcon);
|
|
customElements.define("wr-anim-logo", AnimLogo);
|
|
|
|
export { wrapCss, IS_APP, rwpLogo, FaIcon, AnimLogo }; |