From 8994743a7f9b74dda93d4a1a3230da97b920c3e8 Mon Sep 17 00:00:00 2001 From: Zack Date: Tue, 22 Feb 2022 18:48:10 +0000 Subject: [PATCH 01/12] New version with components bundled --- .devcontainer/devcontainer.json | 2 +- package.json | 7 + rollup-ignore-plugin.js | 24 +++ rollup.config.dev.js | 36 +++-- rollup.config.js | 12 ++ src/editor.ts | 271 +++++++++++++------------------- 6 files changed, 178 insertions(+), 174 deletions(-) create mode 100644 rollup-ignore-plugin.js diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 98c934b..3a08c8e 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -3,7 +3,7 @@ "name": "Boilerplate Card Development", "image": "ludeeus/container:monster", "context": "..", - "appPort": ["5000:5000", "9123:8123"], + "appPort": ["5001:5001", "9123:8123"], "postCreateCommand": "npm install", "runArgs": [ "-v", diff --git a/package.json b/package.json index 135e932..020937f 100644 --- a/package.json +++ b/package.json @@ -15,6 +15,13 @@ "author": "Ian Richardson ", "license": "MIT", "dependencies": { + "@lit-labs/scoped-registry-mixin": "^1.0.0", + "@material/mwc-list": "^0.25.3", + "@material/mwc-menu": "^0.25.3", + "@material/mwc-notched-outline": "^0.25.3", + "@material/mwc-ripple": "^0.25.3", + "@material/mwc-select": "^0.25.3", + "@material/mwc-textfield": "^0.25.3", "custom-card-helpers": "^1.7.2", "home-assistant-js-websocket": "^5.11.1", "lit": "^2.0.0-rc.2" diff --git a/rollup-ignore-plugin.js b/rollup-ignore-plugin.js new file mode 100644 index 0000000..029995c --- /dev/null +++ b/rollup-ignore-plugin.js @@ -0,0 +1,24 @@ +export default function (userOptions = {}) { + // Files need to be absolute paths. + // This only works if the file has no exports + // and only is imported for its side effects + const files = userOptions.files || []; + + if (files.length === 0) { + return { + name: 'ignore', + }; + } + + return { + name: 'ignore', + + load(id) { + return files.some((toIgnorePath) => id.startsWith(toIgnorePath)) + ? { + code: '', + } + : null; + }, + }; +} diff --git a/rollup.config.dev.js b/rollup.config.dev.js index 6a68024..e7b0e0f 100644 --- a/rollup.config.dev.js +++ b/rollup.config.dev.js @@ -1,32 +1,44 @@ -import resolve from "rollup-plugin-node-resolve"; -import typescript from "rollup-plugin-typescript2"; -import babel from "rollup-plugin-babel"; -import serve from "rollup-plugin-serve"; -import { terser } from "rollup-plugin-terser"; +import resolve from 'rollup-plugin-node-resolve'; +import typescript from 'rollup-plugin-typescript2'; +import babel from 'rollup-plugin-babel'; +import serve from 'rollup-plugin-serve'; +import { terser } from 'rollup-plugin-terser'; import json from '@rollup/plugin-json'; +import ignore from './rollup-ignore-plugin.js'; export default { - input: ["src/boilerplate-card.ts"], + input: ['src/boilerplate-card.ts'], output: { - dir: "./dist", - format: "es", + dir: './dist', + format: 'es', }, plugins: [ resolve(), typescript(), json(), babel({ - exclude: "node_modules/**", + exclude: 'node_modules/**', }), terser(), serve({ - contentBase: "./dist", - host: "0.0.0.0", + contentBase: './dist', + host: '0.0.0.0', port: 5000, allowCrossOrigin: true, headers: { - "Access-Control-Allow-Origin": "*", + 'Access-Control-Allow-Origin': '*', }, }), + ignore({ + files: [ + require.resolve('@material/mwc-notched-outline/mwc-notched-outline.js'), + require.resolve('@material/mwc-ripple/mwc-ripple.js'), + require.resolve('@material/mwc-menu/mwc-menu.js'), + require.resolve('@material/mwc-menu/mwc-menu-surface.js'), + require.resolve('@material/mwc-list/mwc-list.js'), + require.resolve('@material/mwc-list/mwc-list-item.js'), + require.resolve('@material/mwc-icon/mwc-icon.js'), + ], + }), ], }; diff --git a/rollup.config.js b/rollup.config.js index 5586c3c..0b6db3f 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -5,6 +5,7 @@ import babel from 'rollup-plugin-babel'; import { terser } from 'rollup-plugin-terser'; import serve from 'rollup-plugin-serve'; import json from '@rollup/plugin-json'; +import ignore from './rollup-ignore-plugin.js'; const dev = process.env.ROLLUP_WATCH; @@ -28,6 +29,17 @@ const plugins = [ }), dev && serve(serveopts), !dev && terser(), + ignore({ + files: [ + require.resolve('@material/mwc-notched-outline/mwc-notched-outline.js'), + require.resolve('@material/mwc-ripple/mwc-ripple.js'), + require.resolve('@material/mwc-menu/mwc-menu.js'), + require.resolve('@material/mwc-menu/mwc-menu-surface.js'), + require.resolve('@material/mwc-list/mwc-list.js'), + require.resolve('@material/mwc-list/mwc-list-item.js'), + require.resolve('@material/mwc-icon/mwc-icon.js'), + ], + }), ]; export default [ diff --git a/src/editor.ts b/src/editor.ts index 4e18a83..a5779a2 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -5,6 +5,26 @@ import { HomeAssistant, fireEvent, LovelaceCardEditor, ActionConfig } from 'cust import { BoilerplateCardConfig } from './types'; import { customElement, property, state } from 'lit/decorators'; +//For using the same elements as Home Assistant Frontend (2022.3) +import { ScopedRegistryHost } from '@lit-labs/scoped-registry-mixin'; +import { TextFieldBase } from '@material/mwc-textfield/mwc-textfield-base'; +import { NotchedOutlineBase } from '@material/mwc-notched-outline/mwc-notched-outline-base'; +import { SelectBase } from '@material/mwc-select/mwc-select-base'; +import { ListBase } from '@material/mwc-list/mwc-list-base'; +import { ListItemBase } from '@material/mwc-list/mwc-list-item-base'; +import { MenuBase } from '@material/mwc-menu/mwc-menu-base'; +import { MenuSurfaceBase } from '@material/mwc-menu/mwc-menu-surface-base'; +import { RippleBase } from '@material/mwc-ripple/mwc-ripple-base'; + +import { styles as textfieldStyles } from '@material/mwc-textfield/mwc-textfield.css'; +import { styles as notchedOutlineStyles } from '@material/mwc-notched-outline/mwc-notched-outline.css'; +import { styles as selectStyles } from '@material/mwc-select/mwc-select.css'; +import { styles as listStyles } from '@material/mwc-list/mwc-list.css'; +import { styles as listItemStyles } from '@material/mwc-list//mwc-list-item.css'; +import { styles as rippleStyles } from '@material/mwc-ripple/mwc-ripple.css'; +import { styles as menuStyles } from '@material/mwc-menu/mwc-menu.css'; +import { styles as menuSurfaceStyles } from '@material/mwc-menu/mwc-menu-surface.css'; + const options = { required: { icon: 'tune', @@ -47,13 +67,62 @@ const options = { }; @customElement('boilerplate-card-editor') -export class BoilerplateCardEditor extends LitElement implements LovelaceCardEditor { +export class BoilerplateCardEditor extends ScopedRegistryHost(LitElement) implements LovelaceCardEditor { @property({ attribute: false }) public hass?: HomeAssistant; + @state() private _config?: BoilerplateCardConfig; + @state() private _toggle?: boolean; + @state() private _helpers?: any; + private _initialized = false; + static get elementDefinitions() { + return { + 'mwc-textfield': class extends TextFieldBase { + static get styles() { + return textfieldStyles; + } + }, + 'mwc-notched-outline': class extends NotchedOutlineBase { + static get styles() { + return notchedOutlineStyles; + } + }, + 'mwc-select': class extends SelectBase { + static get styles() { + return selectStyles; + } + }, + 'mwc-list': class extends ListBase { + static get styles() { + return listStyles; + } + }, + 'mwc-list-item': class extends ListItemBase { + static get styles() { + return listItemStyles; + } + }, + 'mwc-ripple': class extends RippleBase { + static get styles() { + return rippleStyles; + } + }, + 'mwc-menu': class extends MenuBase { + static get styles() { + return menuStyles; + } + }, + 'mwc-menu-surface': class extends MenuSurfaceBase { + static get styles() { + return menuSurfaceStyles; + } + }, + }; + } + public setConfig(config: BoilerplateCardConfig): void { this._config = config; @@ -101,130 +170,46 @@ export class BoilerplateCardEditor extends LitElement implements LovelaceCardEdi return html``; } - // The climate more-info has ha-switch and paper-dropdown-menu elements that are lazy loaded unless explicitly done here - this._helpers.importMoreInfoControl('climate'); + // The climate more-info has ha-switch elements that are lazy loaded unless explicitly done here + this._helpers.importMoreInfoControl('light'); // You can restrict on domain type - const entities = Object.keys(this.hass.states).filter(eid => eid.substr(0, eid.indexOf('.')) === 'sun'); + const entities = Object.keys(this.hass.states); return html` -
-
-
- -
${options.required.name}
-
-
${options.required.secondary}
-
- ${options.required.show - ? html` -
- - - ${entities.map(entity => { - return html` - ${entity} - `; - })} - - -
- ` - : ''} -
-
- -
${options.actions.name}
-
-
${options.actions.secondary}
-
- ${options.actions.show - ? html` -
-
-
- -
${options.actions.options.tap.name}
-
-
${options.actions.options.tap.secondary}
-
- ${options.actions.options.tap.show - ? html` -
- Action Editors Coming Soon -
- ` - : ''} -
-
- -
${options.actions.options.hold.name}
-
-
${options.actions.options.hold.secondary}
-
- ${options.actions.options.hold.show - ? html` -
- Action Editors Coming Soon -
- ` - : ''} -
-
- -
${options.actions.options.double_tap.name}
-
-
${options.actions.options.double_tap.secondary}
-
- ${options.actions.options.double_tap.show - ? html` -
- Action Editors Coming Soon -
- ` - : ''} -
- ` - : ''} -
-
- -
${options.appearance.name}
-
-
${options.appearance.secondary}
-
- ${options.appearance.show - ? html` -
- -
- - - - - - -
- ` - : ''} -
+ ev.stopPropagation()} + > + ${entities.map((entity) => { + return html`${entity}`; + })} + + + + + + + + `; } @@ -239,23 +224,6 @@ export class BoilerplateCardEditor extends LitElement implements LovelaceCardEdi this._helpers = await (window as any).loadCardHelpers(); } - private _toggleAction(ev): void { - this._toggleThing(ev, options.actions.options); - } - - private _toggleOption(ev): void { - this._toggleThing(ev, options); - } - - private _toggleThing(ev, optionList): void { - const show = !optionList[ev.target.option].show; - for (const [key] of Object.entries(optionList)) { - optionList[key].show = false; - } - optionList[ev.target.option].show = show; - this._toggle = !this._toggle; - } - private _valueChanged(ev): void { if (!this._config || !this.hass) { return; @@ -281,29 +249,10 @@ export class BoilerplateCardEditor extends LitElement implements LovelaceCardEdi static get styles(): CSSResultGroup { return css` - .option { - padding: 4px 0px; - cursor: pointer; - } - .row { - display: flex; - margin-bottom: -14px; - pointer-events: none; - } - .title { - padding-left: 16px; - margin-top: -6px; - pointer-events: none; - } - .secondary { - padding-left: 40px; - color: var(--secondary-text-color); - pointer-events: none; - } - .values { - padding-left: 16px; - background: var(--secondary-background-color); - display: grid; + mwc-select, + mwc-textfield { + margin-bottom: 16px; + display: block; } ha-formfield { padding-bottom: 8px; From 737ce0150640142c6dc3dc8a0a628b4fe84fefa5 Mon Sep 17 00:00:00 2001 From: Zack Date: Tue, 22 Feb 2022 18:50:04 +0000 Subject: [PATCH 02/12] switch back --- .devcontainer/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 3a08c8e..98c934b 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -3,7 +3,7 @@ "name": "Boilerplate Card Development", "image": "ludeeus/container:monster", "context": "..", - "appPort": ["5001:5001", "9123:8123"], + "appPort": ["5000:5000", "9123:8123"], "postCreateCommand": "npm install", "runArgs": [ "-v", From ea8b6728937dd99aef4bab84ef14029a15847331 Mon Sep 17 00:00:00 2001 From: Zack Date: Tue, 22 Feb 2022 19:43:28 +0000 Subject: [PATCH 03/12] Update to folders and one per element --- elements/formfield.ts | 10 ++ elements/select.ts | 46 ++++++ elements/switch.ts | 10 ++ elements/textfield.ts | 18 +++ package.json | 2 + .../ignore.js | 0 rollup.config.dev.js | 2 +- rollup.config.js | 2 +- src/editor.ts | 146 +++--------------- 9 files changed, 107 insertions(+), 129 deletions(-) create mode 100644 elements/formfield.ts create mode 100644 elements/select.ts create mode 100644 elements/switch.ts create mode 100644 elements/textfield.ts rename rollup-ignore-plugin.js => rollup-plugins/ignore.js (100%) diff --git a/elements/formfield.ts b/elements/formfield.ts new file mode 100644 index 0000000..7482859 --- /dev/null +++ b/elements/formfield.ts @@ -0,0 +1,10 @@ +import { FormfieldBase } from '@material/mwc-formfield/mwc-formfield-base'; +import { styles as formfieldStyles } from '@material/mwc-formfield/mwc-formfield.css'; + +export const formfieldDefinition = { + 'mwc-formfield': class extends FormfieldBase { + static get styles() { + return formfieldStyles; + } + }, +}; diff --git a/elements/select.ts b/elements/select.ts new file mode 100644 index 0000000..5c798d0 --- /dev/null +++ b/elements/select.ts @@ -0,0 +1,46 @@ +import { SelectBase } from '@material/mwc-select/mwc-select-base'; +import { ListBase } from '@material/mwc-list/mwc-list-base'; +import { ListItemBase } from '@material/mwc-list/mwc-list-item-base'; +import { MenuBase } from '@material/mwc-menu/mwc-menu-base'; +import { MenuSurfaceBase } from '@material/mwc-menu/mwc-menu-surface-base'; +import { RippleBase } from '@material/mwc-ripple/mwc-ripple-base'; + +import { styles as selectStyles } from '@material/mwc-select/mwc-select.css'; +import { styles as listStyles } from '@material/mwc-list/mwc-list.css'; +import { styles as listItemStyles } from '@material/mwc-list//mwc-list-item.css'; +import { styles as rippleStyles } from '@material/mwc-ripple/mwc-ripple.css'; +import { styles as menuStyles } from '@material/mwc-menu/mwc-menu.css'; +import { styles as menuSurfaceStyles } from '@material/mwc-menu/mwc-menu-surface.css'; + +export const selectDefinition = { + 'mwc-select': class extends SelectBase { + static get styles() { + return selectStyles; + } + }, + 'mwc-list': class extends ListBase { + static get styles() { + return listStyles; + } + }, + 'mwc-list-item': class extends ListItemBase { + static get styles() { + return listItemStyles; + } + }, + 'mwc-ripple': class extends RippleBase { + static get styles() { + return rippleStyles; + } + }, + 'mwc-menu': class extends MenuBase { + static get styles() { + return menuStyles; + } + }, + 'mwc-menu-surface': class extends MenuSurfaceBase { + static get styles() { + return menuSurfaceStyles; + } + }, +}; diff --git a/elements/switch.ts b/elements/switch.ts new file mode 100644 index 0000000..d13326f --- /dev/null +++ b/elements/switch.ts @@ -0,0 +1,10 @@ +import { SwitchBase } from '@material/mwc-switch/deprecated/mwc-switch-base'; +import { styles as switchStyles } from '@material/mwc-switch/deprecated/mwc-switch.css'; + +export const switchDefinition = { + 'mwc-switch': class extends SwitchBase { + static get styles() { + return switchStyles; + } + }, +}; diff --git a/elements/textfield.ts b/elements/textfield.ts new file mode 100644 index 0000000..713623c --- /dev/null +++ b/elements/textfield.ts @@ -0,0 +1,18 @@ +import { TextFieldBase } from '@material/mwc-textfield/mwc-textfield-base'; +import { NotchedOutlineBase } from '@material/mwc-notched-outline/mwc-notched-outline-base'; + +import { styles as textfieldStyles } from '@material/mwc-textfield/mwc-textfield.css'; +import { styles as notchedOutlineStyles } from '@material/mwc-notched-outline/mwc-notched-outline.css'; + +export const textfieldDefinition = { + 'mwc-textfield': class extends TextFieldBase { + static get styles() { + return textfieldStyles; + } + }, + 'mwc-notched-outline': class extends NotchedOutlineBase { + static get styles() { + return notchedOutlineStyles; + } + }, +}; diff --git a/package.json b/package.json index 020937f..4fc58e7 100644 --- a/package.json +++ b/package.json @@ -16,11 +16,13 @@ "license": "MIT", "dependencies": { "@lit-labs/scoped-registry-mixin": "^1.0.0", + "@material/mwc-formfield": "^0.25.3", "@material/mwc-list": "^0.25.3", "@material/mwc-menu": "^0.25.3", "@material/mwc-notched-outline": "^0.25.3", "@material/mwc-ripple": "^0.25.3", "@material/mwc-select": "^0.25.3", + "@material/mwc-switch": "^0.25.3", "@material/mwc-textfield": "^0.25.3", "custom-card-helpers": "^1.7.2", "home-assistant-js-websocket": "^5.11.1", diff --git a/rollup-ignore-plugin.js b/rollup-plugins/ignore.js similarity index 100% rename from rollup-ignore-plugin.js rename to rollup-plugins/ignore.js diff --git a/rollup.config.dev.js b/rollup.config.dev.js index e7b0e0f..b33cbd7 100644 --- a/rollup.config.dev.js +++ b/rollup.config.dev.js @@ -4,7 +4,7 @@ import babel from 'rollup-plugin-babel'; import serve from 'rollup-plugin-serve'; import { terser } from 'rollup-plugin-terser'; import json from '@rollup/plugin-json'; -import ignore from './rollup-ignore-plugin.js'; +import ignore from './rollup-plugins/ignore'; export default { input: ['src/boilerplate-card.ts'], diff --git a/rollup.config.js b/rollup.config.js index 0b6db3f..15a2aa6 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -5,7 +5,7 @@ import babel from 'rollup-plugin-babel'; import { terser } from 'rollup-plugin-terser'; import serve from 'rollup-plugin-serve'; import json from '@rollup/plugin-json'; -import ignore from './rollup-ignore-plugin.js'; +import ignore from './rollup-plugins/ignore'; const dev = process.env.ROLLUP_WATCH; diff --git a/src/editor.ts b/src/editor.ts index a5779a2..e59d724 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -1,125 +1,32 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { LitElement, html, TemplateResult, css, CSSResultGroup } from 'lit'; -import { HomeAssistant, fireEvent, LovelaceCardEditor, ActionConfig } from 'custom-card-helpers'; +import { HomeAssistant, fireEvent, LovelaceCardEditor, LovelaceConfig } from 'custom-card-helpers'; import { BoilerplateCardConfig } from './types'; import { customElement, property, state } from 'lit/decorators'; - -//For using the same elements as Home Assistant Frontend (2022.3) import { ScopedRegistryHost } from '@lit-labs/scoped-registry-mixin'; -import { TextFieldBase } from '@material/mwc-textfield/mwc-textfield-base'; -import { NotchedOutlineBase } from '@material/mwc-notched-outline/mwc-notched-outline-base'; -import { SelectBase } from '@material/mwc-select/mwc-select-base'; -import { ListBase } from '@material/mwc-list/mwc-list-base'; -import { ListItemBase } from '@material/mwc-list/mwc-list-item-base'; -import { MenuBase } from '@material/mwc-menu/mwc-menu-base'; -import { MenuSurfaceBase } from '@material/mwc-menu/mwc-menu-surface-base'; -import { RippleBase } from '@material/mwc-ripple/mwc-ripple-base'; - -import { styles as textfieldStyles } from '@material/mwc-textfield/mwc-textfield.css'; -import { styles as notchedOutlineStyles } from '@material/mwc-notched-outline/mwc-notched-outline.css'; -import { styles as selectStyles } from '@material/mwc-select/mwc-select.css'; -import { styles as listStyles } from '@material/mwc-list/mwc-list.css'; -import { styles as listItemStyles } from '@material/mwc-list//mwc-list-item.css'; -import { styles as rippleStyles } from '@material/mwc-ripple/mwc-ripple.css'; -import { styles as menuStyles } from '@material/mwc-menu/mwc-menu.css'; -import { styles as menuSurfaceStyles } from '@material/mwc-menu/mwc-menu-surface.css'; - -const options = { - required: { - icon: 'tune', - name: 'Required', - secondary: 'Required options for this card to function', - show: true, - }, - actions: { - icon: 'gesture-tap-hold', - name: 'Actions', - secondary: 'Perform actions based on tapping/clicking', - show: false, - options: { - tap: { - icon: 'gesture-tap', - name: 'Tap', - secondary: 'Set the action to perform on tap', - show: false, - }, - hold: { - icon: 'gesture-tap-hold', - name: 'Hold', - secondary: 'Set the action to perform on hold', - show: false, - }, - double_tap: { - icon: 'gesture-double-tap', - name: 'Double Tap', - secondary: 'Set the action to perform on double tap', - show: false, - }, - }, - }, - appearance: { - icon: 'palette', - name: 'Appearance', - secondary: 'Customize the name, icon, etc', - show: false, - }, -}; +import { formfieldDefinition } from '../elements/formfield'; +import { selectDefinition } from '../elements/select'; +import { switchDefinition } from '../elements/switch'; +import { textfieldDefinition } from '../elements/textfield'; @customElement('boilerplate-card-editor') export class BoilerplateCardEditor extends ScopedRegistryHost(LitElement) implements LovelaceCardEditor { + lovelace?: LovelaceConfig | undefined; @property({ attribute: false }) public hass?: HomeAssistant; @state() private _config?: BoilerplateCardConfig; - @state() private _toggle?: boolean; - @state() private _helpers?: any; private _initialized = false; static get elementDefinitions() { return { - 'mwc-textfield': class extends TextFieldBase { - static get styles() { - return textfieldStyles; - } - }, - 'mwc-notched-outline': class extends NotchedOutlineBase { - static get styles() { - return notchedOutlineStyles; - } - }, - 'mwc-select': class extends SelectBase { - static get styles() { - return selectStyles; - } - }, - 'mwc-list': class extends ListBase { - static get styles() { - return listStyles; - } - }, - 'mwc-list-item': class extends ListItemBase { - static get styles() { - return listItemStyles; - } - }, - 'mwc-ripple': class extends RippleBase { - static get styles() { - return rippleStyles; - } - }, - 'mwc-menu': class extends MenuBase { - static get styles() { - return menuStyles; - } - }, - 'mwc-menu-surface': class extends MenuSurfaceBase { - static get styles() { - return menuSurfaceStyles; - } - }, + ...textfieldDefinition, + ...selectDefinition, + ...switchDefinition, + ...formfieldDefinition, }; } @@ -153,26 +60,11 @@ export class BoilerplateCardEditor extends ScopedRegistryHost(LitElement) implem return this._config?.show_error || false; } - get _tap_action(): ActionConfig { - return this._config?.tap_action || { action: 'more-info' }; - } - - get _hold_action(): ActionConfig { - return this._config?.hold_action || { action: 'none' }; - } - - get _double_tap_action(): ActionConfig { - return this._config?.double_tap_action || { action: 'none' }; - } - protected render(): TemplateResult | void { if (!this.hass || !this._helpers) { return html``; } - // The climate more-info has ha-switch elements that are lazy loaded unless explicitly done here - this._helpers.importMoreInfoControl('light'); - // You can restrict on domain type const entities = Object.keys(this.hass.states); @@ -196,20 +88,20 @@ export class BoilerplateCardEditor extends ScopedRegistryHost(LitElement) implem .configValue=${'name'} @input=${this._valueChanged} > - - + - - - + + + - + > + `; } @@ -254,7 +146,7 @@ export class BoilerplateCardEditor extends ScopedRegistryHost(LitElement) implem margin-bottom: 16px; display: block; } - ha-formfield { + mwc-formfield { padding-bottom: 8px; } `; From 0bb346cdc5756f84a6aaeeafb45faa8ad9f320b1 Mon Sep 17 00:00:00 2001 From: Zack Date: Tue, 22 Feb 2022 20:22:33 +0000 Subject: [PATCH 04/12] More --- elements/{formfield.ts => formfield.js} | 4 ++-- elements/{select.ts => select.js} | 28 +++++++++++++++++++------ elements/switch.js | 19 +++++++++++++++++ elements/switch.ts | 10 --------- elements/{textfield.ts => textfield.js} | 4 +++- rollup.config.dev.js | 13 ++++-------- 6 files changed, 50 insertions(+), 28 deletions(-) rename elements/{formfield.ts => formfield.js} (87%) rename elements/{select.ts => select.js} (64%) create mode 100644 elements/switch.js delete mode 100644 elements/switch.ts rename elements/{textfield.ts => textfield.js} (85%) diff --git a/elements/formfield.ts b/elements/formfield.js similarity index 87% rename from elements/formfield.ts rename to elements/formfield.js index 7482859..36479ce 100644 --- a/elements/formfield.ts +++ b/elements/formfield.js @@ -1,5 +1,5 @@ -import { FormfieldBase } from '@material/mwc-formfield/mwc-formfield-base'; -import { styles as formfieldStyles } from '@material/mwc-formfield/mwc-formfield.css'; +import { FormfieldBase } from '@material/mwc-formfield/mwc-formfield-base.js'; +import { styles as formfieldStyles } from '@material/mwc-formfield/mwc-formfield.css.js'; export const formfieldDefinition = { 'mwc-formfield': class extends FormfieldBase { diff --git a/elements/select.ts b/elements/select.js similarity index 64% rename from elements/select.ts rename to elements/select.js index 5c798d0..e0d4d75 100644 --- a/elements/select.ts +++ b/elements/select.js @@ -1,9 +1,10 @@ -import { SelectBase } from '@material/mwc-select/mwc-select-base'; -import { ListBase } from '@material/mwc-list/mwc-list-base'; -import { ListItemBase } from '@material/mwc-list/mwc-list-item-base'; -import { MenuBase } from '@material/mwc-menu/mwc-menu-base'; -import { MenuSurfaceBase } from '@material/mwc-menu/mwc-menu-surface-base'; -import { RippleBase } from '@material/mwc-ripple/mwc-ripple-base'; +import { SelectBase } from '@material/mwc-select/mwc-select-base.js'; +import { ListBase } from '@material/mwc-list/mwc-list-base.js'; +import { ListItemBase } from '@material/mwc-list/mwc-list-item-base.js'; +import { MenuBase } from '@material/mwc-menu/mwc-menu-base.js'; +import { MenuSurfaceBase } from '@material/mwc-menu/mwc-menu-surface-base.js'; +import { RippleBase } from '@material/mwc-ripple/mwc-ripple-base.js'; +import { NotchedOutlineBase } from '@material/mwc-notched-outline/mwc-notched-outline-base.js'; import { styles as selectStyles } from '@material/mwc-select/mwc-select.css'; import { styles as listStyles } from '@material/mwc-list/mwc-list.css'; @@ -11,6 +12,7 @@ import { styles as listItemStyles } from '@material/mwc-list//mwc-list-item.css' import { styles as rippleStyles } from '@material/mwc-ripple/mwc-ripple.css'; import { styles as menuStyles } from '@material/mwc-menu/mwc-menu.css'; import { styles as menuSurfaceStyles } from '@material/mwc-menu/mwc-menu-surface.css'; +import { styles as notchedOutlineStyles } from '@material/mwc-notched-outline/mwc-notched-outline.css'; export const selectDefinition = { 'mwc-select': class extends SelectBase { @@ -43,4 +45,18 @@ export const selectDefinition = { return menuSurfaceStyles; } }, + 'mwc-notched-outline': class extends NotchedOutlineBase { + static get styles() { + return notchedOutlineStyles; + } + }, }; + +export const ignoreSelectFiles = [ + '@material/mwc-ripple/mwc-ripple.js', + '@material/mwc-menu/mwc-menu.js', + '@material/mwc-menu/mwc-menu-surface.js', + '@material/mwc-list/mwc-list.js', + '@material/mwc-list/mwc-list-item.js', + '@material/mwc-icon/mwc-icon.js', +]; diff --git a/elements/switch.js b/elements/switch.js new file mode 100644 index 0000000..0c693fd --- /dev/null +++ b/elements/switch.js @@ -0,0 +1,19 @@ +import { SwitchBase } from '@material/mwc-switch/deprecated/mwc-switch-base.js'; +import { RippleBase } from '@material/mwc-ripple/mwc-ripple-base.js'; +import { styles as switchStyles } from '@material/mwc-switch/deprecated/mwc-switch.css'; +import { styles as rippleStyles } from '@material/mwc-ripple/mwc-ripple.css'; + +export const switchDefinition = { + 'mwc-switch': class extends SwitchBase { + static get styles() { + return switchStyles; + } + }, + 'mwc-ripple': class extends RippleBase { + static get styles() { + return rippleStyles; + } + }, +}; + +export const ignoreSwitchFiles = ['@material/mwc-ripple/mwc-ripple.js']; diff --git a/elements/switch.ts b/elements/switch.ts deleted file mode 100644 index d13326f..0000000 --- a/elements/switch.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { SwitchBase } from '@material/mwc-switch/deprecated/mwc-switch-base'; -import { styles as switchStyles } from '@material/mwc-switch/deprecated/mwc-switch.css'; - -export const switchDefinition = { - 'mwc-switch': class extends SwitchBase { - static get styles() { - return switchStyles; - } - }, -}; diff --git a/elements/textfield.ts b/elements/textfield.js similarity index 85% rename from elements/textfield.ts rename to elements/textfield.js index 713623c..f33fc65 100644 --- a/elements/textfield.ts +++ b/elements/textfield.js @@ -1,4 +1,4 @@ -import { TextFieldBase } from '@material/mwc-textfield/mwc-textfield-base'; +import { TextFieldBase } from '@material/mwc-textfield/mwc-textfield-base.js'; import { NotchedOutlineBase } from '@material/mwc-notched-outline/mwc-notched-outline-base'; import { styles as textfieldStyles } from '@material/mwc-textfield/mwc-textfield.css'; @@ -16,3 +16,5 @@ export const textfieldDefinition = { } }, }; + +export const ignoreTextfieldFiles = ['@material/mwc-notched-outline/mwc-notched-outline.js']; diff --git a/rollup.config.dev.js b/rollup.config.dev.js index b33cbd7..323dda5 100644 --- a/rollup.config.dev.js +++ b/rollup.config.dev.js @@ -5,6 +5,9 @@ import serve from 'rollup-plugin-serve'; import { terser } from 'rollup-plugin-terser'; import json from '@rollup/plugin-json'; import ignore from './rollup-plugins/ignore'; +import { ignoreTextfieldFiles } from './elements/textfield'; +import { ignoreSelectFiles } from './elements/select'; +import { ignoreSwitchFiles } from './elements/switch'; export default { input: ['src/boilerplate-card.ts'], @@ -30,15 +33,7 @@ export default { }, }), ignore({ - files: [ - require.resolve('@material/mwc-notched-outline/mwc-notched-outline.js'), - require.resolve('@material/mwc-ripple/mwc-ripple.js'), - require.resolve('@material/mwc-menu/mwc-menu.js'), - require.resolve('@material/mwc-menu/mwc-menu-surface.js'), - require.resolve('@material/mwc-list/mwc-list.js'), - require.resolve('@material/mwc-list/mwc-list-item.js'), - require.resolve('@material/mwc-icon/mwc-icon.js'), - ], + files: [...ignoreTextfieldFiles, ...ignoreSelectFiles, ...ignoreSwitchFiles].map((file) => require.resolve(file)), }), ], }; From 7d0c2835b869f16649d05de32e09c173a3013eef Mon Sep 17 00:00:00 2001 From: Zack Date: Tue, 22 Feb 2022 20:24:24 +0000 Subject: [PATCH 05/12] rolup --- rollup.config.js | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/rollup.config.js b/rollup.config.js index 15a2aa6..f195318 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -30,15 +30,7 @@ const plugins = [ dev && serve(serveopts), !dev && terser(), ignore({ - files: [ - require.resolve('@material/mwc-notched-outline/mwc-notched-outline.js'), - require.resolve('@material/mwc-ripple/mwc-ripple.js'), - require.resolve('@material/mwc-menu/mwc-menu.js'), - require.resolve('@material/mwc-menu/mwc-menu-surface.js'), - require.resolve('@material/mwc-list/mwc-list.js'), - require.resolve('@material/mwc-list/mwc-list-item.js'), - require.resolve('@material/mwc-icon/mwc-icon.js'), - ], + files: [...ignoreTextfieldFiles, ...ignoreSelectFiles, ...ignoreSwitchFiles].map((file) => require.resolve(file)), }), ]; From 42f24e323c6caff2e51842a2977002084143d3d3 Mon Sep 17 00:00:00 2001 From: Zack Date: Tue, 22 Feb 2022 20:53:08 +0000 Subject: [PATCH 06/12] fix --- package.json | 1 - rollup.config.js | 3 + yarn.lock | 555 ++++++++++++++++++++++++++++++++++++++++++----- 3 files changed, 502 insertions(+), 57 deletions(-) diff --git a/package.json b/package.json index 4fc58e7..95e8e50 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,6 @@ "rollup-plugin-serve": "^1.1.0", "rollup-plugin-terser": "^7.0.2", "rollup-plugin-typescript2": "^0.30.0", - "rollup-plugin-uglify": "^6.0.4", "typescript": "^4.4.3" }, "scripts": { diff --git a/rollup.config.js b/rollup.config.js index f195318..73f4e48 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -6,6 +6,9 @@ import { terser } from 'rollup-plugin-terser'; import serve from 'rollup-plugin-serve'; import json from '@rollup/plugin-json'; import ignore from './rollup-plugins/ignore'; +import { ignoreTextfieldFiles } from './elements/textfield'; +import { ignoreSelectFiles } from './elements/select'; +import { ignoreSwitchFiles } from './elements/switch'; const dev = process.env.ROLLUP_WATCH; diff --git a/yarn.lock b/yarn.lock index 08d61c7..aea09da 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9,13 +9,6 @@ dependencies: "@babel/highlight" "^7.10.4" -"@babel/code-frame@^7.0.0": - version "7.5.5" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d" - integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw== - dependencies: - "@babel/highlight" "^7.0.0" - "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb" @@ -200,15 +193,6 @@ "@babel/traverse" "^7.15.4" "@babel/types" "^7.15.4" -"@babel/highlight@^7.0.0": - version "7.5.0" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540" - integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ== - dependencies: - chalk "^2.0.0" - esutils "^2.0.2" - js-tokens "^4.0.0" - "@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9" @@ -329,11 +313,479 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf" integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w== +"@lit-labs/scoped-registry-mixin@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@lit-labs/scoped-registry-mixin/-/scoped-registry-mixin-1.0.0.tgz#00d640105618fcbc6fd654f2956b5faa44452124" + integrity sha512-hSk4fnkpbLmLsFLgIetJxmZVAjnn0u/82D6NUzi9cbHddUlTbjeLcQed0ABaT7n2C3w6RDacel3XM2Ib3nTegQ== + dependencies: + "@lit/reactive-element" "^1.0.0" + lit "^2.0.0" + +"@lit/reactive-element@1.0.0-rc.4": + version "1.0.0-rc.4" + resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.0.0-rc.4.tgz#3473f6a687e9925fc2e9ff1b716a86b5f4b576ad" + integrity sha512-dJMha+4NFYdpnUJzRrWTFV5Hdp9QHWFuPnaoqonrKl4lGJVnYez9mu8ev9F/5KM47tjAjh22DuRHrdFDHfOijA== + "@lit/reactive-element@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.0.0.tgz#7b6e6a85709cda0370c47e425ac2f3b553696a4b" integrity sha512-Kpgenb8UNFsKCsFhggiVvUkCbcFQSd6N8hffYEEGjz27/4rw3cTSsmP9t3q1EHOAsdum60Wo64HvuZDFpEwexA== +"@lit/reactive-element@^1.3.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.3.0.tgz#c85c5a5fea41d7230e52fb9017307f473ab947ea" + integrity sha512-0TKSIuJHXNLM0k98fi0AdMIdUoHIYlDHTP+0Vruc2SOs4T6vU1FinXgSvYd8mSrkt+8R+qdRAXvjpqrMXMyBgw== + +"@material/animation@14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/animation/-/animation-14.0.0-canary.261f2db59.0.tgz#1e3897a25dc4264afd5beb40f8040686276903fc" + integrity sha512-OjxWJYSRNs4vnPe8NclaNn+TsNc8TR/wHusGtezF5F+wl+5mh+K69BMXAmURtq3idoRg4XaOSC/Ohk1ovD1fMQ== + dependencies: + tslib "^2.1.0" + +"@material/base@14.0.0-canary.261f2db59.0", "@material/base@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/base/-/base-14.0.0-canary.261f2db59.0.tgz#199d0dd5ee64150a96b1392c207e45f7e9df9b80" + integrity sha512-vy5SQt+jcwwdRFfBvtpVdpULUBujecVUKOXcopaQoi2XIzI5EBHuR4gPN0cd1yfmVEucD6p2fvVv2FJ3Ngr61w== + dependencies: + tslib "^2.1.0" + +"@material/density@14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/density/-/density-14.0.0-canary.261f2db59.0.tgz#e34683ef5d68c661b0e2adaed1cd68668f35c18d" + integrity sha512-zOR5wISqPVr8KS/ERNC1jdRV9O832lzclyS9Ea20rDrWfuOiYsQ9bbIk12xWlxpgsn7r9fxQJyd1O2SURoHdRA== + dependencies: + tslib "^2.1.0" + +"@material/dom@14.0.0-canary.261f2db59.0", "@material/dom@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/dom/-/dom-14.0.0-canary.261f2db59.0.tgz#7ee09608c9742f4cba06d2867ce6e211e84b2d50" + integrity sha512-iUpZG6Bb2l/PfNV2Fb/pXfG1p4Bz4PC9A7ATPlKfcU5HioObcnYVc/+Hrtaw8eu28BNIc+VVROtbfpqG/YgKSQ== + dependencies: + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/elevation@14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/elevation/-/elevation-14.0.0-canary.261f2db59.0.tgz#c49a90b1040589ac21b9fc3a9dda216e67cc140f" + integrity sha512-AqN/tsTGGyBzZ7CtoSMBY9bDYvCuUt98EUfiGjZGXcf4HgoHV3Cn/JSLrhru5Cq8Nx6HF6AmHh3dQCfNCQduew== + dependencies: + "@material/animation" "14.0.0-canary.261f2db59.0" + "@material/base" "14.0.0-canary.261f2db59.0" + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/rtl" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/feature-targeting@14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/feature-targeting/-/feature-targeting-14.0.0-canary.261f2db59.0.tgz#ef9a02e87c1fdc91c290f1e54d17e141be940b91" + integrity sha512-CrVoGNu0ym52OPEKy3kgeNL2oSWOCBYbYxSH3GhERxCq5FwGBN+XmK/ZDLFVQlHYy3v8x4TqVEwXviCeumNTxQ== + dependencies: + tslib "^2.1.0" + +"@material/floating-label@14.0.0-canary.261f2db59.0", "@material/floating-label@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/floating-label/-/floating-label-14.0.0-canary.261f2db59.0.tgz#aaeda764b6db05d14fd34d70c11677e13929155c" + integrity sha512-Cp0/LngkW6/uZWbEDTe3Ox143V4kYtxl9twiM3XLKd6a67JHCzneQWFzC0qSg90b3r5O+1zOkT3ZMF2Pbu2Vwg== + dependencies: + "@material/animation" "14.0.0-canary.261f2db59.0" + "@material/base" "14.0.0-canary.261f2db59.0" + "@material/dom" "14.0.0-canary.261f2db59.0" + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/rtl" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + "@material/typography" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/form-field@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/form-field/-/form-field-14.0.0-canary.261f2db59.0.tgz#cbea4cb27eecd8539da290dd9813408b17a8ac03" + integrity sha512-NCc/o60gwuF28PVMgFkHrKcHxIaCMZK9JRVfoaD0sF2BINYrjaCkFZ+x6AhNjAWLUQMhJMfc+1WXAUE2T85Mug== + dependencies: + "@material/base" "14.0.0-canary.261f2db59.0" + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/ripple" "14.0.0-canary.261f2db59.0" + "@material/rtl" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + "@material/typography" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/line-ripple@14.0.0-canary.261f2db59.0", "@material/line-ripple@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/line-ripple/-/line-ripple-14.0.0-canary.261f2db59.0.tgz#fc7d46bbb6dd77a1321a3d00979265202d3eb479" + integrity sha512-LlyiyxpHNlFt0PZ8Q2tvOPbjNcgm3L7tUebXsM7iGyoKXfj0HwyDI31S0KgtU3Vs5DIK4U4mnRWtoAxtBW6Jfg== + dependencies: + "@material/animation" "14.0.0-canary.261f2db59.0" + "@material/base" "14.0.0-canary.261f2db59.0" + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/list@14.0.0-canary.261f2db59.0", "@material/list@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/list/-/list-14.0.0-canary.261f2db59.0.tgz#f2b413c0da1cab9f49615587520eff00be99969a" + integrity sha512-bjHXXk2ZeWxAFs4cJxy5J5A5ClUd3FGjRv/LwCYpsh7Dm7e8kSe8Lw2MWb6FXyF3mDJM6xqN3xXQWOh6UEu5wA== + dependencies: + "@material/base" "14.0.0-canary.261f2db59.0" + "@material/density" "14.0.0-canary.261f2db59.0" + "@material/dom" "14.0.0-canary.261f2db59.0" + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/ripple" "14.0.0-canary.261f2db59.0" + "@material/rtl" "14.0.0-canary.261f2db59.0" + "@material/shape" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + "@material/typography" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/menu-surface@14.0.0-canary.261f2db59.0", "@material/menu-surface@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/menu-surface/-/menu-surface-14.0.0-canary.261f2db59.0.tgz#5332e93bdd4724745825396a0f336b0114cfd96e" + integrity sha512-zv/fv/W3zdSb+c/p6GNcOqA3+wAc/r8MOtV53WJPLlvZZSpGoTwHUp+GPiNeovfbsTSxN95XOXuVQBEfKEb8vA== + dependencies: + "@material/animation" "14.0.0-canary.261f2db59.0" + "@material/base" "14.0.0-canary.261f2db59.0" + "@material/elevation" "14.0.0-canary.261f2db59.0" + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/rtl" "14.0.0-canary.261f2db59.0" + "@material/shape" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/menu@14.0.0-canary.261f2db59.0", "@material/menu@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/menu/-/menu-14.0.0-canary.261f2db59.0.tgz#7bd1e8eaa5a4933d2f4bb868085b6e4895ec15e9" + integrity sha512-x59UHoTLvEsPKjFdffrKTgEyc0T4W3m58RsizAmapXr59Uthq8+PTFOkAv9R1PV/ZCzxay7Vx+QcekC4qOr40A== + dependencies: + "@material/base" "14.0.0-canary.261f2db59.0" + "@material/dom" "14.0.0-canary.261f2db59.0" + "@material/elevation" "14.0.0-canary.261f2db59.0" + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/list" "14.0.0-canary.261f2db59.0" + "@material/menu-surface" "14.0.0-canary.261f2db59.0" + "@material/ripple" "14.0.0-canary.261f2db59.0" + "@material/rtl" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/mwc-base@^0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@material/mwc-base/-/mwc-base-0.25.3.tgz#b3e5f5409ce8250a40856f0d35cf9476244227dc" + integrity sha512-4wvxZ9dhPr0O4jjOHPmFyn77pafe+h1gHPlT9sbQ+ly8NY/fSn/TXn7/PbxgL8g4ZHxMvD3o7PJopg+6cbHp8Q== + dependencies: + "@lit/reactive-element" "1.0.0-rc.4" + "@material/base" "=14.0.0-canary.261f2db59.0" + "@material/dom" "=14.0.0-canary.261f2db59.0" + lit "^2.0.0" + tslib "^2.0.1" + +"@material/mwc-checkbox@^0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@material/mwc-checkbox/-/mwc-checkbox-0.25.3.tgz#93fd75b301186b4775456b8fe5155c9417e8fcfd" + integrity sha512-PSh9IAgQK4XiDzBwgclheejkA4cbZ3K9V1JTTl/YVRDD/OLLM+Bh8tbnAg/1kGVlPWOUfDrYCcZ0gg472ca7gw== + dependencies: + "@material/mwc-base" "^0.25.3" + "@material/mwc-ripple" "^0.25.3" + lit "^2.0.0" + tslib "^2.0.1" + +"@material/mwc-floating-label@^0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@material/mwc-floating-label/-/mwc-floating-label-0.25.3.tgz#e730c5d379160bd7f72e37f3dcec13ee0c21eaaf" + integrity sha512-3uFMi8Y680P0nzP5zih4YuOZJLl/C6Ux9G810Unwo44zblG/ckgJlFiM+T+oR+OH5KM8LbfNlV0ypo7FT5zYJA== + dependencies: + "@material/floating-label" "=14.0.0-canary.261f2db59.0" + lit "^2.0.0" + tslib "^2.0.1" + +"@material/mwc-formfield@^0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@material/mwc-formfield/-/mwc-formfield-0.25.3.tgz#3e8052ddae2bd7280796d1bdafe276a1313e49f7" + integrity sha512-JP/ZgsWok0ZVwUQfYgaov0Ocn1zDiiw7Po6q8k/n5tOS67S41XUB/ctiUg1gh00LAM0v3eZAexa9ZmKarviVJA== + dependencies: + "@material/form-field" "=14.0.0-canary.261f2db59.0" + "@material/mwc-base" "^0.25.3" + lit "^2.0.0" + tslib "^2.0.1" + +"@material/mwc-icon@^0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@material/mwc-icon/-/mwc-icon-0.25.3.tgz#8b646e45f16a449553e89901684c026ff4f465a0" + integrity sha512-36076AWZIRSr8qYOLjuDDkxej/HA0XAosrj7TS1ZeLlUBnLUtbDtvc1S7KSa0hqez7ouzOqGaWK24yoNnTa2OA== + dependencies: + lit "^2.0.0" + tslib "^2.0.1" + +"@material/mwc-line-ripple@^0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@material/mwc-line-ripple/-/mwc-line-ripple-0.25.3.tgz#c5609d894c64ae80cbc37f657d0014e58fda1811" + integrity sha512-ANJzSyumb+shBVTIhqF1+YByPU/EpFXxI9CS26qThFqlUDpYXg5xcoZpkMSmZv3Wv/loF1rs2mJfFWOcC6nFnw== + dependencies: + "@material/line-ripple" "=14.0.0-canary.261f2db59.0" + lit "^2.0.0" + tslib "^2.0.1" + +"@material/mwc-list@^0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@material/mwc-list/-/mwc-list-0.25.3.tgz#9cbcb4e535f718e1029d0ae9de637cbe0049d589" + integrity sha512-2T297qVaQsKv+QDNP2ag9g04RLKO1tm2F6BwwqvdbXTsY+LKYOJe2/aSe0kX2tQLayX4ydy2RnTevo9Ld+c+4g== + dependencies: + "@material/base" "=14.0.0-canary.261f2db59.0" + "@material/dom" "=14.0.0-canary.261f2db59.0" + "@material/list" "=14.0.0-canary.261f2db59.0" + "@material/mwc-base" "^0.25.3" + "@material/mwc-checkbox" "^0.25.3" + "@material/mwc-radio" "^0.25.3" + "@material/mwc-ripple" "^0.25.3" + lit "^2.0.0" + tslib "^2.0.1" + +"@material/mwc-menu@^0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@material/mwc-menu/-/mwc-menu-0.25.3.tgz#f3dec5f520726715249bbe7301bfad83f7e9273d" + integrity sha512-jr5R61BfqrJC0lsAI63y4BsEM2eY3n6kiCy2ZnwinmxrfFrS709T/zuSUUW/xG9b9inSku4WjjSkDhPzQrmS3g== + dependencies: + "@material/menu" "=14.0.0-canary.261f2db59.0" + "@material/menu-surface" "=14.0.0-canary.261f2db59.0" + "@material/mwc-base" "^0.25.3" + "@material/mwc-list" "^0.25.3" + "@material/shape" "=14.0.0-canary.261f2db59.0" + "@material/theme" "=14.0.0-canary.261f2db59.0" + lit "^2.0.0" + tslib "^2.0.1" + +"@material/mwc-notched-outline@^0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@material/mwc-notched-outline/-/mwc-notched-outline-0.25.3.tgz#8190629f50c97c6056db68dd6d82b1673d287ec8" + integrity sha512-8jvU8GD0Pke+pfTQ0PdXpZmkU3XIHhMVY6AHM/2IQrXHkVZmAm9kbwL7ne3Ao+6f5n+DeXDGd+SG9U6ZZjD7gw== + dependencies: + "@material/mwc-base" "^0.25.3" + "@material/notched-outline" "=14.0.0-canary.261f2db59.0" + lit "^2.0.0" + tslib "^2.0.1" + +"@material/mwc-radio@^0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@material/mwc-radio/-/mwc-radio-0.25.3.tgz#f57aeadba2fc2fcfa2a7eec9ee4484249031e661" + integrity sha512-SXpVDrsQnz7+2w/kfBxcOJ4P+uJ0RxBd9mCLE7wVyN53gDLkNHqA0npdl2PNpRaaMavVrt27L8wWo5QIT+7zWA== + dependencies: + "@material/mwc-base" "^0.25.3" + "@material/mwc-ripple" "^0.25.3" + "@material/radio" "=14.0.0-canary.261f2db59.0" + lit "^2.0.0" + tslib "^2.0.1" + +"@material/mwc-ripple@^0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@material/mwc-ripple/-/mwc-ripple-0.25.3.tgz#3b8f08b9d4195ff42989d08a22cc07a432fd753d" + integrity sha512-G/gt/csxgME6/sAku3GiuB0O2LLvoPWsRTLq/9iABpaGLJjqaKHvNg/IVzNDdF3YZT7EORgR9cBWWl7umA4i4Q== + dependencies: + "@material/dom" "=14.0.0-canary.261f2db59.0" + "@material/mwc-base" "^0.25.3" + "@material/ripple" "=14.0.0-canary.261f2db59.0" + lit "^2.0.0" + tslib "^2.0.1" + +"@material/mwc-select@^0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@material/mwc-select/-/mwc-select-0.25.3.tgz#6683316b9ef3963a43539318a37471a100979c41" + integrity sha512-mf1WrsNAW4rDHeVH+AgTPfNHAg70dJdwuIfIBqksAty3pYxnXQ9RjpL4Z/7kLdsGiS44du65vVgmZ63T0ifugQ== + dependencies: + "@material/dom" "=14.0.0-canary.261f2db59.0" + "@material/floating-label" "=14.0.0-canary.261f2db59.0" + "@material/line-ripple" "=14.0.0-canary.261f2db59.0" + "@material/list" "=14.0.0-canary.261f2db59.0" + "@material/mwc-base" "^0.25.3" + "@material/mwc-floating-label" "^0.25.3" + "@material/mwc-icon" "^0.25.3" + "@material/mwc-line-ripple" "^0.25.3" + "@material/mwc-list" "^0.25.3" + "@material/mwc-menu" "^0.25.3" + "@material/mwc-notched-outline" "^0.25.3" + "@material/select" "=14.0.0-canary.261f2db59.0" + lit "^2.0.0" + tslib "^2.0.1" + +"@material/mwc-switch@^0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@material/mwc-switch/-/mwc-switch-0.25.3.tgz#cde33fdae5b33c7f9fedb349bac5f323449e5165" + integrity sha512-cjppRf17q70SdtTP0twMAzODJY7ztJFnfDDZKM5N72F4cp2q0VvhIU42hfBCGLIEbXPQBCLG0dxqt2Mo04qCcA== + dependencies: + "@material/mwc-base" "^0.25.3" + "@material/mwc-ripple" "^0.25.3" + "@material/switch" "=14.0.0-canary.261f2db59.0" + lit "^2.0.0" + tslib "^2.0.1" + +"@material/mwc-textfield@^0.25.3": + version "0.25.3" + resolved "https://registry.yarnpkg.com/@material/mwc-textfield/-/mwc-textfield-0.25.3.tgz#651389a92d0d29f1b7ed7e252129314eadcfae3e" + integrity sha512-stpZ8sEyo2Mb9fG2XCoTc1Kom8oRXZiVI5rU88GtfcBU7nH0em8S4grq9X1mVfUG6Cfi1G/T+avCSIhzbYtr0w== + dependencies: + "@material/floating-label" "=14.0.0-canary.261f2db59.0" + "@material/line-ripple" "=14.0.0-canary.261f2db59.0" + "@material/mwc-base" "^0.25.3" + "@material/mwc-floating-label" "^0.25.3" + "@material/mwc-line-ripple" "^0.25.3" + "@material/mwc-notched-outline" "^0.25.3" + "@material/textfield" "=14.0.0-canary.261f2db59.0" + lit "^2.0.0" + tslib "^2.0.1" + +"@material/notched-outline@14.0.0-canary.261f2db59.0", "@material/notched-outline@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/notched-outline/-/notched-outline-14.0.0-canary.261f2db59.0.tgz#49e31ba87a2bb1c4b00a12fc1dd7c82f1d8fc068" + integrity sha512-gtn+IKAiX2rbfbX3a9aDlfUoKCEYrlAPOZifKXUaZ4UJYMNLzZuAqy7l5Ds30emtqUE22mySTEWqhzK6dePKsA== + dependencies: + "@material/base" "14.0.0-canary.261f2db59.0" + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/floating-label" "14.0.0-canary.261f2db59.0" + "@material/rtl" "14.0.0-canary.261f2db59.0" + "@material/shape" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/radio@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/radio/-/radio-14.0.0-canary.261f2db59.0.tgz#d3e663e39b300c9cd19e84e00ff5d5ee3360d99b" + integrity sha512-AvrsOqhP8UZ5d58RWgaTmQVlWQRULwk2BXhsEhtxz56CmTsyVM49thNbaNnc/TzuY9Ssxv/L2wYVbR2B3BX9Yw== + dependencies: + "@material/animation" "14.0.0-canary.261f2db59.0" + "@material/base" "14.0.0-canary.261f2db59.0" + "@material/density" "14.0.0-canary.261f2db59.0" + "@material/dom" "14.0.0-canary.261f2db59.0" + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/ripple" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + "@material/touch-target" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/ripple@14.0.0-canary.261f2db59.0", "@material/ripple@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/ripple/-/ripple-14.0.0-canary.261f2db59.0.tgz#32a0dbdac1e65bdbc181ef36d59ee3f0d5afd037" + integrity sha512-3FLCLj8X7KrFfuYBHJg1b7Odb3V/AW7fxk3m1i1zhDnygKmlQ/abVucH1s2qbX3Y+JIiq+5/C5407h9BFtOf+A== + dependencies: + "@material/animation" "14.0.0-canary.261f2db59.0" + "@material/base" "14.0.0-canary.261f2db59.0" + "@material/dom" "14.0.0-canary.261f2db59.0" + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/rtl" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/rtl@14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/rtl/-/rtl-14.0.0-canary.261f2db59.0.tgz#01ef76b6c084acfc507999581ff4be46fe2c7703" + integrity sha512-bVnXBbUsHs57+EXdeFbcwaKy3lT/itI/qTLmJ88ar0qaGEujO1GmESHm3ioqkeo4kQpTfDhBwQGeEi1aDaTdFg== + dependencies: + "@material/theme" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/select@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/select/-/select-14.0.0-canary.261f2db59.0.tgz#849cd9f3c58840b932769b70ba1e085aea393070" + integrity sha512-r/D3e75H/sg+7iv+dkiyQ9cg8R6koHQJl85/gZqOlHpaQGSH5gSxpVeILkRY+ic6obQTdQCPRvUi9kzUve5zEg== + dependencies: + "@material/animation" "14.0.0-canary.261f2db59.0" + "@material/base" "14.0.0-canary.261f2db59.0" + "@material/density" "14.0.0-canary.261f2db59.0" + "@material/dom" "14.0.0-canary.261f2db59.0" + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/floating-label" "14.0.0-canary.261f2db59.0" + "@material/line-ripple" "14.0.0-canary.261f2db59.0" + "@material/list" "14.0.0-canary.261f2db59.0" + "@material/menu" "14.0.0-canary.261f2db59.0" + "@material/menu-surface" "14.0.0-canary.261f2db59.0" + "@material/notched-outline" "14.0.0-canary.261f2db59.0" + "@material/ripple" "14.0.0-canary.261f2db59.0" + "@material/rtl" "14.0.0-canary.261f2db59.0" + "@material/shape" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + "@material/typography" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/shape@14.0.0-canary.261f2db59.0", "@material/shape@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/shape/-/shape-14.0.0-canary.261f2db59.0.tgz#256be16b1b6e6e0a604198f3c3d29abed1880950" + integrity sha512-VjcQltd1uF9ugvLExMy00SMISjy/370o8lsZlb1T+xHyhXHL3UxeuWYLW5Amq6mbx65+c9Df9WmlXXOdebpEkw== + dependencies: + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/rtl" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/switch@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/switch/-/switch-14.0.0-canary.261f2db59.0.tgz#e89b7dde62b8e9181ff203312bba973c4a8480e2" + integrity sha512-WoHxAeTVh43OAwkdC9uWI5caVwCCn0JrxMbPYAonbuoGAn/blXECuDtSpXD3m+05RwSgUHlX9n14nb3SGQMOYw== + dependencies: + "@material/animation" "14.0.0-canary.261f2db59.0" + "@material/base" "14.0.0-canary.261f2db59.0" + "@material/density" "14.0.0-canary.261f2db59.0" + "@material/dom" "14.0.0-canary.261f2db59.0" + "@material/elevation" "14.0.0-canary.261f2db59.0" + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/ripple" "14.0.0-canary.261f2db59.0" + "@material/rtl" "14.0.0-canary.261f2db59.0" + "@material/shape" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + "@material/tokens" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/textfield@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/textfield/-/textfield-14.0.0-canary.261f2db59.0.tgz#6f9b8c5e03cace5d8162228d8bbda33758c379d4" + integrity sha512-KBPgpvvVFBfLx9nc6+wWOS2hJ40JVwh5KBjMoYbiOEFLf0O7SgCAVREHaFAXrPsC8AeTyUipx6TReONIGfMCPQ== + dependencies: + "@material/animation" "14.0.0-canary.261f2db59.0" + "@material/base" "14.0.0-canary.261f2db59.0" + "@material/density" "14.0.0-canary.261f2db59.0" + "@material/dom" "14.0.0-canary.261f2db59.0" + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/floating-label" "14.0.0-canary.261f2db59.0" + "@material/line-ripple" "14.0.0-canary.261f2db59.0" + "@material/notched-outline" "14.0.0-canary.261f2db59.0" + "@material/ripple" "14.0.0-canary.261f2db59.0" + "@material/rtl" "14.0.0-canary.261f2db59.0" + "@material/shape" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + "@material/typography" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/theme@14.0.0-canary.261f2db59.0", "@material/theme@=14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/theme/-/theme-14.0.0-canary.261f2db59.0.tgz#acc25e9841a0072a7ce8f59588eaa2c9849bdb1f" + integrity sha512-bUqyFT0QF8Nxx02fekt3CXIfC9DEPOPdo2hjgdtvhrNP+vftbkI2tKZ5/uRUnVA+zqQAOyIl5z6FOMg4fyemCA== + dependencies: + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/tokens@14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/tokens/-/tokens-14.0.0-canary.261f2db59.0.tgz#117a1e47d9d229576b9500d5bb35c9e1606ef9b9" + integrity sha512-mgar9gsLv00HTvXIDvNR1vEEXpfKgeWhVTO8a7aWofSNyENNOVc5ImJwBgCAMb5SgLHBi6w8/c1tPzjOewBfCA== + dependencies: + "@material/elevation" "14.0.0-canary.261f2db59.0" + +"@material/touch-target@14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/touch-target/-/touch-target-14.0.0-canary.261f2db59.0.tgz#fe6be5287a415112b3f29a95d939b17f1c1de7a1" + integrity sha512-xA6TTHN7aOTXg/+c6mQJlogzTD+Sp8WPC5TK8RBXbQxEykGXGW15p+H9pG+rX/gzD5iehnHRBrDUFmAGoskhcQ== + dependencies: + "@material/base" "14.0.0-canary.261f2db59.0" + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/rtl" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + +"@material/typography@14.0.0-canary.261f2db59.0": + version "14.0.0-canary.261f2db59.0" + resolved "https://registry.yarnpkg.com/@material/typography/-/typography-14.0.0-canary.261f2db59.0.tgz#dd89dcff311b5398f22de4746a9d64bbf3d0a62e" + integrity sha512-WOCdcNkD5KBRAwICcRqWBRG3cDkyrwK5USTNmG0oxnwnZAN7daOpPTdLppVAhadE7faj8d67ON+V9pH7+T62FQ== + dependencies: + "@material/feature-targeting" "14.0.0-canary.261f2db59.0" + "@material/theme" "14.0.0-canary.261f2db59.0" + tslib "^2.1.0" + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -717,7 +1169,7 @@ color-name@~1.1.4: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== -commander@^2.20.0, commander@~2.20.0: +commander@^2.20.0: version "2.20.0" resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.0.tgz#d58bb2b5c1ee8f87b0d340027e9e94e222c5a422" integrity sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ== @@ -1652,14 +2104,6 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -jest-worker@^24.0.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-24.9.0.tgz#5dbfdb5b2d322e98567898238a9697bcce67b3e5" - integrity sha512-51PE4haMSXcHohnSMdM42anbvZANYTqMrr52tVKPqqsPJMzoP6FYYDVqahX/HrAoKEKz3uUPzSvKs9A3qR4iVw== - dependencies: - merge-stream "^2.0.0" - supports-color "^6.1.0" - jest-worker@^26.2.1: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed" @@ -1749,6 +2193,14 @@ lit-element@^3.0.0: "@lit/reactive-element" "^1.0.0" lit-html "^2.0.0" +lit-element@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.2.0.tgz#9c981c55dfd9a8f124dc863edb62cc529d434db7" + integrity sha512-HbE7yt2SnUtg5DCrWt028oaU4D5F4k/1cntAFHTkzY8ZIa8N0Wmu92PxSxucsQSOXlODFrICkQ5x/tEshKi13g== + dependencies: + "@lit/reactive-element" "^1.3.0" + lit-html "^2.2.0" + lit-html@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.0.0.tgz#ba6779269c382e66d7403a96ed99516ccc3d658b" @@ -1756,6 +2208,22 @@ lit-html@^2.0.0: dependencies: "@types/trusted-types" "^2.0.2" +lit-html@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.2.0.tgz#99345d944611e34543cd9f153d8cc3163b8bbab8" + integrity sha512-dJnevgV8VkCuOXLWrjQopDE8nSy8CzipZ/ATfYQv7z7Dct4abblcKecf50gkIScuwCTzKvRLgvTgV0zzagW4gA== + dependencies: + "@types/trusted-types" "^2.0.2" + +lit@^2.0.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/lit/-/lit-2.2.0.tgz#1b83a2c1e4c5ecf3be785292b1a13e193597f610" + integrity sha512-FDyxUuczo6cJJY/2Bkgfh1872U4ikUvmK1Cb6+lYC1CW+QOo8CaWXCpvPKFzYsz0ojUxoruBLVrECc7VI2f1dQ== + dependencies: + "@lit/reactive-element" "^1.3.0" + lit-element "^3.2.0" + lit-html "^2.2.0" + lit@^2.0.0-rc.2, lit@^2.0.0-rc.3: version "2.0.0" resolved "https://registry.yarnpkg.com/lit/-/lit-2.0.0.tgz#7710095dc518d9858dde579e9c76b9eed71e98ba" @@ -2274,16 +2742,6 @@ rollup-plugin-typescript2@^0.30.0: resolve "1.20.0" tslib "2.1.0" -rollup-plugin-uglify@^6.0.4: - version "6.0.4" - resolved "https://registry.yarnpkg.com/rollup-plugin-uglify/-/rollup-plugin-uglify-6.0.4.tgz#65a0959d91586627f1e46a7db966fd504ec6c4e6" - integrity sha512-ddgqkH02klveu34TF0JqygPwZnsbhHVI6t8+hGTcYHngPkQb5MIHI0XiztXIN/d6V9j+efwHAqEL7LspSxQXGw== - dependencies: - "@babel/code-frame" "^7.0.0" - jest-worker "^24.0.0" - serialize-javascript "^2.1.2" - uglify-js "^3.4.9" - rollup-pluginutils@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/rollup-pluginutils/-/rollup-pluginutils-2.8.1.tgz#8fa6dd0697344938ef26c2c09d2488ce9e33ce97" @@ -2339,11 +2797,6 @@ semver@^7.2.1, semver@^7.3.5: dependencies: lru-cache "^6.0.0" -serialize-javascript@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-2.1.2.tgz#ecec53b0e0317bdc95ef76ab7074b7384785fa61" - integrity sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ== - serialize-javascript@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa" @@ -2399,7 +2852,7 @@ source-map@^0.5.0: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= -source-map@^0.6.0, source-map@~0.6.1: +source-map@^0.6.0: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== @@ -2518,13 +2971,6 @@ supports-color@^5.3.0: dependencies: has-flag "^3.0.0" -supports-color@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3" - integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ== - dependencies: - has-flag "^3.0.0" - supports-color@^7.0.0, supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" @@ -2595,6 +3041,11 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.0.1, tslib@^2.1.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== + tsutils@^3.21.0: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" @@ -2629,14 +3080,6 @@ typescript@^4.4.3: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz#bdc5407caa2b109efd4f82fe130656f977a29324" integrity sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA== -uglify-js@^3.4.9: - version "3.6.0" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.6.0.tgz#704681345c53a8b2079fb6cec294b05ead242ff5" - integrity sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg== - dependencies: - commander "~2.20.0" - source-map "~0.6.1" - unbox-primitive@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" From 614e2e797b727b2acfa8ec34d8fcae55c4e7d523 Mon Sep 17 00:00:00 2001 From: Zack Date: Tue, 22 Feb 2022 20:56:38 +0000 Subject: [PATCH 07/12] rollup fix --- elements/textfield.js | 2 +- src/action-handler-directive.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/elements/textfield.js b/elements/textfield.js index f33fc65..9f0e234 100644 --- a/elements/textfield.js +++ b/elements/textfield.js @@ -1,5 +1,5 @@ import { TextFieldBase } from '@material/mwc-textfield/mwc-textfield-base.js'; -import { NotchedOutlineBase } from '@material/mwc-notched-outline/mwc-notched-outline-base'; +import { NotchedOutlineBase } from '@material/mwc-notched-outline/mwc-notched-outline-base.js'; import { styles as textfieldStyles } from '@material/mwc-textfield/mwc-textfield.css'; import { styles as notchedOutlineStyles } from '@material/mwc-notched-outline/mwc-notched-outline.css'; diff --git a/src/action-handler-directive.ts b/src/action-handler-directive.ts index bbaa40a..54550c4 100644 --- a/src/action-handler-directive.ts +++ b/src/action-handler-directive.ts @@ -50,7 +50,7 @@ class ActionHandler extends HTMLElement implements ActionHandler { this.appendChild(this.ripple); this.ripple.primary = true; - ['touchcancel', 'mouseout', 'mouseup', 'touchmove', 'mousewheel', 'wheel', 'scroll'].forEach(ev => { + ['touchcancel', 'mouseout', 'mouseup', 'touchmove', 'mousewheel', 'wheel', 'scroll'].forEach((ev) => { document.addEventListener( ev, () => { @@ -192,7 +192,7 @@ export const actionHandler = directive( return noChange; } - // eslint-disable-next-line @typescript-eslint/no-empty-function + // eslint-disable-next-line @typescript-eslint/no-empty-function, @typescript-eslint/no-unused-vars render(_options?: ActionHandlerOptions) {} }, ); From f2e1616e2dede09a735c86f6dd9e20cb63c1bc79 Mon Sep 17 00:00:00 2001 From: Zack Date: Tue, 22 Feb 2022 21:17:33 +0000 Subject: [PATCH 08/12] put ignore files in diff folder to appease rollup --- elements/ignore/select.js | 8 ++++++++ elements/ignore/switch.js | 1 + elements/ignore/textfield.js | 1 + rollup.config.dev.js | 6 +++--- rollup.config.js | 6 +++--- 5 files changed, 16 insertions(+), 6 deletions(-) create mode 100644 elements/ignore/select.js create mode 100644 elements/ignore/switch.js create mode 100644 elements/ignore/textfield.js diff --git a/elements/ignore/select.js b/elements/ignore/select.js new file mode 100644 index 0000000..b1e1d15 --- /dev/null +++ b/elements/ignore/select.js @@ -0,0 +1,8 @@ +export const ignoreSelectFiles = [ + '@material/mwc-ripple/mwc-ripple.js', + '@material/mwc-menu/mwc-menu.js', + '@material/mwc-menu/mwc-menu-surface.js', + '@material/mwc-list/mwc-list.js', + '@material/mwc-list/mwc-list-item.js', + '@material/mwc-icon/mwc-icon.js', +]; diff --git a/elements/ignore/switch.js b/elements/ignore/switch.js new file mode 100644 index 0000000..e13a8a7 --- /dev/null +++ b/elements/ignore/switch.js @@ -0,0 +1 @@ +export const ignoreSwitchFiles = ['@material/mwc-ripple/mwc-ripple.js']; diff --git a/elements/ignore/textfield.js b/elements/ignore/textfield.js new file mode 100644 index 0000000..987fd50 --- /dev/null +++ b/elements/ignore/textfield.js @@ -0,0 +1 @@ +export const ignoreTextfieldFiles = ['@material/mwc-notched-outline/mwc-notched-outline.js']; diff --git a/rollup.config.dev.js b/rollup.config.dev.js index 323dda5..fbdbd58 100644 --- a/rollup.config.dev.js +++ b/rollup.config.dev.js @@ -5,9 +5,9 @@ import serve from 'rollup-plugin-serve'; import { terser } from 'rollup-plugin-terser'; import json from '@rollup/plugin-json'; import ignore from './rollup-plugins/ignore'; -import { ignoreTextfieldFiles } from './elements/textfield'; -import { ignoreSelectFiles } from './elements/select'; -import { ignoreSwitchFiles } from './elements/switch'; +import { ignoreTextfieldFiles } from './elements/ignore/textfield'; +import { ignoreSelectFiles } from './elements/ignore/select'; +import { ignoreSwitchFiles } from './elements/ignore/switch'; export default { input: ['src/boilerplate-card.ts'], diff --git a/rollup.config.js b/rollup.config.js index 73f4e48..4e9db48 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -6,9 +6,9 @@ import { terser } from 'rollup-plugin-terser'; import serve from 'rollup-plugin-serve'; import json from '@rollup/plugin-json'; import ignore from './rollup-plugins/ignore'; -import { ignoreTextfieldFiles } from './elements/textfield'; -import { ignoreSelectFiles } from './elements/select'; -import { ignoreSwitchFiles } from './elements/switch'; +import { ignoreTextfieldFiles } from './elements/ignore/textfield'; +import { ignoreSelectFiles } from './elements/ignore/select'; +import { ignoreSwitchFiles } from './elements/ignore/switch'; const dev = process.env.ROLLUP_WATCH; From 4711e49ec6eedc420e32124122488376edd2f0e4 Mon Sep 17 00:00:00 2001 From: Zack Date: Tue, 22 Feb 2022 21:38:07 +0000 Subject: [PATCH 09/12] fix this shit --- package.json | 8 ++++++- src/editor.ts | 41 +++++++++++++++------------------ yarn.lock | 64 ++++++++++++--------------------------------------- 3 files changed, 40 insertions(+), 73 deletions(-) diff --git a/package.json b/package.json index 95e8e50..2273e4f 100644 --- a/package.json +++ b/package.json @@ -26,7 +26,7 @@ "@material/mwc-textfield": "^0.25.3", "custom-card-helpers": "^1.7.2", "home-assistant-js-websocket": "^5.11.1", - "lit": "^2.0.0-rc.2" + "lit": "^2.0.0" }, "devDependencies": { "@babel/core": "^7.15.0", @@ -50,6 +50,12 @@ "rollup-plugin-typescript2": "^0.30.0", "typescript": "^4.4.3" }, + "resolutions": { + "lit": "^2.1.2", + "lit-html": "2.1.2", + "lit-element": "3.1.2", + "@lit/reactive-element": "1.2.1" + }, "scripts": { "start": "rollup -c rollup.config.dev.js --watch", "build": "npm run lint && npm run rollup", diff --git a/src/editor.ts b/src/editor.ts index e59d724..f53acd5 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -1,10 +1,10 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { LitElement, html, TemplateResult, css, CSSResultGroup } from 'lit'; -import { HomeAssistant, fireEvent, LovelaceCardEditor, LovelaceConfig } from 'custom-card-helpers'; +import { HomeAssistant, fireEvent, LovelaceCardEditor } from 'custom-card-helpers'; +import { ScopedRegistryHost } from '@lit-labs/scoped-registry-mixin'; import { BoilerplateCardConfig } from './types'; import { customElement, property, state } from 'lit/decorators'; -import { ScopedRegistryHost } from '@lit-labs/scoped-registry-mixin'; import { formfieldDefinition } from '../elements/formfield'; import { selectDefinition } from '../elements/select'; import { switchDefinition } from '../elements/switch'; @@ -12,7 +12,6 @@ import { textfieldDefinition } from '../elements/textfield'; @customElement('boilerplate-card-editor') export class BoilerplateCardEditor extends ScopedRegistryHost(LitElement) implements LovelaceCardEditor { - lovelace?: LovelaceConfig | undefined; @property({ attribute: false }) public hass?: HomeAssistant; @state() private _config?: BoilerplateCardConfig; @@ -21,14 +20,12 @@ export class BoilerplateCardEditor extends ScopedRegistryHost(LitElement) implem private _initialized = false; - static get elementDefinitions() { - return { - ...textfieldDefinition, - ...selectDefinition, - ...switchDefinition, - ...formfieldDefinition, - }; - } + static elementDefinitions = { + ...textfieldDefinition, + ...selectDefinition, + ...switchDefinition, + ...formfieldDefinition, + }; public setConfig(config: BoilerplateCardConfig): void { this._config = config; @@ -139,16 +136,14 @@ export class BoilerplateCardEditor extends ScopedRegistryHost(LitElement) implem fireEvent(this, 'config-changed', { config: this._config }); } - static get styles(): CSSResultGroup { - return css` - mwc-select, - mwc-textfield { - margin-bottom: 16px; - display: block; - } - mwc-formfield { - padding-bottom: 8px; - } - `; - } + static styles: CSSResultGroup = css` + mwc-select, + mwc-textfield { + margin-bottom: 16px; + display: block; + } + mwc-formfield { + padding-bottom: 8px; + } + `; } diff --git a/yarn.lock b/yarn.lock index aea09da..a3ebc00 100644 --- a/yarn.lock +++ b/yarn.lock @@ -321,20 +321,10 @@ "@lit/reactive-element" "^1.0.0" lit "^2.0.0" -"@lit/reactive-element@1.0.0-rc.4": - version "1.0.0-rc.4" - resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.0.0-rc.4.tgz#3473f6a687e9925fc2e9ff1b716a86b5f4b576ad" - integrity sha512-dJMha+4NFYdpnUJzRrWTFV5Hdp9QHWFuPnaoqonrKl4lGJVnYez9mu8ev9F/5KM47tjAjh22DuRHrdFDHfOijA== - -"@lit/reactive-element@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.0.0.tgz#7b6e6a85709cda0370c47e425ac2f3b553696a4b" - integrity sha512-Kpgenb8UNFsKCsFhggiVvUkCbcFQSd6N8hffYEEGjz27/4rw3cTSsmP9t3q1EHOAsdum60Wo64HvuZDFpEwexA== - -"@lit/reactive-element@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.3.0.tgz#c85c5a5fea41d7230e52fb9017307f473ab947ea" - integrity sha512-0TKSIuJHXNLM0k98fi0AdMIdUoHIYlDHTP+0Vruc2SOs4T6vU1FinXgSvYd8mSrkt+8R+qdRAXvjpqrMXMyBgw== +"@lit/reactive-element@1.0.0-rc.4", "@lit/reactive-element@1.2.1", "@lit/reactive-element@^1.0.0", "@lit/reactive-element@^1.1.0", "@lit/reactive-element@^1.3.0": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@lit/reactive-element/-/reactive-element-1.2.1.tgz#8620d7f0baf63e12821fa93c34d21e23477736f7" + integrity sha512-03FYfMguIWo9E1y1qcTpXzoO8Ukpn0j5o4GjNFq/iHqJEPY6pYopsU44e7NSFIgCTorr8wdUU5PfVy8VeD6Rwg== "@material/animation@14.0.0-canary.261f2db59.0": version "14.0.0-canary.261f2db59.0" @@ -2185,37 +2175,22 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -lit-element@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.0.0.tgz#0e9e64ddbc3dd6a8da4d6fbfadbc070a54cf0597" - integrity sha512-oPqRhhBBhs+AlI62QLwtWQNU/bNK/h2L1jI3IDroqZubo6XVAkyNy2dW3CRfjij8mrNlY7wULOfyyKKOnfEePA== - dependencies: - "@lit/reactive-element" "^1.0.0" - lit-html "^2.0.0" - -lit-element@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.2.0.tgz#9c981c55dfd9a8f124dc863edb62cc529d434db7" - integrity sha512-HbE7yt2SnUtg5DCrWt028oaU4D5F4k/1cntAFHTkzY8ZIa8N0Wmu92PxSxucsQSOXlODFrICkQ5x/tEshKi13g== - dependencies: - "@lit/reactive-element" "^1.3.0" - lit-html "^2.2.0" - -lit-html@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.0.0.tgz#ba6779269c382e66d7403a96ed99516ccc3d658b" - integrity sha512-tJsCapCmc0vtLj6harqd6HfCxnlt/RSkgowtz4SC9dFE3nSL38Tb33I5HMDiyJsRjQZRTgpVsahrnDrR9wg27w== +lit-element@3.1.2, lit-element@^3.2.0: + version "3.1.2" + resolved "https://registry.yarnpkg.com/lit-element/-/lit-element-3.1.2.tgz#fe29b9a362cf6c0de93c7769f29f1b6c37c79e15" + integrity sha512-5VLn5a7anAFH7oz6d7TRG3KiTZQ5GEFsAgOKB8Yc+HDyuDUGOT2cL1CYTz/U4b/xlJxO+euP14pyji+z3Z3kOg== dependencies: - "@types/trusted-types" "^2.0.2" + "@lit/reactive-element" "^1.1.0" + lit-html "^2.1.0" -lit-html@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.2.0.tgz#99345d944611e34543cd9f153d8cc3163b8bbab8" - integrity sha512-dJnevgV8VkCuOXLWrjQopDE8nSy8CzipZ/ATfYQv7z7Dct4abblcKecf50gkIScuwCTzKvRLgvTgV0zzagW4gA== +lit-html@2.1.2, lit-html@^2.1.0, lit-html@^2.2.0: + version "2.1.2" + resolved "https://registry.yarnpkg.com/lit-html/-/lit-html-2.1.2.tgz#8ae974f3899e6aa919cb977d7b99cc8884578f94" + integrity sha512-fp7oBzUdc7SEmOoSUNUZ6PM8se8eaIvc3pviQ5M+iCYuCpv9E23Nnb4hlxVzGhLWMnHSrnRVooNio0aAgjjrFw== dependencies: "@types/trusted-types" "^2.0.2" -lit@^2.0.0: +lit@^2.0.0, lit@^2.0.0-rc.3, lit@^2.1.2: version "2.2.0" resolved "https://registry.yarnpkg.com/lit/-/lit-2.2.0.tgz#1b83a2c1e4c5ecf3be785292b1a13e193597f610" integrity sha512-FDyxUuczo6cJJY/2Bkgfh1872U4ikUvmK1Cb6+lYC1CW+QOo8CaWXCpvPKFzYsz0ojUxoruBLVrECc7VI2f1dQ== @@ -2224,15 +2199,6 @@ lit@^2.0.0: lit-element "^3.2.0" lit-html "^2.2.0" -lit@^2.0.0-rc.2, lit@^2.0.0-rc.3: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lit/-/lit-2.0.0.tgz#7710095dc518d9858dde579e9c76b9eed71e98ba" - integrity sha512-pqi5O/wVzQ9Bn4ERRoYQlt1EAUWyY5Wv888vzpoArbtChc+zfUv1XohRqSdtQZYCogl0eHKd+MQwymg2XJfECg== - dependencies: - "@lit/reactive-element" "^1.0.0" - lit-element "^3.0.0" - lit-html "^2.0.0" - load-json-file@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" From d92c0ffbf0b64267eee77bb59f12535d2865eb6d Mon Sep 17 00:00:00 2001 From: Zack Date: Tue, 22 Feb 2022 21:53:00 +0000 Subject: [PATCH 10/12] styling for switch --- src/editor.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/editor.ts b/src/editor.ts index f53acd5..00ae2cb 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -145,5 +145,8 @@ export class BoilerplateCardEditor extends ScopedRegistryHost(LitElement) implem mwc-formfield { padding-bottom: 8px; } + mwc-switch { + --mdc-theme-secondary: var(--switch-checked-color); + } `; } From 8b78ae49e5d4d8abf035f7014f08cb630606966a Mon Sep 17 00:00:00 2001 From: Zack Date: Tue, 22 Feb 2022 22:27:15 +0000 Subject: [PATCH 11/12] lazy load --- src/boilerplate-card.ts | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/src/boilerplate-card.ts b/src/boilerplate-card.ts index a9d6a5d..64d1077 100644 --- a/src/boilerplate-card.ts +++ b/src/boilerplate-card.ts @@ -1,13 +1,6 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { - LitElement, - html, - TemplateResult, - css, - PropertyValues, - CSSResultGroup, -} from 'lit'; -import { customElement, property, state } from "lit/decorators"; +import { LitElement, html, TemplateResult, css, PropertyValues, CSSResultGroup } from 'lit'; +import { customElement, property, state } from 'lit/decorators'; import { HomeAssistant, hasConfigOrEntityChanged, @@ -18,9 +11,6 @@ import { getLovelace, } from 'custom-card-helpers'; // This is a community maintained npm module with common helper functions/types. https://github.com/custom-cards/custom-card-helpers - -import './editor'; - import type { BoilerplateCardConfig } from './types'; import { actionHandler } from './action-handler-directive'; import { CARD_VERSION } from './const'; @@ -45,6 +35,7 @@ console.info( @customElement('boilerplate-card') export class BoilerplateCard extends LitElement { public static async getConfigElement(): Promise { + await import('./editor'); return document.createElement('boilerplate-card-editor'); } @@ -116,9 +107,7 @@ export class BoilerplateCard extends LitElement { } private _showWarning(warning: string): TemplateResult { - return html` - ${warning} - `; + return html` ${warning} `; } private _showError(error: string): TemplateResult { @@ -129,9 +118,7 @@ export class BoilerplateCard extends LitElement { origConfig: this.config, }); - return html` - ${errorCard} - `; + return html` ${errorCard} `; } // https://lit.dev/docs/components/styles/ From 9d7667609fab81a776697901d6e307e0d4a9965d Mon Sep 17 00:00:00 2001 From: Zack Date: Tue, 22 Feb 2022 17:20:31 -0600 Subject: [PATCH 12/12] remove code --- elements/select.js | 9 --------- elements/switch.js | 2 -- elements/textfield.js | 2 -- 3 files changed, 13 deletions(-) diff --git a/elements/select.js b/elements/select.js index e0d4d75..3a8a055 100644 --- a/elements/select.js +++ b/elements/select.js @@ -51,12 +51,3 @@ export const selectDefinition = { } }, }; - -export const ignoreSelectFiles = [ - '@material/mwc-ripple/mwc-ripple.js', - '@material/mwc-menu/mwc-menu.js', - '@material/mwc-menu/mwc-menu-surface.js', - '@material/mwc-list/mwc-list.js', - '@material/mwc-list/mwc-list-item.js', - '@material/mwc-icon/mwc-icon.js', -]; diff --git a/elements/switch.js b/elements/switch.js index 0c693fd..023589d 100644 --- a/elements/switch.js +++ b/elements/switch.js @@ -15,5 +15,3 @@ export const switchDefinition = { } }, }; - -export const ignoreSwitchFiles = ['@material/mwc-ripple/mwc-ripple.js']; diff --git a/elements/textfield.js b/elements/textfield.js index 9f0e234..c644020 100644 --- a/elements/textfield.js +++ b/elements/textfield.js @@ -16,5 +16,3 @@ export const textfieldDefinition = { } }, }; - -export const ignoreTextfieldFiles = ['@material/mwc-notched-outline/mwc-notched-outline.js'];