mirror of
https://github.com/home-assistant/frontend.git
synced 2025-07-25 10:16:46 +00:00
20230306.0 (#15749)
This commit is contained in:
commit
0b3e954752
12
.github/dependabot.yml
vendored
12
.github/dependabot.yml
vendored
@ -6,15 +6,3 @@ updates:
|
|||||||
interval: weekly
|
interval: weekly
|
||||||
time: "06:00"
|
time: "06:00"
|
||||||
open-pull-requests-limit: 10
|
open-pull-requests-limit: 10
|
||||||
- package-ecosystem: "npm"
|
|
||||||
directory: "/"
|
|
||||||
schedule:
|
|
||||||
interval: "daily"
|
|
||||||
time: "03:00"
|
|
||||||
open-pull-requests-limit: 10
|
|
||||||
labels:
|
|
||||||
- "dependencies"
|
|
||||||
ignore:
|
|
||||||
# Ignore rollup and plugins until everything else is updated
|
|
||||||
- dependency-name: "*rollup*"
|
|
||||||
- dependency-name: "@rollup/*"
|
|
||||||
|
823
.yarn/releases/yarn-3.3.1.cjs
vendored
823
.yarn/releases/yarn-3.3.1.cjs
vendored
File diff suppressed because one or more lines are too long
873
.yarn/releases/yarn-3.4.1.cjs
vendored
Executable file
873
.yarn/releases/yarn-3.4.1.cjs
vendored
Executable file
File diff suppressed because one or more lines are too long
@ -1,3 +1,5 @@
|
|||||||
|
defaultSemverRangePrefix: ""
|
||||||
|
|
||||||
nodeLinker: node-modules
|
nodeLinker: node-modules
|
||||||
|
|
||||||
plugins:
|
plugins:
|
||||||
@ -6,4 +8,4 @@ plugins:
|
|||||||
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
|
- path: .yarn/plugins/@yarnpkg/plugin-interactive-tools.cjs
|
||||||
spec: "@yarnpkg/plugin-interactive-tools"
|
spec: "@yarnpkg/plugin-interactive-tools"
|
||||||
|
|
||||||
yarnPath: .yarn/releases/yarn-3.3.1.cjs
|
yarnPath: .yarn/releases/yarn-3.4.1.cjs
|
||||||
|
422
package.json
422
package.json
@ -24,229 +24,229 @@
|
|||||||
"author": "Paulus Schoutsen <Paulus@PaulusSchoutsen.nl> (http://paulusschoutsen.nl)",
|
"author": "Paulus Schoutsen <Paulus@PaulusSchoutsen.nl> (http://paulusschoutsen.nl)",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@braintree/sanitize-url": "^6.0.2",
|
"@braintree/sanitize-url": "6.0.2",
|
||||||
"@codemirror/autocomplete": "^6.4.2",
|
"@codemirror/autocomplete": "6.4.2",
|
||||||
"@codemirror/commands": "^6.2.1",
|
"@codemirror/commands": "6.2.1",
|
||||||
"@codemirror/language": "^6.6.0",
|
"@codemirror/language": "6.6.0",
|
||||||
"@codemirror/legacy-modes": "^6.3.1",
|
"@codemirror/legacy-modes": "6.3.1",
|
||||||
"@codemirror/search": "^6.2.3",
|
"@codemirror/search": "6.2.3",
|
||||||
"@codemirror/state": "^6.2.0",
|
"@codemirror/state": "6.2.0",
|
||||||
"@codemirror/view": "^6.9.1",
|
"@codemirror/view": "6.9.1",
|
||||||
"@egjs/hammerjs": "^2.0.17",
|
"@egjs/hammerjs": "2.0.17",
|
||||||
"@formatjs/intl-datetimeformat": "^6.5.1",
|
"@formatjs/intl-datetimeformat": "6.5.1",
|
||||||
"@formatjs/intl-getcanonicallocales": "^2.1.0",
|
"@formatjs/intl-getcanonicallocales": "2.1.0",
|
||||||
"@formatjs/intl-locale": "^3.1.1",
|
"@formatjs/intl-locale": "3.1.1",
|
||||||
"@formatjs/intl-numberformat": "^8.3.5",
|
"@formatjs/intl-numberformat": "8.3.5",
|
||||||
"@formatjs/intl-pluralrules": "^5.1.10",
|
"@formatjs/intl-pluralrules": "5.1.10",
|
||||||
"@formatjs/intl-relativetimeformat": "^11.1.10",
|
"@formatjs/intl-relativetimeformat": "11.1.10",
|
||||||
"@fullcalendar/core": "^6.1.4",
|
"@fullcalendar/core": "6.1.4",
|
||||||
"@fullcalendar/daygrid": "^6.1.4",
|
"@fullcalendar/daygrid": "6.1.4",
|
||||||
"@fullcalendar/interaction": "^6.1.4",
|
"@fullcalendar/interaction": "6.1.4",
|
||||||
"@fullcalendar/list": "^6.1.4",
|
"@fullcalendar/list": "6.1.4",
|
||||||
"@fullcalendar/timegrid": "^6.1.4",
|
"@fullcalendar/timegrid": "6.1.4",
|
||||||
"@lezer/highlight": "^1.1.3",
|
"@lezer/highlight": "1.1.3",
|
||||||
"@lit-labs/motion": "^1.0.3",
|
"@lit-labs/motion": "1.0.3",
|
||||||
"@lit-labs/virtualizer": "^1.0.1",
|
"@lit-labs/virtualizer": "1.0.1",
|
||||||
"@material/chips": "=14.0.0-canary.53b3cad2f.0",
|
"@material/chips": "=14.0.0-canary.53b3cad2f.0",
|
||||||
"@material/data-table": "=14.0.0-canary.53b3cad2f.0",
|
"@material/data-table": "=14.0.0-canary.53b3cad2f.0",
|
||||||
"@material/mwc-button": "^0.27.0",
|
"@material/mwc-button": "0.27.0",
|
||||||
"@material/mwc-checkbox": "^0.27.0",
|
"@material/mwc-checkbox": "0.27.0",
|
||||||
"@material/mwc-circular-progress": "^0.27.0",
|
"@material/mwc-circular-progress": "0.27.0",
|
||||||
"@material/mwc-dialog": "^0.27.0",
|
"@material/mwc-dialog": "0.27.0",
|
||||||
"@material/mwc-drawer": "^0.27.0",
|
"@material/mwc-drawer": "0.27.0",
|
||||||
"@material/mwc-fab": "^0.27.0",
|
"@material/mwc-fab": "0.27.0",
|
||||||
"@material/mwc-formfield": "^0.27.0",
|
"@material/mwc-formfield": "0.27.0",
|
||||||
"@material/mwc-icon-button": "^0.27.0",
|
"@material/mwc-icon-button": "0.27.0",
|
||||||
"@material/mwc-linear-progress": "^0.27.0",
|
"@material/mwc-linear-progress": "0.27.0",
|
||||||
"@material/mwc-list": "^0.27.0",
|
"@material/mwc-list": "0.27.0",
|
||||||
"@material/mwc-menu": "^0.27.0",
|
"@material/mwc-menu": "0.27.0",
|
||||||
"@material/mwc-radio": "^0.27.0",
|
"@material/mwc-radio": "0.27.0",
|
||||||
"@material/mwc-ripple": "^0.27.0",
|
"@material/mwc-ripple": "0.27.0",
|
||||||
"@material/mwc-select": "^0.27.0",
|
"@material/mwc-select": "0.27.0",
|
||||||
"@material/mwc-slider": "^0.27.0",
|
"@material/mwc-slider": "0.27.0",
|
||||||
"@material/mwc-switch": "^0.27.0",
|
"@material/mwc-switch": "0.27.0",
|
||||||
"@material/mwc-tab": "^0.27.0",
|
"@material/mwc-tab": "0.27.0",
|
||||||
"@material/mwc-tab-bar": "^0.27.0",
|
"@material/mwc-tab-bar": "0.27.0",
|
||||||
"@material/mwc-textarea": "^0.27.0",
|
"@material/mwc-textarea": "0.27.0",
|
||||||
"@material/mwc-textfield": "^0.27.0",
|
"@material/mwc-textfield": "0.27.0",
|
||||||
"@material/mwc-top-app-bar-fixed": "^0.27.0",
|
"@material/mwc-top-app-bar-fixed": "0.27.0",
|
||||||
"@material/top-app-bar": "=14.0.0-canary.53b3cad2f.0",
|
"@material/top-app-bar": "=14.0.0-canary.53b3cad2f.0",
|
||||||
"@material/web": "=1.0.0-pre.3",
|
"@material/web": "=1.0.0-pre.3",
|
||||||
"@mdi/js": "7.1.96",
|
"@mdi/js": "7.1.96",
|
||||||
"@mdi/svg": "7.1.96",
|
"@mdi/svg": "7.1.96",
|
||||||
"@polymer/app-layout": "^3.1.0",
|
"@polymer/app-layout": "3.1.0",
|
||||||
"@polymer/iron-flex-layout": "^3.0.1",
|
"@polymer/iron-flex-layout": "3.0.1",
|
||||||
"@polymer/iron-icon": "^3.0.1",
|
"@polymer/iron-icon": "3.0.1",
|
||||||
"@polymer/iron-input": "^3.0.1",
|
"@polymer/iron-input": "3.0.1",
|
||||||
"@polymer/iron-resizable-behavior": "^3.0.1",
|
"@polymer/iron-resizable-behavior": "3.0.1",
|
||||||
"@polymer/paper-input": "^3.2.1",
|
"@polymer/paper-input": "3.2.1",
|
||||||
"@polymer/paper-item": "^3.0.1",
|
"@polymer/paper-item": "3.0.1",
|
||||||
"@polymer/paper-listbox": "^3.0.1",
|
"@polymer/paper-listbox": "3.0.1",
|
||||||
"@polymer/paper-slider": "^3.0.1",
|
"@polymer/paper-slider": "3.0.1",
|
||||||
"@polymer/paper-styles": "^3.0.1",
|
"@polymer/paper-styles": "3.0.1",
|
||||||
"@polymer/paper-tabs": "^3.1.0",
|
"@polymer/paper-tabs": "3.1.0",
|
||||||
"@polymer/paper-toast": "^3.0.1",
|
"@polymer/paper-toast": "3.0.1",
|
||||||
"@polymer/paper-tooltip": "^3.0.1",
|
"@polymer/paper-tooltip": "3.0.1",
|
||||||
"@polymer/polymer": "3.4.1",
|
"@polymer/polymer": "3.4.1",
|
||||||
"@thomasloven/round-slider": "0.6.0",
|
"@thomasloven/round-slider": "0.6.0",
|
||||||
"@vaadin/combo-box": "^23.3.7",
|
"@vaadin/combo-box": "23.3.8",
|
||||||
"@vaadin/vaadin-themable-mixin": "^23.3.7",
|
"@vaadin/vaadin-themable-mixin": "23.3.8",
|
||||||
"@vibrant/color": "^3.2.1-alpha.1",
|
"@vibrant/color": "3.2.1-alpha.1",
|
||||||
"@vibrant/core": "^3.2.1-alpha.1",
|
"@vibrant/core": "3.2.1-alpha.1",
|
||||||
"@vibrant/quantizer-mmcq": "^3.2.1-alpha.1",
|
"@vibrant/quantizer-mmcq": "3.2.1-alpha.1",
|
||||||
"@vue/web-component-wrapper": "^1.3.0",
|
"@vue/web-component-wrapper": "1.3.0",
|
||||||
"@webcomponents/scoped-custom-element-registry": "^0.0.8",
|
"@webcomponents/scoped-custom-element-registry": "0.0.8",
|
||||||
"@webcomponents/webcomponentsjs": "^2.7.0",
|
"@webcomponents/webcomponentsjs": "2.7.0",
|
||||||
"app-datepicker": "^5.1.0",
|
"app-datepicker": "5.1.1",
|
||||||
"chart.js": "^3.3.2",
|
"chart.js": "3.3.2",
|
||||||
"comlink": "^4.4.1",
|
"comlink": "4.4.1",
|
||||||
"core-js": "^3.29.0",
|
"core-js": "3.29.0",
|
||||||
"cropperjs": "^1.5.13",
|
"cropperjs": "1.5.13",
|
||||||
"date-fns": "^2.29.3",
|
"date-fns": "2.29.3",
|
||||||
"date-fns-tz": "^2.0.0",
|
"date-fns-tz": "2.0.0",
|
||||||
"deep-clone-simple": "^1.1.1",
|
"deep-clone-simple": "1.1.1",
|
||||||
"deep-freeze": "^0.0.1",
|
"deep-freeze": "0.0.1",
|
||||||
"fuse.js": "^6.6.2",
|
"fuse.js": "6.6.2",
|
||||||
"google-timezones-json": "^1.0.2",
|
"google-timezones-json": "1.0.2",
|
||||||
"hls.js": "^1.3.4",
|
"hls.js": "1.3.4",
|
||||||
"home-assistant-js-websocket": "^8.0.1",
|
"home-assistant-js-websocket": "8.0.1",
|
||||||
"idb-keyval": "^6.2.0",
|
"idb-keyval": "6.2.0",
|
||||||
"intl-messageformat": "^10.3.1",
|
"intl-messageformat": "10.3.1",
|
||||||
"js-yaml": "^4.1.0",
|
"js-yaml": "4.1.0",
|
||||||
"leaflet": "^1.9.3",
|
"leaflet": "1.9.3",
|
||||||
"leaflet-draw": "^1.0.4",
|
"leaflet-draw": "1.0.4",
|
||||||
"lit": "^2.6.1",
|
"lit": "2.6.1",
|
||||||
"marked": "^4.2.12",
|
"marked": "4.2.12",
|
||||||
"memoize-one": "^6.0.0",
|
"memoize-one": "6.0.0",
|
||||||
"node-vibrant": "3.2.1-alpha.1",
|
"node-vibrant": "3.2.1-alpha.1",
|
||||||
"proxy-polyfill": "^0.3.2",
|
"proxy-polyfill": "0.3.2",
|
||||||
"punycode": "^2.3.0",
|
"punycode": "2.3.0",
|
||||||
"qr-scanner": "^1.4.2",
|
"qr-scanner": "1.4.2",
|
||||||
"qrcode": "^1.5.1",
|
"qrcode": "1.5.1",
|
||||||
"regenerator-runtime": "^0.13.11",
|
"regenerator-runtime": "0.13.11",
|
||||||
"resize-observer-polyfill": "^1.5.1",
|
"resize-observer-polyfill": "1.5.1",
|
||||||
"roboto-fontface": "^0.10.0",
|
"roboto-fontface": "0.10.0",
|
||||||
"rrule": "^2.7.2",
|
"rrule": "2.7.2",
|
||||||
"sortablejs": "^1.15.0",
|
"sortablejs": "1.15.0",
|
||||||
"superstruct": "^1.0.3",
|
"superstruct": "1.0.3",
|
||||||
"tinykeys": "^1.4.0",
|
"tinykeys": "1.4.0",
|
||||||
"tsparticles-engine": "^2.9.3",
|
"tsparticles-engine": "2.9.3",
|
||||||
"tsparticles-preset-links": "^2.9.3",
|
"tsparticles-preset-links": "2.9.3",
|
||||||
"unfetch": "^5.0.0",
|
"unfetch": "5.0.0",
|
||||||
"vis-data": "^7.1.4",
|
"vis-data": "7.1.4",
|
||||||
"vis-network": "^9.1.4",
|
"vis-network": "9.1.4",
|
||||||
"vue": "^2.7.14",
|
"vue": "2.7.14",
|
||||||
"vue2-daterange-picker": "^0.6.8",
|
"vue2-daterange-picker": "0.6.8",
|
||||||
"weekstart": "^2.0.0",
|
"weekstart": "2.0.0",
|
||||||
"workbox-cacheable-response": "^6.5.4",
|
"workbox-cacheable-response": "6.5.4",
|
||||||
"workbox-core": "^6.5.4",
|
"workbox-core": "6.5.4",
|
||||||
"workbox-expiration": "^6.5.4",
|
"workbox-expiration": "6.5.4",
|
||||||
"workbox-precaching": "^6.5.4",
|
"workbox-precaching": "6.5.4",
|
||||||
"workbox-routing": "^6.5.4",
|
"workbox-routing": "6.5.4",
|
||||||
"workbox-strategies": "^6.5.4",
|
"workbox-strategies": "6.5.4",
|
||||||
"xss": "^1.0.14"
|
"xss": "1.0.14"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.21.0",
|
"@babel/core": "7.21.0",
|
||||||
"@babel/plugin-external-helpers": "^7.18.6",
|
"@babel/plugin-external-helpers": "7.18.6",
|
||||||
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
"@babel/plugin-proposal-class-properties": "7.18.6",
|
||||||
"@babel/plugin-proposal-decorators": "^7.21.0",
|
"@babel/plugin-proposal-decorators": "7.21.0",
|
||||||
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6",
|
"@babel/plugin-proposal-nullish-coalescing-operator": "7.18.6",
|
||||||
"@babel/plugin-proposal-object-rest-spread": "^7.20.7",
|
"@babel/plugin-proposal-object-rest-spread": "7.20.7",
|
||||||
"@babel/plugin-proposal-optional-chaining": "^7.21.0",
|
"@babel/plugin-proposal-optional-chaining": "7.21.0",
|
||||||
"@babel/plugin-syntax-dynamic-import": "^7.8.3",
|
"@babel/plugin-syntax-dynamic-import": "7.8.3",
|
||||||
"@babel/plugin-syntax-import-meta": "^7.10.4",
|
"@babel/plugin-syntax-import-meta": "7.10.4",
|
||||||
"@babel/plugin-syntax-top-level-await": "^7.14.5",
|
"@babel/plugin-syntax-top-level-await": "7.14.5",
|
||||||
"@babel/preset-env": "^7.20.2",
|
"@babel/preset-env": "7.20.2",
|
||||||
"@babel/preset-typescript": "^7.21.0",
|
"@babel/preset-typescript": "7.21.0",
|
||||||
"@koa/cors": "^4.0.0",
|
"@koa/cors": "4.0.0",
|
||||||
"@octokit/auth-oauth-device": "^4.0.4",
|
"@octokit/auth-oauth-device": "4.0.4",
|
||||||
"@octokit/rest": "^19.0.7",
|
"@octokit/rest": "19.0.7",
|
||||||
"@open-wc/dev-server-hmr": "^0.1.3",
|
"@open-wc/dev-server-hmr": "0.1.3",
|
||||||
"@rollup/plugin-babel": "^5.2.1",
|
"@rollup/plugin-babel": "5.3.1",
|
||||||
"@rollup/plugin-commonjs": "^11.1.0",
|
"@rollup/plugin-commonjs": "11.1.0",
|
||||||
"@rollup/plugin-json": "^4.0.3",
|
"@rollup/plugin-json": "4.1.0",
|
||||||
"@rollup/plugin-node-resolve": "^7.1.3",
|
"@rollup/plugin-node-resolve": "7.1.3",
|
||||||
"@rollup/plugin-replace": "^2.3.2",
|
"@rollup/plugin-replace": "2.4.2",
|
||||||
"@types/chromecast-caf-receiver": "5.0.12",
|
"@types/chromecast-caf-receiver": "5.0.12",
|
||||||
"@types/chromecast-caf-sender": "^1.0.5",
|
"@types/chromecast-caf-sender": "1.0.5",
|
||||||
"@types/esprima": "^4",
|
"@types/esprima": "4.0.3",
|
||||||
"@types/glob": "^8",
|
"@types/glob": "8.1.0",
|
||||||
"@types/js-yaml": "^4",
|
"@types/js-yaml": "4.0.5",
|
||||||
"@types/leaflet": "^1",
|
"@types/leaflet": "1.9.1",
|
||||||
"@types/leaflet-draw": "^1",
|
"@types/leaflet-draw": "1.0.6",
|
||||||
"@types/marked": "^4",
|
"@types/marked": "4.0.8",
|
||||||
"@types/mocha": "^10",
|
"@types/mocha": "10.0.1",
|
||||||
"@types/qrcode": "^1.5.0",
|
"@types/qrcode": "1.5.0",
|
||||||
"@types/serve-handler": "^6",
|
"@types/serve-handler": "6.1.1",
|
||||||
"@types/sortablejs": "^1",
|
"@types/sortablejs": "1.15.0",
|
||||||
"@types/tar": "^6",
|
"@types/tar": "6.1.4",
|
||||||
"@types/webspeechapi": "^0.0.29",
|
"@types/webspeechapi": "0.0.29",
|
||||||
"@typescript-eslint/eslint-plugin": "^5.54.0",
|
"@typescript-eslint/eslint-plugin": "5.54.0",
|
||||||
"@typescript-eslint/parser": "^5.54.0",
|
"@typescript-eslint/parser": "5.54.0",
|
||||||
"@web/dev-server": "^0.1.35",
|
"@web/dev-server": "0.1.35",
|
||||||
"@web/dev-server-rollup": "^0.2.11",
|
"@web/dev-server-rollup": "0.3.21",
|
||||||
"babel-loader": "^9.1.2",
|
"babel-loader": "9.1.2",
|
||||||
"babel-plugin-template-html-minifier": "^4.1.0",
|
"babel-plugin-template-html-minifier": "4.1.0",
|
||||||
"chai": "^4.3.7",
|
"chai": "4.3.7",
|
||||||
"del": "^7.0.0",
|
"del": "7.0.0",
|
||||||
"eslint": "^8.35.0",
|
"eslint": "8.35.0",
|
||||||
"eslint-config-airbnb-base": "^15.0.0",
|
"eslint-config-airbnb-base": "15.0.0",
|
||||||
"eslint-config-airbnb-typescript": "^17.0.0",
|
"eslint-config-airbnb-typescript": "17.0.0",
|
||||||
"eslint-config-prettier": "^8.6.0",
|
"eslint-config-prettier": "8.6.0",
|
||||||
"eslint-import-resolver-webpack": "^0.13.2",
|
"eslint-import-resolver-webpack": "0.13.2",
|
||||||
"eslint-plugin-disable": "^2.0.3",
|
"eslint-plugin-disable": "2.0.3",
|
||||||
"eslint-plugin-import": "^2.27.5",
|
"eslint-plugin-import": "2.27.5",
|
||||||
"eslint-plugin-lit": "^1.8.2",
|
"eslint-plugin-lit": "1.8.2",
|
||||||
"eslint-plugin-lit-a11y": "^2.3.0",
|
"eslint-plugin-lit-a11y": "2.3.0",
|
||||||
"eslint-plugin-unused-imports": "^2.0.0",
|
"eslint-plugin-unused-imports": "2.0.0",
|
||||||
"eslint-plugin-wc": "^1.4.0",
|
"eslint-plugin-wc": "1.4.0",
|
||||||
"esprima": "^4.0.1",
|
"esprima": "4.0.1",
|
||||||
"fancy-log": "^2.0.0",
|
"fancy-log": "2.0.0",
|
||||||
"fs-extra": "^11.1.0",
|
"fs-extra": "11.1.0",
|
||||||
"glob": "^8.1.0",
|
"glob": "8.1.0",
|
||||||
"gulp": "^4.0.2",
|
"gulp": "4.0.2",
|
||||||
"gulp-flatmap": "^1.0.2",
|
"gulp-flatmap": "1.0.2",
|
||||||
"gulp-json-transform": "^0.4.8",
|
"gulp-json-transform": "0.4.8",
|
||||||
"gulp-merge-json": "^2.1.2",
|
"gulp-merge-json": "2.1.2",
|
||||||
"gulp-rename": "^2.0.0",
|
"gulp-rename": "2.0.0",
|
||||||
"gulp-zopfli-green": "^6.0.1",
|
"gulp-zopfli-green": "6.0.1",
|
||||||
"html-minifier": "^4.0.0",
|
"html-minifier": "4.0.0",
|
||||||
"husky": "^8.0.3",
|
"husky": "8.0.3",
|
||||||
"instant-mocha": "^1.5.0",
|
"instant-mocha": "1.5.0",
|
||||||
"jszip": "^3.10.1",
|
"jszip": "3.10.1",
|
||||||
"lint-staged": "^13.1.2",
|
"lint-staged": "13.1.2",
|
||||||
"lit-analyzer": "^1.2.1",
|
"lit-analyzer": "1.2.1",
|
||||||
"lodash.template": "^4.5.0",
|
"lodash.template": "4.5.0",
|
||||||
"magic-string": "^0.30.0",
|
"magic-string": "0.30.0",
|
||||||
"map-stream": "^0.0.7",
|
"map-stream": "0.0.7",
|
||||||
"merge-stream": "^2.0.0",
|
"merge-stream": "2.0.0",
|
||||||
"mocha": "^10.2.0",
|
"mocha": "10.2.0",
|
||||||
"object-hash": "^3.0.0",
|
"object-hash": "3.0.0",
|
||||||
"open": "^8.4.1",
|
"open": "8.4.2",
|
||||||
"pinst": "^3.0.0",
|
"pinst": "3.0.0",
|
||||||
"prettier": "^2.8.4",
|
"prettier": "2.8.4",
|
||||||
"require-dir": "^1.2.0",
|
"require-dir": "1.2.0",
|
||||||
"rollup": "^2.8.2",
|
"rollup": "2.79.1",
|
||||||
"rollup-plugin-string": "^3.0.0",
|
"rollup-plugin-string": "3.0.0",
|
||||||
"rollup-plugin-terser": "^5.3.0",
|
"rollup-plugin-terser": "5.3.1",
|
||||||
"rollup-plugin-visualizer": "^5.9.0",
|
"rollup-plugin-visualizer": "5.9.0",
|
||||||
"serve-handler": "^6.1.5",
|
"serve-handler": "6.1.5",
|
||||||
"sinon": "^15.0.1",
|
"sinon": "15.0.1",
|
||||||
"source-map-url": "^0.4.1",
|
"source-map-url": "0.4.1",
|
||||||
"systemjs": "^6.14.0",
|
"systemjs": "6.14.0",
|
||||||
"tar": "^6.1.13",
|
"tar": "6.1.13",
|
||||||
"terser-webpack-plugin": "^5.3.6",
|
"terser-webpack-plugin": "5.3.6",
|
||||||
"ts-lit-plugin": "^1.2.1",
|
"ts-lit-plugin": "1.2.1",
|
||||||
"typescript": "^4.9.5",
|
"typescript": "4.9.5",
|
||||||
"vinyl-buffer": "^1.0.1",
|
"vinyl-buffer": "1.0.1",
|
||||||
"vinyl-source-stream": "^2.0.0",
|
"vinyl-source-stream": "2.0.0",
|
||||||
"webpack": "=5.72.1",
|
"webpack": "=5.72.1",
|
||||||
"webpack-cli": "^5.0.1",
|
"webpack-cli": "5.0.1",
|
||||||
"webpack-dev-server": "^4.11.1",
|
"webpack-dev-server": "4.11.1",
|
||||||
"webpack-manifest-plugin": "^5.0.0",
|
"webpack-manifest-plugin": "5.0.0",
|
||||||
"webpackbar": "^5.0.2",
|
"webpackbar": "5.0.2",
|
||||||
"workbox-build": "^6.5.4"
|
"workbox-build": "6.5.4"
|
||||||
},
|
},
|
||||||
"_comment": "Polymer 3.2 contained a bug, fixed in https://github.com/Polymer/polymer/pull/5569, add as patch",
|
"_comment": "Polymer 3.2 contained a bug, fixed in https://github.com/Polymer/polymer/pull/5569, add as patch",
|
||||||
"resolutions": {
|
"resolutions": {
|
||||||
@ -257,5 +257,5 @@
|
|||||||
"trailingComma": "es5",
|
"trailingComma": "es5",
|
||||||
"arrowParens": "always"
|
"arrowParens": "always"
|
||||||
},
|
},
|
||||||
"packageManager": "yarn@3.3.1"
|
"packageManager": "yarn@3.4.1"
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "home-assistant-frontend"
|
name = "home-assistant-frontend"
|
||||||
version = "20230302.0"
|
version = "20230306.0"
|
||||||
license = {text = "Apache-2.0"}
|
license = {text = "Apache-2.0"}
|
||||||
description = "The Home Assistant frontend"
|
description = "The Home Assistant frontend"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
|
32
renovate.json
Normal file
32
renovate.json
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{
|
||||||
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
||||||
|
"extends": [
|
||||||
|
":ignoreModulesAndTests",
|
||||||
|
":label(dependencies)",
|
||||||
|
":pinVersions",
|
||||||
|
":prConcurrentLimit10",
|
||||||
|
":semanticCommitsDisabled",
|
||||||
|
"group:monorepos",
|
||||||
|
"group:recommended",
|
||||||
|
"npm:unpublishSafe"
|
||||||
|
],
|
||||||
|
"enabledManagers": ["npm"],
|
||||||
|
"postUpdateOptions": ["yarnDedupeHighest"],
|
||||||
|
"lockFileMaintenance": {
|
||||||
|
"description": ["Run after patch releases but before next beta"],
|
||||||
|
"enabled": true,
|
||||||
|
"schedule": ["on the 19th day of the month"]
|
||||||
|
},
|
||||||
|
"packageRules": [
|
||||||
|
{
|
||||||
|
"description": ["MDC packages are pinned to the same version as MWC"],
|
||||||
|
"extends": ["monorepo:material-components-web"],
|
||||||
|
"enabled": false
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"description": ["Vue is only used by date range which is only v2"],
|
||||||
|
"matchPackageNames": ["vue"],
|
||||||
|
"allowedVersions": "< 3"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -71,6 +71,11 @@ export const computeStateDisplayFromEntityAttributes = (
|
|||||||
style: "currency",
|
style: "currency",
|
||||||
currency: attributes.unit_of_measurement,
|
currency: attributes.unit_of_measurement,
|
||||||
minimumFractionDigits: 2,
|
minimumFractionDigits: 2,
|
||||||
|
// Override monetary options with number format
|
||||||
|
...getNumberFormatOptions(
|
||||||
|
{ state, attributes } as HassEntity,
|
||||||
|
entity
|
||||||
|
),
|
||||||
});
|
});
|
||||||
} catch (_err) {
|
} catch (_err) {
|
||||||
// fallback to default
|
// fallback to default
|
||||||
|
@ -82,17 +82,14 @@ export const formatNumber = (
|
|||||||
!Number.isNaN(Number(num)) &&
|
!Number.isNaN(Number(num)) &&
|
||||||
num !== "" &&
|
num !== "" &&
|
||||||
localeOptions?.number_format === NumberFormat.none &&
|
localeOptions?.number_format === NumberFormat.none &&
|
||||||
Intl &&
|
Intl
|
||||||
(options?.maximumFractionDigits != null ||
|
|
||||||
options?.minimumFractionDigits != null)
|
|
||||||
) {
|
) {
|
||||||
// If NumberFormat is none, just set the digits options for precision and use en-US format without grouping.
|
// If NumberFormat is none, use en-US format without grouping.
|
||||||
return new Intl.NumberFormat(
|
return new Intl.NumberFormat(
|
||||||
"en-US",
|
"en-US",
|
||||||
getDefaultFormatOptions(num, {
|
getDefaultFormatOptions(num, {
|
||||||
|
...options,
|
||||||
useGrouping: false,
|
useGrouping: false,
|
||||||
maximumFractionDigits: options?.maximumFractionDigits,
|
|
||||||
minimumFractionDigits: options?.minimumFractionDigits,
|
|
||||||
})
|
})
|
||||||
).format(Number(num));
|
).format(Number(num));
|
||||||
}
|
}
|
||||||
|
@ -30,6 +30,9 @@ export class HaStatisticPicker extends LitElement {
|
|||||||
@property({ attribute: "statistic-types" })
|
@property({ attribute: "statistic-types" })
|
||||||
public statisticTypes?: "mean" | "sum";
|
public statisticTypes?: "mean" | "sum";
|
||||||
|
|
||||||
|
@property({ type: Boolean, attribute: "allow-custom-entity" })
|
||||||
|
public allowCustomEntity;
|
||||||
|
|
||||||
@property({ type: Array }) public statisticIds?: StatisticsMetaData[];
|
@property({ type: Array }) public statisticIds?: StatisticsMetaData[];
|
||||||
|
|
||||||
@property({ type: Boolean }) public disabled?: boolean;
|
@property({ type: Boolean }) public disabled?: boolean;
|
||||||
@ -245,6 +248,7 @@ export class HaStatisticPicker extends LitElement {
|
|||||||
.value=${this._value}
|
.value=${this._value}
|
||||||
.renderer=${this._rowRenderer}
|
.renderer=${this._rowRenderer}
|
||||||
.disabled=${this.disabled}
|
.disabled=${this.disabled}
|
||||||
|
.allowCustomValue=${this.allowCustomEntity}
|
||||||
item-value-path="id"
|
item-value-path="id"
|
||||||
item-id-path="id"
|
item-id-path="id"
|
||||||
item-label-path="name"
|
item-label-path="name"
|
||||||
|
@ -22,6 +22,9 @@ class HaStatisticsPicker extends LitElement {
|
|||||||
@property({ attribute: "pick-statistic-label" })
|
@property({ attribute: "pick-statistic-label" })
|
||||||
public pickStatisticLabel?: string;
|
public pickStatisticLabel?: string;
|
||||||
|
|
||||||
|
@property({ type: Boolean, attribute: "allow-custom-entity" })
|
||||||
|
public allowCustomEntity;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Show only statistics natively stored with these units of measurements.
|
* Show only statistics natively stored with these units of measurements.
|
||||||
* @attr include-statistics-unit-of-measurement
|
* @attr include-statistics-unit-of-measurement
|
||||||
@ -71,6 +74,9 @@ class HaStatisticsPicker extends LitElement {
|
|||||||
const includeUnitClassCurrent = ignoreRestriction
|
const includeUnitClassCurrent = ignoreRestriction
|
||||||
? undefined
|
? undefined
|
||||||
: this.includeUnitClass;
|
: this.includeUnitClass;
|
||||||
|
const includeDeviceClassCurrent = ignoreRestriction
|
||||||
|
? undefined
|
||||||
|
: this.includeDeviceClass;
|
||||||
const includeStatisticTypesCurrent = ignoreRestriction
|
const includeStatisticTypesCurrent = ignoreRestriction
|
||||||
? undefined
|
? undefined
|
||||||
: this.statisticTypes;
|
: this.statisticTypes;
|
||||||
@ -84,10 +90,12 @@ class HaStatisticsPicker extends LitElement {
|
|||||||
.hass=${this.hass}
|
.hass=${this.hass}
|
||||||
.includeStatisticsUnitOfMeasurement=${includeStatisticsUnitCurrent}
|
.includeStatisticsUnitOfMeasurement=${includeStatisticsUnitCurrent}
|
||||||
.includeUnitClass=${includeUnitClassCurrent}
|
.includeUnitClass=${includeUnitClassCurrent}
|
||||||
|
.includeDeviceClass=${includeDeviceClassCurrent}
|
||||||
.value=${statisticId}
|
.value=${statisticId}
|
||||||
.statisticTypes=${includeStatisticTypesCurrent}
|
.statisticTypes=${includeStatisticTypesCurrent}
|
||||||
.statisticIds=${this.statisticIds}
|
.statisticIds=${this.statisticIds}
|
||||||
.label=${this.pickedStatisticLabel}
|
.label=${this.pickedStatisticLabel}
|
||||||
|
.allowCustomEntity=${this.allowCustomEntity}
|
||||||
@value-changed=${this._statisticChanged}
|
@value-changed=${this._statisticChanged}
|
||||||
></ha-statistic-picker>
|
></ha-statistic-picker>
|
||||||
</div>
|
</div>
|
||||||
@ -103,6 +111,7 @@ class HaStatisticsPicker extends LitElement {
|
|||||||
.statisticTypes=${this.statisticTypes}
|
.statisticTypes=${this.statisticTypes}
|
||||||
.statisticIds=${this.statisticIds}
|
.statisticIds=${this.statisticIds}
|
||||||
.label=${this.pickStatisticLabel}
|
.label=${this.pickStatisticLabel}
|
||||||
|
.allowCustomEntity=${this.allowCustomEntity}
|
||||||
@value-changed=${this._addStatistic}
|
@value-changed=${this._addStatistic}
|
||||||
></ha-statistic-picker>
|
></ha-statistic-picker>
|
||||||
</div>
|
</div>
|
||||||
|
@ -59,7 +59,8 @@ export class HaSelectorAttribute extends LitElement {
|
|||||||
|
|
||||||
if (
|
if (
|
||||||
!this.context ||
|
!this.context ||
|
||||||
oldContext?.filter_entity === this.context.filter_entity
|
!oldContext ||
|
||||||
|
oldContext.filter_entity === this.context.filter_entity
|
||||||
) {
|
) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,8 @@ export const showConfigFlowDialog = (
|
|||||||
renderShowFormStepHeader(hass, step) {
|
renderShowFormStepHeader(hass, step) {
|
||||||
return (
|
return (
|
||||||
hass.localize(
|
hass.localize(
|
||||||
`component.${step.handler}.config.step.${step.step_id}.title`
|
`component.${step.handler}.config.step.${step.step_id}.title`,
|
||||||
|
step.description_placeholders
|
||||||
) || hass.localize(`component.${step.handler}.title`)
|
) || hass.localize(`component.${step.handler}.title`)
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
@ -67,7 +67,8 @@ export const showOptionsFlowDialog = (
|
|||||||
renderShowFormStepHeader(hass, step) {
|
renderShowFormStepHeader(hass, step) {
|
||||||
return (
|
return (
|
||||||
hass.localize(
|
hass.localize(
|
||||||
`component.${configEntry.domain}.options.step.${step.step_id}.title`
|
`component.${configEntry.domain}.options.step.${step.step_id}.title`,
|
||||||
|
step.description_placeholders
|
||||||
) || hass.localize(`ui.dialogs.options_flow.form.header`)
|
) || hass.localize(`ui.dialogs.options_flow.form.header`)
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
@ -8,7 +8,7 @@ import {
|
|||||||
mdiPencilOutline,
|
mdiPencilOutline,
|
||||||
} from "@mdi/js";
|
} from "@mdi/js";
|
||||||
import type { HassEntity } from "home-assistant-js-websocket";
|
import type { HassEntity } from "home-assistant-js-websocket";
|
||||||
import { css, html, LitElement, PropertyValues } from "lit";
|
import { css, html, LitElement, nothing, PropertyValues } from "lit";
|
||||||
import { customElement, property, state } from "lit/decorators";
|
import { customElement, property, state } from "lit/decorators";
|
||||||
import { cache } from "lit/directives/cache";
|
import { cache } from "lit/directives/cache";
|
||||||
import { dynamicElement } from "../../common/dom/dynamic-element-directive";
|
import { dynamicElement } from "../../common/dom/dynamic-element-directive";
|
||||||
@ -211,7 +211,7 @@ export class MoreInfoDialog extends LitElement {
|
|||||||
|
|
||||||
protected render() {
|
protected render() {
|
||||||
if (!this._entityId) {
|
if (!this._entityId) {
|
||||||
return null;
|
return nothing;
|
||||||
}
|
}
|
||||||
const entityId = this._entityId;
|
const entityId = this._entityId;
|
||||||
const stateObj = this.hass.states[entityId] as HassEntity | undefined;
|
const stateObj = this.hass.states[entityId] as HassEntity | undefined;
|
||||||
@ -261,7 +261,7 @@ export class MoreInfoDialog extends LitElement {
|
|||||||
>
|
>
|
||||||
${title}
|
${title}
|
||||||
</div>`
|
</div>`
|
||||||
: null}
|
: nothing}
|
||||||
${isInfoView
|
${isInfoView
|
||||||
? html`
|
? html`
|
||||||
${this.shouldShowHistory(domain)
|
${this.shouldShowHistory(domain)
|
||||||
@ -275,77 +275,79 @@ export class MoreInfoDialog extends LitElement {
|
|||||||
@click=${this._goToHistory}
|
@click=${this._goToHistory}
|
||||||
></ha-icon-button>
|
></ha-icon-button>
|
||||||
`
|
`
|
||||||
: null}
|
: nothing}
|
||||||
<ha-icon-button
|
|
||||||
slot="actionItems"
|
|
||||||
.label=${this.hass.localize(
|
|
||||||
"ui.dialogs.more_info_control.settings"
|
|
||||||
)}
|
|
||||||
.path=${mdiCogOutline}
|
|
||||||
@click=${this._goToSettings}
|
|
||||||
></ha-icon-button>
|
|
||||||
${isAdmin
|
${isAdmin
|
||||||
? html`<ha-button-menu
|
? html`
|
||||||
corner="BOTTOM_END"
|
|
||||||
menuCorner="END"
|
|
||||||
slot="actionItems"
|
|
||||||
@closed=${stopPropagation}
|
|
||||||
fixed
|
|
||||||
>
|
|
||||||
<ha-icon-button
|
<ha-icon-button
|
||||||
slot="trigger"
|
slot="actionItems"
|
||||||
.label=${this.hass.localize("ui.common.menu")}
|
.label=${this.hass.localize(
|
||||||
.path=${mdiDotsVertical}
|
"ui.dialogs.more_info_control.settings"
|
||||||
></ha-icon-button>
|
|
||||||
|
|
||||||
${deviceId
|
|
||||||
? html`
|
|
||||||
<ha-list-item
|
|
||||||
graphic="icon"
|
|
||||||
@request-selected=${this._goToDevice}
|
|
||||||
>
|
|
||||||
${this.hass.localize(
|
|
||||||
"ui.dialogs.more_info_control.device_info"
|
|
||||||
)}
|
|
||||||
<ha-svg-icon
|
|
||||||
slot="graphic"
|
|
||||||
.path=${mdiDevices}
|
|
||||||
></ha-svg-icon>
|
|
||||||
</ha-list-item>
|
|
||||||
`
|
|
||||||
: null}
|
|
||||||
${this.shouldShowEditIcon(domain, stateObj)
|
|
||||||
? html`
|
|
||||||
<ha-list-item
|
|
||||||
graphic="icon"
|
|
||||||
@request-selected=${this._goToEdit}
|
|
||||||
>
|
|
||||||
${this.hass.localize(
|
|
||||||
"ui.dialogs.more_info_control.edit"
|
|
||||||
)}
|
|
||||||
<ha-svg-icon
|
|
||||||
slot="graphic"
|
|
||||||
.path=${mdiPencilOutline}
|
|
||||||
></ha-svg-icon>
|
|
||||||
</ha-list-item>
|
|
||||||
`
|
|
||||||
: null}
|
|
||||||
<ha-list-item
|
|
||||||
graphic="icon"
|
|
||||||
@request-selected=${this._goToRelated}
|
|
||||||
>
|
|
||||||
${this.hass.localize(
|
|
||||||
"ui.dialogs.more_info_control.related"
|
|
||||||
)}
|
)}
|
||||||
<ha-svg-icon
|
.path=${mdiCogOutline}
|
||||||
slot="graphic"
|
@click=${this._goToSettings}
|
||||||
.path=${mdiInformationOutline}
|
></ha-icon-button>
|
||||||
></ha-svg-icon>
|
<ha-button-menu
|
||||||
</ha-list-item>
|
corner="BOTTOM_END"
|
||||||
</ha-button-menu>`
|
menuCorner="END"
|
||||||
: null}
|
slot="actionItems"
|
||||||
|
@closed=${stopPropagation}
|
||||||
|
fixed
|
||||||
|
>
|
||||||
|
<ha-icon-button
|
||||||
|
slot="trigger"
|
||||||
|
.label=${this.hass.localize("ui.common.menu")}
|
||||||
|
.path=${mdiDotsVertical}
|
||||||
|
></ha-icon-button>
|
||||||
|
|
||||||
|
${deviceId
|
||||||
|
? html`
|
||||||
|
<ha-list-item
|
||||||
|
graphic="icon"
|
||||||
|
@request-selected=${this._goToDevice}
|
||||||
|
>
|
||||||
|
${this.hass.localize(
|
||||||
|
"ui.dialogs.more_info_control.device_info"
|
||||||
|
)}
|
||||||
|
<ha-svg-icon
|
||||||
|
slot="graphic"
|
||||||
|
.path=${mdiDevices}
|
||||||
|
></ha-svg-icon>
|
||||||
|
</ha-list-item>
|
||||||
|
`
|
||||||
|
: nothing}
|
||||||
|
${this.shouldShowEditIcon(domain, stateObj)
|
||||||
|
? html`
|
||||||
|
<ha-list-item
|
||||||
|
graphic="icon"
|
||||||
|
@request-selected=${this._goToEdit}
|
||||||
|
>
|
||||||
|
${this.hass.localize(
|
||||||
|
"ui.dialogs.more_info_control.edit"
|
||||||
|
)}
|
||||||
|
<ha-svg-icon
|
||||||
|
slot="graphic"
|
||||||
|
.path=${mdiPencilOutline}
|
||||||
|
></ha-svg-icon>
|
||||||
|
</ha-list-item>
|
||||||
|
`
|
||||||
|
: nothing}
|
||||||
|
<ha-list-item
|
||||||
|
graphic="icon"
|
||||||
|
@request-selected=${this._goToRelated}
|
||||||
|
>
|
||||||
|
${this.hass.localize(
|
||||||
|
"ui.dialogs.more_info_control.related"
|
||||||
|
)}
|
||||||
|
<ha-svg-icon
|
||||||
|
slot="graphic"
|
||||||
|
.path=${mdiInformationOutline}
|
||||||
|
></ha-svg-icon>
|
||||||
|
</ha-list-item>
|
||||||
|
</ha-button-menu>
|
||||||
|
`
|
||||||
|
: nothing}
|
||||||
`
|
`
|
||||||
: null}
|
: nothing}
|
||||||
</ha-header-bar>
|
</ha-header-bar>
|
||||||
</div>
|
</div>
|
||||||
<div
|
<div
|
||||||
@ -396,7 +398,7 @@ export class MoreInfoDialog extends LitElement {
|
|||||||
itemType="entity"
|
itemType="entity"
|
||||||
></ha-related-items>
|
></ha-related-items>
|
||||||
`
|
`
|
||||||
: null
|
: nothing
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
</ha-dialog>
|
</ha-dialog>
|
||||||
|
@ -121,7 +121,9 @@ export class HuiStatisticsGraphCardEditor
|
|||||||
!deepEqual(this._configEntities, changedProps.get("_configEntities"))
|
!deepEqual(this._configEntities, changedProps.get("_configEntities"))
|
||||||
) {
|
) {
|
||||||
this._metaDatas = undefined;
|
this._metaDatas = undefined;
|
||||||
this._getStatisticsMetaData(this._configEntities);
|
if (this._configEntities?.length) {
|
||||||
|
this._getStatisticsMetaData(this._configEntities);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -274,6 +276,7 @@ export class HuiStatisticsGraphCardEditor
|
|||||||
@value-changed=${this._valueChanged}
|
@value-changed=${this._valueChanged}
|
||||||
></ha-form>
|
></ha-form>
|
||||||
<ha-statistics-picker
|
<ha-statistics-picker
|
||||||
|
allow-custom-entity
|
||||||
.hass=${this.hass}
|
.hass=${this.hass}
|
||||||
.pickStatisticLabel=${this.hass!.localize(
|
.pickStatisticLabel=${this.hass!.localize(
|
||||||
"ui.panel.lovelace.editor.card.statistics-graph.pick_statistic"
|
"ui.panel.lovelace.editor.card.statistics-graph.pick_statistic"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user