diff --git a/changelog/unreleased/enhancement-hover-in-oc-drop-menues b/changelog/unreleased/enhancement-hover-in-oc-drop-menues
new file mode 100644
index 000000000..97ce9e1dd
--- /dev/null
+++ b/changelog/unreleased/enhancement-hover-in-oc-drop-menues
@@ -0,0 +1,5 @@
+Enhancement: Hover in ocDrop menues
+
+We've added the "action-menu-item-hover" class for
elements inside ocDrop, to add the hover effect on buttons and links.
+
+https://github.com/owncloud/owncloud-design-system/pull/2069
diff --git a/package.json b/package.json
index 4f9315bd8..93793e3a5 100644
--- a/package.json
+++ b/package.json
@@ -121,7 +121,7 @@
"vue-gettext": "^2.1.12",
"vue-inline-svg": "^2.0.0",
"vue-jest": "^3.0.4",
- "vue-loader": "^15.9.0",
+ "vue-loader": "^17.0.0",
"vue-select": "^3.12.0",
"vue-style-loader": "^4.1.2",
"vue-styleguidist": "^4.44.2",
diff --git a/src/assets/icons/resource-type-root-fill.svg b/src/assets/icons/resource-type-root-fill.svg
new file mode 100644
index 000000000..102abdf8b
--- /dev/null
+++ b/src/assets/icons/resource-type-root-fill.svg
@@ -0,0 +1,45 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/src/components/atoms/OcDrop/OcDrop.vue b/src/components/atoms/OcDrop/OcDrop.vue
index 7b1b6403f..cd7894078 100644
--- a/src/components/atoms/OcDrop/OcDrop.vue
+++ b/src/components/atoms/OcDrop/OcDrop.vue
@@ -208,6 +208,27 @@ export default {
// note: needed so that the box shadow from `oc-box-shadow-medium` doesn't get suppressed
padding: 8px;
}
+ li.action-menu-item-hover {
+ a,
+ button:not([role="switch"]) {
+ box-sizing: border-box;
+ padding: var(--oc-space-small);
+ color: var(--oc-color-swatch-passive-default);
+ &:focus,
+ &:hover {
+ background-color: var(--oc-color-background-hover);
+
+ text-decoration: none !important;
+ border-radius: 5px;
+ }
+ &:hover span {
+ color: var(--oc-color-swatch-brand-hover) !important;
+ }
+ span {
+ text-decoration: none !important;
+ }
+ }
+ }
}
.oc-drop {
diff --git a/src/components/molecules/OcBreadcrumb/OcBreadcrumb.vue b/src/components/molecules/OcBreadcrumb/OcBreadcrumb.vue
index bfaf840ee..1165d1f4f 100644
--- a/src/components/molecules/OcBreadcrumb/OcBreadcrumb.vue
+++ b/src/components/molecules/OcBreadcrumb/OcBreadcrumb.vue
@@ -183,10 +183,6 @@ export default {
#oc-breadcrumb-contextmenu-trigger > span {
vertical-align: middle;
border: 3px solid transparent;
- &:hover {
- background-color: var(--oc-color-background-hover);
- border-radius: 5px;
- }
}
#oc-breadcrumb-contextmenu li button {
diff --git a/src/components/molecules/OcTable/OcTable.vue b/src/components/molecules/OcTable/OcTable.vue
index aec1b35aa..d28690031 100644
--- a/src/components/molecules/OcTable/OcTable.vue
+++ b/src/components/molecules/OcTable/OcTable.vue
@@ -472,7 +472,7 @@ export default {
transition: background-color $transition-duration-short ease-in-out;
}
- &-hover tr:hover span:not(.avatarInitials):not(button span) {
+ &-hover tr:hover td:not(:last-child) span:not(.avatarInitials):not(button span) {
color: var(--oc-color-swatch-brand-hover) !important;
}
diff --git a/src/helpers/resourceIconExtensionMapping.json b/src/helpers/resourceIconExtensionMapping.json
index de28c3dfc..860fe219d 100644
--- a/src/helpers/resourceIconExtensionMapping.json
+++ b/src/helpers/resourceIconExtensionMapping.json
@@ -79,6 +79,7 @@
"psd": "image",
"py": "code",
"rar": "archive",
+ "root": "root",
"rss": "file",
"scss": "code",
"sh": "code",
diff --git a/yarn.lock b/yarn.lock
index 10d831ead..eeff6528b 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1905,22 +1905,6 @@
"@vue/compiler-dom" "3.2.23"
"@vue/shared" "3.2.23"
-"@vue/component-compiler-utils@^3.1.0":
- version "3.3.0"
- resolved "https://registry.yarnpkg.com/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz#f9f5fb53464b0c37b2c8d2f3fbfe44df60f61dc9"
- integrity sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==
- dependencies:
- consolidate "^0.15.1"
- hash-sum "^1.0.2"
- lru-cache "^4.1.2"
- merge-source-map "^1.1.0"
- postcss "^7.0.36"
- postcss-selector-parser "^6.0.2"
- source-map "~0.6.1"
- vue-template-es2015-compiler "^1.9.0"
- optionalDependencies:
- prettier "^1.18.2 || ^2.0.0"
-
"@vue/composition-api@^1.4.3":
version "1.6.1"
resolved "https://registry.yarnpkg.com/@vue/composition-api/-/composition-api-1.6.1.tgz#3b809802979af9ec06678437bead7617f0f85be5"
@@ -2849,7 +2833,7 @@ bindings@^1.5.0:
dependencies:
file-uri-to-path "1.0.0"
-bluebird@^3.1.1, bluebird@^3.5.5:
+bluebird@^3.5.5:
version "3.7.2"
resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
@@ -3903,13 +3887,6 @@ console-control-strings@^1.1.0:
resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
-consolidate@^0.15.1:
- version "0.15.1"
- resolved "https://registry.yarnpkg.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7"
- integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==
- dependencies:
- bluebird "^3.1.1"
-
constant-case@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-3.0.4.tgz#3b84a9aeaf4cf31ec45e6bf5de91bdfb0589faf1"
@@ -8286,7 +8263,7 @@ lowercase-keys@^2.0.0:
resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
-lru-cache@^4.1.2, lru-cache@^4.1.5:
+lru-cache@^4.1.5:
version "4.1.5"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
@@ -8502,13 +8479,6 @@ merge-descriptors@1.0.1:
resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
-merge-source-map@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646"
- integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==
- dependencies:
- source-map "^0.6.1"
-
merge-stream@^2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@@ -10282,7 +10252,7 @@ postcss@7.0.2:
source-map "^0.6.1"
supports-color "^5.4.0"
-postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.36, postcss@^7.0.5, postcss@^7.0.6:
+postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6:
version "7.0.39"
resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309"
integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==
@@ -10316,7 +10286,7 @@ prettier-linter-helpers@^1.0.0:
dependencies:
fast-diff "^1.1.2"
-"prettier@^1.18.2 || ^2.0.0", prettier@^2.3.2:
+prettier@^2.3.2:
version "2.6.2"
resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.6.2.tgz#e26d71a18a74c3d0f0597f55f01fb6c06c206032"
integrity sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==
@@ -13222,11 +13192,6 @@ vue-gettext@^2.1.12:
resolved "https://registry.yarnpkg.com/vue-gettext/-/vue-gettext-2.1.12.tgz#444d3220149b17fa4c7caeded3f12d439b698f33"
integrity sha512-7Kw36xtKvARp8ZafQGPK9WR6EM+dhFUikR5f0+etSkiHuvUM3yf1HsRDLYoLLdJ0AMaXxKwgekumzvCk6KX8rA==
-vue-hot-reload-api@^2.3.0:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2"
- integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==
-
vue-inbrowser-compiler-demi@^4.44.23:
version "4.44.23"
resolved "https://registry.yarnpkg.com/vue-inbrowser-compiler-demi/-/vue-inbrowser-compiler-demi-4.44.23.tgz#7410e160db0e0639aa0ba5c3af6a0c02606d4242"
@@ -13275,23 +13240,21 @@ vue-jest@^3.0.4:
tsconfig "^7.0.0"
vue-template-es2015-compiler "^1.6.0"
-vue-loader@^15.9.0:
- version "15.9.8"
- resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-15.9.8.tgz#4b0f602afaf66a996be1e534fb9609dc4ab10e61"
- integrity sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==
+vue-loader@^17.0.0:
+ version "17.0.0"
+ resolved "https://registry.yarnpkg.com/vue-loader/-/vue-loader-17.0.0.tgz#2eaa80aab125b19f00faa794b5bd867b17f85acb"
+ integrity sha512-OWSXjrzIvbF2LtOUmxT3HYgwwubbfFelN8PAP9R9dwpIkj48TVioHhWWSx7W7fk+iF5cgg3CBJRxwTdtLU4Ecg==
dependencies:
- "@vue/component-compiler-utils" "^3.1.0"
- hash-sum "^1.0.2"
- loader-utils "^1.1.0"
- vue-hot-reload-api "^2.3.0"
- vue-style-loader "^4.1.0"
+ chalk "^4.1.0"
+ hash-sum "^2.0.0"
+ loader-utils "^2.0.0"
vue-select@^3.12.0:
version "3.18.3"
resolved "https://registry.yarnpkg.com/vue-select/-/vue-select-3.18.3.tgz#31f188d7181a4a86d07b937303c457efe863c4bc"
integrity sha512-nKmwxEDO4RRoZ6lWkkVE2bpgne7IJSRzSh1pIawLI7dJLZbtJuSgA0xGaLrT0pUp+JYHBDul242PwOBDHi28vg==
-vue-style-loader@^4.1.0, vue-style-loader@^4.1.2:
+vue-style-loader@^4.1.2:
version "4.1.3"
resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35"
integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==
@@ -13368,7 +13331,7 @@ vue-template-compiler@^2.6.12:
de-indent "^1.0.2"
he "^1.1.0"
-vue-template-es2015-compiler@^1.6.0, vue-template-es2015-compiler@^1.9.0:
+vue-template-es2015-compiler@^1.6.0:
version "1.9.1"
resolved "https://registry.yarnpkg.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825"
integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==