diff options
author | Joas Schilling <213943+nickvergessen@users.noreply.github.com> | 2022-08-12 17:13:06 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-12 17:13:06 +0300 |
commit | d528845f31604c59fc8a9db25c16f133a8e214ab (patch) | |
tree | 215cec114328a796434e61c5116de279fe38cf05 | |
parent | 91d3bd8df8a5288c2abb3badde00c248d974dae8 (diff) | |
parent | 8edad9d5659d4a15b45550c345e36d6ac72ac3c0 (diff) |
Merge pull request #7711 from nextcloud/bugfix/7639/vue-6
Bump @nextcloud/vue to v6.0.0-beta.1
55 files changed, 450 insertions, 847 deletions
diff --git a/package-lock.json b/package-lock.json index e87c69792..679cf806b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -21,7 +21,7 @@ "@nextcloud/moment": "^1.2.1", "@nextcloud/paths": "^2.1.0", "@nextcloud/router": "^2.0.0", - "@nextcloud/vue": "^5.4.0", + "@nextcloud/vue": "^6.0.0-beta.2", "@nextcloud/vue-dashboard": "^2.0.1", "attachmediastream": "^2.1.0", "color.js": "^1.2.0", @@ -1499,6 +1499,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@floating-ui/core": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.3.1.tgz", + "integrity": "sha512-ensKY7Ub59u16qsVIFEo2hwTCqZ/r9oZZFh51ivcLGHfUwTn8l1Xzng8RJUe91H/UP8PeqeBronAGx0qmzwk2g==" + }, + "node_modules/@floating-ui/dom": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.1.10.tgz", + "integrity": "sha512-4kAVoogvQm2N0XE0G6APQJuCNuErjOfPW8Ux7DFxh8+AfugWflwVJ5LDlHOwrwut7z/30NUvdtHzQ3zSip4EzQ==", + "dependencies": { + "@floating-ui/core": "^0.3.0" + } + }, "node_modules/@humanwhocodes/config-array": { "version": "0.9.5", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", @@ -2637,12 +2650,11 @@ } }, "node_modules/@nextcloud/logger": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.0.0.tgz", - "integrity": "sha512-C3vb8I1z67c5FhSWUNB21U6gzzD7RVgjyVUeK+QVz5nYQt1UWTp9yGyqE8G+R5QAyFFWfuOw1RHHkHJ/CWQ4YA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.2.1.tgz", + "integrity": "sha512-MP2/5ZdjDfcTPO5ASfqV5fVU6TYeaa2QOsi2yXBHrmlJ34+HlDdsoVzDGPrbutGCToAuBDSu7nh0WW2aLOp/9A==", "dependencies": { "@nextcloud/auth": "^1.2.2", - "babel-plugin-transform-class-properties": "^6.24.1", "core-js": "^3.6.4" } }, @@ -2698,43 +2710,43 @@ } }, "node_modules/@nextcloud/vue": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-5.4.0.tgz", - "integrity": "sha512-YybOMuStBKtCwbssxMNEd0A8k/Qr5+zm9vnSOaLaMxeB8iaUU+PgBNiYGo8O24UJjSS6FqFwg02V4XzI1Sd6Lw==", + "version": "6.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-6.0.0-beta.2.tgz", + "integrity": "sha512-PNYSm4tLgnlL12fSqXHyWSvz48oqj3c3j0/LsbhEP/usGzBeTQvcNbqZhil0CqtELyZBcAw3/SWqtTRJW9+rqg==", "dependencies": { - "@nextcloud/auth": "^1.2.3", - "@nextcloud/axios": "^1.3.2", + "@nextcloud/auth": "^1.3.0", + "@nextcloud/axios": "^1.10.0", "@nextcloud/browser-storage": "^0.1.1", "@nextcloud/calendar-js": "^3.0.0", - "@nextcloud/capabilities": "^1.0.2", - "@nextcloud/dialogs": "^3.0.0", - "@nextcloud/event-bus": "^2.0.0", - "@nextcloud/l10n": "^1.2.3", - "@nextcloud/logger": "^2.0.0", + "@nextcloud/capabilities": "^1.0.4", + "@nextcloud/dialogs": "^3.1.4", + "@nextcloud/event-bus": "^2.1.1", + "@nextcloud/l10n": "^1.6.0", + "@nextcloud/logger": "^2.2.1", "@nextcloud/router": "^2.0.0", "debounce": "1.2.1", - "emoji-mart-vue-fast": "^10.2.1", + "emoji-mart-vue-fast": "^11.1.1", "escape-html": "^1.0.3", - "focus-trap": "^6.8.1", + "floating-vue": "^1.0.0-beta.18", + "focus-trap": "^6.9.4", "hammerjs": "^2.0.8", - "linkify-string": "^3.0.2", - "md5": "^2.2.1", - "splitpanes": "^2.3.6", - "string-length": "^5.0.0", - "striptags": "^3.1.1", + "linkify-string": "^3.0.4", + "md5": "^2.3.0", + "splitpanes": "^2.4.1", + "string-length": "^5.0.1", + "striptags": "^3.2.0", "style-loader": "^3.3.1", "tributejs": "^5.1.3", - "v-click-outside": "^3.0.1", - "v-tooltip": "^2.0.3", - "vue": "^2.6.14", - "vue-color": "^2.7.1", - "vue-material-design-icons": "^5.0.0", + "v-click-outside": "^3.2.0", + "vue": "^2.7.8", + "vue-color": "^2.8.1", + "vue-material-design-icons": "^5.1.2", "vue-multiselect": "^2.1.6", - "vue2-datepicker": "^3.6.3" + "vue2-datepicker": "^3.11.0" }, "engines": { - "node": "^14.0.0", - "npm": "^7.0.0" + "node": "^16.0.0", + "npm": "^7.0.0 || ^8.0.0" } }, "node_modules/@nextcloud/vue-dashboard": { @@ -2922,16 +2934,16 @@ "version": "2.6.12", "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "deprecated": "core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", "hasInstallScript": true }, "node_modules/@nextcloud/vue/node_modules/emoji-mart-vue-fast": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-10.2.1.tgz", - "integrity": "sha512-PtKihhsXBEEw1jHwnoRyJAnJP1OlK4EJrEze58EbUUV7iHWGLub+yuiNSj2Uo1JBHraz4fw/pH98nFysVoe0qg==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-11.1.1.tgz", + "integrity": "sha512-mMN49N2lCQCjanSzLYBS1PlBO+7Do092FnrsWwogwmOo4p+L8N3L8TjcDk30ByXMCjSEcCDsjupCxIcaBpVNKg==", "dependencies": { "@babel/polyfill": "^7.12.1", - "@babel/runtime": "^7.16.3", + "@babel/runtime": "^7.18.6", "vue-virtual-scroller": "^1.0.10" }, "peerDependencies": { @@ -2939,40 +2951,46 @@ } }, "node_modules/@nextcloud/vue/node_modules/linkify-string": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-3.0.2.tgz", - "integrity": "sha512-e6sa4WYslcwuNA0ciRo7KPAb4VpTIOxsGPAXeSR8XlORtKak8WMleuvrt5iRZwulHAd6dI+BO7b94lNW8lbMUQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-3.0.4.tgz", + "integrity": "sha512-OnNqqRjlYXaXipIAbBC8sDXsSumI1ftatzFg141Pw9HEXWjTVLFcMZoKbFupshqWRavtNJ6QHLa+u6AlxxgeRw==", "peerDependencies": { "linkifyjs": "^3.0.0" } }, "node_modules/@nextcloud/vue/node_modules/linkifyjs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-3.0.1.tgz", - "integrity": "sha512-HwXVwdNH1wESBfo2sH7Bkl+ywzbGA3+uJEfhquCyi/bMCa49bFUvd/re1NT1Lox/5jdnpQXzI9O/jykit71idg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-3.0.5.tgz", + "integrity": "sha512-1Y9XQH65eQKA9p2xtk+zxvnTeQBG7rdAXSkUG97DmuI/Xhji9uaUzaWxRj6rf9YC0v8KKHkxav7tnLX82Sz5Fg==", "peer": true }, "node_modules/@nextcloud/vue/node_modules/string-length": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.0.tgz", - "integrity": "sha512-1qjpci3h1G7BUi6dt5uAVyrO2FMUdjj3XWU970/eQh0YKhlYZ8bJMC/+BUpD21YdEhmuHv2nnbUUn024+cC7YQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", "dependencies": { "char-regex": "^2.0.0", - "strip-ansi": "^7.0.0" + "strip-ansi": "^7.0.1" }, "engines": { "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@nextcloud/vue/node_modules/strip-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.0.tgz", - "integrity": "sha512-UhDTSnGF1dc0DRbUqr1aXwNoY3RgVkSWG8BrpnuFIxhP57IqbS7IRta2Gfiavds4yCxc5+fEAVVOgBZWnYkvzg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dependencies": { - "ansi-regex": "^6.0.0" + "ansi-regex": "^6.0.1" }, "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/@nextcloud/vue/node_modules/uuid": { @@ -6658,92 +6676,6 @@ "node": ">= 6" } }, - "node_modules/babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "dependencies": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - } - }, - "node_modules/babel-code-frame/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "node_modules/babel-code-frame/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-code-frame/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "dependencies": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "node_modules/babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "dependencies": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, "node_modules/babel-jest": { "version": "28.1.2", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.2.tgz", @@ -6891,14 +6823,6 @@ "url": "https://github.com/avajs/find-cache-dir?sponsor=1" } }, - "node_modules/babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "dependencies": { - "babel-runtime": "^6.22.0" - } - }, "node_modules/babel-plugin-add-module-exports": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz", @@ -6979,22 +6903,6 @@ "@babel/helper-define-polyfill-provider": "^0.2.2" } }, - "node_modules/babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" - }, - "node_modules/babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", - "dependencies": { - "babel-helper-function-name": "^6.24.1", - "babel-plugin-syntax-class-properties": "^6.8.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, "node_modules/babel-preset-current-node-syntax": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", @@ -7034,97 +6942,6 @@ "@babel/core": "^7.0.0" } }, - "node_modules/babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "dependencies": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - } - }, - "node_modules/babel-runtime/node_modules/core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", - "hasInstallScript": true - }, - "node_modules/babel-runtime/node_modules/regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - }, - "node_modules/babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "dependencies": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "dependencies": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - } - }, - "node_modules/babel-traverse/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/babel-traverse/node_modules/globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "dependencies": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - } - }, - "node_modules/babel-types/node_modules/to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "bin": { - "babylon": "bin/babylon.js" - } - }, "node_modules/balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -9486,9 +9303,9 @@ } }, "node_modules/date-format-parse": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/date-format-parse/-/date-format-parse-0.2.6.tgz", - "integrity": "sha512-sdxnYAWmLopeb+6Hmw+vo3or4OCJOnh4+YoJ9p+Id3o2EnNP0INpTqx7wr8UregfMpgaSZAH473R/ytiaB3gVg==" + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/date-format-parse/-/date-format-parse-0.2.7.tgz", + "integrity": "sha512-/+lyMUKoRogMuTeOVii6lUwjbVlesN9YRYLzZT/g3TEZ3uD9QnpjResujeEqUW+OSNbT7T1+SYdyEkTcRv+KDQ==" }, "node_modules/de-indent": { "version": "1.0.2", @@ -12074,6 +11891,18 @@ "dev": true, "peer": true }, + "node_modules/floating-vue": { + "version": "1.0.0-beta.18", + "resolved": "https://registry.npmjs.org/floating-vue/-/floating-vue-1.0.0-beta.18.tgz", + "integrity": "sha512-mRFc78szc1BTbhlCa4okb7wAGPuH/IID+yqJ+yrTMQ038H8WIAsPV/WFgWCaXqe8d1Z12LkMqiHDVorCJy8M2A==", + "dependencies": { + "@floating-ui/dom": "^0.1.10", + "vue-resize": "^1.0.0" + }, + "peerDependencies": { + "vue": "^2.6.10" + } + }, "node_modules/focus-trap": { "version": "6.9.4", "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-6.9.4.tgz", @@ -12453,25 +12282,6 @@ "node": ">= 0.4.0" } }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/has-bigints": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", @@ -12998,14 +12808,6 @@ "node": ">= 0.10" } }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, "node_modules/ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", @@ -17566,17 +17368,6 @@ "node": ">=4" } }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, "node_modules/lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -18069,7 +17860,8 @@ "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "node_modules/multi-buffer-data-view": { "version": "3.0.20", @@ -20847,9 +20639,9 @@ } }, "node_modules/splitpanes": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-2.3.6.tgz", - "integrity": "sha512-2sif1pmOQw/N+/jRbVzqTJ32lkhJax8jQfaXCebRK/SFCadHOnAaXDcWW8PpEcr9vKpfzH7gxJ8Sq/74HECr/g==" + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-2.4.1.tgz", + "integrity": "sha512-kpEo1WuMXuc6QfdQdO2V/fl/trONlkUKp+pputsLTiW9RMtwEvjb4/aYGm2m3+KAzjmb+zLwr4A4SYZu74+pgQ==" }, "node_modules/sprintf-js": { "version": "1.0.3", @@ -22659,9 +22451,9 @@ } }, "node_modules/v-click-outside": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/v-click-outside/-/v-click-outside-3.1.2.tgz", - "integrity": "sha512-gMdRqfRE6m6XU6SiFi3dyBlFB2MWogiXpof8Aa3LQysrl9pzTndqp/iEaAphLoadaQUFnQ0ec6fLLaxr7LiY6A==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v-click-outside/-/v-click-outside-3.2.0.tgz", + "integrity": "sha512-QD0bDy38SHJXQBjgnllmkI/rbdiwmq9RC+/+pvrFjYJKTn8dtp7Penf9q1lLBta280fYG2q53mgLhQ+3l3z74w==", "engines": { "node": ">=6" } @@ -23002,11 +22794,14 @@ "integrity": "sha512-yaX2its9XAJKGuQqf7LsiZHHSkxsIK8rmCOQOvEGEoF41blKRK8qr9my4qYoD6ikdLss4n8tKqYBecmaY0+WJg==" }, "node_modules/vue2-datepicker": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.9.1.tgz", - "integrity": "sha512-LuvcgGR+sDYKcih0z+cyvYufGyBwUtIiwzJPwxE63C8gOsAWiE09KuGtZ3OxdQXJEQM2MGQ9t9t1t7382FiFOg==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.11.0.tgz", + "integrity": "sha512-zbMkAjYwDTXZozZtkpSwqxq7nEeBt7zoHL+oQcdjEXAqzJHhmatE6sl6JSr58PMIx2WOK0c6QBXozSqT32iQAQ==", "dependencies": { - "date-format-parse": "^0.2.6" + "date-format-parse": "^0.2.7" + }, + "peerDependencies": { + "vue": "^2.5.0" } }, "node_modules/vue2-leaflet": { @@ -25909,6 +25704,19 @@ } } }, + "@floating-ui/core": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-0.3.1.tgz", + "integrity": "sha512-ensKY7Ub59u16qsVIFEo2hwTCqZ/r9oZZFh51ivcLGHfUwTn8l1Xzng8RJUe91H/UP8PeqeBronAGx0qmzwk2g==" + }, + "@floating-ui/dom": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-0.1.10.tgz", + "integrity": "sha512-4kAVoogvQm2N0XE0G6APQJuCNuErjOfPW8Ux7DFxh8+AfugWflwVJ5LDlHOwrwut7z/30NUvdtHzQ3zSip4EzQ==", + "requires": { + "@floating-ui/core": "^0.3.0" + } + }, "@humanwhocodes/config-array": { "version": "0.9.5", "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.5.tgz", @@ -26785,12 +26593,11 @@ } }, "@nextcloud/logger": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.0.0.tgz", - "integrity": "sha512-C3vb8I1z67c5FhSWUNB21U6gzzD7RVgjyVUeK+QVz5nYQt1UWTp9yGyqE8G+R5QAyFFWfuOw1RHHkHJ/CWQ4YA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@nextcloud/logger/-/logger-2.2.1.tgz", + "integrity": "sha512-MP2/5ZdjDfcTPO5ASfqV5fVU6TYeaa2QOsi2yXBHrmlJ34+HlDdsoVzDGPrbutGCToAuBDSu7nh0WW2aLOp/9A==", "requires": { "@nextcloud/auth": "^1.2.2", - "babel-plugin-transform-class-properties": "^6.24.1", "core-js": "^3.6.4" } }, @@ -26838,39 +26645,39 @@ } }, "@nextcloud/vue": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-5.4.0.tgz", - "integrity": "sha512-YybOMuStBKtCwbssxMNEd0A8k/Qr5+zm9vnSOaLaMxeB8iaUU+PgBNiYGo8O24UJjSS6FqFwg02V4XzI1Sd6Lw==", + "version": "6.0.0-beta.2", + "resolved": "https://registry.npmjs.org/@nextcloud/vue/-/vue-6.0.0-beta.2.tgz", + "integrity": "sha512-PNYSm4tLgnlL12fSqXHyWSvz48oqj3c3j0/LsbhEP/usGzBeTQvcNbqZhil0CqtELyZBcAw3/SWqtTRJW9+rqg==", "requires": { - "@nextcloud/auth": "^1.2.3", - "@nextcloud/axios": "^1.3.2", + "@nextcloud/auth": "^1.3.0", + "@nextcloud/axios": "^1.10.0", "@nextcloud/browser-storage": "^0.1.1", "@nextcloud/calendar-js": "^3.0.0", - "@nextcloud/capabilities": "^1.0.2", - "@nextcloud/dialogs": "^3.0.0", - "@nextcloud/event-bus": "^2.0.0", - "@nextcloud/l10n": "^1.2.3", - "@nextcloud/logger": "^2.0.0", + "@nextcloud/capabilities": "^1.0.4", + "@nextcloud/dialogs": "^3.1.4", + "@nextcloud/event-bus": "^2.1.1", + "@nextcloud/l10n": "^1.6.0", + "@nextcloud/logger": "^2.2.1", "@nextcloud/router": "^2.0.0", "debounce": "1.2.1", - "emoji-mart-vue-fast": "^10.2.1", + "emoji-mart-vue-fast": "^11.1.1", "escape-html": "^1.0.3", - "focus-trap": "^6.8.1", + "floating-vue": "^1.0.0-beta.18", + "focus-trap": "^6.9.4", "hammerjs": "^2.0.8", - "linkify-string": "^3.0.2", - "md5": "^2.2.1", - "splitpanes": "^2.3.6", - "string-length": "^5.0.0", - "striptags": "^3.1.1", + "linkify-string": "^3.0.4", + "md5": "^2.3.0", + "splitpanes": "^2.4.1", + "string-length": "^5.0.1", + "striptags": "^3.2.0", "style-loader": "^3.3.1", "tributejs": "^5.1.3", - "v-click-outside": "^3.0.1", - "v-tooltip": "^2.0.3", - "vue": "^2.6.14", - "vue-color": "^2.7.1", - "vue-material-design-icons": "^5.0.0", + "v-click-outside": "^3.2.0", + "vue": "^2.7.8", + "vue-color": "^2.8.1", + "vue-material-design-icons": "^5.1.2", "vue-multiselect": "^2.1.6", - "vue2-datepicker": "^3.6.3" + "vue2-datepicker": "^3.11.0" }, "dependencies": { "@babel/polyfill": { @@ -26899,42 +26706,42 @@ "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" }, "emoji-mart-vue-fast": { - "version": "10.2.1", - "resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-10.2.1.tgz", - "integrity": "sha512-PtKihhsXBEEw1jHwnoRyJAnJP1OlK4EJrEze58EbUUV7iHWGLub+yuiNSj2Uo1JBHraz4fw/pH98nFysVoe0qg==", + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/emoji-mart-vue-fast/-/emoji-mart-vue-fast-11.1.1.tgz", + "integrity": "sha512-mMN49N2lCQCjanSzLYBS1PlBO+7Do092FnrsWwogwmOo4p+L8N3L8TjcDk30ByXMCjSEcCDsjupCxIcaBpVNKg==", "requires": { "@babel/polyfill": "^7.12.1", - "@babel/runtime": "^7.16.3", + "@babel/runtime": "^7.18.6", "vue-virtual-scroller": "^1.0.10" } }, "linkify-string": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-3.0.2.tgz", - "integrity": "sha512-e6sa4WYslcwuNA0ciRo7KPAb4VpTIOxsGPAXeSR8XlORtKak8WMleuvrt5iRZwulHAd6dI+BO7b94lNW8lbMUQ==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/linkify-string/-/linkify-string-3.0.4.tgz", + "integrity": "sha512-OnNqqRjlYXaXipIAbBC8sDXsSumI1ftatzFg141Pw9HEXWjTVLFcMZoKbFupshqWRavtNJ6QHLa+u6AlxxgeRw==", "requires": {} }, "linkifyjs": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-3.0.1.tgz", - "integrity": "sha512-HwXVwdNH1wESBfo2sH7Bkl+ywzbGA3+uJEfhquCyi/bMCa49bFUvd/re1NT1Lox/5jdnpQXzI9O/jykit71idg==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/linkifyjs/-/linkifyjs-3.0.5.tgz", + "integrity": "sha512-1Y9XQH65eQKA9p2xtk+zxvnTeQBG7rdAXSkUG97DmuI/Xhji9uaUzaWxRj6rf9YC0v8KKHkxav7tnLX82Sz5Fg==", "peer": true }, "string-length": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.0.tgz", - "integrity": "sha512-1qjpci3h1G7BUi6dt5uAVyrO2FMUdjj3XWU970/eQh0YKhlYZ8bJMC/+BUpD21YdEhmuHv2nnbUUn024+cC7YQ==", + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-5.0.1.tgz", + "integrity": "sha512-9Ep08KAMUn0OadnVaBuRdE2l615CQ508kr0XMadjClfYpdCyvrbFp6Taebo8yyxokQ4viUd/xPPUA4FGgUa0ow==", "requires": { "char-regex": "^2.0.0", - "strip-ansi": "^7.0.0" + "strip-ansi": "^7.0.1" } }, "strip-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.0.tgz", - "integrity": "sha512-UhDTSnGF1dc0DRbUqr1aXwNoY3RgVkSWG8BrpnuFIxhP57IqbS7IRta2Gfiavds4yCxc5+fEAVVOgBZWnYkvzg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "requires": { - "ansi-regex": "^6.0.0" + "ansi-regex": "^6.0.1" } }, "uuid": { @@ -29869,79 +29676,6 @@ } } }, - "babel-code-frame": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "requires": { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "js-tokens": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" - } - } - }, - "babel-helper-function-name": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", - "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", - "requires": { - "babel-helper-get-function-arity": "^6.24.1", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - "babel-traverse": "^6.24.1", - "babel-types": "^6.24.1" - } - }, - "babel-helper-get-function-arity": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", - "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", - "requires": { - "babel-runtime": "^6.22.0", - "babel-types": "^6.24.1" - } - }, "babel-jest": { "version": "28.1.2", "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-28.1.2.tgz", @@ -30052,14 +29786,6 @@ } } }, - "babel-messages": { - "version": "6.23.0", - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "requires": { - "babel-runtime": "^6.22.0" - } - }, "babel-plugin-add-module-exports": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/babel-plugin-add-module-exports/-/babel-plugin-add-module-exports-1.0.4.tgz", @@ -30133,22 +29859,6 @@ "@babel/helper-define-polyfill-provider": "^0.2.2" } }, - "babel-plugin-syntax-class-properties": { - "version": "6.13.0", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-class-properties/-/babel-plugin-syntax-class-properties-6.13.0.tgz", - "integrity": "sha1-1+sjt5oxf4VDlixQW4J8fWysJ94=" - }, - "babel-plugin-transform-class-properties": { - "version": "6.24.1", - "resolved": "https://registry.npmjs.org/babel-plugin-transform-class-properties/-/babel-plugin-transform-class-properties-6.24.1.tgz", - "integrity": "sha1-anl2PqYdM9NvN7YRqp3vgagbRqw=", - "requires": { - "babel-helper-function-name": "^6.24.1", - "babel-plugin-syntax-class-properties": "^6.8.0", - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1" - } - }, "babel-preset-current-node-syntax": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", @@ -30179,93 +29889,6 @@ "babel-preset-current-node-syntax": "^1.0.0" } }, - "babel-runtime": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0" - }, - "dependencies": { - "core-js": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", - "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" - }, - "regenerator-runtime": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" - } - } - }, - "babel-template": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "requires": { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4" - } - }, - "babel-traverse": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "requires": { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": { - "ms": "2.0.0" - } - }, - "globals": { - "version": "9.18.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" - } - } - }, - "babel-types": { - "version": "6.26.0", - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "requires": { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3" - }, - "dependencies": { - "to-fast-properties": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" - } - } - }, - "babylon": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" - }, "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", @@ -32046,9 +31669,9 @@ } }, "date-format-parse": { - "version": "0.2.6", - "resolved": "https://registry.npmjs.org/date-format-parse/-/date-format-parse-0.2.6.tgz", - "integrity": "sha512-sdxnYAWmLopeb+6Hmw+vo3or4OCJOnh4+YoJ9p+Id3o2EnNP0INpTqx7wr8UregfMpgaSZAH473R/ytiaB3gVg==" + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/date-format-parse/-/date-format-parse-0.2.7.tgz", + "integrity": "sha512-/+lyMUKoRogMuTeOVii6lUwjbVlesN9YRYLzZT/g3TEZ3uD9QnpjResujeEqUW+OSNbT7T1+SYdyEkTcRv+KDQ==" }, "de-indent": { "version": "1.0.2", @@ -34081,6 +33704,15 @@ "dev": true, "peer": true }, + "floating-vue": { + "version": "1.0.0-beta.18", + "resolved": "https://registry.npmjs.org/floating-vue/-/floating-vue-1.0.0-beta.18.tgz", + "integrity": "sha512-mRFc78szc1BTbhlCa4okb7wAGPuH/IID+yqJ+yrTMQ038H8WIAsPV/WFgWCaXqe8d1Z12LkMqiHDVorCJy8M2A==", + "requires": { + "@floating-ui/dom": "^0.1.10", + "vue-resize": "^1.0.0" + } + }, "focus-trap": { "version": "6.9.4", "resolved": "https://registry.npmjs.org/focus-trap/-/focus-trap-6.9.4.tgz", @@ -34360,21 +33992,6 @@ "function-bind": "^1.1.1" } }, - "has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" - } - } - }, "has-bigints": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", @@ -34769,14 +34386,6 @@ "dev": true, "peer": true }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": { - "loose-envify": "^1.0.0" - } - }, "ip": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", @@ -38220,14 +37829,6 @@ } } }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" - } - }, "lower-case": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", @@ -38650,7 +38251,8 @@ "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true }, "multi-buffer-data-view": { "version": "3.0.20", @@ -40858,9 +40460,9 @@ "peer": true }, "splitpanes": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-2.3.6.tgz", - "integrity": "sha512-2sif1pmOQw/N+/jRbVzqTJ32lkhJax8jQfaXCebRK/SFCadHOnAaXDcWW8PpEcr9vKpfzH7gxJ8Sq/74HECr/g==" + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/splitpanes/-/splitpanes-2.4.1.tgz", + "integrity": "sha512-kpEo1WuMXuc6QfdQdO2V/fl/trONlkUKp+pputsLTiW9RMtwEvjb4/aYGm2m3+KAzjmb+zLwr4A4SYZu74+pgQ==" }, "sprintf-js": { "version": "1.0.3", @@ -42252,9 +41854,9 @@ "dev": true }, "v-click-outside": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/v-click-outside/-/v-click-outside-3.1.2.tgz", - "integrity": "sha512-gMdRqfRE6m6XU6SiFi3dyBlFB2MWogiXpof8Aa3LQysrl9pzTndqp/iEaAphLoadaQUFnQ0ec6fLLaxr7LiY6A==" + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/v-click-outside/-/v-click-outside-3.2.0.tgz", + "integrity": "sha512-QD0bDy38SHJXQBjgnllmkI/rbdiwmq9RC+/+pvrFjYJKTn8dtp7Penf9q1lLBta280fYG2q53mgLhQ+3l3z74w==" }, "v-tooltip": { "version": "2.1.3", @@ -42539,11 +42141,11 @@ "integrity": "sha512-yaX2its9XAJKGuQqf7LsiZHHSkxsIK8rmCOQOvEGEoF41blKRK8qr9my4qYoD6ikdLss4n8tKqYBecmaY0+WJg==" }, "vue2-datepicker": { - "version": "3.9.1", - "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.9.1.tgz", - "integrity": "sha512-LuvcgGR+sDYKcih0z+cyvYufGyBwUtIiwzJPwxE63C8gOsAWiE09KuGtZ3OxdQXJEQM2MGQ9t9t1t7382FiFOg==", + "version": "3.11.0", + "resolved": "https://registry.npmjs.org/vue2-datepicker/-/vue2-datepicker-3.11.0.tgz", + "integrity": "sha512-zbMkAjYwDTXZozZtkpSwqxq7nEeBt7zoHL+oQcdjEXAqzJHhmatE6sl6JSr58PMIx2WOK0c6QBXozSqT32iQAQ==", "requires": { - "date-format-parse": "^0.2.6" + "date-format-parse": "^0.2.7" } }, "vue2-leaflet": { diff --git a/package.json b/package.json index b6d4b5ccd..72a40fd94 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "@nextcloud/moment": "^1.2.1", "@nextcloud/paths": "^2.1.0", "@nextcloud/router": "^2.0.0", - "@nextcloud/vue": "^5.4.0", + "@nextcloud/vue": "^6.0.0-beta.2", "@nextcloud/vue-dashboard": "^2.0.1", "attachmediastream": "^2.1.0", "color.js": "^1.2.0", diff --git a/src/FilesSidebarTabApp.vue b/src/FilesSidebarTabApp.vue index e9a4bd9c7..91ff64665 100644 --- a/src/FilesSidebarTabApp.vue +++ b/src/FilesSidebarTabApp.vue @@ -27,16 +27,16 @@ <div class="icon icon-talk" /> <h2>{{ t('spreed', 'Discuss this file') }}</h2> <p>{{ t('spreed', 'Share this file with others to discuss it') }}</p> - <Button type="primary" @click="openSharingTab"> + <ButtonVue type="primary" @click="openSharingTab"> {{ t('spreed', 'Share this file') }} - </Button> + </ButtonVue> </div> <div v-else-if="isTalkSidebarSupportedForFile && !token" class="emptycontent room-not-joined"> <div class="icon icon-talk" /> <h2>{{ t('spreed', 'Discuss this file') }}</h2> - <Button type="primary" @click="joinConversation"> + <ButtonVue type="primary" @click="joinConversation"> {{ t('spreed', 'Join conversation') }} - </Button> + </ButtonVue> </div> <template v-else> <CallButton class="call-button" /> @@ -66,7 +66,7 @@ import sessionIssueHandler from './mixins/sessionIssueHandler.js' import browserCheck from './mixins/browserCheck.js' import '@nextcloud/dialogs/styles/toast.scss' import DeviceChecker from './components/DeviceChecker/DeviceChecker.vue' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' export default { @@ -77,7 +77,7 @@ export default { ChatView, UploadEditor, DeviceChecker, - Button, + ButtonVue, }, mixins: [ diff --git a/src/PublicShareAuthRequestPasswordButton.vue b/src/PublicShareAuthRequestPasswordButton.vue index 86d3456a1..20057941b 100644 --- a/src/PublicShareAuthRequestPasswordButton.vue +++ b/src/PublicShareAuthRequestPasswordButton.vue @@ -23,14 +23,14 @@ <!-- "submit-wrapper" is used to mimic the login button and thus get automatic colouring of the confirm icon by the Theming app. --> <div id="submit-wrapper" class="request-password-wrapper"> - <Button id="request-password-button" + <ButtonVue id="request-password-button" type="primary" :wide="true" :disabled="isRequestInProgress" @click="requestPassword" @keydown.enter="requestPassword"> {{ t('spreed', 'Request password') }} - </Button> + </ButtonVue> </div> <p v-if="hasRequestFailed" class="warning error-message"> {{ t('spreed', 'Error requesting the password.') }} @@ -39,7 +39,7 @@ </template> <script> -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import { getPublicShareAuthConversationToken } from './services/publicShareAuthService.js' import browserCheck from './mixins/browserCheck.js' import '@nextcloud/dialogs/styles/toast.scss' @@ -49,7 +49,7 @@ export default { name: 'PublicShareAuthRequestPasswordButton', components: { - Button, + ButtonVue, }, mixins: [ diff --git a/src/PublicShareSidebar.vue b/src/PublicShareSidebar.vue index 919867ebf..c639886e4 100644 --- a/src/PublicShareSidebar.vue +++ b/src/PublicShareSidebar.vue @@ -50,7 +50,7 @@ </template> <script> -import ButtonVue from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import PreventUnload from 'vue-prevent-unload' import { loadState } from '@nextcloud/initial-state' import CallView from './components/CallView/CallView.vue' diff --git a/src/PublicShareSidebarTrigger.vue b/src/PublicShareSidebarTrigger.vue index 99a049ede..7bb4d3dc9 100644 --- a/src/PublicShareSidebarTrigger.vue +++ b/src/PublicShareSidebarTrigger.vue @@ -20,18 +20,18 @@ <template> <div class="button-holder"> - <Button type="tertiary-on-primary" + <ButtonVue type="tertiary-on-primary" :aria-label="ariaLabel" @click="$emit('click')"> <template #icon> <MenuPeople :size="20" /> </template> - </Button> + </ButtonVue> </div> </template> <script> -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import MenuPeople from './components/missingMaterialDesignIcons/MenuPeople.vue' export default { @@ -39,7 +39,7 @@ export default { name: 'PublicShareSidebarTrigger', components: { - Button, + ButtonVue, MenuPeople, }, diff --git a/src/components/AdminSettings/AllowedGroups.vue b/src/components/AdminSettings/AllowedGroups.vue index 204cd4495..5052c679c 100644 --- a/src/components/AdminSettings/AllowedGroups.vue +++ b/src/components/AdminSettings/AllowedGroups.vue @@ -50,11 +50,11 @@ label="displayname" @search-change="searchGroup" /> - <Button type="primary" + <ButtonVue type="primary" :disabled="loading" @click="saveAllowedGroups"> {{ saveLabelAllowedGroups }} - </Button> + </ButtonVue> </div> <h3>{{ t('spreed', 'Limit creating a public and group conversation') }}</h3> @@ -75,11 +75,11 @@ label="displayname" @search-change="searchGroup" /> - <Button type="primary" + <ButtonVue type="primary" :disabled="loading" @click="saveStartConversationsGroups"> {{ saveLabelStartConversations }} - </Button> + </ButtonVue> </div> <h3>{{ t('spreed', 'Limit starting a call') }}</h3> @@ -106,7 +106,7 @@ import axios from '@nextcloud/axios' import debounce from 'debounce' import { generateOcsUrl } from '@nextcloud/router' import { loadState } from '@nextcloud/initial-state' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' const startCallOptions = [ { value: 0, label: t('spreed', 'Everyone') }, @@ -120,7 +120,7 @@ export default { components: { Multiselect, - Button, + ButtonVue, }, data() { diff --git a/src/components/AdminSettings/HostedSignalingServer.vue b/src/components/AdminSettings/HostedSignalingServer.vue index ccf77de31..bf24f8855 100644 --- a/src/components/AdminSettings/HostedSignalingServer.vue +++ b/src/components/AdminSettings/HostedSignalingServer.vue @@ -81,11 +81,11 @@ </option> </select> - <Button type="primary" + <ButtonVue type="primary" :disabled="!hostedHPBFilled || loading" @click="requestHPBTrial"> {{ t('spreed', 'Request signaling server trial') }} - </Button> + </ButtonVue> <p v-if="requestError !== ''" class="warning"> @@ -122,17 +122,17 @@ {{ requestError }} </p> - <Button type="error" + <ButtonVue type="error" :disabled="loading" @click="deleteAccount"> {{ t('spreed', 'Delete the signaling server account') }} - </Button> + </ButtonVue> </div> </div> </template> <script> -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import { loadState } from '@nextcloud/initial-state' import axios from '@nextcloud/axios' import { generateOcsUrl } from '@nextcloud/router' @@ -142,7 +142,7 @@ export default { name: 'HostedSignalingServer', components: { - Button, + ButtonVue, }, data() { diff --git a/src/components/AdminSettings/MatterbridgeIntegration.vue b/src/components/AdminSettings/MatterbridgeIntegration.vue index b5e1b42eb..f06881793 100644 --- a/src/components/AdminSettings/MatterbridgeIntegration.vue +++ b/src/components/AdminSettings/MatterbridgeIntegration.vue @@ -57,23 +57,23 @@ </p> <p> - <Button v-if="isInstalling"> + <ButtonVue v-if="isInstalling"> <template #icon> <span class="icon icon-loading-small" /> </template> {{ t('spreed', 'Downloading …') }} - </Button> - <Button v-else + </ButtonVue> + <ButtonVue v-else @click="enableMatterbridgeApp"> {{ t('spreed', 'Install Talk Matterbridge') }} - </Button> + </ButtonVue> </p> </template> </div> </template> <script> -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import { loadState } from '@nextcloud/initial-state' import { showError } from '@nextcloud/dialogs' import { @@ -86,7 +86,7 @@ export default { name: 'MatterbridgeIntegration', components: { - Button, + ButtonVue, }, data() { diff --git a/src/components/AdminSettings/SIPBridge.vue b/src/components/AdminSettings/SIPBridge.vue index 242046375..35bde1284 100644 --- a/src/components/AdminSettings/SIPBridge.vue +++ b/src/components/AdminSettings/SIPBridge.vue @@ -73,17 +73,17 @@ :disabled="loading" :placeholder="t('spreed', 'Phone number (Country)')" /> - <Button type="primary" + <ButtonVue type="primary" :disabled="loading" @click="saveSIPSettings"> {{ t('spreed', 'Save changes') }} - </Button> + </ButtonVue> </template> </div> </template> <script> -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Multiselect from '@nextcloud/vue/dist/Components/Multiselect' import axios from '@nextcloud/axios' import debounce from 'debounce' @@ -96,7 +96,7 @@ export default { name: 'SIPBridge', components: { - Button, + ButtonVue, Multiselect, }, diff --git a/src/components/AdminSettings/SignalingServer.vue b/src/components/AdminSettings/SignalingServer.vue index 693f96631..e035abb79 100644 --- a/src/components/AdminSettings/SignalingServer.vue +++ b/src/components/AdminSettings/SignalingServer.vue @@ -38,21 +38,21 @@ @change="updateVerify"> <label :for="'verify' + index">{{ t('spreed', 'Validate SSL certificate') }}</label> - <Button v-show="!loading" + <ButtonVue v-show="!loading" type="tertiary-no-background" :aria-label="t('spreed', 'Delete this server')" @click="removeServer"> <template #icon> <Delete :size="20" /> </template> - </Button> + </ButtonVue> <span v-if="server">{{ connectionState }}</span> </div> </template> <script> -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Delete from 'vue-material-design-icons/Delete' import { getWelcomeMessage } from '../../services/signalingService.js' @@ -60,7 +60,7 @@ export default { name: 'SignalingServer', components: { - Button, + ButtonVue, Delete, }, diff --git a/src/components/AdminSettings/SignalingServers.vue b/src/components/AdminSettings/SignalingServers.vue index 8a8c1815c..7d1c7a876 100644 --- a/src/components/AdminSettings/SignalingServers.vue +++ b/src/components/AdminSettings/SignalingServers.vue @@ -25,7 +25,7 @@ <h2> {{ t('spreed', 'High-performance backend') }} - <Button v-if="!loading && showAddServerButton" + <ButtonVue v-if="!loading && showAddServerButton" class="signaling-server__add-icon" type="tertiary-no-background" :aria-label="t('spreed', 'Add a new high-performance backend server')" @@ -33,7 +33,7 @@ <template #icon> <Plus :size="20" /> </template> - </Button> + </ButtonVue> </h2> <p class="settings-hint"> @@ -86,7 +86,7 @@ <script> import SignalingServer from '../../components/AdminSettings/SignalingServer.vue' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Plus from 'vue-material-design-icons/Plus' import { showSuccess } from '@nextcloud/dialogs' import { loadState } from '@nextcloud/initial-state' @@ -97,7 +97,7 @@ export default { name: 'SignalingServers', components: { - Button, + ButtonVue, SignalingServer, Plus, }, diff --git a/src/components/AdminSettings/StunServer.vue b/src/components/AdminSettings/StunServer.vue index 1d38f26d5..e04261793 100644 --- a/src/components/AdminSettings/StunServer.vue +++ b/src/components/AdminSettings/StunServer.vue @@ -32,26 +32,26 @@ :disabled="loading" :aria-label="t('spreed', 'STUN server URL')" @input="update"> - <Button v-show="!isValidServer" + <ButtonVue v-show="!isValidServer" type="tertiary-no-background" :aria-label="t('spreed', 'The server address is invalid')"> <template #icon> <AlertCircle /> </template> - </Button> - <Button v-show="!loading" + </ButtonVue> + <ButtonVue v-show="!loading" type="tertiary-no-background" :aria-label="t('spreed', 'Delete this server')" @click="removeServer"> <template #icon> <Delete :size="20" /> </template> - </Button> + </ButtonVue> </div> </template> <script> -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import AlertCircle from 'vue-material-design-icons/AlertCircle' import Delete from 'vue-material-design-icons/Delete' @@ -59,7 +59,7 @@ export default { name: 'StunServer', components: { - Button, + ButtonVue, AlertCircle, Delete, }, diff --git a/src/components/AdminSettings/StunServers.vue b/src/components/AdminSettings/StunServers.vue index 5418601cc..61e9a8cc5 100644 --- a/src/components/AdminSettings/StunServers.vue +++ b/src/components/AdminSettings/StunServers.vue @@ -25,7 +25,7 @@ <h2> {{ t('spreed', 'STUN servers') }} - <Button v-if="!loading" + <ButtonVue v-if="!loading" class="stun-server__add-icon" type="tertiary-no-background" :aria-label="t('spreed', 'Add a new STUN server')" @@ -33,7 +33,7 @@ <template #icon> <Plus :size="20" /> </template> - </Button> + </ButtonVue> </h2> <p class="settings-hint"> @@ -56,7 +56,7 @@ <script> import StunServer from '../../components/AdminSettings/StunServer.vue' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Plus from 'vue-material-design-icons/Plus' import debounce from 'debounce' import { loadState } from '@nextcloud/initial-state' @@ -66,7 +66,7 @@ export default { name: 'StunServers', components: { - Button, + ButtonVue, StunServer, Plus, }, diff --git a/src/components/AdminSettings/TurnServer.vue b/src/components/AdminSettings/TurnServer.vue index d9ce21df0..9526fae11 100644 --- a/src/components/AdminSettings/TurnServer.vue +++ b/src/components/AdminSettings/TurnServer.vue @@ -73,7 +73,7 @@ </option> </select> - <Button v-show="!loading" + <ButtonVue v-show="!loading" type="tertiary-no-background" :aria-label="testResult" @click="testServer"> @@ -83,20 +83,20 @@ <Check v-else-if="testingSuccess" /> <CategoryMonitoring v-else /> </template> - </Button> - <Button v-show="!loading" + </ButtonVue> + <ButtonVue v-show="!loading" type="tertiary-no-background" :aria-label="t('spreed', 'Delete this server')" @click="removeServer"> <template #icon> <Delete :size="20" /> </template> - </Button> + </ButtonVue> </div> </template> <script> -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip' import AlertCircle from 'vue-material-design-icons/AlertCircle' import Check from 'vue-material-design-icons/Check' @@ -114,7 +114,7 @@ export default { }, components: { - Button, + ButtonVue, AlertCircle, CategoryMonitoring, Check, diff --git a/src/components/AdminSettings/TurnServers.vue b/src/components/AdminSettings/TurnServers.vue index a4edc5952..737231e81 100644 --- a/src/components/AdminSettings/TurnServers.vue +++ b/src/components/AdminSettings/TurnServers.vue @@ -25,7 +25,7 @@ <h2> {{ t('spreed', 'TURN servers') }} - <Button v-if="!loading" + <ButtonVue v-if="!loading" class="turn-server__add-icon" type="tertiary-no-background" :aria-label="t('spreed', 'Add a new TURN server')" @@ -33,7 +33,7 @@ <template #icon> <Plus :size="20" /> </template> - </Button> + </ButtonVue> </h2> <!-- eslint-disable-next-line vue/no-v-html --> @@ -60,7 +60,7 @@ </template> <script> -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import TurnServer from '../../components/AdminSettings/TurnServer.vue' import { loadState } from '@nextcloud/initial-state' import Plus from 'vue-material-design-icons/Plus' @@ -71,7 +71,7 @@ export default { name: 'TurnServers', components: { - Button, + ButtonVue, TurnServer, Plus, }, diff --git a/src/components/AdminSettings/WebServerSetupChecks.vue b/src/components/AdminSettings/WebServerSetupChecks.vue index 4b77f4046..bfd4d2b8b 100644 --- a/src/components/AdminSettings/WebServerSetupChecks.vue +++ b/src/components/AdminSettings/WebServerSetupChecks.vue @@ -51,7 +51,7 @@ <script> import AlertCircle from 'vue-material-design-icons/AlertCircle' -import ButtonVue from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Check from 'vue-material-design-icons/Check' import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip' import JitsiStreamBackgroundEffect from '../../utils/media/effects/virtual-background/JitsiStreamBackgroundEffect.js' diff --git a/src/components/CallView/shared/EmptyCallView.vue b/src/components/CallView/shared/EmptyCallView.vue index d2d8fb690..2d63f22fc 100644 --- a/src/components/CallView/shared/EmptyCallView.vue +++ b/src/components/CallView/shared/EmptyCallView.vue @@ -36,7 +36,7 @@ </template> <script> -import ButtonVue from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import { showError, showSuccess } from '@nextcloud/dialogs' import { generateUrl } from '@nextcloud/router' import { CONVERSATION, PARTICIPANT } from '../../../constants.js' diff --git a/src/components/CallView/shared/LocalMediaControls.vue b/src/components/CallView/shared/LocalMediaControls.vue index 02bf55b03..6c9a6d442 100644 --- a/src/components/CallView/shared/LocalMediaControls.vue +++ b/src/components/CallView/shared/LocalMediaControls.vue @@ -23,13 +23,13 @@ <div class="buttons-bar"> <div class="network-connection-state"> <Popover v-if="qualityWarningTooltip" - :boundaries-element="boundaryElement" + :boundary="boundaryElement" :aria-label="qualityWarningAriaLabel" trigger="hover" :auto-hide="false" - :open="showQualityWarningTooltip"> + :shown="showQualityWarningTooltip"> <template #trigger> - <Button id="quality_warning_button" + <ButtonVue id="quality_warning_button" type="tertiary-no-background" class="trigger" @click="mouseover = !mouseover"> @@ -37,29 +37,29 @@ <NetworkStrength2Alert fill-color="#e9322d" :size="20" /> </template> - </Button> + </ButtonVue> </template> <div class="hint"> <span>{{ qualityWarningTooltip.content }}</span> <div class="hint__actions"> - <Button v-if="qualityWarningTooltip.action" + <ButtonVue v-if="qualityWarningTooltip.action" type="primary" class="hint__button" @click="executeQualityWarningTooltipAction"> {{ qualityWarningTooltip.actionLabel }} - </Button> - <Button v-if="!isQualityWarningTooltipDismissed" + </ButtonVue> + <ButtonVue v-if="!isQualityWarningTooltipDismissed" type="tertiary" class="hint__button" @click="dismissQualityWarningTooltip"> {{ t('spreed', 'Dismiss') }} - </Button> + </ButtonVue> </div> </div> </Popover> </div> <div id="muteWrapper"> - <Button v-shortkey.once="['m']" + <ButtonVue v-shortkey.once="['m']" v-tooltip="audioButtonTooltip" type="tertiary-no-background" :aria-label="audioButtonAriaLabel" @@ -74,13 +74,13 @@ :size="20" fill-color="#ffffff" /> </template> - </Button> + </ButtonVue> <span v-show="model.attributes.audioAvailable" ref="volumeIndicator" class="volume-indicator" :class="{'microphone-off': !showMicrophoneOn}" /> </div> - <Button v-shortkey.once="['v']" + <ButtonVue v-shortkey.once="['v']" v-tooltip="videoButtonTooltip" type="tertiary-no-background" :aria-label="videoButtonAriaLabel" @@ -95,8 +95,8 @@ :size="20" fill-color="#ffffff" /> </template> - </Button> - <Button v-if="isVirtualBackgroundAvailable && !showActions" + </ButtonVue> + <ButtonVue v-if="isVirtualBackgroundAvailable && !showActions" v-tooltip="toggleVirtualBackgroundButtonLabel" type="tertiary-no-background" :aria-label="toggleVirtualBackgroundButtonLabel" @@ -110,7 +110,7 @@ :size="20" fill-color="#ffffff" /> </template> - </Button> + </ButtonVue> <Actions v-if="!screenSharingButtonHidden" id="screensharing-button" v-tooltip="screenSharingButtonTooltip" @@ -156,7 +156,7 @@ {{ t('spreed', 'Stop screensharing') }} </ActionButton> </Actions> - <Button v-shortkey.once="['r']" + <ButtonVue v-shortkey.once="['r']" v-tooltip="t('spreed', 'Lower hand (R)')" type="tertiary-no-background" class="lower-hand" @@ -171,7 +171,7 @@ <HandBackLeft :size="18" fill-color="#ffffff" /> </template> - </Button> + </ButtonVue> <Actions v-if="showActions" v-tooltip="t('spreed', 'More actions')" :container="container" @@ -245,7 +245,7 @@ import VideoOff from 'vue-material-design-icons/VideoOff' import Blur from 'vue-material-design-icons/Blur' import BlurOff from 'vue-material-design-icons/BlurOff' import Popover from '@nextcloud/vue/dist/Components/Popover' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip' import { PARTICIPANT } from '../../../constants.js' import SpeakingWhileMutedWarner from '../../../utils/webrtc/SpeakingWhileMutedWarner.js' @@ -270,7 +270,7 @@ export default { Actions, ActionSeparator, ActionButton, - Button, + ButtonVue, CancelPresentation, Cog, DotsHorizontal, diff --git a/src/components/ConversationSettings/ConversationPermissionsSettings.vue b/src/components/ConversationSettings/ConversationPermissionsSettings.vue index ff5515d82..cdd95b587 100644 --- a/src/components/ConversationSettings/ConversationPermissionsSettings.vue +++ b/src/components/ConversationSettings/ConversationPermissionsSettings.vue @@ -86,7 +86,7 @@ <script> import PermissionEditor from '../PermissionsEditor/PermissionsEditor.vue' -import ButtonVue from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/CheckboxRadioSwitch' import Pencil from 'vue-material-design-icons/Pencil.vue' import { PARTICIPANT } from '../../constants.js' diff --git a/src/components/ConversationSettings/ConversationSettingsDialog.vue b/src/components/ConversationSettings/ConversationSettingsDialog.vue index d0452fc4e..8ffe2c905 100644 --- a/src/components/ConversationSettings/ConversationSettingsDialog.vue +++ b/src/components/ConversationSettings/ConversationSettingsDialog.vue @@ -86,6 +86,7 @@ <SipSettings v-if="canUserEnableSIP" /> </AppSettingsSection> <AppSettingsSection v-if="canFullModerate && matterbridgeEnabled" + id="matterbridge" :title="t('spreed', 'Matterbridge')"> <MatterbridgeSettings /> </AppSettingsSection> diff --git a/src/components/ConversationSettings/DangerZone.vue b/src/components/ConversationSettings/DangerZone.vue index 610b9f278..18ecc2168 100644 --- a/src/components/ConversationSettings/DangerZone.vue +++ b/src/components/ConversationSettings/DangerZone.vue @@ -30,9 +30,9 @@ <p class="danger-zone__hint"> {{ t('spreed', 'Once a conversation is left, to rejoin a closed conversation, an invite is needed. An open conversation can be rejoined at any time.') }} </p> - <Button type="warning" @click.prevent.exact="leaveConversation"> + <ButtonVue type="warning" @click.prevent.exact="leaveConversation"> {{ t('spreed', 'Leave conversation') }} - </Button> + </ButtonVue> </template> <template v-if="canDeleteConversation"> <br> @@ -40,10 +40,10 @@ <p class="danger-zone__hint"> {{ t('spreed', 'Permanently delete this conversation.') }} </p> - <Button type="error" + <ButtonVue type="error" @click.prevent.exact="deleteConversation"> {{ t('spreed', 'Delete conversation') }} - </Button> + </ButtonVue> </template> <template v-if="canDeleteConversation"> <br> @@ -51,10 +51,10 @@ <p class="danger-zone__hint"> {{ t('spreed', 'Permanently delete all the messages in this conversation.') }} </p> - <Button type="error" + <ButtonVue type="error" @click.prevent.exact="clearChatHistory"> {{ t('spreed', 'Delete chat messages') }} - </Button> + </ButtonVue> </template> <div /> </div> @@ -64,12 +64,12 @@ <script> import { showError } from '@nextcloud/dialogs' import { emit } from '@nextcloud/event-bus' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' export default { name: 'DangerZone', components: { - Button, + ButtonVue, }, props: { conversation: { diff --git a/src/components/ConversationSettings/LinkShareSettings.vue b/src/components/ConversationSettings/LinkShareSettings.vue index 8abb2f0d4..819fdb44a 100644 --- a/src/components/ConversationSettings/LinkShareSettings.vue +++ b/src/components/ConversationSettings/LinkShareSettings.vue @@ -70,43 +70,43 @@ name="link_share_settings_link_password" :placeholder="t('spreed', 'Enter a password')" :disabled="isSaving"> - <Button id="link_share_settings_link_password_submit" + <ButtonVue id="link_share_settings_link_password_submit" :aria-label="t('spreed', 'Save password')" :disabled="isSaving" native-type="submit"> <template #icon> <ArrowRight /> </template> - </Button> + </ButtonVue> </form> </div> </div> <div class="app-settings-subsection"> - <Button ref="copyLinkButton" + <ButtonVue ref="copyLinkButton" @click.prevent="handleCopyLink" @keydown.enter="handleCopyLink"> <template #icon> <ClipboardTextOutline /> </template> {{ t('spreed', 'Copy conversation link') }} - </Button> + </ButtonVue> </div> <div v-if="isSharedPublicly" class="app-settings-subsection"> - <Button :disabled="isSendingInvitations" + <ButtonVue :disabled="isSendingInvitations" @click.prevent="handleResendInvitations" @keydown.enter="handleResendInvitations"> <template #icon> <Email /> </template> {{ t('spreed', 'Resend invitations') }} - </Button> + </ButtonVue> <span v-if="isSendingInvitations" class="icon-loading-small spinner" /> </div> </div> </template> <script> -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import { showError, showSuccess } from '@nextcloud/dialogs' import { CONVERSATION } from '../../constants.js' import { @@ -121,7 +121,7 @@ export default { name: 'LinkShareSettings', components: { - Button, + ButtonVue, ArrowRight, ClipboardTextOutline, Email, @@ -213,7 +213,6 @@ export default { this.showPasswordField = true await this.handlePasswordEnable() this.$nextTick(() => { - console.error(this.$refs.passwordField) this.$refs.passwordField.focus() }) } else { diff --git a/src/components/ConversationSettings/Matterbridge/MatterbridgeSettings.vue b/src/components/ConversationSettings/Matterbridge/MatterbridgeSettings.vue index 5a614651d..887c582c1 100644 --- a/src/components/ConversationSettings/Matterbridge/MatterbridgeSettings.vue +++ b/src/components/ConversationSettings/Matterbridge/MatterbridgeSettings.vue @@ -35,7 +35,7 @@ <div class="basic-settings"> <div v-show="!enabled" class="add-part-wrapper"> - <Plus class="icon" size="20" /> + <Plus class="icon" :size="20" /> <Multiselect ref="partMultiselect" v-model="selectedType" label="displayName" @@ -47,7 +47,8 @@ @input="clickAddPart"> <template #option="{option}"> <img class="icon-multiselect-service" - :src="option.iconUrl"> + :src="option.iconUrl" + alt=""> {{ option.displayName }} </template> </Multiselect> @@ -65,8 +66,8 @@ ({{ processStateText }}) </label> <ButtonVue v-if="enabled" - type="tertiary" v-tooltip.top="{ content: t('spreed', 'Show Matterbridge log') }" + type="tertiary" :aria-label="t('spreed', 'Show Matterbridge log')" @click="showLogContent"> <template #icon> @@ -105,7 +106,7 @@ import { } from '../../../services/matterbridgeService.js' import { showSuccess } from '@nextcloud/dialogs' import { imagePath } from '@nextcloud/router' -import ButtonVue from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Multiselect from '@nextcloud/vue/dist/Components/Multiselect' import Message from 'vue-material-design-icons/Message' import Modal from '@nextcloud/vue/dist/Components/Modal' diff --git a/src/components/Description/Description.vue b/src/components/Description/Description.vue index 6d9cb9dff..fc0bf9cb4 100644 --- a/src/components/Description/Description.vue +++ b/src/components/Description/Description.vue @@ -35,21 +35,21 @@ @keydown.esc="handleCancelEditing" /> <template v-if="!loading"> <template v-if="editing"> - <Button type="tertiary" + <ButtonVue type="tertiary" :aria-label="t('spreed', 'Cancel editing description')" @click="handleCancelEditing"> <template #icon> <Close :size="20" /> </template> - </Button> - <Button type="primary" + </ButtonVue> + <ButtonVue type="primary" :aria-label="t('spreed', 'Submit conversation description')" :disabled="!canSubmit" @click="handleSubmitDescription"> <template #icon> <Check :size="20" /> </template> - </Button> + </ButtonVue> <div v-if="showCountDown" v-tooltip.auto="countDownWarningText" class="counter" @@ -58,14 +58,14 @@ <span>{{ charactersCountDown }}</span> </div> </template> - <Button v-if="!editing && editable" + <ButtonVue v-if="!editing && editable" type="tertiary" :aria-label="t('spreed', 'Edit conversation description')" @click="handleEditDescription"> <template #icon> <Pencil :size="20" /> </template> - </Button> + </ButtonVue> </template> <div v-if="loading" class="icon-loading-small spinner" /> </div> @@ -77,7 +77,7 @@ import Check from 'vue-material-design-icons/Check' import Close from 'vue-material-design-icons/Close' import RichContentEditable from '@nextcloud/vue/dist/Components/RichContenteditable' import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' export default { name: 'Description', @@ -86,7 +86,7 @@ export default { Check, Close, RichContentEditable, - Button, + ButtonVue, }, directives: { diff --git a/src/components/DeviceChecker/DeviceChecker.vue b/src/components/DeviceChecker/DeviceChecker.vue index 925c15b9e..27f8ddfee 100644 --- a/src/components/DeviceChecker/DeviceChecker.vue +++ b/src/components/DeviceChecker/DeviceChecker.vue @@ -60,7 +60,7 @@ --> <div class="device-checker__call-preferences"> <!-- Audio toggle --> - <Button v-tooltip="audioButtonTooltip" + <ButtonVue v-tooltip="audioButtonTooltip" type="tertiary" :aria-label="audioButtonTooltip" :disabled="!audioPreviewAvailable" @@ -71,7 +71,7 @@ <MicrophoneOff v-else :size="20" /> </template> - </Button> + </ButtonVue> <VolumeIndicator class="indicator" :audio-preview-available="audioPreviewAvailable" :current-volume="currentVolume" @@ -79,7 +79,7 @@ :disabled="!audioOn" /> <!-- Video toggle --> - <Button v-tooltip="videoButtonTooltip" + <ButtonVue v-tooltip="videoButtonTooltip" type="tertiary" :aria-label="videoButtonTooltip" :disabled="!videoPreviewAvailable" @@ -90,10 +90,10 @@ <VideoOff v-else :size="20" /> </template> - </Button> + </ButtonVue> <!-- Blur toggle --> - <Button v-if="videoPreviewAvailable && blurPreviewAvailable" + <ButtonVue v-if="videoPreviewAvailable && blurPreviewAvailable" v-tooltip="blurButtonTooltip" type="tertiary" :aria-label="blurButtonTooltip" @@ -105,12 +105,12 @@ <BlurOff v-else :size="20" /> </template> - </Button> + </ButtonVue> </div> <!-- Device selection --> <div class="device-checker__device-selection"> - <Button v-if="!showDeviceSelection" + <ButtonVue v-if="!showDeviceSelection" type="tertiary" class="select-devices" @click="showDeviceSelection = true"> @@ -118,7 +118,7 @@ <Cog :size="20" /> </template> {{ t('spreed', 'Choose devices') }} - </Button> + </ButtonVue> <template v-if="showDeviceSelection"> <MediaDevicesSelector kind="audioinput" :devices="devices" @@ -189,7 +189,7 @@ import { subscribe, unsubscribe } from '@nextcloud/event-bus' import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/CheckboxRadioSwitch' import BrowserStorage from '../../services/BrowserStorage.js' import VolumeIndicator from '../VolumeIndicator/VolumeIndicator.vue' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Actions from '@nextcloud/vue/dist/Components/Actions' import ActionButton from '@nextcloud/vue/dist/Components/ActionButton' import isInLobby from '../../mixins/isInLobby.js' @@ -212,7 +212,7 @@ export default { CallButton, CheckboxRadioSwitch, VolumeIndicator, - Button, + ButtonVue, ActionButton, Actions, BellOff, diff --git a/src/components/LeftSidebar/LeftSidebar.vue b/src/components/LeftSidebar/LeftSidebar.vue index 2ba8d527a..faf22b300 100644 --- a/src/components/LeftSidebar/LeftSidebar.vue +++ b/src/components/LeftSidebar/LeftSidebar.vue @@ -94,20 +94,20 @@ </template> </ul> </li> - <Button v-if="!preventFindingUnread && unreadNum > 0" + <ButtonVue v-if="!preventFindingUnread && unreadNum > 0" class="unread-mention-button" type="primary" @click="scrollBottomUnread"> {{ t('spreed', 'Unread mentions') }} - </Button> + </ButtonVue> </template> <template #footer> <div id="app-settings"> <div id="app-settings-header"> - <Button class="settings-button" @click="showSettings"> + <ButtonVue class="settings-button" @click="showSettings"> {{ t('spreed', 'Talk settings') }} - </Button> + </ButtonVue> </div> </div> </template> @@ -122,7 +122,7 @@ import ConversationsList from './ConversationsList/ConversationsList.vue' import Conversation from './ConversationsList/Conversation.vue' import ConversationsOptionsList from '../ConversationsOptionsList.vue' import Hint from '../Hint.vue' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import SearchBox from './SearchBox/SearchBox.vue' import debounce from 'debounce' import { EventBus } from '../../services/EventBus.js' @@ -145,7 +145,7 @@ export default { AppNavigation, AppNavigationCaption, ConversationsList, - Button, + ButtonVue, ConversationsOptionsList, Hint, SearchBox, diff --git a/src/components/LeftSidebar/NewGroupConversation/Confirmation/Confirmation.vue b/src/components/LeftSidebar/NewGroupConversation/Confirmation/Confirmation.vue index a8b7ecab8..c8fd15754 100644 --- a/src/components/LeftSidebar/NewGroupConversation/Confirmation/Confirmation.vue +++ b/src/components/LeftSidebar/NewGroupConversation/Confirmation/Confirmation.vue @@ -33,7 +33,7 @@ <p class="confirmation__warning"> {{ t('spreed', 'All set') }} </p> - <Button id="copy-link" + <ButtonVue id="copy-link" slot="trigger" v-clipboard:copy="linkToConversation" v-clipboard:success="onCopy" @@ -41,7 +41,7 @@ type="secondary" class="confirmation__copy-link"> {{ t('spreed', 'Copy conversation link') }} - </Button> + </ButtonVue> <p class="confirmation__warning"> {{ confirmationText }} </p> @@ -57,12 +57,12 @@ </template> <script> -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' export default { name: 'Confirmation', components: { - Button, + ButtonVue, }, props: { conversationName: { diff --git a/src/components/LeftSidebar/NewGroupConversation/NewGroupConversation.vue b/src/components/LeftSidebar/NewGroupConversation/NewGroupConversation.vue index 75d6f3861..a3feb5b25 100644 --- a/src/components/LeftSidebar/NewGroupConversation/NewGroupConversation.vue +++ b/src/components/LeftSidebar/NewGroupConversation/NewGroupConversation.vue @@ -21,7 +21,7 @@ <template> <div class="wrapper"> - <Button slot="trigger" + <ButtonVue slot="trigger" v-tooltip.bottom="t('spreed', 'Create a new group conversation')" type="tertiary" class="toggle" @@ -30,7 +30,7 @@ <template #icon> <Plus :size="20" /> </template> - </Button> + </ButtonVue> <!-- New group form --> <Modal v-if="modal" :container="container" @@ -77,38 +77,38 @@ placement are rendered depending on the current page --> <div class="navigation"> <!-- First page --> - <Button v-if="page===0 && isPublic" + <ButtonVue v-if="page===0 && isPublic" :disabled="disabled" type="tertiary" @click="handleCreateConversation"> {{ t('spreed', 'Create conversation') }} - </Button> - <Button v-if="page===0" + </ButtonVue> + <ButtonVue v-if="page===0" type="primary" :disabled="disabled" class="navigation__button-right" @click="handleSetConversationName"> {{ t('spreed', 'Add participants') }} - </Button> + </ButtonVue> <!-- Second page --> - <Button v-if="page===1" + <ButtonVue v-if="page===1" type="tertiary" @click="handleClickBack"> {{ t('spreed', 'Back') }} - </Button> - <Button v-if="page===1" + </ButtonVue> + <ButtonVue v-if="page===1" type="primary" class="navigation__button-right" @click="handleCreateConversation"> {{ t('spreed', 'Create conversation') }} - </Button> + </ButtonVue> <!-- Third page --> - <Button v-if="page===2 && (error || isPublic)" + <ButtonVue v-if="page===2 && (error || isPublic)" type="primary" class="navigation__button-right" @click="closeModal"> {{ t('spreed', 'Close') }} - </Button> + </ButtonVue> </div> </div> </modal> @@ -124,7 +124,7 @@ import SetContacts from './SetContacts/SetContacts.vue' import SetConversationName from './SetConversationName/SetConversationName.vue' import SetConversationType from './SetConversationType/SetConversationType.vue' import Confirmation from './Confirmation/Confirmation.vue' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import { addParticipant } from '../../../services/participantsService.js' import { createPublicConversation, @@ -152,7 +152,7 @@ export default { SetContacts, SetConversationName, SetConversationType, - Button, + ButtonVue, Confirmation, PasswordProtect, ListableSettings, diff --git a/src/components/LeftSidebar/NewGroupConversation/SetContacts/ContactSelectionBubble/ContactSelectionBubble.vue b/src/components/LeftSidebar/NewGroupConversation/SetContacts/ContactSelectionBubble/ContactSelectionBubble.vue index eacca0878..11786bc1d 100644 --- a/src/components/LeftSidebar/NewGroupConversation/SetContacts/ContactSelectionBubble/ContactSelectionBubble.vue +++ b/src/components/LeftSidebar/NewGroupConversation/SetContacts/ContactSelectionBubble/ContactSelectionBubble.vue @@ -42,7 +42,7 @@ </template> <script> -import ButtonVue from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Close from 'vue-material-design-icons/Close.vue' import AvatarWrapperSmall from '../../../../AvatarWrapper/AvatarWrapperSmall.vue' export default { diff --git a/src/components/LeftSidebar/NewGroupConversation/SetContacts/SetContacts.vue b/src/components/LeftSidebar/NewGroupConversation/SetContacts/SetContacts.vue index daf41dd04..1e65c0a85 100644 --- a/src/components/LeftSidebar/NewGroupConversation/SetContacts/SetContacts.vue +++ b/src/components/LeftSidebar/NewGroupConversation/SetContacts/SetContacts.vue @@ -30,7 +30,7 @@ type="text" :placeholder="t('spreed', 'Search participants')" @input="handleInput"> - <Button v-if="isSearching" + <ButtonVue v-if="isSearching" class="abort-search" type="tertiary-no-background" :aria-label="cancelSearchLabel" @@ -38,7 +38,7 @@ <template #icon> <Close :size="20" /> </template> - </Button> + </ButtonVue> <transition-group v-if="hasSelectedParticipants" name="zoom" tag="div" @@ -59,7 +59,7 @@ </template> <script> -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Close from 'vue-material-design-icons/Close.vue' import CancelableRequest from '../../../../utils/cancelableRequest.js' import debounce from 'debounce' @@ -71,7 +71,7 @@ import ContactSelectionBubble from './ContactSelectionBubble/ContactSelectionBub export default { name: 'SetContacts', components: { - Button, + ButtonVue, Close, ParticipantSearchResults, ContactSelectionBubble, diff --git a/src/components/LeftSidebar/SearchBox/SearchBox.vue b/src/components/LeftSidebar/SearchBox/SearchBox.vue index 872b54864..0e7dc0d8c 100644 --- a/src/components/LeftSidebar/SearchBox/SearchBox.vue +++ b/src/components/LeftSidebar/SearchBox/SearchBox.vue @@ -28,7 +28,7 @@ type="text" :placeHolder="placeholderText" @keypress.enter.prevent="handleSubmit"> - <Button v-if="isSearching" + <ButtonVue v-if="isSearching" class="abort-search" type="tertiary-no-background" :aria-label="cancelSearchLabel" @@ -36,19 +36,19 @@ <template #icon> <Close :size="20" /> </template> - </Button> + </ButtonVue> </form> </template> <script> -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Close from 'vue-material-design-icons/Close.vue' import { EventBus } from '../../../services/EventBus.js' export default { name: 'SearchBox', components: { - Button, + ButtonVue, Close, }, props: { diff --git a/src/components/MessagesList/MessagesGroup/Message/Message.spec.js b/src/components/MessagesList/MessagesGroup/Message/Message.spec.js index fa6743d26..4c5aee453 100644 --- a/src/components/MessagesList/MessagesGroup/Message/Message.spec.js +++ b/src/components/MessagesList/MessagesGroup/Message/Message.spec.js @@ -5,7 +5,7 @@ import { cloneDeep } from 'lodash' import { EventBus } from '../../../../services/EventBus.js' import storeConfig from '../../../../store/storeConfig.js' import { CONVERSATION, ATTENDEE, PARTICIPANT } from '../../../../constants.js' -import ButtonVue from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' // Components import Check from 'vue-material-design-icons/Check' diff --git a/src/components/MessagesList/MessagesGroup/Message/Message.vue b/src/components/MessagesList/MessagesGroup/Message/Message.vue index 963536820..2fd3a9841 100644 --- a/src/components/MessagesList/MessagesGroup/Message/Message.vue +++ b/src/components/MessagesList/MessagesGroup/Message/Message.vue @@ -172,7 +172,7 @@ the main body of the message as well as a quote. </template> <script> -import ButtonVue from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip' import CallButton from '../../../TopBar/CallButton.vue' import DeckCard from './MessagePart/DeckCard.vue' diff --git a/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/Forwarder.vue b/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/Forwarder.vue index d1a444aeb..5aff87281 100644 --- a/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/Forwarder.vue +++ b/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/Forwarder.vue @@ -43,12 +43,12 @@ </template> </EmptyContent> <div class="forwarded-confirmation__navigation"> - <Button type="tertiary" @click="handleClose"> + <ButtonVue type="tertiary" @click="handleClose"> {{ t('spreed', 'Dismiss') }} - </Button> - <Button type="primary" @click="openConversation"> + </ButtonVue> + <ButtonVue type="primary" @click="openConversation"> {{ t('spreed', 'Go to conversation') }} - </Button> + </ButtonVue> </div> </div> </Modal> @@ -61,7 +61,7 @@ import EmptyContent from '@nextcloud/vue/dist/Components/EmptyContent' import Modal from '@nextcloud/vue/dist/Components/Modal' import { showError } from '@nextcloud/dialogs' import cloneDeep from 'lodash/cloneDeep' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' export default { name: 'Forwarder', @@ -70,7 +70,7 @@ export default { RoomSelector, EmptyContent, Modal, - Button, + ButtonVue, }, props: { diff --git a/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/MessageButtonsBar.vue b/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/MessageButtonsBar.vue index 44b0fc925..20566bdfd 100644 --- a/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/MessageButtonsBar.vue +++ b/src/components/MessagesList/MessagesGroup/Message/MessageButtonsBar/MessageButtonsBar.vue @@ -98,37 +98,37 @@ </template> <template v-if="isReactionsMenuOpen"> - <Button type="tertiary" + <ButtonVue type="tertiary" :aria-label="t('spreed', 'Close reactions menu')" @click="closeReactionsMenu"> <template #icon> <ArrowLeft :size="20" /> </template> - </Button> - <Button type="tertiary" + </ButtonVue> + <ButtonVue type="tertiary" :aria-label="t('spreed', 'React with {emoji}', { emoji: '👍' })" @click="handleReactionClick('👍')"> <template #icon> <span>👍</span> </template> - </Button> - <Button type="tertiary" + </ButtonVue> + <ButtonVue type="tertiary" :aria-label="t('spreed', 'React with {emoji}', { emoji: '❤' })" @click="handleReactionClick('❤️')"> <template #icon> <span>❤️</span> </template> - </Button> + </ButtonVue> <EmojiPicker :container="`#message_${id} .message-buttons-bar`" @select="handleReactionClick" @after-show="onEmojiPickerOpen" @after-hide="onEmojiPickerClose"> - <Button type="tertiary" + <ButtonVue type="tertiary" :aria-label="t('spreed', 'React with another emoji')"> <template #icon> <Plus :size="20" /> </template> - </Button> + </ButtonVue> </EmojiPicker> </template> <Forwarder v-if="showForwarder" @@ -158,7 +158,7 @@ import { showSuccess, } from '@nextcloud/dialogs' import Forwarder from './Forwarder.vue' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import EmojiPicker from '@nextcloud/vue/dist/Components/EmojiPicker' export default { @@ -173,7 +173,7 @@ export default { Share, ActionSeparator, Forwarder, - Button, + ButtonVue, EmoticonOutline, ArrowLeft, Plus, diff --git a/src/components/MessagesList/MessagesGroup/Message/MessagePart/FilePreview.spec.js b/src/components/MessagesList/MessagesGroup/Message/MessagePart/FilePreview.spec.js index e23a69922..09fa12cec 100644 --- a/src/components/MessagesList/MessagesGroup/Message/MessagePart/FilePreview.spec.js +++ b/src/components/MessagesList/MessagesGroup/Message/MessagePart/FilePreview.spec.js @@ -6,7 +6,7 @@ import storeConfig from '../../../../../store/storeConfig.js' import { imagePath, generateRemoteUrl } from '@nextcloud/router' import { loadState } from '@nextcloud/initial-state' import PlayCircleOutline from 'vue-material-design-icons/PlayCircleOutline' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import FilePreview from './FilePreview.vue' jest.mock('@nextcloud/initial-state', () => ({ @@ -518,7 +518,7 @@ describe('FilePreview.vue', () => { await imageMock.onload() expect(wrapper.element.tagName).toBe('DIV') - await wrapper.findComponent(Button).trigger('click') + await wrapper.findComponent(ButtonVue).trigger('click') expect(wrapper.emitted()['remove-file']).toStrictEqual([['123']]) }) }) diff --git a/src/components/MessagesList/MessagesGroup/Message/MessagePart/FilePreview.vue b/src/components/MessagesList/MessagesGroup/Message/MessagePart/FilePreview.vue index 17ef3f3ad..64d256421 100644 --- a/src/components/MessagesList/MessagesGroup/Message/MessagePart/FilePreview.vue +++ b/src/components/MessagesList/MessagesGroup/Message/MessagePart/FilePreview.vue @@ -52,7 +52,7 @@ <span v-if="isLoading" v-tooltip="previewTooltip" class="preview loading" /> - <Button v-if="isUploadEditor" + <ButtonVue v-if="isUploadEditor" class="remove-file" tabindex="1" type="primary" @@ -61,7 +61,7 @@ <template #icon> <Close /> </template> - </Button> + </ButtonVue> <ProgressBar v-if="isTemporaryUpload && !isUploadEditor" :value="uploadProgress" /> <div v-if="shouldShowFileDetail" class="name-container"> {{ fileDetail }} @@ -78,7 +78,7 @@ import PlayCircleOutline from 'vue-material-design-icons/PlayCircleOutline' import { getCapabilities } from '@nextcloud/capabilities' import { encodePath } from '@nextcloud/paths' import AudioPlayer from './AudioPlayer.vue' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' const PREVIEW_TYPE = { TEMPORARY: 0, @@ -94,7 +94,7 @@ export default { ProgressBar, Close, PlayCircleOutline, - Button, + ButtonVue, }, directives: { diff --git a/src/components/MessagesList/MessagesList.vue b/src/components/MessagesList/MessagesList.vue index 26d42ff61..c3e8988f3 100644 --- a/src/components/MessagesList/MessagesList.vue +++ b/src/components/MessagesList/MessagesList.vue @@ -49,7 +49,7 @@ get the messagesList array and loop through the list to generate the messages. :count="15" /> </template> <transition name="fade"> - <Button v-show="!isChatScrolledToBottom" + <ButtonVue v-show="!isChatScrolledToBottom" type="secondary" :aria-label="scrollToBottomAriaLabel" class="scroll-to-bottom" @@ -57,7 +57,7 @@ get the messagesList array and loop through the list to generate the messages. <template #icon> <ChevronDown :size="20" /> </template> - </Button> + </ButtonVue> </transition> </div> </template> @@ -74,7 +74,7 @@ import { EventBus } from '../../services/EventBus.js' import LoadingPlaceholder from '../LoadingPlaceholder.vue' import ChevronDown from 'vue-material-design-icons/ChevronDown' import uniqueId from 'lodash/uniqueId' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' export default { name: 'MessagesList', @@ -82,7 +82,7 @@ export default { LoadingPlaceholder, MessagesGroup, ChevronDown, - Button, + ButtonVue, }, mixins: [ diff --git a/src/components/NewMessageForm/AudioRecorder/AudioRecorder.vue b/src/components/NewMessageForm/AudioRecorder/AudioRecorder.vue index 80d98a751..a71996005 100644 --- a/src/components/NewMessageForm/AudioRecorder/AudioRecorder.vue +++ b/src/components/NewMessageForm/AudioRecorder/AudioRecorder.vue @@ -21,7 +21,7 @@ <template> <div class="audio-recorder"> - <Button v-if="!isRecording" + <ButtonVue v-if="!isRecording" v-tooltip.auto="{ content: startRecordingTooltip, delay: tooltipDelay, @@ -33,9 +33,9 @@ <template #icon> <Microphone :size="16" /> </template> - </Button> + </ButtonVue> <div v-else class="wrapper"> - <Button v-tooltip.auto="{ + <ButtonVue v-tooltip.auto="{ content: abortRecordingTooltip, delay: tooltipDelay, }" @@ -45,13 +45,13 @@ <template #icon> <Close :size="16" /> </template> - </Button> + </ButtonVue> <div class="audio-recorder__info"> <div class="recording-indicator fadeOutIn" /> <span class="time"> {{ parsedRecordTime }}</span> </div> - <Button v-tooltip.auto="{ + <ButtonVue v-tooltip.auto="{ content: stopRecordingTooltip, delay: tooltipDelay, }" @@ -62,7 +62,7 @@ <template #icon> <Check :size="16" /> </template> - </Button> + </ButtonVue> </div> </div> </template> @@ -75,7 +75,7 @@ import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip' import { mediaDevicesManager } from '../../../utils/webrtc/index.js' import { showError } from '@nextcloud/dialogs' import { MediaRecorder } from 'extendable-media-recorder' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' export default { name: 'AudioRecorder', @@ -84,7 +84,7 @@ export default { Microphone, Close, Check, - Button, + ButtonVue, }, directives: { diff --git a/src/components/NewMessageForm/NewMessageForm.vue b/src/components/NewMessageForm/NewMessageForm.vue index 7e88372f1..c806f402a 100644 --- a/src/components/NewMessageForm/NewMessageForm.vue +++ b/src/components/NewMessageForm/NewMessageForm.vue @@ -64,24 +64,24 @@ :container="container" :close-on-select="false" @select="addEmoji"> - <Button :disabled="disabled" + <ButtonVue :disabled="disabled" :aria-label="t('spreed', 'Add emoji')" type="tertiary-no-background" :aria-haspopup="true"> <template #icon> <EmoticonOutline :size="16" /> </template> - </Button> + </ButtonVue> </EmojiPicker> <!-- Disabled emoji picker placeholder button --> - <Button v-else + <ButtonVue v-else type="tertiary" :aria-label="t('spreed', 'Add emoji')" :disabled="true"> <template #icon> <EmoticonOutline :size="16" /> </template> - </Button> + </ButtonVue> </div> <div v-if="messageToBeReplied" class="new-message-form__quote"> <Quote :is-new-message-form-quote="true" @@ -118,7 +118,7 @@ </ActionButton> </Actions> <!-- Send --> - <Button :disabled="disabled" + <ButtonVue :disabled="disabled" type="tertiary" native-type="submit" :title="t('spreed', 'Send message')" @@ -127,7 +127,7 @@ <template #icon> <Send :size="16" /> </template> - </Button> + </ButtonVue> </template> </form> </div> @@ -139,7 +139,7 @@ import AdvancedInput from './AdvancedInput/AdvancedInput.vue' import { getFilePickerBuilder } from '@nextcloud/dialogs' import { getCapabilities } from '@nextcloud/capabilities' import Quote from '../Quote.vue' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Actions from '@nextcloud/vue/dist/Components/Actions' import ActionButton from '@nextcloud/vue/dist/Components/ActionButton' import EmojiPicker from '@nextcloud/vue/dist/Components/EmojiPicker' @@ -166,7 +166,7 @@ export default { Quote, Actions, ActionButton, - Button, + ButtonVue, Paperclip, EmojiPicker, EmoticonOutline, @@ -290,14 +290,6 @@ export default { this.$refs.advancedInput.focusInput() }, - disabled(newValue) { - // the menu is not always available - if (!this.$refs.uploadMenu) { - return - } - this.$refs.uploadMenu.$refs.menuButton.disabled = newValue - }, - text(newValue) { this.$store.dispatch('setCurrentMessageInput', { token: this.token, text: newValue }) }, @@ -595,6 +587,7 @@ export default { flex-grow: 1; overflow: hidden; position: relative; + padding: 2px; } &__quote { margin: 0 16px 12px 24px; diff --git a/src/components/PermissionsEditor/PermissionsEditor.vue b/src/components/PermissionsEditor/PermissionsEditor.vue index a3a731891..ea0a2f649 100644 --- a/src/components/PermissionsEditor/PermissionsEditor.vue +++ b/src/components/PermissionsEditor/PermissionsEditor.vue @@ -57,13 +57,13 @@ class="checkbox"> {{ t('spreed', 'Share the screen') }} </CheckboxRadioSwitch> - <Button ref="submit" + <ButtonVue ref="submit" native-type="submit" class="button-update-permission" type="primary" :disabled="submitButtonDisabled"> {{ t('spreed', 'Update permissions') }} - </Button> + </ButtonVue> </form> </template> <div v-if="loading" class="loading-screen"> @@ -78,7 +78,7 @@ import CheckboxRadioSwitch from '@nextcloud/vue/dist/Components/CheckboxRadioSwitch' import { PARTICIPANT } from '../../constants.js' import Modal from '@nextcloud/vue/dist/Components/Modal' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' const PERMISSIONS = PARTICIPANT.PERMISSIONS @@ -88,7 +88,7 @@ export default { components: { CheckboxRadioSwitch, Modal, - Button, + ButtonVue, }, props: { diff --git a/src/components/Quote.vue b/src/components/Quote.vue index 743dda865..29bd43a43 100644 --- a/src/components/Quote.vue +++ b/src/components/Quote.vue @@ -45,19 +45,19 @@ components. </blockquote> </div> <div v-if="isNewMessageFormQuote" class="quote__main__right"> - <Button type="tertiary" + <ButtonVue type="tertiary" :aria-label="cancelQuoteLabel" @click="handleAbortReply"> <template #icon> <Close :size="20" /> </template> - </Button> + </ButtonVue> </div> </a> </template> <script> -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Close from 'vue-material-design-icons/Close.vue' import RichText from '@juliushaertl/vue-richtext' import FilePreview from './MessagesList/MessagesGroup/Message/MessagePart/FilePreview.vue' @@ -67,7 +67,7 @@ import { EventBus } from '../services/EventBus.js' export default { name: 'Quote', components: { - Button, + ButtonVue, Close, RichText, }, diff --git a/src/components/RightSidebar/LobbyStatus.vue b/src/components/RightSidebar/LobbyStatus.vue index 3f5ca3be2..7b90fedcd 100644 --- a/src/components/RightSidebar/LobbyStatus.vue +++ b/src/components/RightSidebar/LobbyStatus.vue @@ -20,19 +20,19 @@ --> <template> - <Button type="primary" @click="disableLobby"> + <ButtonVue type="primary" @click="disableLobby"> {{ t('spreed', 'Disable lobby' ) }} - </Button> + </ButtonVue> </template> <script> import { showError, showSuccess } from '@nextcloud/dialogs' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' export default { name: 'LobbyStatus', components: { - Button, + ButtonVue, }, props: { token: { diff --git a/src/components/RightSidebar/Participants/ParticipantsSearchResults/ParticipantsSearchResults.vue b/src/components/RightSidebar/Participants/ParticipantsSearchResults/ParticipantsSearchResults.vue index 454ebdf74..7d59e6a99 100644 --- a/src/components/RightSidebar/Participants/ParticipantsSearchResults/ParticipantsSearchResults.vue +++ b/src/components/RightSidebar/Participants/ParticipantsSearchResults/ParticipantsSearchResults.vue @@ -50,7 +50,7 @@ <template v-if="integrations.length !== 0"> <AppNavigationCaption :title="t('spreed', 'Integrations')" /> <ul> - <Button v-for="(integration, index) in integrations" + <ButtonVue v-for="(integration, index) in integrations" :key="'integration' + index" type="tertiary-no-background" @click="runIntegration(integration)"> @@ -59,7 +59,7 @@ <AccountPlus :size="20" /> </template> {{ integration.label }} - </Button> + </ButtonVue> </ul> </template> @@ -101,7 +101,7 @@ import ParticipantsList from '../ParticipantsList/ParticipantsList.vue' import AppNavigationCaption from '@nextcloud/vue/dist/Components/AppNavigationCaption' import Hint from '../../../Hint.vue' import AccountPlus from 'vue-material-design-icons/AccountPlus.vue' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' export default { name: 'ParticipantsSearchResults', @@ -111,7 +111,7 @@ export default { AppNavigationCaption, Hint, AccountPlus, - Button, + ButtonVue, }, props: { diff --git a/src/components/RightSidebar/RightSidebar.vue b/src/components/RightSidebar/RightSidebar.vue index 303be8d08..31464e3bc 100644 --- a/src/components/RightSidebar/RightSidebar.vue +++ b/src/components/RightSidebar/RightSidebar.vue @@ -73,12 +73,12 @@ :attendee-pin="conversation.attendeePin" /> <div v-if="!getUserId" id="app-settings"> <div id="app-settings-header"> - <Button type="tertiary" @click="showSettings"> + <ButtonVue type="tertiary" @click="showSettings"> <template #icon> <CogIcon :size="20" /> </template> {{ t('spreed', 'Settings') }} - </Button> + </ButtonVue> </div> </div> </AppSidebarTab> @@ -108,7 +108,7 @@ import isInLobby from '../../mixins/isInLobby.js' import SetGuestUsername from '../SetGuestUsername.vue' import SipSettings from './SipSettings.vue' import LobbyStatus from './LobbyStatus.vue' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import AccountMultiple from 'vue-material-design-icons/AccountMultiple' import CogIcon from 'vue-material-design-icons/Cog' import FolderMultipleImage from 'vue-material-design-icons/FolderMultipleImage' @@ -126,7 +126,7 @@ export default { SetGuestUsername, SipSettings, LobbyStatus, - Button, + ButtonVue, AccountMultiple, CogIcon, FolderMultipleImage, diff --git a/src/components/RightSidebar/SharedItems/SharedItemsBrowser/SharedItemsBrowser.vue b/src/components/RightSidebar/SharedItems/SharedItemsBrowser/SharedItemsBrowser.vue index b7c86a206..c51b4f0a9 100644 --- a/src/components/RightSidebar/SharedItems/SharedItemsBrowser/SharedItemsBrowser.vue +++ b/src/components/RightSidebar/SharedItems/SharedItemsBrowser/SharedItemsBrowser.vue @@ -24,13 +24,13 @@ <div class="shared-items-browser"> <div class="shared-items-browser__navigation"> <template v-for="type in sharedItemsOrder"> - <Button v-if="sharedItems[type]" + <ButtonVue v-if="sharedItems[type]" :key="type" :class="{'active' : activeTab === type}" type="tertiary" @click="handleTabClick(type)"> {{ getTitle(type) }} - </Button> + </ButtonVue> </template> </div> <div ref="scroller" class="shared-items-browser__content" @scroll="debounceHandleScroll"> @@ -43,7 +43,7 @@ <script> import Modal from '@nextcloud/vue/dist/Components/Modal' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import SharedItems from '../SharedItems.vue' import sharedItems from '../../../../mixins/sharedItems.js' import debounce from 'debounce' @@ -52,8 +52,8 @@ export default { name: 'SharedItemsBrowser', components: { + ButtonVue, Modal, - Button, SharedItems, }, diff --git a/src/components/RightSidebar/SharedItems/SharedItemsTab.vue b/src/components/RightSidebar/SharedItems/SharedItemsTab.vue index a7af92e02..9d720536a 100644 --- a/src/components/RightSidebar/SharedItems/SharedItemsTab.vue +++ b/src/components/RightSidebar/SharedItems/SharedItemsTab.vue @@ -27,7 +27,7 @@ <SharedItems :type="type" :limit="limit(type)" :items="sharedItems[type]" /> - <Button v-if="hasMore(sharedItems[type])" + <ButtonVue v-if="hasMore(sharedItems[type])" type="tertiary-no-background" class="more" :wide="true" @@ -36,7 +36,7 @@ <DotsHorizontal :size="20" /> </template> {{ getButtonTitle(type) }} - </Button> + </ButtonVue> </div> </template> <AppNavigationCaption :title="t('spreed', 'Projects')" /> @@ -59,7 +59,7 @@ import { SHARED_ITEM } from '../../../constants.js' import AppNavigationCaption from '@nextcloud/vue/dist/Components/AppNavigationCaption' import SharedItemsBrowser from './SharedItemsBrowser/SharedItemsBrowser.vue' import DotsHorizontal from 'vue-material-design-icons/DotsHorizontal.vue' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import sharedItems from '../../../mixins/sharedItems.js' export default { @@ -72,7 +72,7 @@ export default { AppNavigationCaption, SharedItemsBrowser, DotsHorizontal, - Button, + ButtonVue, }, mixins: [sharedItems], diff --git a/src/components/SetGuestUsername.vue b/src/components/SetGuestUsername.vue index 0987aebbc..ea06c1c8d 100644 --- a/src/components/SetGuestUsername.vue +++ b/src/components/SetGuestUsername.vue @@ -25,12 +25,12 @@ @submit.prevent="handleChooseUserName"> <!-- eslint-disable-next-line vue/no-v-html --> <h3 v-html="displayNameLabel" /> - <Button @click.prevent="handleEditUsername"> + <ButtonVue @click.prevent="handleEditUsername"> {{ t('spreed', 'Edit') }} <template #icon> <Pencil :size="20" /> </template> - </Button> + </ButtonVue> <div v-if="isEditingUsername" class="username-form__wrapper"> <input ref="usernameInput" @@ -40,21 +40,21 @@ type="text" @keydown.enter="handleChooseUserName" @keydown.esc="isEditingUsername = !isEditingUsername"> - <Button class="username-form__button" + <ButtonVue class="username-form__button" native-type="submit" :aria-label="t('spreed', 'Save name')" type="tertiary"> <template #icon> <ArrowRight :size="20" /> </template> - </Button> + </ButtonVue> </div> </form> </template> <script> import { setGuestUserName } from '../services/participantsService.js' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import Pencil from 'vue-material-design-icons/Pencil' import ArrowRight from 'vue-material-design-icons/ArrowRight.vue' @@ -62,7 +62,7 @@ export default { name: 'SetGuestUsername', components: { - Button, + ButtonVue, Pencil, ArrowRight, }, diff --git a/src/components/TopBar/CallButton.vue b/src/components/TopBar/CallButton.vue index f94e715eb..d7f27d46e 100644 --- a/src/components/TopBar/CallButton.vue +++ b/src/components/TopBar/CallButton.vue @@ -21,7 +21,7 @@ <template> <div> - <Button v-if="showStartCallButton" + <ButtonVue v-if="showStartCallButton" id="call_button" v-tooltip="{ placement: 'auto', @@ -37,8 +37,8 @@ <Video :size="20" /> </template> {{ startCallLabel }} - </Button> - <Button v-else-if="showLeaveCallButton && !canEndForAll" + </ButtonVue> + <ButtonVue v-else-if="showLeaveCallButton && !canEndForAll" id="call_button" type="error" :disabled="loading" @@ -47,7 +47,7 @@ <VideoOff :size="20" /> </template> {{ leaveCallLabel }} - </Button> + </ButtonVue> <Actions v-else-if="showLeaveCallButton && canEndForAll" :disabled="loading"> <template #icon> @@ -86,7 +86,7 @@ import ActionButton from '@nextcloud/vue/dist/Components/ActionButton' import Video from 'vue-material-design-icons/Video' import VideoOff from 'vue-material-design-icons/VideoOff' import MenuDown from 'vue-material-design-icons/MenuDown' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' export default { name: 'CallButton', @@ -101,7 +101,7 @@ export default { Video, VideoOff, MenuDown, - Button, + ButtonVue, }, mixins: [ diff --git a/src/components/UploadEditor.vue b/src/components/UploadEditor.vue index 470385f0b..b7de6469a 100644 --- a/src/components/UploadEditor.vue +++ b/src/components/UploadEditor.vue @@ -45,14 +45,14 @@ </template> <div :key="'addMore'" class="add-more"> - <Button :aria-label="addMoreAriaLabel" + <ButtonVue :aria-label="addMoreAriaLabel" type="primary" class="add-more__button" @click="clickImportInput"> <template #icon> <Plus :size="48" /> </template> - </Button> + </ButtonVue> </div> </transition-group> </template> @@ -61,12 +61,12 @@ :local-url="voiceMessageLocalURL" /> </template> <div class="upload-editor__actions"> - <Button type="tertiary" @click="handleDismiss"> + <ButtonVue type="tertiary" @click="handleDismiss"> {{ t('spreed', 'Dismiss') }} - </Button> - <Button ref="submitButton" type="primary" @click="handleUpload"> + </ButtonVue> + <ButtonVue ref="submitButton" type="primary" @click="handleUpload"> {{ t('spreed', 'Send') }} - </Button> + </ButtonVue> </div> </div> </Modal> @@ -78,7 +78,7 @@ import Modal from '@nextcloud/vue/dist/Components/Modal' import FilePreview from './MessagesList/MessagesGroup/Message/MessagePart/FilePreview.vue' import Plus from 'vue-material-design-icons/Plus' import AudioPlayer from './MessagesList/MessagesGroup/Message/MessagePart/AudioPlayer.vue' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' export default { name: 'UploadEditor', @@ -88,7 +88,7 @@ export default { FilePreview, Plus, AudioPlayer, - Button, + ButtonVue, }, computed: { diff --git a/src/main.js b/src/main.js index 43eae30fd..cb5e0957c 100644 --- a/src/main.js +++ b/src/main.js @@ -47,7 +47,7 @@ import { translate, translatePlural } from '@nextcloud/l10n' import VueObserveVisibility from 'vue-observe-visibility' import VueShortKey from 'vue-shortkey' import vOutsideEvents from 'vue-outside-events' -import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip' +import { options as TooltipOptions } from '@nextcloud/vue/dist/Directives/Tooltip' // Styles import '@nextcloud/dialogs/styles/toast.scss' @@ -81,7 +81,7 @@ Vue.use(VueObserveVisibility) Vue.use(VueShortKey, { prevent: ['input', 'textarea', 'div'] }) Vue.use(vOutsideEvents) -Tooltip.options.defaultContainer = '#content-vue' +TooltipOptions.container = '#content-vue' store.dispatch('setMainContainerSelector', '#content-vue') const instance = new Vue({ diff --git a/src/views/Dashboard.vue b/src/views/Dashboard.vue index e4bbe5667..99b8c79c9 100644 --- a/src/views/Dashboard.vue +++ b/src/views/Dashboard.vue @@ -44,11 +44,11 @@ <EmptyContent icon="icon-talk"> <template #desc> {{ t('spreed', 'Say hi to your friends and colleagues!') }} - <Button class="button-start-conversation" + <ButtonVue class="button-start-conversation" type="secondary" @click="clickStartNew"> {{ t('spreed', 'Start a conversation') }} - </Button> + </ButtonVue> </template> </EmptyContent> </template> @@ -62,7 +62,7 @@ import EmptyContent from '@nextcloud/vue/dist/Components/EmptyContent' import axios from '@nextcloud/axios' import { generateOcsUrl, generateUrl } from '@nextcloud/router' import { CONVERSATION } from '../constants.js' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' const ROOM_POLLING_INTERVAL = 30 @@ -77,7 +77,14 @@ const propertySort = (properties) => (a, b) => properties.map(obj => { export default { name: 'Dashboard', - components: { DashboardWidget, Button, DashboardWidgetItem, ConversationIcon, EmptyContent }, + + components: { + DashboardWidget, + DashboardWidgetItem, + ButtonVue, + ConversationIcon, + EmptyContent, + }, data() { return { diff --git a/src/views/RoomSelector.spec.js b/src/views/RoomSelector.spec.js index 991f4719f..eb9f345cd 100644 --- a/src/views/RoomSelector.spec.js +++ b/src/views/RoomSelector.spec.js @@ -2,7 +2,7 @@ import mockAxios from '../__mocks__/axios.js' import { generateOcsUrl } from '@nextcloud/router' import { shallowMount } from '@vue/test-utils' import { CONVERSATION } from '../constants.js' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' import RoomSelector from './RoomSelector.vue' describe('RoomSelector.vue', () => { @@ -139,7 +139,7 @@ describe('RoomSelector.vue', () => { const list = wrapper.findAll('li') await list.at(1).trigger('click') - await wrapper.findComponent(Button).vm.$emit('click') + await wrapper.findComponent(ButtonVue).vm.$emit('click') expect(eventHandler).toHaveBeenCalledWith('token-3') }) diff --git a/src/views/RoomSelector.vue b/src/views/RoomSelector.vue index 1657a0ae4..3bf8ad130 100644 --- a/src/views/RoomSelector.vue +++ b/src/views/RoomSelector.vue @@ -56,12 +56,12 @@ </div> </div> <div id="modal-buttons"> - <Button v-if="!loading && availableRooms.length > 0" + <ButtonVue v-if="!loading && availableRooms.length > 0" type="primary" :disabled="!selectedRoom" @click="select"> {{ t('spreed', 'Select conversation') }} - </Button> + </ButtonVue> </div> </div> </div> @@ -74,14 +74,14 @@ import axios from '@nextcloud/axios' import { generateOcsUrl } from '@nextcloud/router' import { CONVERSATION } from '../constants.js' import ConversationIcon from '../components/ConversationIcon.vue' -import Button from '@nextcloud/vue/dist/Components/Button' +import ButtonVue from '@nextcloud/vue/dist/Components/ButtonVue' export default { name: 'RoomSelector', components: { ConversationIcon, Modal, - Button, + ButtonVue, }, props: { container: { |