diff --git a/core/src/components/notification-view/notification-bell.js b/core/src/components/notification-view/notification-bell.js index 9dac3e7f..4ac64130 100644 --- a/core/src/components/notification-view/notification-bell.js +++ b/core/src/components/notification-view/notification-bell.js @@ -1,55 +1,53 @@ -import { LitElement, html, css } from 'lit'; -import { connect } from 'pwa-helpers'; +import { LitElement, html, css } from 'lit' +import { connect } from 'pwa-helpers' -import '@vaadin/button'; -import '@vaadin/item'; -import '@vaadin/list-box'; -import '@vaadin/icon'; -import '@vaadin/icons'; -import { store } from '../../store.js'; -import { setNewTab } from '../../redux/app/app-actions.js'; -import { routes } from '../../plugins/routes.js'; -import config from '../../notifications/config.js'; +import '@vaadin/item' +import '@vaadin/list-box' +import '@polymer/paper-icon-button/paper-icon-button.js' +import '@polymer/iron-icons/iron-icons.js' +import { store } from '../../store.js' +import { setNewTab } from '../../redux/app/app-actions.js' +import { routes } from '../../plugins/routes.js' +import config from '../../notifications/config.js' import '../../../../plugins/plugins/core/components/TimeAgo.js' + class NotificationBell extends connect(store)(LitElement) { - - - static properties = { notifications: { type: Array }, showNotifications: { type: Boolean }, - }; + notificationCount: { type: Boolean }, + theme: { type: String, reflect: true }, + } constructor() { - super(); - this.notifications = []; - this.showNotifications = false; + super() + this.notifications = [] + this.showNotifications = false + this.notificationCount = false this.initialFetch = false + this.theme = localStorage.getItem('qortalTheme') ? localStorage.getItem('qortalTheme') : 'light' } firstUpdated() { this.getNotifications(); document.addEventListener('click', (event) => { - const path = event.composedPath(); + const path = event.composedPath() if (!path.includes(this)) { - this.showNotifications = false; + this.showNotifications = false } - }); + }) } getApiKey() { - const apiNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node]; - let apiKey = apiNode.apiKey; - return apiKey; + const apiNode = window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node] + let apiKey = apiNode.apiKey + return apiKey } async getNotifications() { - const myNode = - store.getState().app.nodeConfig.knownNodes[ - store.getState().app.nodeConfig.node - ]; - const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port; + const myNode = store.getState().app.nodeConfig.knownNodes[store.getState().app.nodeConfig.node] + const nodeUrl = myNode.protocol + '://' + myNode.domain + ':' + myNode.port let interval = null let stop = false @@ -69,18 +67,18 @@ class NotificationBell extends connect(store)(LitElement) { } }) - const data = await response.json(); + const data = await response.json() return data; - }; + } if (!stop && !this.showNotifications) { - stop = true; + stop = true try { const address = window.parent.reduxStore.getState().app?.selectedAddress?.address; const name = window.parent.reduxStore.getState().app?.accountInfo?.names[0]?.name if (!name || !address) return - const mailArray = await getMail(name, address); + const mailArray = await getMail(name, address) let notificationsToShow = [] if (mailArray.length > 0) { const lastVisited = localStorage.getItem("Q-Mail-last-visited") @@ -110,76 +108,85 @@ class NotificationBell extends connect(store)(LitElement) { } } this.notifications = notificationsToShow + + if (this.notifications.length === 0) { + this.notificationCount = false + } else { + this.notificationCount = true + } + if (!this.initialFetch) this.initialFetch = true } catch (error) { console.error(error) } stop = false } - }; + } try { setTimeout(() => { getNewMail() - }, 5000) - - interval = setInterval(getNewMail, 30000); + interval = setInterval(getNewMail, 30000) } catch (error) { console.error(error) } - } + render() { - return html` -
- - - ${this.notifications.length} - -
-
- ${this.notifications.map(notification => html` -
{ +
+ ${this.notificationCount ? html` + this._toggleNotifications()} title="Q-Mail"> + ` : html` + this._toggleNotifications()} title="Q-Mail"> + `} - const query = `?service=APP&name=Q-Mail` - store.dispatch(setNewTab({ - url: `qdn/browser/index.html${query}`, - id: 'q-mail-notification', - myPlugObj: { - "url": "qapps", - "domain": "core", - "page": `qdn/browser/index.html${query}`, - "title": "Q-Mail", - "icon": "vaadin:desktop", - "menus": [], - "parent": false - } - })) - this.showNotifications = false - this.notifications = [] - }}> -
-

Q-Mail

- + ${this.notificationCount ? html` + ${this.notifications.length} + ` : ''} + +
+
+ ${this.notifications.map(notification => html` +
{ + const query = `?service=APP&name=Q-Mail` + store.dispatch(setNewTab({ + url: `qdn/browser/index.html${query}`, + id: 'q-mail-notification', + myPlugObj: { + "url": "qapps", + "domain": "core", + "page": `qdn/browser/index.html${query}`, + "title": "Q-Mail", + "icon": "vaadin:mailbox", + "mwcicon": "mail_outline", + "menus": [], + "parent": false + } + })) + this.showNotifications = false + this.notifications = [] + }}> +
+

Q-Mail

+ +
+
+

${notification.name}

+
+
+ `)} +
+
-
-

${notification.name}

-
- -
- `)} -
-
-
- `; + ` } _toggleNotifications() { if (this.notifications.length === 0) return - this.showNotifications = !this.showNotifications; + this.showNotifications = !this.showNotifications } static styles = css` @@ -190,76 +197,80 @@ class NotificationBell extends connect(store)(LitElement) { align-items: center; position: relative; } + .count { position: absolute; - top: 0; - right: 0; + top: 2px; + right: 32px; + font-size: 12px; background-color: red; color: white; border-radius: 50%; - width: 20px; - height: 20px; + width: 16px; + height: 16px; display: flex; align-items: center; justify-content: center; } + + .nocount { + display: none; + } + .popover-panel { position: absolute; width: 200px; padding: 10px; - background-color: #f5f5f5; - border: 1px solid #ccc; + background-color: var(--white); + border: 1px solid var(--black); border-radius: 4px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); top: 40px; max-height: 350px; - overflow: auto; - scrollbar-width: thin; - scrollbar-color: #6a6c75 #a1a1a1; + overflow: auto; + scrollbar-width: thin; + scrollbar-color: #6a6c75 #a1a1a1; } .popover-panel::-webkit-scrollbar { - width: 11px; + width: 11px; } - - .popover-panel::-webkit-scrollbar-track { - background: #a1a1a1; + background: #a1a1a1; } .popover-panel::-webkit-scrollbar-thumb { - background-color: #6a6c75; - border-radius: 6px; - border: 3px solid #a1a1a1; + background-color: #6a6c75; + border-radius: 6px; + border: 3px solid #a1a1a1; } .notifications-list { - display: flex; - flex-direction: column; - } - .notification-item { - padding: 5px; - border-bottom: 1px solid; - display: flex; - justify-content: space-between; - cursor: pointer; - transition: 0.2s all; - } - .notification-item:hover { - background: #c9d2d9; - } - p { - font-size: 14px; - color: #444444; - margin: 0px; - padding: 0px; + display: flex; + flex-direction: column; + } - } - `; + .notification-item { + padding: 5px; + border-bottom: 1px solid; + display: flex; + justify-content: space-between; + cursor: pointer; + transition: 0.2s all; + } + + .notification-item:hover { + background: var(--nav-color-hover); + } + + p { + font-size: 14px; + color: var(--black); + margin: 0px; + padding: 0px; + } + ` } -customElements.define('notification-bell', NotificationBell); - - - +customElements.define('notification-bell', NotificationBell) diff --git a/core/src/components/show-plugin.js b/core/src/components/show-plugin.js index e85131b8..9b37b2e7 100644 --- a/core/src/components/show-plugin.js +++ b/core/src/components/show-plugin.js @@ -7,6 +7,10 @@ import { repeat } from 'lit/directives/repeat.js'; import ShortUniqueId from 'short-unique-id'; import { setNewTab } from '../redux/app/app-actions.js' +import '@vaadin/icon' +import '@vaadin/icons' +import '@material/mwc-icon' + class ShowPlugin extends connect(store)(LitElement) { static get properties() { return { @@ -67,7 +71,7 @@ class ShowPlugin extends connect(store)(LitElement) { background: var(--sidetopbar); border-bottom: 1px solid var(--black); height: 48px; - box-sizing: border-box; + box-sizing: border-box; } .tab { @@ -92,6 +96,8 @@ class ShowPlugin extends connect(store)(LitElement) { .tab:hover { background: #F3F4F6; + color: #03a9f4; + font-weight: bold; } .tab.active { @@ -116,6 +122,10 @@ class ShowPlugin extends connect(store)(LitElement) { right: 8px; } + .title { + display: inline; + } + .close:hover { color: red; } @@ -133,6 +143,19 @@ class ShowPlugin extends connect(store)(LitElement) { .add-tab-button:hover { color: var(--black); } + + .iconActive { + position: absolute; + top: 7px; + color: #03a9f4; + --mdc-icon-size: 20px; + } + .iconInactive { + position: absolute; + top: 7px; + color: #999; + --mdc-icon-size: 20px; + } ` } @@ -167,7 +190,6 @@ class ShowPlugin extends connect(store)(LitElement) { return myPlug === undefined ? 'about:blank' : `${window.location.origin}/plugin/${myPlug.domain}/${myPlug.page}${this.linkParam}` } - return html`
${this.tabs.map((tab, index) => html` @@ -175,17 +197,26 @@ class ShowPlugin extends connect(store)(LitElement) { class="tab ${this.currentTab === index ? 'active' : ''}" @click=${() => this.currentTab = index} > - ${tab.myPlugObj && tab.myPlugObj.title}      -
{ this.removeTab(index) }}>x
+
+
+ ${tab.myPlugObj && tab.myPlugObj.mwcicon} +
+
+        + ${tab.myPlugObj && tab.myPlugObj.title} +       +
+
{ this.removeTab(index) }}>x
+
`)}    diff --git a/package-lock.json b/package-lock.json index 59fe6422..b71332c0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -45,11 +45,11 @@ "prosemirror-state": "1.4.3", "prosemirror-transform": "1.7.2", "prosemirror-view": "1.31.3", - "sass": "1.62.1", + "sass": "1.63.3", "short-unique-id": "4.4.4" }, "devDependencies": { - "@babel/core": "7.22.1", + "@babel/core": "7.22.5", "@material/mwc-button": "0.27.0", "@material/mwc-checkbox": "0.27.0", "@material/mwc-dialog": "0.27.0", @@ -87,24 +87,24 @@ "@qortal/rollup-plugin-web-worker-loader": "1.6.4", "@rollup/plugin-alias": "5.0.0", "@rollup/plugin-babel": "6.0.3", - "@rollup/plugin-commonjs": "25.0.0", + "@rollup/plugin-commonjs": "25.0.1", "@rollup/plugin-node-resolve": "15.1.0", "@rollup/plugin-replace": "5.0.2", "@rollup/plugin-terser": "0.4.3", - "@vaadin/avatar": "24.0.7", - "@vaadin/button": "24.0.7", - "@vaadin/grid": "24.0.7", - "@vaadin/icons": "24.0.7", - "@vaadin/password-field": "24.0.7", - "@vaadin/tooltip": "24.0.7", - "@zip.js/zip.js": "2.7.14", + "@vaadin/avatar": "24.1.0", + "@vaadin/button": "24.1.0", + "@vaadin/grid": "24.1.0", + "@vaadin/icons": "24.1.0", + "@vaadin/password-field": "24.1.0", + "@vaadin/tooltip": "24.1.0", + "@zip.js/zip.js": "2.7.15", "axios": "1.4.0", - "electron": "25.0.1", + "electron": "25.1.0", "electron-builder": "23.6.0", "electron-packager": "17.1.1", "epml": "0.3.3", "file-saver": "2.0.5", - "highcharts": "11.0.1", + "highcharts": "11.1.0", "html-escaper": "3.0.3", "is-electron": "2.2.2", "lit": "2.7.5", @@ -113,7 +113,7 @@ "pwa-helpers": "0.9.1", "redux": "4.2.1", "redux-thunk": "2.4.2", - "rollup": "3.23.0", + "rollup": "3.24.1", "rollup-plugin-node-globals": "1.4.0", "rollup-plugin-progress": "1.1.2", "rollup-plugin-scss": "3.0.0", @@ -136,39 +136,39 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", - "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", + "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", "dependencies": { - "@babel/highlight": "^7.18.6" + "@babel/highlight": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.3.tgz", - "integrity": "sha512-aNtko9OPOwVESUFp3MZfD8Uzxl7JzSeJpd7npIoxCasU37PFbAQRpKglkaKwlHOyeJdrREpo8TW8ldrkYWwvIQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.22.5.tgz", + "integrity": "sha512-4Jc/YuIaYqKnDDz892kPIledykKg12Aw1PYX5i/TY28anJtacvM1Rrr8wbieB9GfEJwlzqT0hUEao0CxEebiDA==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/core": { - "version": "7.22.1", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.1.tgz", - "integrity": "sha512-Hkqu7J4ynysSXxmAahpN1jjRwVJ+NdpraFLIWflgjpVob3KNyK3/tIUc7Q7szed8WMp0JNa7Qtd1E9Oo22F9gA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.22.5.tgz", + "integrity": "sha512-SBuTAjg91A3eKOvD+bPEz3LlhHZRNu1nFOVts9lzDJTXshHTjII0BAtDS3Y2DAkdZdDKWVZGVwkDfc4Clxn1dg==", "dependencies": { "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.22.0", - "@babel/helper-compilation-targets": "^7.22.1", - "@babel/helper-module-transforms": "^7.22.1", - "@babel/helpers": "^7.22.0", - "@babel/parser": "^7.22.0", - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.0", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-compilation-targets": "^7.22.5", + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helpers": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5", "convert-source-map": "^1.7.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -184,11 +184,11 @@ } }, "node_modules/@babel/generator": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.3.tgz", - "integrity": "sha512-C17MW4wlk//ES/CJDL51kPNwl+qiBQyN7b9SKyVp11BLGFeSPoVaHrv+MNt8jwQFhQWowW88z1eeBx3pFz9v8A==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.22.5.tgz", + "integrity": "sha512-+lcUbnTRhd0jOewtFSedLyiPsD5tswKkbgcezOqqWFUVNEwoUTlpPOBmvhG7OXWLR4jMdv0czPGH5XbflnD1EA==", "dependencies": { - "@babel/types": "^7.22.3", + "@babel/types": "^7.22.5", "@jridgewell/gen-mapping": "^0.3.2", "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" @@ -198,12 +198,12 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.1", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.1.tgz", - "integrity": "sha512-Rqx13UM3yVB5q0D/KwQ8+SPfX/+Rnsy1Lw1k/UwOC4KC6qrzIQoY3lYnBu5EHKBlEHHcj0M0W8ltPSkD8rqfsQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.5.tgz", + "integrity": "sha512-Ji+ywpHeuqxB8WDxraCiqR0xfhYjiDE/e6k7FuIaANnoOFxAHskHChz4vA1mJC9Lbm01s1PVAGhQY4FUKSkGZw==", "dependencies": { - "@babel/compat-data": "^7.22.0", - "@babel/helper-validator-option": "^7.21.0", + "@babel/compat-data": "^7.22.5", + "@babel/helper-validator-option": "^7.22.5", "browserslist": "^4.21.3", "lru-cache": "^5.1.1", "semver": "^6.3.0" @@ -216,138 +216,138 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.1", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.1.tgz", - "integrity": "sha512-Z2tgopurB/kTbidvzeBrc2To3PUP/9i5MUe+fU6QJCQDyPwSH2oRapkLw3KGECDYSjhQZCNxEvNvZlLw8JjGwA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.5.tgz", + "integrity": "sha512-XGmhECfVA/5sAt+H+xpSg0mfrHq6FzNr9Oxh7PSEBBRUb/mL7Kz3NICXb194rCqAEdxkhPT1a88teizAFyvk8Q==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", - "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.22.5.tgz", + "integrity": "sha512-wtHSq6jMRE3uF2otvfuD3DIvVhOsSNshQl0Qrd7qC9oQJzHvOL4qQXlQn2916+CXGywIjpGuIkoyZRRxHPiNQQ==", "dependencies": { - "@babel/template": "^7.20.7", - "@babel/types": "^7.21.0" + "@babel/template": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-imports": { - "version": "7.21.4", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", - "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.5.tgz", + "integrity": "sha512-8Dl6+HD/cKifutF5qGd/8ZJi84QeAKh+CEe1sBzz8UayBBGg1dAIJrdHOcOM5b2MpzWL2yuotJTtGjETq0qjXg==", "dependencies": { - "@babel/types": "^7.21.4" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.22.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.1.tgz", - "integrity": "sha512-dxAe9E7ySDGbQdCVOY/4+UcD8M9ZFqZcZhSPsPacvCG4M+9lwtDDQfI2EoaSvmf7W/8yCBkGU0m7Pvt1ru3UZw==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.22.5.tgz", + "integrity": "sha512-+hGKDt/Ze8GFExiVHno/2dvG5IdstpzCq0y4Qc9OJ25D4q3pKfiIP/4Vp3/JvhDkLKsDK2api3q3fpIgiIF5bw==", "dependencies": { - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-module-imports": "^7.21.4", - "@babel/helper-simple-access": "^7.21.5", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.19.1", - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.0" + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-module-imports": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", - "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-simple-access": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", - "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", "dependencies": { - "@babel/types": "^7.21.5" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.5.tgz", + "integrity": "sha512-thqK5QFghPKWLhAV321lxF95yCg2K3Ob5yw+M3VHWfdia0IkPXUtoLH8x/6Fh486QUvzhb8YOWHChTVen2/PoQ==", "dependencies": { - "@babel/types": "^7.18.6" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-string-parser": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", - "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.19.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", - "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", + "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", - "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.22.5.tgz", + "integrity": "sha512-R3oB6xlIVKUnxNUxbmgq7pKjxpru24zlimpE8WK47fACIlM0II/Hm1RS8IaOI7NgCr6LNS+jl5l75m20npAziw==", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helpers": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.3.tgz", - "integrity": "sha512-jBJ7jWblbgr7r6wYZHMdIqKc73ycaTcCaWRq4/2LpuPHcx7xMlZvpGQkOYc9HeSjn6rcx15CPlgVcBtZ4WZJ2w==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.22.5.tgz", + "integrity": "sha512-pSXRmfE1vzcUIDFQcSGA5Mr+GxBV9oiRKDuDxXvWQQBCh8HoIjs/2DlDB7H8smac1IVrB9/xdXj2N3Wol9Cr+Q==", "dependencies": { - "@babel/template": "^7.21.9", - "@babel/traverse": "^7.22.1", - "@babel/types": "^7.22.3" + "@babel/template": "^7.22.5", + "@babel/traverse": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", + "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", + "@babel/helper-validator-identifier": "^7.22.5", "chalk": "^2.0.0", "js-tokens": "^4.0.0" }, @@ -356,9 +356,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.22.4", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.4.tgz", - "integrity": "sha512-VLLsx06XkEYqBtE5YGPwfSGwfrjnyPP5oiGty3S8pQLFDFLaS8VwWSIxkTXpcvr5zeYLE6+MBNl2npl/YnfofA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.22.5.tgz", + "integrity": "sha512-DFZMC9LJUG9PLOclRC32G63UXwzqS2koQC8dkx+PLdmt1xSePYpbT/NbsrJy8Q/muXz7o/h/d4A7Fuyixm559Q==", "bin": { "parser": "bin/babel-parser.js" }, @@ -404,13 +404,13 @@ } }, "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.21.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz", - "integrity": "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.22.5.tgz", + "integrity": "sha512-B4pzOXj+ONRmuaQTg05b3y/4DuFz3WcCNAXPLb2Q0GT0TrGKGxNKV4jwsXts+StaM0LQczZbOpj8o1DLPDJIiA==", "dependencies": { - "@babel/helper-module-transforms": "^7.21.5", - "@babel/helper-plugin-utils": "^7.21.5", - "@babel/helper-simple-access": "^7.21.5" + "@babel/helper-module-transforms": "^7.22.5", + "@babel/helper-plugin-utils": "^7.22.5", + "@babel/helper-simple-access": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -420,9 +420,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.22.3", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.3.tgz", - "integrity": "sha512-XsDuspWKLUsxwCp6r7EhsExHtYfbe5oAGQ19kqngTdCPUoPQzOPdUbD/pB9PJiwb2ptYKQDjSJT3R6dC+EPqfQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.5.tgz", + "integrity": "sha512-ecjvYlnAaZ/KVneE/OdKYBYfgXV3Ptu6zQWmgEF7vwKhQnvVS6bjMD2XYgj+SNvQ1GfK/pjgokfPkC/2CO8CuA==", "dependencies": { "regenerator-runtime": "^0.13.11" }, @@ -431,31 +431,31 @@ } }, "node_modules/@babel/template": { - "version": "7.21.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.21.9.tgz", - "integrity": "sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.5.tgz", + "integrity": "sha512-X7yV7eiwAxdj9k94NEylvbVHLiVG1nvzCV2EAowhxLTwODV1jl9UzZ48leOC0sH7OnuHrIkllaBgneUykIcZaw==", "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/parser": "^7.21.9", - "@babel/types": "^7.21.5" + "@babel/code-frame": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.22.4", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.4.tgz", - "integrity": "sha512-Tn1pDsjIcI+JcLKq1AVlZEr4226gpuAQTsLMorsYg9tuS/kG7nuwwJ4AB8jfQuEgb/COBwR/DqJxmoiYFu5/rQ==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.22.5.tgz", + "integrity": "sha512-7DuIjPgERaNo6r+PZwItpjCZEa5vyw4eJGufeLxrPdBXBoLcCJCIasvK6pK/9DVNrLZTLFhUGqaC6X/PA007TQ==", "dependencies": { - "@babel/code-frame": "^7.21.4", - "@babel/generator": "^7.22.3", - "@babel/helper-environment-visitor": "^7.22.1", - "@babel/helper-function-name": "^7.21.0", - "@babel/helper-hoist-variables": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/parser": "^7.22.4", - "@babel/types": "^7.22.4", + "@babel/code-frame": "^7.22.5", + "@babel/generator": "^7.22.5", + "@babel/helper-environment-visitor": "^7.22.5", + "@babel/helper-function-name": "^7.22.5", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.5", + "@babel/parser": "^7.22.5", + "@babel/types": "^7.22.5", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -464,12 +464,12 @@ } }, "node_modules/@babel/types": { - "version": "7.22.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.4.tgz", - "integrity": "sha512-Tx9x3UBHTTsMSW85WB2kphxYQVvrZ/t1FxD88IpSgIjiUJlCm9z+xWIDwyo1vffTwSqteqyznB8ZE9vYYk16zA==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.22.5.tgz", + "integrity": "sha512-zo3MIHGOkPOfoRXitsgHLjEXmlDaD/5KU1Uzuc9GNiZPhSqVxVRtxuPaSBZDsYZ9qV88AjtMtWW7ww98loJ9KA==", "dependencies": { - "@babel/helper-string-parser": "^7.21.5", - "@babel/helper-validator-identifier": "^7.19.1", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.5", "to-fast-properties": "^2.0.0" }, "engines": { @@ -2110,9 +2110,9 @@ } }, "node_modules/@open-wc/dedupe-mixin": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@open-wc/dedupe-mixin/-/dedupe-mixin-1.3.1.tgz", - "integrity": "sha512-ukowSvzpZQDUH0Y3znJTsY88HkiGk3Khc0WGpIPhap1xlerieYi27QBg6wx/nTurpWfU6XXXsx9ocxDYCdtw0Q==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@open-wc/dedupe-mixin/-/dedupe-mixin-1.4.0.tgz", + "integrity": "sha512-Sj7gKl1TLcDbF7B6KUhtvr+1UCxdhMbNY5KxdU5IfMFWqL8oy1ZeAcCANjoB1TL0AJTcPmcCFsCbHf8X2jGDUA==", "dev": true }, "node_modules/@polymer/app-layout": { @@ -2727,9 +2727,9 @@ } }, "node_modules/@rollup/plugin-commonjs": { - "version": "25.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.0.tgz", - "integrity": "sha512-hoho2Kay9TZrLu0bnDsTTCaj4Npa+THk9snajP/XDNb9a9mmjTjh52EQM9sKl3HD1LsnihX7js+eA2sd2uKAhw==", + "version": "25.0.1", + "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-25.0.1.tgz", + "integrity": "sha512-2DJ4kv4b1xfTJopWhu61ANdNRHvzQZ2fpaIrlgaP2jOfUv1wDJ0Ucqy8AZlbFmn/iUjiwKoqki9j55Y6L8kyNQ==", "dev": true, "dependencies": { "@rollup/pluginutils": "^5.0.1", @@ -3310,9 +3310,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "18.16.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.16.tgz", - "integrity": "sha512-NpaM49IGQQAUlBhHMF82QH80J08os4ZmyF9MkpCzWAGuOHqE4gTEbhzd7L3l5LmWuZ6E0OiC1FweQ4tsiW35+g==", + "version": "18.16.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.16.17.tgz", + "integrity": "sha512-QAkjjRA1N7gPJeAP4WLXZtYv6+eMXFNviqktCDt4GLcmCugMr5BcRHfkOjCQzvCsnMp+L79a54zBkbw356xv9Q==", "devOptional": true }, "node_modules/@types/object.omit": { @@ -3397,58 +3397,73 @@ "@types/node": "*" } }, - "node_modules/@vaadin/avatar": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/avatar/-/avatar-24.0.7.tgz", - "integrity": "sha512-rYlTvuStV6PUCyW5nMhVOc7+Ne1BgTZCinB4roDA7RU74pNKBAtfAXfTGIyTmntZQXLJtafM55Hd+DNugy8HNw==", - "dev": true, - "dependencies": { - "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.7", - "@vaadin/item": "~24.0.7", - "@vaadin/list-box": "~24.0.7", - "@vaadin/overlay": "~24.0.7", - "@vaadin/tooltip": "~24.0.7", - "@vaadin/vaadin-lumo-styles": "~24.0.7", - "@vaadin/vaadin-material-styles": "~24.0.7", - "@vaadin/vaadin-themable-mixin": "~24.0.7" - } - }, - "node_modules/@vaadin/button": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/button/-/button-24.0.7.tgz", - "integrity": "sha512-UP3Fd0pUtKEfpcAWf3mCCTZzaatDJoyexryc2tj2laDH+it2We8TIKwtc/CHexqIKABOeIyNdggXIM/DJdovDA==", + "node_modules/@vaadin/a11y-base": { + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/a11y-base/-/a11y-base-24.1.0.tgz", + "integrity": "sha512-KI2yjm2+MfBw7Q10DdPkSmP0Vlo3htgajGk9EcyUXCNzL3gzLbyXkkb7If8eLXpqfZMmMa2aAAkFqWRT0q7Hkw==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.7", - "@vaadin/vaadin-lumo-styles": "~24.0.7", - "@vaadin/vaadin-material-styles": "~24.0.7", - "@vaadin/vaadin-themable-mixin": "~24.0.7", + "@vaadin/component-base": "~24.1.0", + "lit": "^2.0.0" + } + }, + "node_modules/@vaadin/avatar": { + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/avatar/-/avatar-24.1.0.tgz", + "integrity": "sha512-cPiBcDf3h8QeA6gLLAov5kobU7l1PFApednrs0CaQMMKOGV1X9yDZTgdxpCRuSdAxpjgmequVINz/97nccZjFA==", + "dev": true, + "dependencies": { + "@polymer/polymer": "^3.0.0", + "@vaadin/a11y-base": "~24.1.0", + "@vaadin/component-base": "~24.1.0", + "@vaadin/item": "~24.1.0", + "@vaadin/list-box": "~24.1.0", + "@vaadin/overlay": "~24.1.0", + "@vaadin/tooltip": "~24.1.0", + "@vaadin/vaadin-lumo-styles": "~24.1.0", + "@vaadin/vaadin-material-styles": "~24.1.0", + "@vaadin/vaadin-themable-mixin": "~24.1.0" + } + }, + "node_modules/@vaadin/button": { + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/button/-/button-24.1.0.tgz", + "integrity": "sha512-/k9gUa7XSm/h+2IaUEpwWY11bcrvsY8BonTkO2f8+PcyqE52raMH/QgLMDw5Zythm9fWapQKNjFrr2IhvvJCiQ==", + "dev": true, + "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", + "@polymer/polymer": "^3.0.0", + "@vaadin/a11y-base": "~24.1.0", + "@vaadin/component-base": "~24.1.0", + "@vaadin/vaadin-lumo-styles": "~24.1.0", + "@vaadin/vaadin-material-styles": "~24.1.0", + "@vaadin/vaadin-themable-mixin": "~24.1.0", "lit": "^2.0.0" } }, "node_modules/@vaadin/checkbox": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/checkbox/-/checkbox-24.0.7.tgz", - "integrity": "sha512-BzqtC0sH6aUCh+FHWHofltn7by2y66UV/KFVfyb/iQZIvtcg8P0jhKHVCPnniga3AuptYvMzLTF7eg7249lFYA==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/checkbox/-/checkbox-24.1.0.tgz", + "integrity": "sha512-D1T5zYqONqLHRFRilR9hEvwZblRKKppMRjYuSaHgU4aW+9ewCV8fSxk1UihmWHaq1/znVY8isQmD0N56IaLtxQ==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.7", - "@vaadin/field-base": "~24.0.7", - "@vaadin/vaadin-lumo-styles": "~24.0.7", - "@vaadin/vaadin-material-styles": "~24.0.7", - "@vaadin/vaadin-themable-mixin": "~24.0.7", + "@vaadin/a11y-base": "~24.1.0", + "@vaadin/component-base": "~24.1.0", + "@vaadin/field-base": "~24.1.0", + "@vaadin/vaadin-lumo-styles": "~24.1.0", + "@vaadin/vaadin-material-styles": "~24.1.0", + "@vaadin/vaadin-themable-mixin": "~24.1.0", "lit": "^2.0.0" } }, "node_modules/@vaadin/component-base": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/component-base/-/component-base-24.0.7.tgz", - "integrity": "sha512-+yT+i3wSviz5fXxHuzoXZZCDgr8/0rUBHx2TqYlu7Jw95yWRnTtOcRJCHXpw/zIfK7h0QYY4WhQatQA3+eiD6A==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/component-base/-/component-base-24.1.0.tgz", + "integrity": "sha512-oqdLjoeZL9u4Viol96ZiZl7U0zMtm9aR6yeza3FnrzIBYs37z/UNxNB7134o5bVTlp/cPoB8G/EjEluC2pZnwg==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", @@ -3459,165 +3474,173 @@ } }, "node_modules/@vaadin/field-base": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/field-base/-/field-base-24.0.7.tgz", - "integrity": "sha512-Ndl5hR3rPcM2ShXW+z3bMVxDB5QW8Vk1um84lQxvHG6FANZsZbHQjiyh6S6aQjg/7nEv3OQlI8xMV17gqYeCIg==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/field-base/-/field-base-24.1.0.tgz", + "integrity": "sha512-cDaTkQRnfiitGaIE/6fgdCNZLi5j7g1EZoKUvYr5cZ7A4QalQp50Yvoo8Nq+Un4WwtEMkupjKyWhlDCs9RlpIg==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.7", + "@vaadin/a11y-base": "~24.1.0", + "@vaadin/component-base": "~24.1.0", "lit": "^2.0.0" } }, "node_modules/@vaadin/grid": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/grid/-/grid-24.0.7.tgz", - "integrity": "sha512-/3/KopkriLhO8ly5EkqG9oSIFAXzYiW74B7hp/wCCjgcjpbvKaO2UuqCVNCEn9z1tDkf1YxAHl6PWMb+HH9+Zw==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/grid/-/grid-24.1.0.tgz", + "integrity": "sha512-ooakv2R0QWGbmI1F9AouX5UxClLZ8m1TrVCM7YFkXzc0yMRSQs2A9y4W/HpZ7JoQWrm2oGiH8ry9liH/37jlXg==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/checkbox": "~24.0.7", - "@vaadin/component-base": "~24.0.7", - "@vaadin/lit-renderer": "~24.0.7", - "@vaadin/text-field": "~24.0.7", - "@vaadin/vaadin-lumo-styles": "~24.0.7", - "@vaadin/vaadin-material-styles": "~24.0.7", - "@vaadin/vaadin-themable-mixin": "~24.0.7" + "@vaadin/a11y-base": "~24.1.0", + "@vaadin/checkbox": "~24.1.0", + "@vaadin/component-base": "~24.1.0", + "@vaadin/lit-renderer": "~24.1.0", + "@vaadin/text-field": "~24.1.0", + "@vaadin/vaadin-lumo-styles": "~24.1.0", + "@vaadin/vaadin-material-styles": "~24.1.0", + "@vaadin/vaadin-themable-mixin": "~24.1.0" } }, "node_modules/@vaadin/icon": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/icon/-/icon-24.0.7.tgz", - "integrity": "sha512-6sY7MM9ILKOvaDk8+OxLh69EKssXbiCERELIrexoXeuvQy0C8aN188jbSH9PJZs56w7AMlOCaH5GseN+Z9Gnqw==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/icon/-/icon-24.1.0.tgz", + "integrity": "sha512-a/Qo+8X2ojRD+iZcgQMgcWURI0crpkFgc15FaVDHnfjict8kjXLUBTgcsFFPReB7XlvOsTZDeXCgY8SjxPKgGw==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.7", - "@vaadin/vaadin-lumo-styles": "~24.0.7", - "@vaadin/vaadin-themable-mixin": "~24.0.7", + "@vaadin/component-base": "~24.1.0", + "@vaadin/vaadin-lumo-styles": "~24.1.0", + "@vaadin/vaadin-themable-mixin": "~24.1.0", "lit": "^2.0.0" } }, "node_modules/@vaadin/icons": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/icons/-/icons-24.0.7.tgz", - "integrity": "sha512-PkZMrCdCpXPN2z8GK1t5S6S15buz1c0neIRbHsXn8mYNsLf1qf4IqGeXm52zJHApo+tjKteV5ksw45rJvfcXGQ==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/icons/-/icons-24.1.0.tgz", + "integrity": "sha512-2q8p3Zl2eCNK0ueTQEBY4seyG8PoD+GISHUMc+hluvRwQIBUcA4PtrGcXL79YdkZqfr7XFqwMItpXXNEXZ1+CA==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/icon": "~24.0.7" + "@vaadin/icon": "~24.1.0" } }, "node_modules/@vaadin/input-container": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/input-container/-/input-container-24.0.7.tgz", - "integrity": "sha512-NccYViCYzGdkMG8S7rzMKsByObjHjc4rWKTPFcOEnNntakGI5pn3YcYsHXLZkyUkBA2oZy3mH77KPvxVUm3yOg==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/input-container/-/input-container-24.1.0.tgz", + "integrity": "sha512-oNdkykL3rpY26Ehzdm6gSkzA3gYyePMO4TvgMxLtD/BXn3XJikYt5Dyp15HY4xq8rkHSdV+J1DaFKJo+m32K2A==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.7", - "@vaadin/vaadin-lumo-styles": "~24.0.7", - "@vaadin/vaadin-material-styles": "~24.0.7", - "@vaadin/vaadin-themable-mixin": "~24.0.7" + "@vaadin/component-base": "~24.1.0", + "@vaadin/vaadin-lumo-styles": "~24.1.0", + "@vaadin/vaadin-material-styles": "~24.1.0", + "@vaadin/vaadin-themable-mixin": "~24.1.0" } }, "node_modules/@vaadin/item": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/item/-/item-24.0.7.tgz", - "integrity": "sha512-sDUqfaw0ffZwlcMByGV0ZK8XZInNmZr6CvrZpK+exDeEGgkQVjjq/QCYm/ZUcu4+zpivX+JYLYE9FUpAAiSu8Q==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/item/-/item-24.1.0.tgz", + "integrity": "sha512-JIy+YO2frHkaJ/H3LlSuVyBZWtqK1j1M/NJoVcFakubz9oqpu2y/HEwF2d2jD26hBRV9G07qzMrwSda/2vckbg==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.7", - "@vaadin/vaadin-lumo-styles": "~24.0.7", - "@vaadin/vaadin-material-styles": "~24.0.7", - "@vaadin/vaadin-themable-mixin": "~24.0.7" + "@vaadin/a11y-base": "~24.1.0", + "@vaadin/component-base": "~24.1.0", + "@vaadin/vaadin-lumo-styles": "~24.1.0", + "@vaadin/vaadin-material-styles": "~24.1.0", + "@vaadin/vaadin-themable-mixin": "~24.1.0" } }, "node_modules/@vaadin/list-box": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/list-box/-/list-box-24.0.7.tgz", - "integrity": "sha512-i6ZZzPMp4jE4A2qOeor2oXZSkRe44J4yBc/dz16Z0AiYTzopHiz/cDJkujD8+VvGJZlmumFgrFs6LKyHQdjqkA==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/list-box/-/list-box-24.1.0.tgz", + "integrity": "sha512-oq1TlSxd7GVYJ18tIAeLhLl6x5Z3AtDCPTZMrReyG9H25QAxez8vWgD8gfVCxeqmmmmPl3uCfvH7nqxYCrdFNQ==", "dev": true, "dependencies": { + "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.7", - "@vaadin/item": "~24.0.7", - "@vaadin/vaadin-lumo-styles": "~24.0.7", - "@vaadin/vaadin-material-styles": "~24.0.7", - "@vaadin/vaadin-themable-mixin": "~24.0.7" + "@vaadin/a11y-base": "~24.1.0", + "@vaadin/component-base": "~24.1.0", + "@vaadin/item": "~24.1.0", + "@vaadin/vaadin-lumo-styles": "~24.1.0", + "@vaadin/vaadin-material-styles": "~24.1.0", + "@vaadin/vaadin-themable-mixin": "~24.1.0" } }, "node_modules/@vaadin/lit-renderer": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/lit-renderer/-/lit-renderer-24.0.7.tgz", - "integrity": "sha512-MfrMmtaQVaWwsUilHlHFoZ4n00+UXlHOdDxzyKIY7ll0gfWFUNy6xJl5iog1AtClRyYdthE+yZw2s8yxDU1iCQ==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/lit-renderer/-/lit-renderer-24.1.0.tgz", + "integrity": "sha512-m59FyKaVh6puDrCmRh2n9PAESv5I3QLD7KFiHOIDqwwZ8XE0nPwhiTUhsV7ozy1w8m7XVAI2W8V7OIJd/kyLfQ==", "dev": true, "dependencies": { "lit": "^2.0.0" } }, "node_modules/@vaadin/overlay": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/overlay/-/overlay-24.0.7.tgz", - "integrity": "sha512-42ZrEJtLVdoN971cDxpRXCuocEOhdHox94vz7b6rj/GGBUMeEX3KS7SEEXkE5q1yesev0mDT99i8k6pE1qnFdA==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/overlay/-/overlay-24.1.0.tgz", + "integrity": "sha512-AAtaqCC/m32yFY702NHAk3vE6SFGJuO1ECsOlorxKX2HXClvayqVOapJmrC2gP/HcLbFwY2210YfGhXJ18VPWw==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.7", - "@vaadin/vaadin-lumo-styles": "~24.0.7", - "@vaadin/vaadin-material-styles": "~24.0.7", - "@vaadin/vaadin-themable-mixin": "~24.0.7" + "@vaadin/a11y-base": "~24.1.0", + "@vaadin/component-base": "~24.1.0", + "@vaadin/vaadin-lumo-styles": "~24.1.0", + "@vaadin/vaadin-material-styles": "~24.1.0", + "@vaadin/vaadin-themable-mixin": "~24.1.0" } }, "node_modules/@vaadin/password-field": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/password-field/-/password-field-24.0.7.tgz", - "integrity": "sha512-8jJiVFaanc3Yw8vzTCaF6rlUeecv8sALw0u4G8JVP+sSWih1bAr0yhVJo9cfz6OLqrht2P201+k0qoxrSirhPA==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/password-field/-/password-field-24.1.0.tgz", + "integrity": "sha512-2YvWiWPQxHBFCZCMci6UL3HnaLX2wUWfQCsH4VfJrTx/PnXGFAho7S1FmOrI5f68TBL8EcMpdByjdVDI3+bzAQ==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/button": "~24.0.7", - "@vaadin/component-base": "~24.0.7", - "@vaadin/text-field": "~24.0.7", - "@vaadin/vaadin-lumo-styles": "~24.0.7", - "@vaadin/vaadin-material-styles": "~24.0.7", - "@vaadin/vaadin-themable-mixin": "~24.0.7" + "@vaadin/button": "~24.1.0", + "@vaadin/component-base": "~24.1.0", + "@vaadin/text-field": "~24.1.0", + "@vaadin/vaadin-lumo-styles": "~24.1.0", + "@vaadin/vaadin-material-styles": "~24.1.0", + "@vaadin/vaadin-themable-mixin": "~24.1.0" } }, "node_modules/@vaadin/text-field": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.0.7.tgz", - "integrity": "sha512-NYOB3dTYy/OEYOhkJGtW+kgPn7zmbIQ8+IhM3PqgfbpDNXQo34P3Nr6dKpk6ceCc4jIn1IS/oInSsRynhjkyMw==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/text-field/-/text-field-24.1.0.tgz", + "integrity": "sha512-/BONEBLwGOPj8P8PyLAmGorB1bt0X6JUNWURwe0GMDYeiuBzUuyWOISFc9A8xA/+IDrjU3SY7PVv0oTx3Fo/4Q==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.7", - "@vaadin/field-base": "~24.0.7", - "@vaadin/input-container": "~24.0.7", - "@vaadin/vaadin-lumo-styles": "~24.0.7", - "@vaadin/vaadin-material-styles": "~24.0.7", - "@vaadin/vaadin-themable-mixin": "~24.0.7", + "@vaadin/a11y-base": "~24.1.0", + "@vaadin/component-base": "~24.1.0", + "@vaadin/field-base": "~24.1.0", + "@vaadin/input-container": "~24.1.0", + "@vaadin/vaadin-lumo-styles": "~24.1.0", + "@vaadin/vaadin-material-styles": "~24.1.0", + "@vaadin/vaadin-themable-mixin": "~24.1.0", "lit": "^2.0.0" } }, "node_modules/@vaadin/tooltip": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/tooltip/-/tooltip-24.0.7.tgz", - "integrity": "sha512-xQwaKPLWFxiYwXyFmt6zThlP9JKPysW9/9DdOTE0zSfMSapnfsO2CC5w4BFJM7cDV9NBGCjbE8rpVGBG63LxQA==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/tooltip/-/tooltip-24.1.0.tgz", + "integrity": "sha512-djhh3UUQXRIsToiZleNi5rtTEAGkklACmAzp8EcfuuvResmB2cne0cYhWR9g//7rfTQDqvKwM4Siu1oMZIJ/lQ==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/component-base": "~24.0.7", - "@vaadin/overlay": "~24.0.7", - "@vaadin/vaadin-lumo-styles": "~24.0.7", - "@vaadin/vaadin-material-styles": "~24.0.7", - "@vaadin/vaadin-themable-mixin": "~24.0.7" + "@vaadin/a11y-base": "~24.1.0", + "@vaadin/component-base": "~24.1.0", + "@vaadin/overlay": "~24.1.0", + "@vaadin/vaadin-lumo-styles": "~24.1.0", + "@vaadin/vaadin-material-styles": "~24.1.0", + "@vaadin/vaadin-themable-mixin": "~24.1.0" } }, "node_modules/@vaadin/vaadin-development-mode-detector": { @@ -3627,30 +3650,30 @@ "dev": true }, "node_modules/@vaadin/vaadin-lumo-styles": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-24.0.7.tgz", - "integrity": "sha512-R7J2NUQYSE8PfujOahEKz3QKmS9ArZ6aK5RqwudojHPArgib9XoSL8QbRMALucPKRwSNR+k92DWnpd2eiIVT3w==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-lumo-styles/-/vaadin-lumo-styles-24.1.0.tgz", + "integrity": "sha512-DOEMmVw1yHIHbNGmwzao/j2Ytaa9Hr+860gybrbFwbD4K8E6JyGWwtyuuIk8A/PEvorlmnZ4moWKYABpOroGjg==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/icon": "~24.0.7", - "@vaadin/vaadin-themable-mixin": "~24.0.7" + "@vaadin/icon": "~24.1.0", + "@vaadin/vaadin-themable-mixin": "~24.1.0" } }, "node_modules/@vaadin/vaadin-material-styles": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-24.0.7.tgz", - "integrity": "sha512-ryuhcYqP08oDdXVijSRyMv/HHvfNiPwvBIRmXEuIdoneh0sE4MXKM+7DcHpZOumqOYd7RTtlx4X6GXzytqHnQw==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-material-styles/-/vaadin-material-styles-24.1.0.tgz", + "integrity": "sha512-cU6N3z1PhXUaEul7UP7jO1ZTCo8SY09uuFRhR6MuLtfVXykrSqnOj0EbppRc7m3afGZh83syJpNzk1o8KOmOwQ==", "dev": true, "dependencies": { "@polymer/polymer": "^3.0.0", - "@vaadin/vaadin-themable-mixin": "~24.0.7" + "@vaadin/vaadin-themable-mixin": "~24.1.0" } }, "node_modules/@vaadin/vaadin-themable-mixin": { - "version": "24.0.7", - "resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-24.0.7.tgz", - "integrity": "sha512-Z4Cqxy+WeClN8GcDKWupl2OXoSwC7+lAUIibsm5agQLRHLcuArNOWY5c/i3Xw8mKzQGLyAaCIAOQ1tmLtcHsbw==", + "version": "24.1.0", + "resolved": "https://registry.npmjs.org/@vaadin/vaadin-themable-mixin/-/vaadin-themable-mixin-24.1.0.tgz", + "integrity": "sha512-tHxggzMiZRmKNqEJ7aeUWPlnNwcM7fYjfProOHLhm9Q/4ua0mFlcmXSRYJM+Ijjt5S9AhOmchP2ML/fMOjNHUA==", "dev": true, "dependencies": { "@open-wc/dedupe-mixin": "^1.3.0", @@ -3677,9 +3700,9 @@ "dev": true }, "node_modules/@zip.js/zip.js": { - "version": "2.7.14", - "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.14.tgz", - "integrity": "sha512-B2cqgLMXBuPD/d/MSAUUKWChOaTIqxYvyRA8s7aUsnr8dUAG6qnAUhKymzz1VUmCDOmSsNmdgZMfhmAwMN8HNQ==", + "version": "2.7.15", + "resolved": "https://registry.npmjs.org/@zip.js/zip.js/-/zip.js-2.7.15.tgz", + "integrity": "sha512-iuL2otty04U4YBfdpd22XJacKaNuR7AHWlQrE/L9zHxfunXNtIeSgCxi66T74pnzHdmmpGqlBlZoVRkWOT70aA==", "dev": true, "engines": { "deno": ">=1.0.0", @@ -4431,9 +4454,9 @@ } }, "node_modules/cacheable-request": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.2.tgz", - "integrity": "sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew==", + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz", + "integrity": "sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==", "dev": true, "dependencies": { "clone-response": "^1.0.2", @@ -4449,9 +4472,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001492", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001492.tgz", - "integrity": "sha512-2efF8SAZwgAX1FJr87KWhvuJxnGJKOnctQa8xLOskAXNXq8oiuqgl6u1kk3fFpsp3GgvzlRjiK1sl63hNtFADw==", + "version": "1.0.30001498", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001498.tgz", + "integrity": "sha512-LFInN2zAwx3ANrGCDZ5AKKJroHqNKyjXitdV5zRIVIaQlXKj3GmxUKagoKsjqUfckpAObPCEWnk5EeMlyMWcgw==", "funding": [ { "type": "opencollective", @@ -5111,9 +5134,9 @@ } }, "node_modules/electron": { - "version": "25.0.1", - "resolved": "https://registry.npmjs.org/electron/-/electron-25.0.1.tgz", - "integrity": "sha512-YD3xCrH01LiPeLlG90DWgMXJK69UxY4NiXKqXT12HOiXLqEaKrLWap+CiiS7J7SWUXz+4XOItQI8g1dtG7zkkA==", + "version": "25.1.0", + "resolved": "https://registry.npmjs.org/electron/-/electron-25.1.0.tgz", + "integrity": "sha512-VKk4G/0euO7ysMKQKHXmI4d3/qR4uHsAtVFXK2WfQUVxBmc160OAm2R6PN9/EXmgXEioKQBtbc2/lvWyYpDbuA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -5607,9 +5630,9 @@ } }, "node_modules/electron-to-chromium": { - "version": "1.4.417", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.417.tgz", - "integrity": "sha512-8rY8HdCxuSVY8wku3i/eDac4g1b4cSbruzocenrqBlzqruAZYHjQCHIjC66dLR9DXhEHTojsC4EjhZ8KmzwXqA==" + "version": "1.4.427", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.427.tgz", + "integrity": "sha512-HK3r9l+Jm8dYAm1ctXEWIC+hV60zfcjS9UA5BDlYvnI5S7PU/yytjpvSrTNrSSRRkuu3tDyZhdkwIczh+0DWaw==" }, "node_modules/electron-updater": { "version": "5.3.0", @@ -6506,9 +6529,9 @@ } }, "node_modules/highcharts": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/highcharts/-/highcharts-11.0.1.tgz", - "integrity": "sha512-KRwNwm6kJsp3JxNSpORuWLzvLnPuqCR3n0qbGjw+0m6MIxrlkUWnFaZJ2uXjMur6j3RUC66te36tldlSheYydQ==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/highcharts/-/highcharts-11.1.0.tgz", + "integrity": "sha512-vhmqq6/frteWMx0GKYWwEFL25g4OYc7+m+9KQJb/notXbNtIb8KVy+ijOF7XAFqF165cq0pdLIePAmyFY5ph3g==", "dev": true }, "node_modules/hosted-git-info": { @@ -8348,9 +8371,9 @@ } }, "node_modules/rollup": { - "version": "3.23.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.23.0.tgz", - "integrity": "sha512-h31UlwEi7FHihLe1zbk+3Q7z1k/84rb9BSwmBSr/XjOCEaBJ2YyedQDuM0t/kfOS0IxM+vk1/zI9XxYj9V+NJQ==", + "version": "3.24.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.24.1.tgz", + "integrity": "sha512-REHe5dx30ERBRFS0iENPHy+t6wtSEYkjrhwNsLyh3qpRaZ1+aylvMUdMBUHWUD/RjjLmLzEvY8Z9XRlpcdIkHA==", "dev": true, "bin": { "rollup": "dist/bin/rollup" @@ -8475,9 +8498,9 @@ } }, "node_modules/sass": { - "version": "1.62.1", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz", - "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==", + "version": "1.63.3", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.63.3.tgz", + "integrity": "sha512-ySdXN+DVpfwq49jG1+hmtDslYqpS7SkOR5GpF6o2bmb1RL/xS+wvPmegMvMywyfsmAV6p7TgwXYGrCZIFFbAHg==", "dependencies": { "chokidar": ">=3.0.0 <4.0.0", "immutable": "^4.0.0", @@ -9097,9 +9120,9 @@ } }, "node_modules/tslib": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.2.tgz", - "integrity": "sha512-5svOrSA2w3iGFDs1HibEVBGbDrAY82bFQ3HZ3ixB+88nsbsWQoKqDRb5UBYAUPEzbBn6dAp5gRNXglySbx1MlA==" + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.3.tgz", + "integrity": "sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==" }, "node_modules/twemoji": { "version": "14.0.2", @@ -9255,9 +9278,9 @@ "dev": true }, "node_modules/w3c-keyname": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.7.tgz", - "integrity": "sha512-XB8aa62d4rrVfoZYQaYNy3fy+z4nrfy2ooea3/0BnBzXW0tSdZ+lRgjzBZhk0La0H6h8fVyYCxx/qkQcAIuvfg==" + "version": "2.2.8", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz", + "integrity": "sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==" }, "node_modules/webidl-conversions": { "version": "3.0.1", diff --git a/package.json b/package.json index dbf91aa2..87d361a0 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "prosemirror-state": "1.4.3", "prosemirror-transform": "1.7.2", "prosemirror-view": "1.31.3", - "sass": "1.62.1", + "sass": "1.63.3", "short-unique-id": "4.4.4", "@hapi/hapi": "21.3.2", "@hapi/inert": "7.1.0", @@ -71,12 +71,12 @@ }, "devDependencies": { "axios": "1.4.0", - "electron": "25.0.1", + "electron": "25.1.0", "electron-builder": "23.6.0", "electron-packager": "17.1.1", "epml": "0.3.3", "file-saver": "2.0.5", - "highcharts": "11.0.1", + "highcharts": "11.1.0", "html-escaper": "3.0.3", "is-electron": "2.2.2", "lit": "2.7.5", @@ -85,12 +85,12 @@ "passive-events-support": "1.1.0", "redux": "4.2.1", "redux-thunk": "2.4.2", - "rollup": "3.23.0", + "rollup": "3.24.1", "rollup-plugin-node-globals": "1.4.0", "rollup-plugin-progress": "1.1.2", "rollup-plugin-scss": "3.0.0", "shelljs": "0.8.5", - "@babel/core": "7.22.1", + "@babel/core": "7.22.5", "@material/mwc-button": "0.27.0", "@material/mwc-checkbox": "0.27.0", "@material/mwc-dialog": "0.27.0", @@ -128,17 +128,17 @@ "@qortal/rollup-plugin-web-worker-loader": "1.6.4", "@rollup/plugin-alias": "5.0.0", "@rollup/plugin-babel": "6.0.3", - "@rollup/plugin-commonjs": "25.0.0", + "@rollup/plugin-commonjs": "25.0.1", "@rollup/plugin-node-resolve": "15.1.0", "@rollup/plugin-replace": "5.0.2", "@rollup/plugin-terser": "0.4.3", - "@vaadin/avatar": "24.0.7", - "@vaadin/button": "24.0.7", - "@vaadin/grid": "24.0.7", - "@vaadin/icons": "24.0.7", - "@vaadin/password-field": "24.0.7", - "@vaadin/tooltip": "24.0.7", - "@zip.js/zip.js": "2.7.14" + "@vaadin/avatar": "24.1.0", + "@vaadin/button": "24.1.0", + "@vaadin/grid": "24.1.0", + "@vaadin/icons": "24.1.0", + "@vaadin/password-field": "24.1.0", + "@vaadin/tooltip": "24.1.0", + "@zip.js/zip.js": "2.7.15" }, "engines": { "node": ">=18.14.0" diff --git a/plugins/plugins/core/main.js b/plugins/plugins/core/main.js deleted file mode 100644 index 2e0c0641..00000000 --- a/plugins/plugins/core/main.js +++ /dev/null @@ -1 +0,0 @@ -!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";const e=new Epml({type:"WINDOW",source:window.parent});let t,n;new Epml({type:"PROXY",source:{proxy:e,target:"visible-plugin",id:"core-plugin"}});let o,a,r,s=0,i=!1,d=!1,l=!1,p=!0,c=!1,u=0,m=!1,g=!1,w=!1;e.subscribe("logged_in",(e=>{w="true"===e}));const S=async()=>{const t=await e.request("apiCall",{url:"/admin/info"});e.request("updateNodeInfo",t)};let h,C=0;const b=()=>{t.close(),i=!0,o.close(),c=!0},T=t=>{e.request("updateBlockInfo",t)},f=async t=>{e.request("updateNodeStatus",t)},k=e=>{0==e.node||1==e.node?O():void 0!==o&&(o.close(),c=!0)},x=()=>{let o,a=window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node],d=a.domain+":"+a.port;o="https:"===window.parent.location.protocol?`wss://${d}/websockets/blocks`:`ws://${d}/websockets/blocks`;const c=new WebSocket(o);c.onopen=e=>{console.log("[SOCKET-BLOCKS]: Connected."),i=!1,t=c,s+=1},c.onmessage=t=>{T(JSON.parse(t.data)),w&&(async t=>{let n={names:await e.request("apiCall",{url:`/names/address/${t}`}),addressInfo:await e.request("apiCall",{url:`/addresses/${t}`})};!0!==window.parent._.isEqual(r,n)&&(e.request("setAccountInfo",n),r=n)})(window.parent.reduxStore.getState().app.selectedAddress.address)},c.onclose=()=>{console.log("[SOCKET-BLOCKS]: CLOSED"),T({}),p=!0,clearInterval(n),!1===i&&s<=52&&(s<=52?(l=!0,setTimeout(q,1e4),s+=1):l=!1)},c.onerror=e=>{console.log(`[SOCKET-BLOCKS]: ${e.type}`),p=!0,T({})},p&&e.request("apiCall",{url:"/blocks/last"}).then((e=>{T(e),p=!1}))},q=()=>{d?(d=!1,x(),n=setTimeout(q,295e3)):l?(l=!1,clearTimeout(n),x(),d=!0,n=setTimeout(q,295e3)):(t.send("non-integer ping"),n=setTimeout(q,295e3))},v=()=>{let e,t=window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node],n=t.domain+":"+t.port;e="https:"===window.parent.location.protocol?`wss://${n}/websockets/admin/status`:`ws://${n}/websockets/admin/status`;const r=new WebSocket(e);r.onopen=e=>{console.log("[SOCKET-NODE-STATUS]: Connected."),c=!1,o=r,u+=1},r.onmessage=e=>{f(JSON.parse(e.data))},r.onclose=()=>{console.log("[SOCKET-NODE-STATUS]: CLOSED"),f({}),clearInterval(a),!1===c&&u<=52&&(u<=52?(m=!0,setTimeout(O,1e4),u+=1):m=!1)},r.onerror=e=>{console.log(`[SOCKET-NODE-STATUS]: ${e.type}`),f({})}},O=()=>{g?(clearTimeout(a),v(),g=!1,a=setTimeout(O,295e3)):m?(m=!1,clearTimeout(a),v(),a=setTimeout(O,295e3)):(o.send("non-integer ping"),a=setTimeout(O,295e3))},N=e=>[...e.groups.map((e=>0===e.groupId?{groupId:e.groupId,url:`group/${e.groupId}`,groupName:"Qortal General Chat",sender:e.sender,senderName:e.senderName,timestamp:void 0===e.timestamp?1:e.timestamp}:{...e,url:`group/${e.groupId}`})),...e.direct.map((e=>({...e,url:`direct/${e.address}`})))];let E=0;const y=t=>{let n=`${window.parent.reduxStore.getState().app.selectedAddress.address.substr(0,10)}_chat-heads`;try{let o=localStorage.getItem(n);null===o?e.request("setLocalStorage",{key:n,dataObj:t}).then((n=>{e.request("setChatHeads",t).then((e=>{}))})):(e.request("setLocalStorage",{key:n,dataObj:t}).then((n=>{e.request("setChatHeads",t).then((e=>{}))})),E>=1?((t,n)=>{let o=JSON.parse(n);if(!0!==window.parent._.isEqual(o,t)){let n=N(o);N(t).filter((e=>!n.some((t=>e.timestamp===t.timestamp)))).forEach((t=>{t.sender!==window.parent.reduxStore.getState().app.selectedAddress.address&&void 0!==t.sender&&e.request("showNotification",t)}))}})(t,o):E+=1)}catch(e){console.error(e)}};let $,I,A=0,K=!1,B=!1,D=!1,z=!1;e.subscribe("logged_in",(async t=>{const n=()=>{let t,n=window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node],a=n.domain+":"+n.port;t="https:"===window.parent.location.protocol?`wss://${a}/websockets/chat/active/${window.parent.reduxStore.getState().app.selectedAddress.address}`:`ws://${a}/websockets/chat/active/${window.parent.reduxStore.getState().app.selectedAddress.address}`;const r=new WebSocket(t);r.onopen=()=>{console.log("[SOCKET]: Connected."),$=r,A+=1,z=!0},r.onmessage=e=>{y(JSON.parse(e.data))},r.onclose=()=>{console.log("[SOCKET]: CLOSED"),clearInterval(I),!1===K&&A<=52&&(A<=52?(e.request("showSnackBar","Connection to the Qortal Core was lost, is your Core running ?"),D=!0,setTimeout(o,1e4),A+=1):e.request("showSnackBar","Cannot connect to the Qortal Core, restart UI and Core!"))},r.onerror=e=>{console.log(`[SOCKET]: ${e.type}`)}},o=()=>{!0===window.parent.reduxStore.getState().app.loggedIn?B?D?(D=!1,clearTimeout(I),n(),B=!0,I=setTimeout(o,295e3)):z&&($.send("ping"),I=setTimeout(o,295e3)):(n(),B=!0,I=setTimeout(o,295e3)):B&&!K&&(K=!0,$.close(),clearTimeout(I),B=!1,z=!1)};"true"===t?((async t=>{let n={names:await e.request("apiCall",{url:`/names/address/${t}`}),addressInfo:await e.request("apiCall",{url:`/addresses/${t}`})};e.request("setAccountInfo",n)})(window.parent.reduxStore.getState().app.selectedAddress.address),o()):(B&&(K=!0,$.close(),clearTimeout(I),B=!1,z=!1),E=0)})),e.ready().then((()=>{e.subscribe("node_config",(e=>{if(0===C){let n=JSON.parse(e);h={node:n.node,knownNodes:n.knownNodes},C+=1,g=!0,d=!0,void 0!==t&&b(),void 0!==o&&b(),k(h),q(),S()}let n=JSON.parse(e),a={node:n.node,knownNodes:n.knownNodes};!0!==window.parent._.isEqual(h,a)&&(h=a,g=!0,d=!0,void 0!==t&&b(),void 0!==o&&b(),k(a),q(),S())}))})),e.imReady();let L=!1;e.ready().then((()=>{let t=[{url:"minting",domain:"core",page:"minting/index.html",title:"Minting Details",icon:"vaadin:info-circle",menus:[],parent:!1},{url:"become-minter",domain:"core",page:"become-minter/index.html",title:"Become a Minter",icon:"vaadin:info-circle",menus:[],parent:!1},{url:"sponsorship-list",domain:"core",page:"sponsorship-list/index.html",title:"Become a Minter",icon:"vaadin:info-circle",menus:[],parent:!1},{url:"wallet",domain:"core",page:"wallet/index.html",title:"Wallet",icon:"vaadin:wallet",menus:[],parent:!1},{url:"trade-portal",domain:"core",page:"trade-portal/index.html",title:"Trade Portal",icon:"vaadin:bullets",menus:[],parent:!1},{url:"trade-bot-portal",domain:"core",page:"trade-bot/index.html",title:"Auto Buy",icon:"vaadin:calc-book",menus:[],parent:!1},{url:"reward-share",domain:"core",page:"reward-share/index.html",title:"Reward Share",icon:"vaadin:share-square",menus:[],parent:!1},{url:"name-registration",domain:"core",page:"name-registration/index.html",title:"Name Registration",icon:"vaadin:user-check",menus:[],parent:!1},{url:"names-market",domain:"core",page:"names-market/index.html",title:"Names Market",icon:"vaadin:user-check",menus:[],parent:!1},{url:"websites",domain:"core",page:"qdn/index.html",title:"Websites",icon:"vaadin:desktop",menus:[],parent:!1},{url:"qapps",domain:"core",page:"q-app/index.html",title:"Q-Apps",icon:"vaadin:desktop",menus:[],parent:!1},{url:"data-management",domain:"core",page:"qdn/data-management/index.html",title:"Data Management",icon:"vaadin:database",menus:[],parent:!1},{url:"q-chat",domain:"core",page:"messaging/q-chat/index.html",title:"Q-Chat",icon:"vaadin:chat",menus:[],parent:!1},{url:"group-management",domain:"core",page:"group-management/index.html",title:"Group Management",icon:"vaadin:group",menus:[],parent:!1},{url:"puzzles",domain:"core",page:"puzzles/index.html",title:"Puzzles",icon:"vaadin:puzzle-piece",menus:[],parent:!1}];const n=t=>{e.request("registerUrl",t)},o=window.parent.reduxStore.getState().app.nodeConfig.knownNodes[window.parent.reduxStore.getState().app.nodeConfig.node];e.subscribe("config",(e=>{if(JSON.parse(e),!L&&o.enableManagement){L=!0;let e={url:"node-management",domain:"core",page:"node-management/index.html",title:"Node Management",icon:"vaadin:cloud",menus:[],parent:!1},o=[...t,e];n(o)}else n(t)}))}))})); diff --git a/plugins/plugins/core/main.src.js b/plugins/plugins/core/main.src.js index 62dd79e7..2f0f194d 100644 --- a/plugins/plugins/core/main.src.js +++ b/plugins/plugins/core/main.src.js @@ -13,6 +13,7 @@ parentEpml.ready().then(() => { page: 'minting/index.html', title: 'Minting Details', icon: 'vaadin:info-circle', + mwcicon: 'info_outline', menus: [], parent: false, }, @@ -21,7 +22,8 @@ parentEpml.ready().then(() => { domain: 'core', page: 'become-minter/index.html', title: 'Become a Minter', - icon: 'vaadin:info-circle', + icon: 'vaadin:thumbs-up', + mwcicon: 'thumb_up', menus: [], parent: false, }, @@ -29,8 +31,9 @@ parentEpml.ready().then(() => { url: 'sponsorship-list', domain: 'core', page: 'sponsorship-list/index.html', - title: 'Become a Minter', - icon: 'vaadin:info-circle', + title: 'Sponsorship List', + icon: 'vaadin:list-ol', + mwcicon: 'format_list_numbered', menus: [], parent: false, }, @@ -40,6 +43,7 @@ parentEpml.ready().then(() => { page: 'wallet/index.html', title: 'Wallet', icon: 'vaadin:wallet', + mwcicon: 'account_balance_wallet', menus: [], parent: false, }, @@ -49,6 +53,7 @@ parentEpml.ready().then(() => { page: 'trade-portal/index.html', title: 'Trade Portal', icon: 'vaadin:bullets', + mwcicon: 'format_list_bulleted', menus: [], parent: false, }, @@ -58,6 +63,7 @@ parentEpml.ready().then(() => { page: 'trade-bot/index.html', title: 'Auto Buy', icon: 'vaadin:calc-book', + mwcicon: 'shop', menus: [], parent: false, }, @@ -67,51 +73,7 @@ parentEpml.ready().then(() => { page: 'reward-share/index.html', title: 'Reward Share', icon: 'vaadin:share-square', - menus: [], - parent: false, - }, - { - url: 'name-registration', - domain: 'core', - page: 'name-registration/index.html', - title: 'Name Registration', - icon: 'vaadin:user-check', - menus: [], - parent: false, - }, - { - url: 'names-market', - domain: 'core', - page: 'names-market/index.html', - title: 'Names Market', - icon: 'vaadin:user-check', - menus: [], - parent: false, - }, - { - url: 'websites', - domain: 'core', - page: 'qdn/index.html', - title: 'Websites', - icon: 'vaadin:desktop', - menus: [], - parent: false, - }, - { - url: 'qapps', - domain: 'core', - page: 'q-app/index.html', - title: 'Q-Apps', - icon: 'vaadin:desktop', - menus: [], - parent: false, - }, - { - url: 'data-management', - domain: 'core', - page: 'qdn/data-management/index.html', - title: 'Data Management', - icon: 'vaadin:database', + mwcicon: 'ios_share', menus: [], parent: false, }, @@ -121,6 +83,47 @@ parentEpml.ready().then(() => { page: 'messaging/q-chat/index.html', title: 'Q-Chat', icon: 'vaadin:chat', + mwcicon: 'forum', + menus: [], + parent: false, + }, + { + url: 'name-registration', + domain: 'core', + page: 'name-registration/index.html', + title: 'Name Registration', + icon: 'vaadin:user-check', + mwcicon: 'manage_accounts', + menus: [], + parent: false, + }, + { + url: 'names-market', + domain: 'core', + page: 'names-market/index.html', + title: 'Names Market', + icon: 'vaadin:shop', + mwcicon: 'store', + menus: [], + parent: false, + }, + { + url: 'websites', + domain: 'core', + page: 'qdn/index.html', + title: 'Websites', + icon: 'vaadin:desktop', + mwcicon: 'desktop_mac', + menus: [], + parent: false, + }, + { + url: 'qapps', + domain: 'core', + page: 'q-app/index.html', + title: 'Q-Apps', + icon: 'vaadin:external-browser', + mwcicon: 'open_in_browser', menus: [], parent: false, }, @@ -130,6 +133,17 @@ parentEpml.ready().then(() => { page: 'group-management/index.html', title: 'Group Management', icon: 'vaadin:group', + mwcicon: 'group', + menus: [], + parent: false, + }, + { + url: 'data-management', + domain: 'core', + page: 'qdn/data-management/index.html', + title: 'Data Management', + icon: 'vaadin:database', + mwcicon: 'storage', menus: [], parent: false, }, @@ -139,6 +153,7 @@ parentEpml.ready().then(() => { page: 'puzzles/index.html', title: 'Puzzles', icon: 'vaadin:puzzle-piece', + mwcicon: 'extension', menus: [], parent: false, }, @@ -166,6 +181,7 @@ parentEpml.ready().then(() => { page: 'node-management/index.html', title: 'Node Management', icon: 'vaadin:cloud', + mwcicon: 'cloud', menus: [], parent: false, };