]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blobdiff - client/src/sass/primeng-custom.scss
Move abuse-list details into its own component
[github/Chocobozzz/PeerTube.git] / client / src / sass / primeng-custom.scss
index 7ba0111800044192fc7705b6ea4e386dba25cde7..eab2b2dfd3e3c733f3208ee938d53d068d42a7a3 100644 (file)
@@ -8,23 +8,39 @@
   font-family: 'Glyphicons Halflings';
   text-decoration: none !important;
   color: var(--mainForegroundColor) !important;
+  font-display: swap;
+}
+
+my-edit-button,
+my-delete-button,
+my-button {
+  height: max-content;
+}
+
+// focus box-shadow for primeng
+.ui-inputtext:enabled:focus:not(.ui-state-error) {
+  box-shadow: #{$focus-box-shadow-form} var(--mainColorLightest) !important;
 }
 
 // data table customizations
 p-table {
   .ui-table-caption {
     border: none !important;
-    background-color: #fff !important;
+    background-color: var(--mainBackgroundColor) !important;
 
     .caption {
       height: 40px;
       display: flex;
       align-items: center;
+
+      .input-group-text {
+        background-color: transparent;
+      }
     }
   }
 
   th {
-    background-color: #fff !important;
+    background-color: var(--mainBackgroundColor) !important;
     outline: 0;
   }
 
@@ -37,7 +53,7 @@ p-table {
   td {
     padding-left: 15px !important;
 
-    &:not(.action-cell) {
+    &:not(.action-cell):not(.expand-cell) {
       overflow: hidden !important;
       text-overflow: ellipsis !important;
       white-space: nowrap !important;
@@ -62,11 +78,14 @@ p-table {
     tr {
       &:hover {
         background-color: var(--submenuColor) !important;
-      }
 
-      &:not(:hover) {
-        .action-cell * {
-          display: none !important;
+        .action-cell {
+          .dropdown-root,
+          my-edit-button,
+          my-delete-button,
+          my-button {
+            display: inline-block !important;
+          }
         }
       }
 
@@ -122,10 +141,14 @@ p-table {
 
         &.pi-sort-up {
           @extend .glyphicon-triangle-top;
+
+          color: var(--mainForegroundColor) !important;
         }
 
         &.pi-sort-down {
           @extend .glyphicon-triangle-bottom;
+
+          color: var(--mainForegroundColor) !important;
         }
       }
     }
@@ -136,8 +159,25 @@ p-table {
     padding: 0 !important;
     text-align: center;
 
-    my-edit-button + my-delete-button {
+    .dropdown-root,
+    my-edit-button,
+    my-delete-button,
+    my-button {
+      display: none !important;
       margin-left: 5px;
+
+      &.show {
+        display: inline-block !important;
+      }
+
+      // keep displaying on touchscreen
+      @media not all and (hover: hover) and (pointer: fine) {
+        display: inline-block !important;
+      }
+
+      :first-child {
+        margin-left: 0
+      }
     }
   }
 
@@ -153,6 +193,26 @@ p-table {
       justify-content: center;
       align-items: center;
 
+      .ui-dropdown {
+        position: absolute;
+        top: 3px;
+        left: 0;
+
+        &.ui-state-focus {
+          box-shadow: #{$focus-box-shadow-form} var(--mainColorLightest);
+        }
+
+        .ui-dropdown-label {
+          color: var(--inputPlaceholderColor);
+        }
+      }
+
+      .ui-paginator-current {
+        position: absolute;
+        right: 0;
+        color: var(--inputPlaceholderColor);
+      }
+
       .ui-paginator-first,
       .ui-paginator-prev,
       .ui-paginator-next,
@@ -164,6 +224,11 @@ p-table {
         font-size: 13px;
         top: -1px;
 
+        &.focus-within,
+        &:focus {
+          box-shadow: #{$focus-box-shadow-form} var(--mainColorLightest);
+        }
+
         &.ui-state-disabled:hover {
           background-color: #fff !important;
         }
@@ -192,8 +257,15 @@ p-table {
       .ui-paginator-pages {
         height: auto !important;
 
+        .ui-paginator-page {
+          &.focus-within,
+          &:focus {
+            box-shadow: #{$focus-box-shadow-form} var(--mainColorLightest) !important;
+          }
+        }
+
         a {
-          color: #000 !important;
+          color: var(--mainForegroundColor) !important;
           font-weight: $font-semibold !important;
           margin: 0 5px !important;
           outline: 0 !important;
@@ -214,6 +286,96 @@ p-table {
   }
 }
 
+// overflow data table
+@mixin overflow-datatable ($table-min-width, $horizontal-margins, $mobile-paginator: true) {
+  p-table {
+    .ui-table-wrapper {
+      overflow-x: auto;
+      max-width: calc(100vw - #{$horizontal-margins * 2});
+
+      table {
+        min-width: $table-min-width;
+      }
+    }
+
+    @if $mobile-paginator {
+      p-paginator .ui-paginator-bottom {
+        display: block;
+  
+        .ui-paginator-current {
+          position: relative;
+          display: block;
+        }
+  
+        a, .ui-paginator-pages {
+          vertical-align: middle;
+        }
+      }
+    }
+  }
+}
+
+// multiselect customizations
+p-multiselect {
+  .ui-multiselect {
+    border-color: #C6C6C6;
+
+    &:not(.ui-state-disabled) {
+      &:hover {
+        border-color: #C6C6C6;
+      }
+
+      &:focus,
+      &.ui-state-focus {
+        box-shadow: #{$focus-box-shadow-form} var(--mainColorLightest);
+      }
+    }
+  }
+
+  .ui-multiselect-label {
+    font-size: 15px !important;
+    padding: 4px 30px 4px 12px !important;
+
+    $width: 338px;
+    width: $width !important;
+
+    @media screen and (max-width: $width) {
+      width: 100% !important;
+    }
+  }
+
+  .pi.pi-chevron-down{
+    margin-left: 0 !important;
+
+    &::after {
+      @include select-arrow-down;
+
+      right: 0;
+      margin-top: 6px;
+    }
+  }
+
+  .ui-chkbox-icon {
+    //position: absolute !important;
+    width: 18px;
+    height: 18px;
+    //left: 0;
+
+    //&::after {
+    //  left: -2px !important;
+    //}
+  }
+
+  .ui-multiselect-panel .ui-multiselect-items .ui-multiselect-item.ui-state-highlight {
+    background-color: var(--mainColorLighter);
+  }
+
+  .ui-inputtext:enabled:focus:not(.ui-state-error) {
+    border-color: var(--mainColorLighter) !important;
+    box-shadow: none;
+  }
+}
+
 // PrimeNG calendar tweaks
 p-calendar .ui-datepicker {
   a {
@@ -230,6 +392,7 @@ p-calendar .ui-datepicker {
       @extend .glyphicon-chevron-right;
       @include glyphicon-light;
 
+      color: #000 !important;
       text-align: right;
 
       .pi.pi-chevron-right {
@@ -241,6 +404,7 @@ p-calendar .ui-datepicker {
       @extend .glyphicon-chevron-left;
       @include glyphicon-light;
 
+      color: #000 !important;
       text-align: left;
 
       .pi.pi-chevron-left {
@@ -254,15 +418,23 @@ p-calendar .ui-datepicker {
     .pi.pi-chevron-up {
       @extend .glyphicon-chevron-up;
       @include glyphicon-light;
+
+      color: #000 !important;
     }
 
     .pi.pi-chevron-down {
       @extend .glyphicon-chevron-down;
       @include glyphicon-light;
+
+      color: #000 !important;
     }
   }
 }
 
+p-tablecheckbox:hover div .ui-chkbox-box {
+  box-shadow: 0 0 0 .1rem rgba(87, 85, 217, .2);
+}
+
 .ui-chkbox {
 
   &, .ui-chkbox-box {
@@ -302,38 +474,72 @@ p-calendar .ui-datepicker {
 }
 
 p-inputswitch {
+  height: 26px;
+
   .ui-inputswitch-checked .ui-inputswitch-slider {
     background-color: var(--mainColor) !important;
   }
+
+  &.small {
+    height: 20px;
+
+    .ui-inputswitch {
+      width: 2.5em !important;
+      height: 1.45em !important;
+
+      .ui-inputswitch-slider::before {
+        height: 1em !important;
+        width: 1em !important;
+      }
+    }
+
+    .ui-inputswitch-checked .ui-inputswitch-slider::before {
+      transform: translateX(1em) !important;
+    }
+  }
 }
 
 p-toast {
   .ui-toast {
-    // Modal is 10005
-    z-index: 10010 !important;
+    z-index: z(notification) !important;
+
+    .ui-toast-close-icon {
+      font-family: "Glyphicons Halflings";
+      opacity: 0;
+
+      &:after {
+        content: "\e014";
+      }
+    }
+
+    &:hover .ui-toast-close-icon {
+      opacity: .3;
+    }
   }
 
   .ui-toast-message {
     font-family: $main-fonts;
-
-    &.ui-toast-message-success {
-      color: #fff !important;
-      background-color: #8BC34A !important;
+    background-color: var(--mainBackgroundColor) !important;
+    border-radius: 5px;
+    box-sizing: border-box;
+    border: 1px solid #EBEEF5 !important;
+    box-shadow: 0 2px 12px 0 rgba(0, 0 , 0, .1);
+    overflow: hidden;
+
+    &.ui-toast-message-success .glyphicon {
+      color: #8BC34A !important;
     }
 
-    &.ui-toast-message-error {
-      color: #fff !important;
-      background-color: #F44336 !important;
+    &.ui-toast-message-error .glyphicon {
+      color: #F44336 !important;
     }
 
-    &.ui-toast-message-info {
-      color: #fff !important;
-      background-color: #03A9F4 !important;
+    &.ui-toast-message-warn .glyphicon {
+      color: #F1680D !important;
     }
 
-    &.ui-toast-message-info {
-      color: #fff !important;
-      background-color: #03A9F4 !important;
+    &.ui-toast-message-info .glyphicon {
+      color: #03A9F4 !important;
     }
 
     .notification-block {