From 1391ab812a6febc9e96069d5d1c172814a9605e4 Mon Sep 17 00:00:00 2001 From: Rohan Kapoor Date: Sun, 13 Aug 2023 22:22:51 -0700 Subject: [PATCH 1/9] Introduce MWC form components to use in the editor --- elements/formfield.js | 10 + elements/ignore/select.js | 8 + elements/ignore/switch.js | 1 + elements/ignore/textfield.js | 1 + elements/select.js | 53 +++ elements/switch.js | 17 + elements/textfield.js | 18 + package-lock.json | 578 +++++++++++++++++++++++++++++++- package.json | 11 +- rollup-plugins/ignore.js | 24 ++ rollup-plugins/ignoreWrapper.js | 14 + rollup.config.dev.js | 2 + rollup.config.js | 2 + 13 files changed, 733 insertions(+), 6 deletions(-) create mode 100644 elements/formfield.js create mode 100644 elements/ignore/select.js create mode 100644 elements/ignore/switch.js create mode 100644 elements/ignore/textfield.js create mode 100644 elements/select.js create mode 100644 elements/switch.js create mode 100644 elements/textfield.js create mode 100644 rollup-plugins/ignore.js create mode 100644 rollup-plugins/ignoreWrapper.js diff --git a/elements/formfield.js b/elements/formfield.js new file mode 100644 index 0000000..36479ce --- /dev/null +++ b/elements/formfield.js @@ -0,0 +1,10 @@ +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 { + static get styles() { + return formfieldStyles; + } + }, +}; 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/elements/select.js b/elements/select.js new file mode 100644 index 0000000..3a8a055 --- /dev/null +++ b/elements/select.js @@ -0,0 +1,53 @@ +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'; +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 { + 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; + } + }, + 'mwc-notched-outline': class extends NotchedOutlineBase { + static get styles() { + return notchedOutlineStyles; + } + }, +}; diff --git a/elements/switch.js b/elements/switch.js new file mode 100644 index 0000000..023589d --- /dev/null +++ b/elements/switch.js @@ -0,0 +1,17 @@ +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; + } + }, +}; diff --git a/elements/textfield.js b/elements/textfield.js new file mode 100644 index 0000000..c644020 --- /dev/null +++ b/elements/textfield.js @@ -0,0 +1,18 @@ +import { TextFieldBase } from '@material/mwc-textfield/mwc-textfield-base.js'; +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'; + +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-lock.json b/package-lock.json index a47ae7d..1b9d232 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "slider-button-card", - "version": "1.10.10", + "version": "1.11.0", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -316,6 +316,541 @@ "tslib": "^2.0.1" } }, + "@lit-labs/scoped-registry-mixin": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@lit-labs/scoped-registry-mixin/-/scoped-registry-mixin-1.0.1.tgz", + "integrity": "sha512-7aKnBKb5izcTjICO4VdeQLRYpZoB8FepJjG7TmE2oe0cU8cb4MUA4NFCjze+vbE+wP/55xv4dAMFOuJN9EG26w==", + "requires": { + "@lit/reactive-element": "^1.0.0", + "lit": "^2.0.0" + } + }, + "@lit-labs/ssr-dom-shim": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.1.1.tgz", + "integrity": "sha512-kXOeFbfCm4fFf2A3WwVEeQj55tMZa8c8/f9AKHMobQMkzNUfUj+antR3fRPaZJawsa1aZiP/Da3ndpZrwEe4rQ==" + }, + "@lit/reactive-element": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-1.6.3.tgz", + "integrity": "sha512-QuTgnG52Poic7uM1AN5yJ09QMe0O28e10XzSvWDz02TJiiKee4stsiownEIadWm8nYzyDAyT+gKzUoZmiWQtsQ==", + "requires": { + "@lit-labs/ssr-dom-shim": "^1.0.0" + } + }, + "@material/animation": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-GBuR4VmcTQW1D0lPXEosf5Giho72LLbyGIydWGtaEUtLJoive/D9kFkwTN4Fsyt9Kkl7hbhs35vrNe6QkAH4/Q==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/base": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-UJKbXwZtkrA3sfQDmj8Zbw1Q3Tqtl6KdfVFws95Yf7TCUgTFzbZI/FSx1w7dVugQPOEnIBuZnzqZam/MtHkx4w==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/density": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-Eh/vZ3vVyqtpylg5Ci33qlgtToS4H1/ppd450Ib3tcdISIoodgijYY0w4XsRvrnZgbI/h/1STFdLxdzS0UNuFw==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/dom": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-aR+rfncF6oi2ivdOlKSJI4UXwNzWV5rXM88MLDoSJF1D7lXxhAKhge+tMUBodWGV/q0+FnXLuVAa0WYTrKjo+A==", + "requires": { + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/elevation": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-3h+EkR588RMZ5TSNQ4UeXD1FOBnL3ABQix0DQIGwtNJCqSMoPndT/oJEFvwQbTkZNDbFIKN9p1Q7/KuFPVY8Pw==", + "requires": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/feature-targeting": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-fn7Af3PRyARtNeYqtjxXmE3Y/dCpnpQVWWys57MqiGR/nvc6qpgOfJ6rOdcu/MrOysOE/oebTUDmDnTmwpe9Hw==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/floating-label": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-gHZUTTVKnP+Zjz4l9IT/G89NPmypn5FlTGLWKKqXbuQphr37rsKFR3Y80SJxULRyMDnAdKSxuZwiXLFKQz9KlA==", + "requires": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/focus-ring": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-exPX5VrjQimipBwgcFDGRiEE783sOBgpkFui59A6i6iGvS2UrLHlYY2E65fyyyQnD1f/rv4Po1OOnCesE1kulg==", + "requires": { + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0" + } + }, + "@material/form-field": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-h9jFm9f5WeMHJWGpQsZ9sPrERLGcDQdW8uvbHAHZ/zN35Mqj43s8+alXROiibx+m1oHLvf2Z01pPWtFSXLYzxA==", + "requires": { + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/line-ripple": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-k8f8uuDwnSqZZ98CzbYtQVtxlp1ryUup9nd2uobo3kiqQNlQfXdGkVjuCXcla0OPiKFizNn7dS6Kl/j6L09XUA==", + "requires": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/list": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-mkMpltSKAYLBtFnTTCk/mQIDzwxF/VLh1gh59ehOtmRXt7FvTz83RoAa4tqe53hpVrbX4HoLDBu+vILhq/wkjw==", + "requires": { + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/density": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/menu": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-MmYKVrMIqOtP3TN4vdrrnQrS8P81+tMaA6bKiT9V79R1U6+mKsBYTzaLtLbzyem5vF8O0q7bSwyPwhWPtJr75Q==", + "requires": { + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/list": "14.0.0-canary.53b3cad2f.0", + "@material/menu-surface": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/menu-surface": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-IQWb/n15FpLnn+kHp0EqzLE+UoWSPumq3eze2QifiowvGb37bNFR9oSe7CaOzPMrHdkrZ5SBWnDU41wPZN5kOg==", + "requires": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/mwc-base": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-base/-/mwc-base-0.27.0.tgz", + "integrity": "sha512-oCWWtjbyQ52AaUbzINLGBKScIPyqhps2Y7c8t6Gu6fcFeDxhKXMV1Cqvtj/OMhtAt53XjHfD2XruWwYv3cYYUA==", + "requires": { + "@material/base": "=14.0.0-canary.53b3cad2f.0", + "@material/dom": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/mwc-checkbox": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-checkbox/-/mwc-checkbox-0.27.0.tgz", + "integrity": "sha512-EY0iYZLwo8qaqMwR5da4fdn0xI0BZNAvKTcwoubYWpDDHlGxDcqwvjp/40ChGo3Q/zv8/4/A0Qp7cwapI82EkA==", + "requires": { + "@material/mwc-base": "^0.27.0", + "@material/mwc-ripple": "^0.27.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/mwc-floating-label": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-floating-label/-/mwc-floating-label-0.27.0.tgz", + "integrity": "sha512-uLleloTxQ6dDShcZzqgqfC8otQY8DtGMO9HFQbAEncoFAWpAehcEonsuT/IUhMORN+c5un0P5WXwcZsInJb7og==", + "requires": { + "@material/floating-label": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/mwc-formfield": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-formfield/-/mwc-formfield-0.27.0.tgz", + "integrity": "sha512-XGZtC1MTyGQ8b2osnaygGzS3qe2QvlWfXZepcFs9i6MW+b6VimQQ4c/KsKIF7dHmeY6N0o4k9pAZ086EGesXOQ==", + "requires": { + "@material/form-field": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/mwc-icon": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-icon/-/mwc-icon-0.27.0.tgz", + "integrity": "sha512-Sul44I37M9Ewynn0A9DjkEBrmll2VtNbth6Pxj7I1A/EAwEfaCrPvryyGqfIu1T2hTsRcaojzQx6QjF+B5QW9A==", + "requires": { + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/mwc-line-ripple": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-line-ripple/-/mwc-line-ripple-0.27.0.tgz", + "integrity": "sha512-n9Xpt5g3RJEl9rvk14OP6dUNJUtsJA46beTQiep7ppO7IPVFLC1v/5sPpUzfNPUBsclSPxdBuNlCxsgcIYueUw==", + "requires": { + "@material/line-ripple": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/mwc-list": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-list/-/mwc-list-0.27.0.tgz", + "integrity": "sha512-oAhNQsBuAOgF3ENOIY8PeWjXsl35HoYaUkl0ixBQk8jJP2HIEf+MdbS5688y/UXxFbSjr0m//LfwR5gauEashg==", + "requires": { + "@material/base": "=14.0.0-canary.53b3cad2f.0", + "@material/dom": "=14.0.0-canary.53b3cad2f.0", + "@material/list": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "@material/mwc-checkbox": "^0.27.0", + "@material/mwc-radio": "^0.27.0", + "@material/mwc-ripple": "^0.27.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/mwc-menu": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-menu/-/mwc-menu-0.27.0.tgz", + "integrity": "sha512-K+L/t267ZGrlhjK/iSKUVZQKRMkWELArKVglfS5of93ALP4in0RGnj1sOG2u3IFI2F/mEZxRi+wr7HgNxpe0wA==", + "requires": { + "@material/menu": "=14.0.0-canary.53b3cad2f.0", + "@material/menu-surface": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "@material/mwc-list": "^0.27.0", + "@material/shape": "=14.0.0-canary.53b3cad2f.0", + "@material/theme": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/mwc-notched-outline": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-notched-outline/-/mwc-notched-outline-0.27.0.tgz", + "integrity": "sha512-IlqfQVaEd1RAHqhOG0Xk5JhTDgBe/P9og0pnACglK6bPE0vUhYKwibJiHcr4ACTPtGWHO9o92aktR+7AIEAKtQ==", + "requires": { + "@material/mwc-base": "^0.27.0", + "@material/notched-outline": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/mwc-radio": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-radio/-/mwc-radio-0.27.0.tgz", + "integrity": "sha512-+rSO9a373BgyMgQOM0Z8vVkuieobBylPJ8qpltytM+yGPj8+n+MtwRZyg+ry3WwEjYYDMP6GxZPHwLgWs6lMpQ==", + "requires": { + "@material/mwc-base": "^0.27.0", + "@material/mwc-ripple": "^0.27.0", + "@material/radio": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/mwc-ripple": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-ripple/-/mwc-ripple-0.27.0.tgz", + "integrity": "sha512-by0O8d8g3Rd96/sUB8hxy6MrDx1QTstqOsA64vqypWd526hMTBGRik08jTNap5sVIyrN9Vq17jb4NJLWQLnNHQ==", + "requires": { + "@material/dom": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "@material/ripple": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/mwc-select": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-select/-/mwc-select-0.27.0.tgz", + "integrity": "sha512-LTr2nl7gAYq8ung4eWfUz24mey4/K9vAlqJBo/uu6w0122C9X64szBS9kHAb87aD1oxLkxAJCDuv/wwlXV1i2w==", + "requires": { + "@material/dom": "=14.0.0-canary.53b3cad2f.0", + "@material/floating-label": "=14.0.0-canary.53b3cad2f.0", + "@material/line-ripple": "=14.0.0-canary.53b3cad2f.0", + "@material/list": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "@material/mwc-floating-label": "^0.27.0", + "@material/mwc-icon": "^0.27.0", + "@material/mwc-line-ripple": "^0.27.0", + "@material/mwc-list": "^0.27.0", + "@material/mwc-menu": "^0.27.0", + "@material/mwc-notched-outline": "^0.27.0", + "@material/select": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/mwc-switch": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-switch/-/mwc-switch-0.27.0.tgz", + "integrity": "sha512-MKKjm42f8YyHN1HmvfgppgTPJUxulcmOqND5R7zI/kB38vFcWDxEhnpdUYr2kEsFtebpYNSF0j6FXcKV/W+fJw==", + "requires": { + "@material/mwc-base": "^0.27.0", + "@material/mwc-ripple": "^0.27.0", + "@material/switch": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/mwc-textarea": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-textarea/-/mwc-textarea-0.27.0.tgz", + "integrity": "sha512-4srpZ+//Ce0A+OZ3NVjv/YIDDxnpStmpZwTGICMCGsQzQqHyGDX17NhL5mGP8xGguma/ZIgcY6gm7+UQWaTx4g==", + "requires": { + "@material/mwc-base": "^0.27.0", + "@material/mwc-textfield": "^0.27.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/mwc-textfield": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/@material/mwc-textfield/-/mwc-textfield-0.27.0.tgz", + "integrity": "sha512-4/OEeEVAWWQ1DzpjeMLYLsa9HMlifOPjAvi0681Yj1g/RYJs5ONZS80HZ8HOT+efAOlZDugshgM4gdNS3I0XFQ==", + "requires": { + "@material/floating-label": "=14.0.0-canary.53b3cad2f.0", + "@material/line-ripple": "=14.0.0-canary.53b3cad2f.0", + "@material/mwc-base": "^0.27.0", + "@material/mwc-floating-label": "^0.27.0", + "@material/mwc-line-ripple": "^0.27.0", + "@material/mwc-notched-outline": "^0.27.0", + "@material/textfield": "=14.0.0-canary.53b3cad2f.0", + "lit": "^2.0.0", + "tslib": "^2.0.1" + } + }, + "@material/notched-outline": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-3ByiPOC/wWQmFKfgJS98kb5/6v92n7uIfJ6v6sryKJlJCJn39qfpGcCM5RpRIws1RET1s1zBJT2JDwYeu/hM5A==", + "requires": { + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/floating-label": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/radio": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-V/AgWEOuHFoh9d4Gq1rqBZnKSGtMLQNh23Bwrv0c1FhPqFvUpwt9jR3SVwhJk5gvQQWGy9p3iiGc9QCJ+0+P8Q==", + "requires": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/density": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/focus-ring": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/touch-target": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/ripple": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-6g2G62vd8DsMuIUSXlRrzb98qkZ4o8ZREknNwNP2zaLQEOkJ//4j9HaqDt98/3LIjUTY9UIVFTQENiMmlwKHYQ==", + "requires": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/rtl": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-f08LT0HSa0WYU+4Jz/tbm1TQ9Fcf2k+H6dPPYv0J1sZmX6hMgCEmNiUdUFLQFvszoXx2XrRi1/hIFjbz2e69Yg==", + "requires": { + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/select": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-fAiTaHZ1PIEmCUbufS+IZvsWO0hDxtbU8rOsbmSu1oupAboP7jSgOVgcCGdT9KY5WacrniIIMO6jZjhnvrC0Lg==", + "requires": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/density": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/floating-label": "14.0.0-canary.53b3cad2f.0", + "@material/line-ripple": "14.0.0-canary.53b3cad2f.0", + "@material/list": "14.0.0-canary.53b3cad2f.0", + "@material/menu": "14.0.0-canary.53b3cad2f.0", + "@material/menu-surface": "14.0.0-canary.53b3cad2f.0", + "@material/notched-outline": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/tokens": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/shape": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-RyjInLCNe+nI/ulKea0ZLHphXQDiDqYazS25SRn18g8Hoa5qGNaY5oOBncDXUYn3jm5oI5kFc9oif//kulkbjg==", + "requires": { + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/switch": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-hL7lOF8tgYaS1Spce6zlxfveoqUlqDTW+vv+R7TIHwzLD5HJCdhTiotXshOKCZLoSi7Ljx7JpCdvNqGlv4rpIw==", + "requires": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/density": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/elevation": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/focus-ring": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/tokens": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/textfield": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-Pla9Tr94Is18o97E/mqHKdkR24rPES9atGm3BlXrNzyr5tu6+h++RBbxy7V6IExcfl0MX+v9Gyqz7sPZzFtwMA==", + "requires": { + "@material/animation": "14.0.0-canary.53b3cad2f.0", + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/density": "14.0.0-canary.53b3cad2f.0", + "@material/dom": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/floating-label": "14.0.0-canary.53b3cad2f.0", + "@material/line-ripple": "14.0.0-canary.53b3cad2f.0", + "@material/notched-outline": "14.0.0-canary.53b3cad2f.0", + "@material/ripple": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "@material/shape": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "@material/tokens": "14.0.0-canary.53b3cad2f.0", + "@material/typography": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/theme": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-S06XAevDCDWMe+GgsEpITMS07imUidzadNaTbJsqssFajBLr53QWVZsG84BpjXKXoYvyEJvb0hX5U0lq6ip9UQ==", + "requires": { + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/tokens": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-myHFB7vac8zErA3qgkqmV+kpE+i9JEwc/6Yf0MOumDSpylJGw28QikpNC6eAVBK2EmPQTaFn20mqUxyud8dGqw==", + "requires": { + "@material/elevation": "14.0.0-canary.53b3cad2f.0" + } + }, + "@material/touch-target": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-d83e5vbqoLyL542yOTTp4TLVltddWiqbI/j1w/D9ipE30YKfe2EDN+CNJc32Zufh5IUfK41DsZdrN8fI9cL99A==", + "requires": { + "@material/base": "14.0.0-canary.53b3cad2f.0", + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/rtl": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, + "@material/typography": { + "version": "14.0.0-canary.53b3cad2f.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-14.0.0-canary.53b3cad2f.0.tgz", + "integrity": "sha512-9J0k2fq7uyHsRzRqJDJLGmg3YzRpfRPtFDVeUH/xBcYoqpZE7wYw5Mb7s/l8eP626EtR7HhXhSPjvRTLA6NIJg==", + "requires": { + "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", + "@material/theme": "14.0.0-canary.53b3cad2f.0", + "tslib": "^2.1.0" + } + }, "@rollup/plugin-json": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", @@ -375,6 +910,11 @@ "@types/node": "*" } }, + "@types/trusted-types": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.3.tgz", + "integrity": "sha512-NfQ4gyz38SL8sDNrSixxU2Os1a5xcdFxipAFxYEuLUlvU2uDwS4NUpsImcf1//SlWItCVMMLiylsxbmNMToV/g==" + }, "@typescript-eslint/eslint-plugin": { "version": "2.34.0", "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-2.34.0.tgz", @@ -590,9 +1130,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001228", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001228.tgz", - "integrity": "sha512-QQmLOGJ3DEgokHbMSA8cj2a+geXqmnpyOFT0lhQV6P3/YOJvGDEwoedcwxEQ30gJIwIIunHIicunJ2rzK5gB2A==", + "version": "1.0.30001520", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001520.tgz", + "integrity": "sha512-tahF5O9EiiTzwTUqAeFjIZbn4Dnqxzz7ktrgGlMYNLH43Ul26IgTMH/zvL3DG0lZxBYnlT04axvInszUsZULdA==", "dev": true }, "chalk": { @@ -1787,6 +2327,36 @@ "type-check": "~0.3.2" } }, + "lit": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit/-/lit-2.8.0.tgz", + "integrity": "sha512-4Sc3OFX9QHOJaHbmTMk28SYgVxLN3ePDjg7hofEft2zWlehFL3LiAuapWc4U/kYwMYJSh2hTCPZ6/LIC7ii0MA==", + "requires": { + "@lit/reactive-element": "^1.6.0", + "lit-element": "^3.3.0", + "lit-html": "^2.8.0" + }, + "dependencies": { + "lit-element": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-3.3.3.tgz", + "integrity": "sha512-XbeRxmTHubXENkV4h8RIPyr8lXc+Ff28rkcQzw3G6up2xg5E8Zu1IgOWIwBLEQsu3cOVFqdYwiVi0hv0SlpqUA==", + "requires": { + "@lit-labs/ssr-dom-shim": "^1.1.0", + "@lit/reactive-element": "^1.3.0", + "lit-html": "^2.8.0" + } + }, + "lit-html": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-2.8.0.tgz", + "integrity": "sha512-o9t+MQM3P4y7M7yNzqAyjp7z+mQGa4NS4CxiyLqFPyFWyc4O+nodLrkrxSaCTrla6M5YOLaT3RpbbqjszB5g3Q==", + "requires": { + "@types/trusted-types": "^2.0.2" + } + } + } + }, "lit-element": { "version": "2.5.1", "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-2.5.1.tgz", diff --git a/package.json b/package.json index 4653195..aa04bbc 100644 --- a/package.json +++ b/package.json @@ -18,11 +18,18 @@ "license": "MIT", "dependencies": { "@ctrl/tinycolor": "^3.4.0", + "@lit-labs/scoped-registry-mixin": "^1.0.1", + "@material/mwc-formfield": "^0.27.0", + "@material/mwc-list": "^0.27.0", + "@material/mwc-notched-outline": "^0.27.0", + "@material/mwc-select": "^0.27.0", + "@material/mwc-switch": "^0.27.0", + "@material/mwc-textarea": "^0.27.0", + "@material/mwc-textfield": "^0.27.0", "custom-card-helpers": "^1.6.6", "fast-copy": "^2.1.1", "home-assistant-js-websocket": "^4.5.0", - "lit-element": "^2.4.0", - "lit-html": "^1.3.0" + "lit": "^2.8.0" }, "devDependencies": { "@babel/core": "^7.12.3", diff --git a/rollup-plugins/ignore.js b/rollup-plugins/ignore.js new file mode 100644 index 0000000..b464d38 --- /dev/null +++ b/rollup-plugins/ignore.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; + }, + }; +} \ No newline at end of file diff --git a/rollup-plugins/ignoreWrapper.js b/rollup-plugins/ignoreWrapper.js new file mode 100644 index 0000000..dab5623 --- /dev/null +++ b/rollup-plugins/ignoreWrapper.js @@ -0,0 +1,14 @@ +import ignore from "./ignore"; +import { ignoreSelectFiles } from '../elements/ignore/select'; +import { ignoreSwitchFiles } from '../elements/ignore/switch'; +import { ignoreTextfieldFiles } from '../elements/ignore/textfield' + +export default function ignoreWrapper() { + return ignore({ + files: [ + ...ignoreSelectFiles, + ...ignoreSwitchFiles, + ...ignoreTextfieldFiles, + ].map((file) => require.resolve(file)), + }) +} \ No newline at end of file diff --git a/rollup.config.dev.js b/rollup.config.dev.js index eb4c037..936c3df 100644 --- a/rollup.config.dev.js +++ b/rollup.config.dev.js @@ -3,6 +3,7 @@ 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 ignoreWrapper from './rollup-plugins/ignoreWrapper'; import json from '@rollup/plugin-json'; export default { @@ -28,5 +29,6 @@ export default { "Access-Control-Allow-Origin": "*", }, }), + ignoreWrapper() ], }; diff --git a/rollup.config.js b/rollup.config.js index 1e9d802..1c7a00e 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -3,6 +3,7 @@ import commonjs from 'rollup-plugin-commonjs'; import nodeResolve from 'rollup-plugin-node-resolve'; import babel from 'rollup-plugin-babel'; import { terser } from 'rollup-plugin-terser'; +import ignoreWrapper from './rollup-plugins/ignoreWrapper'; import serve from 'rollup-plugin-serve'; import json from '@rollup/plugin-json'; @@ -28,6 +29,7 @@ const plugins = [ }), dev && serve(serveopts), !dev && terser(), + ignoreWrapper() ]; export default [ From cefaa2f3ec380f415116a9e748471adae4735911 Mon Sep 17 00:00:00 2001 From: Rohan Kapoor Date: Mon, 14 Aug 2023 16:56:15 -0700 Subject: [PATCH 2/9] Working general tab and icon tab (except for the tap action control) --- src/editor.ts | 237 ++++++++++++++++++++++++++++++-------------------- 1 file changed, 142 insertions(+), 95 deletions(-) diff --git a/src/editor.ts b/src/editor.ts index e073b99..d9ed708 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -2,25 +2,32 @@ /* eslint-disable @typescript-eslint/camelcase */ import copy from 'fast-copy'; import { + CSSResult, LitElement, - html, - customElement, - property, TemplateResult, - CSSResult, css, - state -} from 'lit-element'; -import { HomeAssistant, fireEvent, LovelaceCardEditor, stateIcon, computeDomain } from 'custom-card-helpers'; + html +} from 'lit'; +import { customElement, property, state } from 'lit/decorators.js'; + +import { formfieldDefinition } from '../elements/formfield'; +import { selectDefinition } from '../elements/select'; +import { switchDefinition } from '../elements/switch'; +import { textfieldDefinition } from '../elements/textfield'; + +import { ScopedRegistryHost } from '@lit-labs/scoped-registry-mixin'; +import { HomeAssistant, LovelaceCardEditor, computeDomain, fireEvent, stateIcon } from 'custom-card-helpers'; import { localize } from './localize/localize'; import { ActionButtonConfig, ActionButtonConfigDefault, ActionButtonMode, Domain, IconConfig, IconConfigDefault, SliderBackground, SliderButtonCardConfig, SliderConfig, SliderConfigDefault, SliderDirections } from './types'; import { applyPatch, getEnumValues, getSliderDefaultForEntity } from './utils'; @customElement('slider-button-card-editor') -export class SliderButtonCardEditor extends LitElement implements LovelaceCardEditor { +export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) implements LovelaceCardEditor { @property({ attribute: false }) public hass?: HomeAssistant; + @state() private _config?: SliderButtonCardConfig; @state() private _helpers?: any; + private _initialized = false; private directions = getEnumValues(SliderDirections); private backgrounds = getEnumValues(SliderBackground); @@ -34,11 +41,18 @@ export class SliderButtonCardEditor extends LitElement implements LovelaceCardEd "none", ]; + static elementDefinitions = { + ...formfieldDefinition, + ...selectDefinition, + ...switchDefinition, + ...textfieldDefinition, + } public async setConfig(config: SliderButtonCardConfig): Promise { this._config = config; if (this._helpers === undefined) { await this.loadCardHelpers(); + this._helpers.load } } @@ -90,12 +104,24 @@ export class SliderButtonCardEditor extends LitElement implements LovelaceCardEd return this._config?.action_button || ActionButtonConfigDefault; } + get entityList(){ + if (!this.hass) { + return []; + } + return Object.keys(this.hass.states).filter(eid => getEnumValues(Domain).includes(eid.substr(0, eid.indexOf('.')))).sort(); + } + + get entityAttributes() { + if (!this.hass || !this._entity) { + return []; + } + return Object.keys(this.hass.states[this._entity].attributes).sort(); + } + protected render(): TemplateResult | void { if (!this.hass || !this._helpers) { 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'); return html`
@@ -104,58 +130,58 @@ export class SliderButtonCardEditor extends LitElement implements LovelaceCardEd
- - + ${this.entityList.map(entity => html`${entity}`)} + + - + + > + ${this.entityAttributes.map(attribute => html`${attribute}`)} +
- - + - - - + + + - - - + + + - - - + + + - + > +
@@ -164,32 +190,36 @@ export class SliderButtonCardEditor extends LitElement implements LovelaceCardEd
- - +
- - + - + > + ${this.renderStateColor('icon')}
- + ${ + // + // ${this.actions.map(action => html`${action}`)} + // + '' + }
@@ -237,27 +267,27 @@ export class SliderButtonCardEditor extends LitElement implements LovelaceCardEd
${this.renderBrightness('slider')} ${this.renderStateColor('slider')} - - + - - - + + + - - - + + + - + > +
@@ -285,48 +315,48 @@ export class SliderButtonCardEditor extends LitElement implements LovelaceCardEd ${this._action_button.mode === ActionButtonMode.CUSTOM ? html` - - + ` : ''}
- - + - + > + ${this._action_button.mode === ActionButtonMode.CUSTOM ? html` - - + - + > + ` : ''}
${this._action_button.mode === ActionButtonMode.CUSTOM ? html` - + > ` : ''} @@ -340,26 +370,26 @@ export class SliderButtonCardEditor extends LitElement implements LovelaceCardEd protected renderBrightness(path: string): TemplateResult | void { const item = this[`_${path}`]; return html` - - + - + > + `; } protected renderStateColor(path: string): TemplateResult | void { const item = this[`_${path}`]; return html` - - + - + > + `; } @@ -375,20 +405,25 @@ export class SliderButtonCardEditor extends LitElement implements LovelaceCardEd } private _valueChangedSelect(ev): void { - const value = ev.detail.value; + const target = ev.target; + const value = target.value; if (!value) { return; } - this._changeValue(value.parentElement?.configValue, value.itemValue); + this._changeValue(target.configValue, value); } private _valueChangedEntity(ev): void { const target = ev.target; - const value = ev.detail?.value; + const value = ev.target?.value; + if (!value) { + return; + } const updateDefaults = computeDomain(value) !== computeDomain(this._config?.entity || 'light.dummy'); + this._changeValue(target.configValue, value); this._changeValue('name', ''); + this._changeValue('attribute', ''); this._changeValue('icon.icon', ''); - this._changeValue(target.configValue, value); if (updateDefaults) { const cfg = copy(this._config); applyPatch(cfg, ['slider'], getSliderDefaultForEntity(value)); @@ -399,23 +434,31 @@ export class SliderButtonCardEditor extends LitElement implements LovelaceCardEd private _valueChanged(ev): void { const target = ev.target; - const value = ev.detail?.value; + const value = ev.target?.value; this._changeValue(target.configValue, target.checked !== undefined ? target.checked : value); } private _changeValue(configValue: string, value: string | boolean | number): void { + console.log("INFO DUMP"); + console.log('configValue: ' + configValue); + console.log('value: ' + value); + console.log('this[`_${configValue}`]: ' + this[`_${configValue}`]); if (!this._config || !this.hass) { + console.log('skipped, 1'); return; } if (this[`_${configValue}`] !== undefined && this[`_${configValue}`] === value) { + console.log('skipped, 2'); return; } if (configValue) { const cfg = copy(this._config); applyPatch(cfg, [...configValue.split('.')], value); this._config = cfg; + console.log('updated cfg'); if (value === '') { delete this._config[configValue]; + console.log('result ' + configValue); } } fireEvent(this, 'config-changed', { config: this._config }); @@ -423,7 +466,11 @@ export class SliderButtonCardEditor extends LitElement implements LovelaceCardEd static get styles(): CSSResult { return css` - ha-switch { + mwc-select, + mwc-textfield { + width: 100%; + } + mwc-switch { padding: 16px 6px; } .side-by-side { From 28e7790bfeb15fbace390deca4fcd1e7c4ca9ace Mon Sep 17 00:00:00 2001 From: Rohan Kapoor Date: Mon, 14 Aug 2023 17:16:50 -0700 Subject: [PATCH 3/9] Use ha-entity-picker for selecting the entitiy --- src/editor.ts | 45 +++++++++++++++++++++++++++++++-------------- 1 file changed, 31 insertions(+), 14 deletions(-) diff --git a/src/editor.ts b/src/editor.ts index d9ed708..2c2993c 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -48,6 +48,25 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple ...textfieldDefinition, } + firstUpdated() { + // Use HA elements when using ScopedRegistry. Reference: https://gist.github.com/thomasloven/5f965bd26e5f69876890886c09dd9ba8 + this.loadEntityPicker(); + } + + async loadEntityPicker() { + // Get the local customElement registry + const registry = (this.shadowRoot as any)?.customElements; + if (!registry || registry.get("ha-entity-picker")) { + return; + } + + const ch = await (window as any).loadCardHelpers(); + const c = await ch.createCardElement({ type: "entities", entities: [] }); + await c.constructor.getConfigElement(); + + registry.define("ha-entity-picker", window.customElements.get("ha-entity-picker")); + } + public async setConfig(config: SliderButtonCardConfig): Promise { this._config = config; if (this._helpers === undefined) { @@ -104,13 +123,6 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple return this._config?.action_button || ActionButtonConfigDefault; } - get entityList(){ - if (!this.hass) { - return []; - } - return Object.keys(this.hass.states).filter(eid => getEnumValues(Domain).includes(eid.substr(0, eid.indexOf('.')))).sort(); - } - get entityAttributes() { if (!this.hass || !this._entity) { return []; @@ -123,6 +135,8 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple return html``; } + console.log(getEnumValues(Domain)); + return html`
@@ -130,14 +144,17 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple
- - ${this.entityList.map(entity => html`${entity}`)} - + @change=${this._valueChangedEntity} + > + Date: Mon, 14 Aug 2023 18:48:21 -0700 Subject: [PATCH 4/9] Use HA selectors for icon and attributes --- src/editor.ts | 61 +++++++++++++++++++++++---------------------------- 1 file changed, 27 insertions(+), 34 deletions(-) diff --git a/src/editor.ts b/src/editor.ts index 2c2993c..944b319 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -54,9 +54,8 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple } async loadEntityPicker() { - // Get the local customElement registry const registry = (this.shadowRoot as any)?.customElements; - if (!registry || registry.get("ha-entity-picker")) { + if (!registry && registry.get("ha-entity-picker") && registry.get("ha-icon-picker") && registry.get("ha-selector")) { return; } @@ -65,14 +64,12 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple await c.constructor.getConfigElement(); registry.define("ha-entity-picker", window.customElements.get("ha-entity-picker")); + registry.define("ha-icon-picker", window.customElements.get("ha-icon-picker")); + registry.define("ha-selector", window.customElements.get("ha-selector")); } public async setConfig(config: SliderButtonCardConfig): Promise { this._config = config; - if (this._helpers === undefined) { - await this.loadCardHelpers(); - this._helpers.load - } } protected shouldUpdate(): boolean { @@ -131,12 +128,10 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple } protected render(): TemplateResult | void { - if (!this.hass || !this._helpers) { + if (!this.hass) { return html``; } - console.log(getEnumValues(Domain)); - return html`
@@ -148,9 +143,6 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple .hass=${this.hass} .includeDomains=${getEnumValues(Domain)} .value=${this._entity} - .label=${this.hass.localize( - "ui.components.entity.entity-picker.entity" - )} .configValue=${'entity'} @change=${this._valueChangedEntity} > @@ -162,14 +154,20 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple .configValue=${'name'} @input=${this._valueChanged} > - - ${this.entityAttributes.map(attribute => html`${attribute}`)} - + @value-changed=${this._valueChangedSelect} + >
- - +
{ - this._helpers = await (window as any).loadCardHelpers(); - } - private _valueChangedSelect(ev): void { const target = ev.target; - const value = target.value; + const value = ev.detail.value; if (!value) { return; } @@ -483,7 +477,6 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple static get styles(): CSSResult { return css` - mwc-select, mwc-textfield { width: 100%; } From 2c8decb7d1964efdd5faed083e55c28deb8bcec4 Mon Sep 17 00:00:00 2001 From: Rohan Kapoor Date: Mon, 14 Aug 2023 20:09:22 -0700 Subject: [PATCH 5/9] Rebuild the slider direction and background controls --- src/editor.ts | 98 ++++++++++++++++++++++++--------------------------- 1 file changed, 47 insertions(+), 51 deletions(-) diff --git a/src/editor.ts b/src/editor.ts index 944b319..3d45172 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -120,13 +120,43 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple return this._config?.action_button || ActionButtonConfigDefault; } - get entityAttributes() { + get _entityAttributes() { if (!this.hass || !this._entity) { return []; } return Object.keys(this.hass.states[this._entity].attributes).sort(); } + protected _renderOptionSelector( + configValue: string, + options: string[] | { value: string; label: string }[] = [], + label: string, + value: string, + + ): TemplateResult | void { + if (!this._config) { + return; + } + + return html` + + + `; + } + protected render(): TemplateResult | void { if (!this.hass) { return html``; @@ -154,20 +184,7 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple .configValue=${'name'} @input=${this._valueChanged} > - + ${this._renderOptionSelector(`attribute`, this._entityAttributes, localize('tabs.general.attribute'), this._attribute)}
@@ -244,41 +261,20 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple
- - - ${this.directions.map(direction => { - return html` - ${localize(`direction.${direction}`)} - `; - })} - - - - - ${this.backgrounds.map(background => { - return html` - ${localize(`background.${background}`)} - `; - })} - - - + ${this._renderOptionSelector( + `slider.direction`, + this.directions.map(direction => { + return {'value': direction, 'label': localize(`direction.${direction}`)} + }), localize('tabs.slider.direction'), + this._slider.direction || '' + )} + ${this._renderOptionSelector( + `slider.background`, + this.backgrounds.map(background => { + return {'value': background, 'label': localize(`background.${background}`)} + }), localize('tabs.slider.background'), + this._slider.background || '' + )}
${this.renderBrightness('slider')} From 41405a72ebb0d69a8db19c2677b02966f5d2db8d Mon Sep 17 00:00:00 2001 From: Rohan Kapoor Date: Mon, 14 Aug 2023 23:40:20 -0700 Subject: [PATCH 6/9] Rebuild the Action button controls --- src/editor.ts | 86 +++++++++++++++++++++------------------------------ 1 file changed, 36 insertions(+), 50 deletions(-) diff --git a/src/editor.ts b/src/editor.ts index 3d45172..633ffc5 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -16,7 +16,7 @@ import { switchDefinition } from '../elements/switch'; import { textfieldDefinition } from '../elements/textfield'; import { ScopedRegistryHost } from '@lit-labs/scoped-registry-mixin'; -import { HomeAssistant, LovelaceCardEditor, computeDomain, fireEvent, stateIcon } from 'custom-card-helpers'; +import { ActionConfig, HomeAssistant, LovelaceCardEditor, computeDomain, fireEvent } from 'custom-card-helpers'; import { localize } from './localize/localize'; import { ActionButtonConfig, ActionButtonConfigDefault, ActionButtonMode, Domain, IconConfig, IconConfigDefault, SliderBackground, SliderButtonCardConfig, SliderConfig, SliderConfigDefault, SliderDirections } from './types'; import { applyPatch, getEnumValues, getSliderDefaultForEntity } from './utils'; @@ -32,14 +32,6 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple private directions = getEnumValues(SliderDirections); private backgrounds = getEnumValues(SliderBackground); private actionModes = getEnumValues(ActionButtonMode); - private actions = [ - "more-info", - "toggle", - "navigate", - "url", - "call-service", - "none", - ]; static elementDefinitions = { ...formfieldDefinition, @@ -50,22 +42,22 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple firstUpdated() { // Use HA elements when using ScopedRegistry. Reference: https://gist.github.com/thomasloven/5f965bd26e5f69876890886c09dd9ba8 - this.loadEntityPicker(); + this._loadHomeAssistantComponent("ha-entity-picker", { type: "entities", entities: [] }); + this._loadHomeAssistantComponent("ha-icon-picker", { type: "entities", entities: [] }); + this._loadHomeAssistantComponent("ha-selector", { type: "entities", entities: [] }); } - async loadEntityPicker() { + async _loadHomeAssistantComponent(component: string, card: {}): Promise { const registry = (this.shadowRoot as any)?.customElements; - if (!registry && registry.get("ha-entity-picker") && registry.get("ha-icon-picker") && registry.get("ha-selector")) { + if (!registry || registry.get(component)) { return; } const ch = await (window as any).loadCardHelpers(); - const c = await ch.createCardElement({ type: "entities", entities: [] }); + const c = await ch.createCardElement(card); await c.constructor.getConfigElement(); - registry.define("ha-entity-picker", window.customElements.get("ha-entity-picker")); - registry.define("ha-icon-picker", window.customElements.get("ha-icon-picker")); - registry.define("ha-selector", window.customElements.get("ha-selector")); + registry.define(component, window.customElements.get(component)); } public async setConfig(config: SliderButtonCardConfig): Promise { @@ -131,7 +123,7 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple configValue: string, options: string[] | { value: string; label: string }[] = [], label: string, - value: string, + value: string | ActionConfig | undefined, ): TemplateResult | void { if (!this._config) { @@ -308,35 +300,26 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple
- - - ${this.actionModes.map(mode => { - return html` - ${localize(`mode.${mode}`)} - `; - })} - - + ${this._renderOptionSelector( + `action_button.mode`, + this.actionModes.map(mode => { + return {'value': mode, 'label': localize(`mode.${mode}`)} + }), localize('tabs.action_button.mode'), + this._action_button.mode || '' + )} ${this._action_button.mode === ActionButtonMode.CUSTOM ? html` - - + + ` - : + : ''}
@@ -355,20 +338,23 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple @change=${this._valueChanged} > - ` + ` : ''}
${this._action_button.mode === ActionButtonMode.CUSTOM ? html` - + @value-changed=${this._valueChangedSelect} + > ` : ''} From e7cbd088b71938bc91dd71f375052880fe833565 Mon Sep 17 00:00:00 2001 From: Rohan Kapoor Date: Mon, 14 Aug 2023 23:44:23 -0700 Subject: [PATCH 7/9] Rebuild the Icon tap action controls --- src/editor.ts | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/src/editor.ts b/src/editor.ts index 633ffc5..af6cc40 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -233,18 +233,17 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple ${this.renderStateColor('icon')}
- ${ - // - // ${this.actions.map(action => html`${action}`)} - // - '' - } +
From cd881f89aa3afd1a3f66ffcee18d7a6aa98cb74a Mon Sep 17 00:00:00 2001 From: Rohan Kapoor Date: Mon, 14 Aug 2023 23:45:15 -0700 Subject: [PATCH 8/9] Remove debug statements --- src/editor.ts | 8 -------- 1 file changed, 8 deletions(-) diff --git a/src/editor.ts b/src/editor.ts index af6cc40..ee0dba9 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -431,26 +431,18 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple } private _changeValue(configValue: string, value: string | boolean | number): void { - console.log("INFO DUMP"); - console.log('configValue: ' + configValue); - console.log('value: ' + value); - console.log('this[`_${configValue}`]: ' + this[`_${configValue}`]); if (!this._config || !this.hass) { - console.log('skipped, 1'); return; } if (this[`_${configValue}`] !== undefined && this[`_${configValue}`] === value) { - console.log('skipped, 2'); return; } if (configValue) { const cfg = copy(this._config); applyPatch(cfg, [...configValue.split('.')], value); this._config = cfg; - console.log('updated cfg'); if (value === '') { delete this._config[configValue]; - console.log('result ' + configValue); } } fireEvent(this, 'config-changed', { config: this._config }); From 83ef84da527c16bd8778821c52c2323aa8ddb14f Mon Sep 17 00:00:00 2001 From: Rohan Kapoor Date: Mon, 14 Aug 2023 23:52:15 -0700 Subject: [PATCH 9/9] Remove unnused material/mwc-select package --- elements/ignore/select.js | 8 --- elements/select.js | 53 ---------------- package-lock.json | 103 -------------------------------- package.json | 1 - rollup-plugins/ignoreWrapper.js | 2 - src/editor.ts | 2 - 6 files changed, 169 deletions(-) delete mode 100644 elements/ignore/select.js delete mode 100644 elements/select.js diff --git a/elements/ignore/select.js b/elements/ignore/select.js deleted file mode 100644 index b1e1d15..0000000 --- a/elements/ignore/select.js +++ /dev/null @@ -1,8 +0,0 @@ -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/select.js b/elements/select.js deleted file mode 100644 index 3a8a055..0000000 --- a/elements/select.js +++ /dev/null @@ -1,53 +0,0 @@ -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'; -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 { - 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; - } - }, - 'mwc-notched-outline': class extends NotchedOutlineBase { - static get styles() { - return notchedOutlineStyles; - } - }, -}; diff --git a/package-lock.json b/package-lock.json index 1b9d232..5488240 100644 --- a/package-lock.json +++ b/package-lock.json @@ -460,38 +460,6 @@ "tslib": "^2.1.0" } }, - "@material/menu": { - "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/menu/-/menu-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-MmYKVrMIqOtP3TN4vdrrnQrS8P81+tMaA6bKiT9V79R1U6+mKsBYTzaLtLbzyem5vF8O0q7bSwyPwhWPtJr75Q==", - "requires": { - "@material/base": "14.0.0-canary.53b3cad2f.0", - "@material/dom": "14.0.0-canary.53b3cad2f.0", - "@material/elevation": "14.0.0-canary.53b3cad2f.0", - "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", - "@material/list": "14.0.0-canary.53b3cad2f.0", - "@material/menu-surface": "14.0.0-canary.53b3cad2f.0", - "@material/ripple": "14.0.0-canary.53b3cad2f.0", - "@material/rtl": "14.0.0-canary.53b3cad2f.0", - "@material/theme": "14.0.0-canary.53b3cad2f.0", - "tslib": "^2.1.0" - } - }, - "@material/menu-surface": { - "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-IQWb/n15FpLnn+kHp0EqzLE+UoWSPumq3eze2QifiowvGb37bNFR9oSe7CaOzPMrHdkrZ5SBWnDU41wPZN5kOg==", - "requires": { - "@material/animation": "14.0.0-canary.53b3cad2f.0", - "@material/base": "14.0.0-canary.53b3cad2f.0", - "@material/elevation": "14.0.0-canary.53b3cad2f.0", - "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", - "@material/rtl": "14.0.0-canary.53b3cad2f.0", - "@material/shape": "14.0.0-canary.53b3cad2f.0", - "@material/theme": "14.0.0-canary.53b3cad2f.0", - "tslib": "^2.1.0" - } - }, "@material/mwc-base": { "version": "0.27.0", "resolved": "https://registry.npmjs.org/@material/mwc-base/-/mwc-base-0.27.0.tgz", @@ -535,15 +503,6 @@ "tslib": "^2.0.1" } }, - "@material/mwc-icon": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@material/mwc-icon/-/mwc-icon-0.27.0.tgz", - "integrity": "sha512-Sul44I37M9Ewynn0A9DjkEBrmll2VtNbth6Pxj7I1A/EAwEfaCrPvryyGqfIu1T2hTsRcaojzQx6QjF+B5QW9A==", - "requires": { - "lit": "^2.0.0", - "tslib": "^2.0.1" - } - }, "@material/mwc-line-ripple": { "version": "0.27.0", "resolved": "https://registry.npmjs.org/@material/mwc-line-ripple/-/mwc-line-ripple-0.27.0.tgz", @@ -570,21 +529,6 @@ "tslib": "^2.0.1" } }, - "@material/mwc-menu": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@material/mwc-menu/-/mwc-menu-0.27.0.tgz", - "integrity": "sha512-K+L/t267ZGrlhjK/iSKUVZQKRMkWELArKVglfS5of93ALP4in0RGnj1sOG2u3IFI2F/mEZxRi+wr7HgNxpe0wA==", - "requires": { - "@material/menu": "=14.0.0-canary.53b3cad2f.0", - "@material/menu-surface": "=14.0.0-canary.53b3cad2f.0", - "@material/mwc-base": "^0.27.0", - "@material/mwc-list": "^0.27.0", - "@material/shape": "=14.0.0-canary.53b3cad2f.0", - "@material/theme": "=14.0.0-canary.53b3cad2f.0", - "lit": "^2.0.0", - "tslib": "^2.0.1" - } - }, "@material/mwc-notched-outline": { "version": "0.27.0", "resolved": "https://registry.npmjs.org/@material/mwc-notched-outline/-/mwc-notched-outline-0.27.0.tgz", @@ -620,27 +564,6 @@ "tslib": "^2.0.1" } }, - "@material/mwc-select": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/@material/mwc-select/-/mwc-select-0.27.0.tgz", - "integrity": "sha512-LTr2nl7gAYq8ung4eWfUz24mey4/K9vAlqJBo/uu6w0122C9X64szBS9kHAb87aD1oxLkxAJCDuv/wwlXV1i2w==", - "requires": { - "@material/dom": "=14.0.0-canary.53b3cad2f.0", - "@material/floating-label": "=14.0.0-canary.53b3cad2f.0", - "@material/line-ripple": "=14.0.0-canary.53b3cad2f.0", - "@material/list": "=14.0.0-canary.53b3cad2f.0", - "@material/mwc-base": "^0.27.0", - "@material/mwc-floating-label": "^0.27.0", - "@material/mwc-icon": "^0.27.0", - "@material/mwc-line-ripple": "^0.27.0", - "@material/mwc-list": "^0.27.0", - "@material/mwc-menu": "^0.27.0", - "@material/mwc-notched-outline": "^0.27.0", - "@material/select": "=14.0.0-canary.53b3cad2f.0", - "lit": "^2.0.0", - "tslib": "^2.0.1" - } - }, "@material/mwc-switch": { "version": "0.27.0", "resolved": "https://registry.npmjs.org/@material/mwc-switch/-/mwc-switch-0.27.0.tgz", @@ -734,32 +657,6 @@ "tslib": "^2.1.0" } }, - "@material/select": { - "version": "14.0.0-canary.53b3cad2f.0", - "resolved": "https://registry.npmjs.org/@material/select/-/select-14.0.0-canary.53b3cad2f.0.tgz", - "integrity": "sha512-fAiTaHZ1PIEmCUbufS+IZvsWO0hDxtbU8rOsbmSu1oupAboP7jSgOVgcCGdT9KY5WacrniIIMO6jZjhnvrC0Lg==", - "requires": { - "@material/animation": "14.0.0-canary.53b3cad2f.0", - "@material/base": "14.0.0-canary.53b3cad2f.0", - "@material/density": "14.0.0-canary.53b3cad2f.0", - "@material/dom": "14.0.0-canary.53b3cad2f.0", - "@material/elevation": "14.0.0-canary.53b3cad2f.0", - "@material/feature-targeting": "14.0.0-canary.53b3cad2f.0", - "@material/floating-label": "14.0.0-canary.53b3cad2f.0", - "@material/line-ripple": "14.0.0-canary.53b3cad2f.0", - "@material/list": "14.0.0-canary.53b3cad2f.0", - "@material/menu": "14.0.0-canary.53b3cad2f.0", - "@material/menu-surface": "14.0.0-canary.53b3cad2f.0", - "@material/notched-outline": "14.0.0-canary.53b3cad2f.0", - "@material/ripple": "14.0.0-canary.53b3cad2f.0", - "@material/rtl": "14.0.0-canary.53b3cad2f.0", - "@material/shape": "14.0.0-canary.53b3cad2f.0", - "@material/theme": "14.0.0-canary.53b3cad2f.0", - "@material/tokens": "14.0.0-canary.53b3cad2f.0", - "@material/typography": "14.0.0-canary.53b3cad2f.0", - "tslib": "^2.1.0" - } - }, "@material/shape": { "version": "14.0.0-canary.53b3cad2f.0", "resolved": "https://registry.npmjs.org/@material/shape/-/shape-14.0.0-canary.53b3cad2f.0.tgz", diff --git a/package.json b/package.json index aa04bbc..7f2df1c 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,6 @@ "@material/mwc-formfield": "^0.27.0", "@material/mwc-list": "^0.27.0", "@material/mwc-notched-outline": "^0.27.0", - "@material/mwc-select": "^0.27.0", "@material/mwc-switch": "^0.27.0", "@material/mwc-textarea": "^0.27.0", "@material/mwc-textfield": "^0.27.0", diff --git a/rollup-plugins/ignoreWrapper.js b/rollup-plugins/ignoreWrapper.js index dab5623..e8e16e1 100644 --- a/rollup-plugins/ignoreWrapper.js +++ b/rollup-plugins/ignoreWrapper.js @@ -1,12 +1,10 @@ import ignore from "./ignore"; -import { ignoreSelectFiles } from '../elements/ignore/select'; import { ignoreSwitchFiles } from '../elements/ignore/switch'; import { ignoreTextfieldFiles } from '../elements/ignore/textfield' export default function ignoreWrapper() { return ignore({ files: [ - ...ignoreSelectFiles, ...ignoreSwitchFiles, ...ignoreTextfieldFiles, ].map((file) => require.resolve(file)), diff --git a/src/editor.ts b/src/editor.ts index ee0dba9..1512689 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -11,7 +11,6 @@ import { import { customElement, property, state } from 'lit/decorators.js'; import { formfieldDefinition } from '../elements/formfield'; -import { selectDefinition } from '../elements/select'; import { switchDefinition } from '../elements/switch'; import { textfieldDefinition } from '../elements/textfield'; @@ -35,7 +34,6 @@ export class SliderButtonCardEditor extends ScopedRegistryHost(LitElement) imple static elementDefinitions = { ...formfieldDefinition, - ...selectDefinition, ...switchDefinition, ...textfieldDefinition, }