From 526475ecee2d1dd6fa7e37940b0baf8863d5a5d2 Mon Sep 17 00:00:00 2001
From: Tamara Steinwender <tamara.steinwender@tugraz.at>
Date: Wed, 23 Mar 2022 15:13:14 +0100
Subject: [PATCH] Update chevron to mask

---
 packages/file-handling/src/clipboard.js       | 17 ++--
 .../src/nextcloud-file-picker.js              |  3 +-
 packages/file-handling/src/styles.js          | 78 +++++++++----------
 3 files changed, 46 insertions(+), 52 deletions(-)

diff --git a/packages/file-handling/src/clipboard.js b/packages/file-handling/src/clipboard.js
index dc02b6dc..64f8b47a 100644
--- a/packages/file-handling/src/clipboard.js
+++ b/packages/file-handling/src/clipboard.js
@@ -141,13 +141,12 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
                 responsiveLayoutCollapseStartOpen: false,
                 columnDefaults: {
                     vertAlign: 'middle',
-                    hozAlign: 'center',
+                    hozAlign: 'left',
                     resizable: false,
                 },
                 columns: [
                     {
-                        width: 32,
-                        minWidth: 32,
+                        minWidth: 40,
                         headerSort: false,
                         formatter: 'responsiveCollapse',
                     },
@@ -403,7 +402,7 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
      */
     generateClipboardTable() {
         this.numberOfSelectedFiles = 0;
-        if (this.clipboardFiles.files) {
+        if (this.clipboardFiles.files && this.tabulatorTable) {
             let data = [];
             for (let i = 0; i < this.clipboardFiles.files.length; i++) {
                 data[i] = {
@@ -415,10 +414,12 @@ export class Clipboard extends ScopedElementsMixin(AdapterLitElement) {
                 };
             }
 
-            if (this.tabulatorTable !== null) {
-                this.tabulatorTable.clearData();
-                this.tabulatorTable.setData(data);
-            }
+            this.tabulatorTable.clearData();
+            this.tabulatorTable.setData(data);
+            
+        } else {
+            if (this.tabulatorTable)
+                this.tabulatorTable.setData([]);
         }
         if (this._('#select_all')) {
             this._('#select_all').checked = false;
diff --git a/packages/file-handling/src/nextcloud-file-picker.js b/packages/file-handling/src/nextcloud-file-picker.js
index 024a4f4d..dd8dd585 100644
--- a/packages/file-handling/src/nextcloud-file-picker.js
+++ b/packages/file-handling/src/nextcloud-file-picker.js
@@ -191,7 +191,7 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                 },
                 columns: [
                     {
-                        width: 32,
+                        minWidth: 40,
                         headerSort: false,
                         formatter: 'responsiveCollapse',
                     },
@@ -201,6 +201,7 @@ export class NextcloudFilePicker extends ScopedElementsMixin(DBPLitElement) {
                             '<input type="checkbox" id="select_all" name="select_all" value="select_all">' +
                             '<span class="checkmark" id="select_all_checkmark"></span>' +
                             '</label>',
+                        
                         field: 'type',
                         hozAlign: 'center',
                         width: 50,
diff --git a/packages/file-handling/src/styles.js b/packages/file-handling/src/styles.js
index 31fc8131..e6df1464 100644
--- a/packages/file-handling/src/styles.js
+++ b/packages/file-handling/src/styles.js
@@ -139,8 +139,8 @@ export function getFileHandlingCss() {
         }
 
         .tabulator-row.tabulator-selectable.tabulator-selectable:hover {
-            background-color: var(--dbp-background);
-            color: var(--dbp-content);
+            background-color: var(--dbp-hover-background-color, var(--dbp-content-surface));
+            color: var(--dbp-hover-color, var(--dbp-on-content-surface));
         }
 
         .tabulator-row.tabulator-selectable.tabulator-selected:hover,
@@ -196,19 +196,9 @@ export function getFileHandlingCss() {
         }
 
         .tabulator-row .tabulator-cell .tabulator-responsive-collapse-toggle {
-            height: 32px;
-            width: 32px;
-            background-color: unset;
-            color: var(--dbp-content);
-            font-size: 1.3em;
-            margin-top: -8px;
-        }
-
-        .tabulator-responsive-collapse-toggle-open,
-        .tabulator-responsive-collapse-toggle-close {
-            width: 100%;
             height: 100%;
-            line-height: 37px;
+            width: 100%;
+            background-color: unset;
         }
 
         .tabulator-responsive-collapse-toggle-open,
@@ -216,44 +206,46 @@ export function getFileHandlingCss() {
             content: none;
             visibility: hidden;
         }
+        
 
-        .tabulator-responsive-collapse-toggle-open::after {
-            content: '';
-            background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzJfMV8iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMDAgMTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxwYXRoIGQ9Ik0yOS42LDk3LjZsNDQuMi00NC40YzAuOS0wLjksMS4zLTIuMSwxLjMtMy4zYzAtMS4yLTAuNS0yLjQtMS4zLTMuM0wyOS42LDIuNGMtMS4xLTEuMS0yLjgtMS4xLTMuOSwwCgljLTAuNSwwLjUtMC44LDEuMi0wLjgsMS45YzAsMC43LDAuMywxLjQsMC44LDEuOWw0My42LDQzLjZMMjUuNyw5My43Yy0xLjEsMS4xLTEuMSwyLjgsMCwzLjlDMjYuOCw5OC43LDI4LjUsOTguNywyOS42LDk3LjZ6Ii8+Cjwvc3ZnPgo=');
+        .tabulator-responsive-collapse-toggle-open::after,
+        .tabulator-responsive-collapse-toggle-close::after {
+            content: '\\00a0\\00a0\\00a0\\00a0\\00a0';
+            background-color: var(--dbp-content);
+            -webkit-mask-repeat: no-repeat;
+            mask-repeat: no-repeat;
+            -webkit-mask-position: center -2px;
+            mask-position: center center;
+            margin: 0 0 0 4px;
+            padding: 0 0 0.25% 0;
+            -webkit-mask-size: 100%;
+            mask-size: 100%;
             visibility: visible;
-            position: absolute;
-            width: 100%;
-            height: 100%;
-            line-height: 37px;
-            background-repeat: no-repeat;
-            left: 0px;
-            top: 0px;
-            background-position: center center;
-            background-size: 1rem;
+        }
+        
+        .tabulator-responsive-collapse-toggle-open::after {
+            -webkit-mask-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzJfMV8iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMDAgMTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxwYXRoIGQ9Ik0yOS42LDk3LjZsNDQuMi00NC40YzAuOS0wLjksMS4zLTIuMSwxLjMtMy4zYzAtMS4yLTAuNS0yLjQtMS4zLTMuM0wyOS42LDIuNGMtMS4xLTEuMS0yLjgtMS4xLTMuOSwwCgljLTAuNSwwLjUtMC44LDEuMi0wLjgsMS45YzAsMC43LDAuMywxLjQsMC44LDEuOWw0My42LDQzLjZMMjUuNyw5My43Yy0xLjEsMS4xLTEuMSwyLjgsMCwzLjlDMjYuOCw5OC43LDI4LjUsOTguNywyOS42LDk3LjZ6Ii8+Cjwvc3ZnPgo=');
+            mask-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzJfMV8iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMDAgMTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxwYXRoIGQ9Ik0yOS42LDk3LjZsNDQuMi00NC40YzAuOS0wLjksMS4zLTIuMSwxLjMtMy4zYzAtMS4yLTAuNS0yLjQtMS4zLTMuM0wyOS42LDIuNGMtMS4xLTEuMS0yLjgtMS4xLTMuOSwwCgljLTAuNSwwLjUtMC44LDEuMi0wLjgsMS45YzAsMC43LDAuMywxLjQsMC44LDEuOWw0My42LDQzLjZMMjUuNyw5My43Yy0xLjEsMS4xLTEuMSwyLjgsMCwzLjlDMjYuOCw5OC43LDI4LjUsOTguNywyOS42LDk3LjZ6Ii8+Cjwvc3ZnPgo=');
         }
 
         .tabulator-responsive-collapse-toggle-close::after {
-            content: '';
-            background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzJfMV8iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMDAgMTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxwYXRoIGQ9Ik0yLjQsMjkuNmw0NC40LDQ0LjJjMC45LDAuOSwyLjEsMS4zLDMuMywxLjNjMS4yLDAsMi40LTAuNSwzLjMtMS4zbDQ0LjItNDQuMmMxLjEtMS4xLDEuMS0yLjgsMC0zLjkKCWMtMC41LTAuNS0xLjItMC44LTEuOS0wLjhjLTAuNywwLTEuNCwwLjMtMS45LDAuOEw1MC4xLDY5LjNMNi4zLDI1LjdjLTEuMS0xLjEtMi44LTEuMS0zLjksMEMxLjMsMjYuOCwxLjMsMjguNSwyLjQsMjkuNnoiLz4KPC9zdmc+Cg==');
-            visibility: visible;
-            position: absolute;
-            width: 100%;
-            height: 100%;
-            line-height: 37px;
-            background-repeat: no-repeat;
-            left: 0px;
-            top: 0px;
-            background-position: center center;
-            background-size: 1rem;
+            -webkit-mask-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzJfMV8iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMDAgMTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxwYXRoIGQ9Ik0yLjQsMjkuNmw0NC40LDQ0LjJjMC45LDAuOSwyLjEsMS4zLDMuMywxLjNjMS4yLDAsMi40LTAuNSwzLjMtMS4zbDQ0LjItNDQuMmMxLjEtMS4xLDEuMS0yLjgsMC0zLjkKCWMtMC41LTAuNS0xLjItMC44LTEuOS0wLjhjLTAuNywwLTEuNCwwLjMtMS45LDAuOEw1MC4xLDY5LjNMNi4zLDI1LjdjLTEuMS0xLjEtMi44LTEuMS0zLjksMEMxLjMsMjYuOCwxLjMsMjguNSwyLjQsMjkuNnoiLz4KPC9zdmc+Cg==');
+            mask-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjAuMSwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzJfMV8iIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAxMDAgMTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMDAgMTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxwYXRoIGQ9Ik0yLjQsMjkuNmw0NC40LDQ0LjJjMC45LDAuOSwyLjEsMS4zLDMuMywxLjNjMS4yLDAsMi40LTAuNSwzLjMtMS4zbDQ0LjItNDQuMmMxLjEtMS4xLDEuMS0yLjgsMC0zLjkKCWMtMC41LTAuNS0xLjItMC44LTEuOS0wLjhjLTAuNywwLTEuNCwwLjMtMS45LDAuOEw1MC4xLDY5LjNMNi4zLDI1LjdjLTEuMS0xLjEtMi44LTEuMS0zLjksMEMxLjMsMjYuOCwxLjMsMjguNSwyLjQsMjkuNnoiLz4KPC9zdmc+Cg==');
+            margin-left: 6px;
         }
 
-        .tabulator-row-handle {
-            padding: 0px !important;
+        .tabulator-responsive-collapse-toggle-open:hover::after,
+        .tabulator-responsive-collapse-toggle-close:hover::after {
+            background-color: var(--dbp-hover-color, var(--dbp-content));
         }
 
-        .tabulator-selected .tabulator-responsive-collapse-toggle-open,
-        .tabulator-selected .tabulator-responsive-collapse-toggle-close {
-            color: var(--dbp-on-content-surface);
+        .tabulator-selected .tabulator-responsive-collapse-toggle-open::after,
+        .tabulator-selected .tabulator-responsive-collapse-toggle-close::after {
+            background-color: var(--dbp-hover-color, var(--dbp-on-content-surface));
+        }
+
+        .tabulator-row-handle {
+            padding: 0px !important;
         }
 
         .tabulator .tabulator-header .tabulator-col {
-- 
GitLab