From 3f447bb8a74bbb2dfb5f3720a911ff1ca9213b69 Mon Sep 17 00:00:00 2001 From: Bram Kragten Date: Fri, 16 Jul 2021 01:23:09 +0200 Subject: [PATCH] Bump Polymer (#9525) * Bump Polymer * Remove formatting from patch * Cleanup * Fix Vaadin * Fix typing --- .yarn/patches/@polymer/polymer/pr-5569.patch | 34 +++ build-scripts/bundle.js | 3 +- demo/src/entrypoint.ts | 2 - .../addon-view/config/hassio-addon-config.ts | 5 - .../src/components/hassio-upload-snapshot.ts | 1 - .../markdown/dialog-hassio-markdown.ts | 4 - package.json | 25 +- src/components/ha-form/ha-form-integer.ts | 7 +- src/components/ha-picture-upload.ts | 1 - .../controls/more-info-configurator.js | 1 - src/entrypoints/authorize.ts | 2 - src/html/_js_base.html.template | 1 + src/panels/calendar/ha-full-calendar.ts | 2 +- .../config/helpers/ha-config-helpers.ts | 1 - .../zha/zha-add-devices-page.ts | 13 +- .../zwave/ha-config-zwave.js | 1 + .../integration-panels/zwave/zwave-log.js | 1 - .../resources/ha-config-lovelace-resources.ts | 1 - .../service/developer-tools-service.ts | 1 - .../entity-rows/hui-weather-entity-row.ts | 3 +- src/resources/ha-style.ts | 6 + src/resources/styles.ts | 9 +- src/util/app-localstorage-document.js | 200 ------------- yarn.lock | 275 +++++++++--------- 24 files changed, 207 insertions(+), 392 deletions(-) create mode 100644 .yarn/patches/@polymer/polymer/pr-5569.patch delete mode 100644 src/util/app-localstorage-document.js diff --git a/.yarn/patches/@polymer/polymer/pr-5569.patch b/.yarn/patches/@polymer/polymer/pr-5569.patch new file mode 100644 index 0000000000..ec2018f0d7 --- /dev/null +++ b/.yarn/patches/@polymer/polymer/pr-5569.patch @@ -0,0 +1,34 @@ +diff --git a/lib/legacy/class.js b/lib/legacy/class.js +index aee2511be1cd9bf900ee552bc98190c1631c57c0..f2f499d68bf52034cac9c28307c99e8ce6b8417d 100644 +--- a/lib/legacy/class.js ++++ b/lib/legacy/class.js +@@ -304,17 +304,23 @@ function GenerateClassFromInfo(info, Base, behaviors) { + // only proceed if the generated class' prototype has not been registered. + const generatedProto = PolymerGenerated.prototype; + if (!generatedProto.hasOwnProperty(JSCompiler_renameProperty('__hasRegisterFinished', generatedProto))) { +- generatedProto.__hasRegisterFinished = true; ++ // make sure legacy lifecycle is called on the *element*'s prototype ++ // and not the generated class prototype; if the element has been ++ // extended, these are *not* the same. ++ const proto = Object.getPrototypeOf(this); ++ // Only set flag when generated prototype itself is registered, ++ // as this element may be extended from, and needs to run `registered` ++ // on all behaviors on the subclass as well. ++ if (proto === generatedProto) { ++ generatedProto.__hasRegisterFinished = true; ++ } + // ensure superclass is registered first. + super._registered(); + // copy properties onto the generated class lazily if we're optimizing, +- if (legacyOptimizations) { ++ if (legacyOptimizations && !Object.hasOwnProperty(generatedProto, '__hasCopiedProperties')) { ++ generatedProto.__hasCopiedProperties = true; + copyPropertiesToProto(generatedProto); + } +- // make sure legacy lifecycle is called on the *element*'s prototype +- // and not the generated class prototype; if the element has been +- // extended, these are *not* the same. +- const proto = Object.getPrototypeOf(this); + let list = lifecycle.beforeRegister; + if (list) { + for (let i=0; i < list.length; i++) { diff --git a/build-scripts/bundle.js b/build-scripts/bundle.js index a35f06028e..f8e2650f7e 100644 --- a/build-scripts/bundle.js +++ b/build-scripts/bundle.js @@ -18,7 +18,8 @@ module.exports.emptyPackages = ({ latestBuild }) => require.resolve("@polymer/paper-styles/default-theme.js"), // Loads stuff from a CDN require.resolve("@polymer/font-roboto/roboto.js"), - require.resolve("@vaadin/vaadin-material-styles/font-roboto.js"), + require.resolve("@vaadin/vaadin-material-styles/typography.js"), + require.resolve("@vaadin/vaadin-material-styles/font-icons.js"), // Compatibility not needed for latest builds latestBuild && // wrapped in require.resolve so it blows up if file no longer exists diff --git a/demo/src/entrypoint.ts b/demo/src/entrypoint.ts index e71ff28e88..54feef73d5 100644 --- a/demo/src/entrypoint.ts +++ b/demo/src/entrypoint.ts @@ -1,5 +1,3 @@ -import "@polymer/polymer/lib/elements/dom-if"; -import "@polymer/polymer/lib/elements/dom-repeat"; import "../../src/resources/ha-style"; import "../../src/resources/roboto"; import "../../src/resources/safari-14-attachshadow-patch"; diff --git a/hassio/src/addon-view/config/hassio-addon-config.ts b/hassio/src/addon-view/config/hassio-addon-config.ts index 661f3a118c..2a5758609e 100644 --- a/hassio/src/addon-view/config/hassio-addon-config.ts +++ b/hassio/src/addon-view/config/hassio-addon-config.ts @@ -2,7 +2,6 @@ import "@material/mwc-button"; import { ActionDetail } from "@material/mwc-list"; import "@material/mwc-list/mwc-list-item"; import { mdiDotsVertical } from "@mdi/js"; -import "@polymer/iron-autogrow-textarea/iron-autogrow-textarea"; import { DEFAULT_SCHEMA, Type } from "js-yaml"; import { css, @@ -329,10 +328,6 @@ class HassioAddonConfig extends LitElement { color: var(--error-color); margin-top: 16px; } - iron-autogrow-textarea { - width: 100%; - font-family: var(--code-font-family, monospace); - } .syntaxerror { color: var(--error-color); } diff --git a/hassio/src/components/hassio-upload-snapshot.ts b/hassio/src/components/hassio-upload-snapshot.ts index 5347e9a796..4677231c85 100644 --- a/hassio/src/components/hassio-upload-snapshot.ts +++ b/hassio/src/components/hassio-upload-snapshot.ts @@ -1,6 +1,5 @@ import "@material/mwc-icon-button/mwc-icon-button"; import { mdiFolderUpload } from "@mdi/js"; -import "@polymer/iron-input/iron-input"; import "@polymer/paper-input/paper-input-container"; import { html, LitElement, TemplateResult } from "lit"; import { customElement, state } from "lit/decorators"; diff --git a/hassio/src/dialogs/markdown/dialog-hassio-markdown.ts b/hassio/src/dialogs/markdown/dialog-hassio-markdown.ts index b1b2f06226..b936a70f97 100644 --- a/hassio/src/dialogs/markdown/dialog-hassio-markdown.ts +++ b/hassio/src/dialogs/markdown/dialog-hassio-markdown.ts @@ -61,10 +61,6 @@ class HassioMarkdownDialog extends LitElement { app-toolbar [main-title] { margin-left: 16px; } - paper-checkbox { - display: block; - margin: 4px; - } @media all and (max-width: 450px), all and (max-height: 500px) { ha-paper-dialog { max-height: 100%; diff --git a/package.json b/package.json index b71dfaa0ca..df2f60af1c 100644 --- a/package.json +++ b/package.json @@ -62,33 +62,31 @@ "@material/top-app-bar": "=12.0.0-canary.1a8d06483.0", "@mdi/js": "5.9.55", "@mdi/svg": "5.9.55", - "@polymer/app-layout": "^3.0.2", - "@polymer/app-storage": "^3.0.2", - "@polymer/iron-autogrow-textarea": "^3.0.1", + "@polymer/app-layout": "^3.1.0", "@polymer/iron-flex-layout": "^3.0.1", "@polymer/iron-icon": "^3.0.1", "@polymer/iron-input": "^3.0.1", - "@polymer/iron-overlay-behavior": "^3.0.2", + "@polymer/iron-overlay-behavior": "^3.0.3", "@polymer/iron-resizable-behavior": "^3.0.1", "@polymer/paper-checkbox": "^3.1.0", "@polymer/paper-dialog": "^3.0.1", "@polymer/paper-dialog-behavior": "^3.0.1", "@polymer/paper-dialog-scrollable": "^3.0.1", - "@polymer/paper-dropdown-menu": "^3.0.1", - "@polymer/paper-input": "^3.0.1", + "@polymer/paper-dropdown-menu": "^3.2.0", + "@polymer/paper-input": "^3.2.1", "@polymer/paper-item": "^3.0.1", "@polymer/paper-listbox": "^3.0.1", - "@polymer/paper-menu-button": "^3.0.1", + "@polymer/paper-menu-button": "^3.1.0", "@polymer/paper-progress": "^3.0.1", "@polymer/paper-radio-button": "^3.0.1", "@polymer/paper-radio-group": "^3.0.1", - "@polymer/paper-ripple": "^3.0.1", + "@polymer/paper-ripple": "^3.0.2", "@polymer/paper-slider": "^3.0.1", "@polymer/paper-styles": "^3.0.1", - "@polymer/paper-tabs": "^3.0.1", + "@polymer/paper-tabs": "^3.1.0", "@polymer/paper-toast": "^3.0.1", "@polymer/paper-tooltip": "^3.0.1", - "@polymer/polymer": "3.1.0", + "@polymer/polymer": "3.4.1", "@thomasloven/round-slider": "0.5.2", "@vaadin/vaadin-combo-box": "^5.0.10", "@vaadin/vaadin-date-picker": "^4.0.7", @@ -96,7 +94,7 @@ "@vibrant/core": "^3.2.1-alpha.1", "@vibrant/quantizer-mmcq": "^3.2.1-alpha.1", "@vue/web-component-wrapper": "^1.2.0", - "@webcomponents/webcomponentsjs": "^2.2.7", + "@webcomponents/webcomponentsjs": "^2.2.10", "chart.js": "^3.3.2", "comlink": "^4.3.1", "core-js": "^3.15.2", @@ -230,11 +228,10 @@ "webpack-manifest-plugin": "^3.1.1", "workbox-build": "^6.1.5" }, - "_comment": "Polymer fixed to 3.1 because 3.2 throws on logbook page", - "_comment_2": "Fix in https://github.com/Polymer/polymer/pull/5569", + "_comment": "Polymer 3.2 contained a bug, fixed in https://github.com/Polymer/polymer/pull/5569, add as patch", "resolutions": { + "@polymer/polymer": "patch:@polymer/polymer@3.4.1#./.yarn/patches/@polymer/polymer/pr-5569.patch", "@webcomponents/webcomponentsjs": "^2.2.10", - "@polymer/polymer": "3.1.0", "lit-html": "2.0.0-rc.3", "lit-element": "3.0.0-rc.2" }, diff --git a/src/components/ha-form/ha-form-integer.ts b/src/components/ha-form/ha-form-integer.ts index 6f0ec4cfab..9cb7da2496 100644 --- a/src/components/ha-form/ha-form-integer.ts +++ b/src/components/ha-form/ha-form-integer.ts @@ -1,12 +1,11 @@ import "@polymer/paper-input/paper-input"; import type { PaperInputElement } from "@polymer/paper-input/paper-input"; -import "@polymer/paper-slider/paper-slider"; -import type { PaperSliderElement } from "@polymer/paper-slider/paper-slider"; import { css, CSSResultGroup, html, LitElement, TemplateResult } from "lit"; import { customElement, property, query } from "lit/decorators"; import { fireEvent } from "../../common/dom/fire_event"; import { HaCheckbox } from "../ha-checkbox"; import "../ha-slider"; +import type { HaSlider } from "../ha-slider"; import { HaFormElement, HaFormIntegerData, @@ -88,9 +87,7 @@ export class HaFormInteger extends LitElement implements HaFormElement { } private _valueChanged(ev: Event) { - const value = Number( - (ev.target as PaperInputElement | PaperSliderElement).value - ); + const value = Number((ev.target as PaperInputElement | HaSlider).value); if (this._value === value) { return; } diff --git a/src/components/ha-picture-upload.ts b/src/components/ha-picture-upload.ts index 5111b07644..254415a658 100644 --- a/src/components/ha-picture-upload.ts +++ b/src/components/ha-picture-upload.ts @@ -1,6 +1,5 @@ import "@material/mwc-icon-button/mwc-icon-button"; import { mdiImagePlus } from "@mdi/js"; -import "@polymer/iron-input/iron-input"; import "@polymer/paper-input/paper-input-container"; import { html, LitElement, TemplateResult } from "lit"; import { customElement, property, state } from "lit/decorators"; diff --git a/src/dialogs/more-info/controls/more-info-configurator.js b/src/dialogs/more-info/controls/more-info-configurator.js index c4cd2f3ef2..52f7ce6406 100644 --- a/src/dialogs/more-info/controls/more-info-configurator.js +++ b/src/dialogs/more-info/controls/more-info-configurator.js @@ -1,6 +1,5 @@ import "@material/mwc-button"; import "@polymer/iron-flex-layout/iron-flex-layout-classes"; -import "@polymer/iron-input/iron-input"; import "@polymer/paper-input/paper-input"; import { html } from "@polymer/polymer/lib/utils/html-tag"; /* eslint-plugin-disable lit */ diff --git a/src/entrypoints/authorize.ts b/src/entrypoints/authorize.ts index 45857e5998..6150ebb7e0 100644 --- a/src/entrypoints/authorize.ts +++ b/src/entrypoints/authorize.ts @@ -1,7 +1,5 @@ // Compat needs to be first import import "../resources/compatibility"; -import "@polymer/polymer/lib/elements/dom-if"; -import "@polymer/polymer/lib/elements/dom-repeat"; import "../auth/ha-authorize"; import "../resources/ha-style"; import "../resources/roboto"; diff --git a/src/html/_js_base.html.template b/src/html/_js_base.html.template index f8dc4835c9..0824d82b4b 100644 --- a/src/html/_js_base.html.template +++ b/src/html/_js_base.html.template @@ -16,6 +16,7 @@ suppressTemplateNotifications: true, suppressBindingNotifications: true, }; + window.polymerSkipLoadingFontRoboto = true; if (!("customElements" in window && "content" in document.createElement("template"))) { document.write("