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