[AAE-5637] Remove SCSS mixins and use CSS variables (#7250)

* remove default-class mixin and use regular import

* cleanup colors

* remove variables file, fix bugs in animations

* proper ordering of imports, core css vars

* cleanup snackbar and material themes

* tags component

* login component styles

* app login

* toolbar component styles

* breadcrumb styles

* dropdown breadcrumb

* app layout component

* demo shell: files component

* aspect list styles

* content metadata styles

* node selector

* name location cell

* node share dialog

* content type dialog

* folder dialog

* document list

* datatable theme

* pagination theme

* viewer theme

* viewer theme

* user-info theme

* container widget

* dynamic table theme

* form widgets

* form theme

* form renderer

* sidebar menu

* header theme

* info drawer theme

* comment list

* commens and layout container

* sidenav layout

* empty content

* error content

* clipboard theme

* search input

* tooltip card and notification history

* card view theme

* remove unused keys

* add permission dialog

* search and permission dialogs

* version comparison and column themes

* upload drag area and cleanup references

* remove the need for content styles

* insight components

* cleanup insights theme

* process components

* process components

* process cloud themes

* cleanup unsed imports

* cleanup mixins

* update build scripts

* test fixes

* remove fdescribe

* css fixes

* update unit tests
This commit is contained in:
Denys Vuika
2021-09-29 13:17:05 +01:00
committed by GitHub
parent 8113b9b10b
commit 6f968f7e4a
335 changed files with 7703 additions and 8339 deletions

View File

@@ -1,17 +0,0 @@
@import './components/card-view-arrayitem/card-view-arrayitem.theme';
@import './components/card-view-dateitem/card-view-dateitem.theme';
@import './components/card-view-textitem/card-view-textitem.theme';
@import './components/card-view-keyvaluepairsitem/card-view-keyvaluepairsitem.theme';
@import './components/card-view/card-view.component.theme';
@import './components/card-view-selectitem/select-filter-input/select-filter-input.theme';
@import '~@mat-datetimepicker/core/datetimepicker/datetimepicker-theme.scss';
@mixin adf-card-view-module-theme($theme) {
@include adf-card-view-dateitem-theme($theme);
@include adf-card-view-textitem-theme($theme);
@include adf-card-view-keyvaluepairsitem-theme($theme);
@include adf-card-view-theme($theme);
@include mat-datetimepicker-theme($theme);
@include adf-card-view-array-item-theme($theme);
@include adf-select-filter-input-theme($theme);
}

View File

@@ -0,0 +1,55 @@
.adf {
&-array-item-icon {
font-size: 16px;
padding-top: 8px;
}
&-array-item-action {
color: var(--adf-card-view-text-color);
}
&-array-item-action:hover, &-array-item-action:focus {
color: var(--theme-text-fg-color);
}
&-card-array-item-default {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
&-array-item-more-chip-container {
&.mat-card {
box-shadow: none;
}
&.mat-card {
max-height: 300px;
overflow-y: auto;
}
.mat-chip {
cursor: pointer;
}
}
&-property-value {
.mat-chip-list {
width: 100%;
padding-top: 6px;
cursor: pointer;
}
.mat-chip {
cursor: pointer;
}
}
&-card-view-array-item-container {
flex-direction: row;
box-sizing: border-box;
display: flex;
place-content: center space-between;
align-items: center;
}
}

View File

@@ -15,14 +15,16 @@
* limitations under the License.
*/
import { Component } from '@angular/core';
import { Component, ViewEncapsulation } from '@angular/core';
import { CardViewArrayItemModel } from '../../models/card-view-arrayitem.model';
import { CardViewUpdateService } from '../../services/card-view-update.service';
import { BaseCardView } from '../base-card-view';
@Component({
selector: 'adf-card-view-arrayitem',
templateUrl: './card-view-arrayitem.component.html'
templateUrl: './card-view-arrayitem.component.html',
styleUrls: ['./card-view-arrayitem.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class CardViewArrayItemComponent extends BaseCardView<CardViewArrayItemModel> {

View File

@@ -1,59 +0,0 @@
@mixin adf-card-view-array-item-theme($theme) {
$foreground: map-get($theme, foreground);
.adf {
&-array-item-icon {
font-size: 16px;
padding-top: 8px;
}
&-array-item-action {
color: mat-color($foreground, text, 0.25);
}
&-array-item-action:hover, &-array-item-action:focus {
color: mat-color($foreground, text);
}
&-card-array-item-default {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: block;
}
&-array-item-more-chip-container {
&.mat-card {
box-shadow: none;
}
&.mat-card {
max-height: 300px;
overflow-y: auto;
}
.mat-chip {
cursor: pointer;
}
}
&-property-value {
.mat-chip-list {
width: 100%;
padding-top: 6px;
cursor: pointer;
}
.mat-chip {
cursor: pointer;
}
}
&-card-view-array-item-container {
flex-direction: row;
box-sizing: border-box;
display: flex;
place-content: center space-between;
align-items: center;
}
}
}

View File

@@ -0,0 +1,75 @@
.adf {
&-invisible-date-input {
height: 2px;
width: 0;
overflow: hidden;
opacity: 0;
border: none;
margin: 0;
padding: 0;
float: right;
}
&-dateitem-chip-list-container.adf-property-field {
margin-bottom: -7px !important;
border-bottom: 0;
cursor: pointer;
.adf-dateitem-editable-controls {
margin-top: 15px;
}
.mat-datetimepicker-toggle {
position: absolute;
right: 0;
top: -20px;
}
}
&-dateitem-editable {
cursor: pointer;
border-bottom: 1px solid var(--adf-card-view-datetime-border-color);
padding-bottom: 6px;
&-controls {
display: flex;
align-items: center;
justify-content: space-between;
button.mat-icon-button {
line-height: 20px;
height: 20px;
width: 20px;
}
mat-icon {
width: 16px;
height: 16px;
opacity: 0.5;
}
&:hover mat-icon {
opacity: 1;
}
.adf-datepicker-toggle {
flex: 1 0 auto;
}
mat-icon.adf-date-reset-icon {
line-height: 10px;
font-size: 16px;
width: 16px;
height: 16px;
position: relative;
top: 4px;
padding-left: 8px;
opacity: 0.3;
}
&:hover mat-icon.adf-date-reset-icon {
opacity: 1;
}
}
}
}

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Component, Input, OnDestroy, OnInit, ViewChild } from '@angular/core';
import { Component, Input, OnDestroy, OnInit, ViewChild, ViewEncapsulation } from '@angular/core';
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
import { DatetimeAdapter, MAT_DATETIME_FORMATS, MatDatetimepicker } from '@mat-datetimepicker/core';
import { MAT_MOMENT_DATETIME_FORMATS, MomentDatetimeAdapter } from '@mat-datetimepicker/moment';
@@ -41,7 +41,9 @@ import { TranslationService } from '../../../services/translation.service';
{ provide: MAT_DATETIME_FORMATS, useValue: MAT_MOMENT_DATETIME_FORMATS }
],
selector: 'adf-card-view-dateitem',
templateUrl: './card-view-dateitem.component.html'
templateUrl: './card-view-dateitem.component.html',
styleUrls: ['./card-view-dateitem.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class CardViewDateItemComponent extends BaseCardView<CardViewDateItemModel> implements OnInit, OnDestroy {

View File

@@ -1,79 +0,0 @@
@mixin adf-card-view-dateitem-theme($theme) {
$foreground: map-get($theme, foreground);
.adf {
&-invisible-date-input {
height: 2px;
width: 0;
overflow: hidden;
opacity: 0;
border: none;
margin: 0;
padding: 0;
float: right;
}
&-dateitem-chip-list-container.adf-property-field {
margin-bottom: -7px !important;
border-bottom: 0;
cursor: pointer;
.adf-dateitem-editable-controls {
margin-top: 15px;
}
.mat-datetimepicker-toggle {
position: absolute;
right: 0;
top: -20px;
}
}
&-dateitem-editable {
cursor: pointer;
border-bottom: 1px solid mat-color($foreground, text, 0.42);
padding-bottom: 6px;
&-controls {
display: flex;
align-items: center;
justify-content: space-between;
button.mat-icon-button {
line-height: 20px;
height: 20px;
width: 20px;
}
mat-icon {
width: 16px;
height: 16px;
opacity: 0.5;
}
&:hover mat-icon {
opacity: 1;
}
.adf-datepicker-toggle {
flex: 1 0 auto;
}
mat-icon.adf-date-reset-icon {
line-height: 10px;
font-size: 16px;
width: 16px;
height: 16px;
position: relative;
top: 4px;
padding-left: 8px;
opacity: 0.3;
}
&:hover mat-icon.adf-date-reset-icon {
opacity: 1;
}
}
}
}
}

View File

@@ -0,0 +1,42 @@
.adf-card-view {
&__key-value-pairs {
&__row {
display: flex;
justify-content: center;
}
&__col {
width: 50%;
.mat-form-field {
width: 100%;
font-size: 14px;
}
.mat-form-field-appearance-legacy .mat-form-field-label {
color: var(--adf-card-view-label-color) !important;
}
}
&__add-btn-container {
display: flex;
justify-content: center;
}
&__add-btn.mat-button {
margin-bottom: 20px;
}
&__read-only {
padding-bottom: 20px;
.mat-table {
box-shadow: none;
}
.mat-header-row, .mat-row {
padding: 0;
}
}
}
}

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Component, Input, OnChanges } from '@angular/core';
import { Component, Input, OnChanges, ViewEncapsulation } from '@angular/core';
import { CardViewUpdateService } from '../../services/card-view-update.service';
import { CardViewKeyValuePairsItemModel } from '../../models/card-view.models';
import { CardViewKeyValuePairsItemType } from '../../interfaces/card-view.interfaces';
@@ -24,7 +24,9 @@ import { BaseCardView } from '../base-card-view';
@Component({
selector: 'adf-card-view-boolitem',
templateUrl: './card-view-keyvaluepairsitem.component.html'
templateUrl: './card-view-keyvaluepairsitem.component.html',
styleUrls: ['./card-view-keyvaluepairsitem.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class CardViewKeyValuePairsItemComponent extends BaseCardView<CardViewKeyValuePairsItemModel> implements OnChanges {

View File

@@ -1,46 +0,0 @@
@mixin adf-card-view-keyvaluepairsitem-theme($theme) {
$foreground: map-get($theme, foreground);
.adf-card-view {
&__key-value-pairs {
&__row {
display: flex;
justify-content: center;
}
&__col {
width: 50%;
.mat-form-field {
width: 100%;
font-size: 14px;
}
.mat-form-field-appearance-legacy .mat-form-field-label {
color: mat-color($foreground, text, 0.4) !important;
}
}
&__add-btn-container {
display: flex;
justify-content: center;
}
&__add-btn.mat-button {
margin-bottom: 20px;
}
&__read-only {
padding-bottom: 20px;
.mat-table {
box-shadow: none;
}
.mat-header-row, .mat-row {
padding: 0;
}
}
}
}
}

View File

@@ -0,0 +1,30 @@
$select-filter-height: 4em !default;
.adf-select-filter-input {
height: $select-filter-height;
display: flex;
.adf-select-filter-input-container {
position: absolute;
top: 0;
width: 100%;
display: flex;
z-index: 100;
font-size: 14px;
color: var(--theme-text-bold-color);
line-height: 3em;
height: $select-filter-height;
padding: 5px 16px 0;
background: var(--theme-card-bg-color);
}
.mat-form-field {
width: 100%;
}
}
.mat-select-panel.adf-select-filter {
transform: none !important;
overflow-x: hidden !important;
max-height: calc(256px + #{$select-filter-height});
}

View File

@@ -24,6 +24,7 @@ import { takeUntil } from 'rxjs/operators';
@Component({
selector: 'adf-select-filter-input',
templateUrl: './select-filter-input.component.html',
styleUrls: ['./select-filter-input.component.scss'],
host: { 'class': 'adf-select-filter-input' },
encapsulation: ViewEncapsulation.None
})

View File

@@ -1,35 +0,0 @@
@mixin adf-select-filter-input-theme($theme) {
$mat-select-panel-max-height: 256px !default;
$select-filter-height: 4em !default;
$background: map-get($theme, background);
$foreground: map-get($theme, foreground);
.adf-select-filter-input {
height: $select-filter-height;
display: flex;
.adf-select-filter-input-container {
position: absolute;
top: 0;
width: 100%;
display: flex;
z-index: 100;
font-size: 14px;
color: mat-color($foreground, text, 0.87);
line-height: 3em;
height: $select-filter-height;
padding: 5px 16px 0;
background: mat-color($background, card);
}
.mat-form-field {
width: 100%;
}
}
.mat-select-panel.adf-select-filter {
transform: none !important;
overflow-x: hidden !important;
max-height: calc(#{$mat-select-panel-max-height} + #{$select-filter-height});
}
}

View File

@@ -0,0 +1,181 @@
.adf {
&-textitem-edit-icon.mat-icon {
font-size: 16px;
width: 16px;
height: 16px;
color: var(--adf-card-view-text-color);
}
&-textitem-action.mat-icon-button {
width: 20px;
height: 20px;
line-height: 20px;
color: var(--adf-card-view-text-color);
}
&-textitem-action:hover,
&-textitem-action:focus {
color: var(--theme-text-fg-color);
}
&-update-icon {
padding-left: 13px;
}
&-textitem-readonly {
cursor: pointer !important;
&:hover .adf-textitem-action,
&:focus .adf-textitem-action {
color: var(--theme-text-fg-color);
}
}
&-textitem-chip-list-container {
margin-bottom: 25px !important;
margin-top: 6px;
.mat-form-field-label {
margin-top: 6px;
}
}
&-textitem-clickable {
cursor: pointer !important;
padding-top: 3px;
.adf-textitem-edit-icon.mat-icon {
line-height: 16px;
}
&:hover .adf-textitem-action {
color: var(--theme-text-fg-color);
}
}
&-textitem-clickable-value {
cursor: pointer !important;
color: var(--theme-primary-color) !important;
}
&-textitem-editable {
&-controls {
display: flex;
align-items: center;
mat-icon:not(.adf-button-disabled):hover {
color: var(--theme-text-fg-color);
cursor: pointer !important;
}
mat-form-field {
width: 100%;
}
input:focus,
textarea:focus {
border: 1px solid var(--theme-accent-color-a200);
}
}
&-error {
font-size: 12px;
padding-top: 4px;
ul {
margin: 0;
padding: 0;
list-style-type: none;
li {
margin: 0;
padding: 0;
}
}
}
}
&-textitem-default-value {
color: var(--theme-text-color);
}
&-textitem-editable .mat-form-field-wrapper {
margin: 0;
padding-bottom: 0;
}
&-textitem-editable .mat-form-field-underline {
display: none;
}
&-textitem-editable .mat-form-field-infix {
padding: 0;
border-top: none;
}
&-textitem-editable .mat-form-field-label-wrapper {
padding-top: 2em;
position: static;
}
&-textitem-editable .mat-form-field-label {
top: 4px;
}
&-textitem-editable .mat-input-element {
font-family: inherit;
position: relative;
padding-top: 6px;
}
&-textitem-editable .mat-input-element:focus {
padding: 5px;
left: -6px;
top: 0;
}
&-textitem-editable input.mat-input-element {
margin-bottom: 2px;
}
&-textitem-editable input.mat-input-element:focus {
margin-bottom: -8px;
}
&-textitem-scroll {
overflow-x: auto;
white-space: nowrap;
display: block;
&::-webkit-scrollbar {
height: 5px;
}
&:hover::-webkit-scrollbar-thumb {
display: block;
background-color: var(--adf-card-view-text-color);
border-radius: 2px;
}
}
&-textitem-multiline {
display: block;
}
&-property-field .adf-property-clear-value {
display: none;
}
&-property-field.adf-card-textitem-field:hover {
.adf-textitem-edit-icon {
display: none;
}
.adf-property-clear-value {
color: var(--adf-card-view-text-color);
display: inline;
}
.adf-property-clear-value:hover {
color: var(--theme-text-fg-color);
}
}
}

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { ChangeDetectorRef, Component, Input, OnChanges, SimpleChanges } from '@angular/core';
import { ChangeDetectorRef, Component, Input, OnChanges, SimpleChanges, ViewEncapsulation } from '@angular/core';
import { CardViewTextItemModel } from '../../models/card-view-textitem.model';
import { CardViewUpdateService } from '../../services/card-view-update.service';
import { BaseCardView } from '../base-card-view';
@@ -38,7 +38,9 @@ const templateTypes = {
@Component({
selector: 'adf-card-view-textitem',
templateUrl: './card-view-textitem.component.html'
templateUrl: './card-view-textitem.component.html',
styleUrls: ['./card-view-textitem.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class CardViewTextItemComponent extends BaseCardView<CardViewTextItemModel> implements OnChanges {

View File

@@ -1,188 +0,0 @@
@mixin adf-card-view-textitem-theme($theme) {
$primary: map-get($theme, primary);
$accent: map-get($theme, accent);
$foreground: map-get($theme, foreground);
$outline: 1px solid mat-color($accent, A200) !default;
.adf {
&-textitem-edit-icon.mat-icon {
font-size: 16px;
width: 16px;
height: 16px;
color: mat-color($foreground, text, 0.25);
}
&-textitem-action.mat-icon-button {
width: 20px;
height: 20px;
line-height: 20px;
color: mat-color($foreground, text, 0.25);
}
&-textitem-action:hover,
&-textitem-action:focus {
color: mat-color($foreground, text);
}
&-update-icon {
padding-left: 13px;
}
&-textitem-readonly {
cursor: pointer !important;
&:hover .adf-textitem-action,
&:focus .adf-textitem-action {
color: mat-color($foreground, text);
}
}
&-textitem-chip-list-container {
margin-bottom: 25px !important;
margin-top: 6px;
.mat-form-field-label {
margin-top: 6px;
}
}
&-textitem-clickable {
cursor: pointer !important;
padding-top: 3px;
.adf-textitem-edit-icon.mat-icon {
line-height: 16px;
}
&:hover .adf-textitem-action {
color: mat-color($foreground, text);
}
}
&-textitem-clickable-value {
cursor: pointer !important;
color: mat-color($primary) !important;
}
&-textitem-editable {
&-controls {
display: flex;
align-items: center;
mat-icon:not(.adf-button-disabled):hover {
color: mat-color($foreground, text);
cursor: pointer !important;
}
mat-form-field {
width: 100%;
}
input:focus,
textarea:focus {
border: $outline;
}
}
&-error {
font-size: 12px;
padding-top: 4px;
ul {
margin: 0;
padding: 0;
list-style-type: none;
li {
margin: 0;
padding: 0;
}
}
}
}
&-textitem-default-value {
color: mat-color($foreground, text, 0.54);
}
&-textitem-editable .mat-form-field-wrapper {
margin: 0;
padding-bottom: 0;
}
&-textitem-editable .mat-form-field-underline {
display: none;
}
&-textitem-editable .mat-form-field-infix {
padding: 0;
border-top: none;
}
&-textitem-editable .mat-form-field-label-wrapper {
padding-top: 2em;
position: static;
}
&-textitem-editable .mat-form-field-label {
top: 4px;
}
&-textitem-editable .mat-input-element {
font-family: inherit;
position: relative;
padding-top: 6px;
}
&-textitem-editable .mat-input-element:focus {
padding: 5px;
left: -6px;
top: 0;
}
&-textitem-editable input.mat-input-element {
margin-bottom: 2px;
}
&-textitem-editable input.mat-input-element:focus {
margin-bottom: -8px;
}
&-textitem-scroll {
overflow-x: auto;
white-space: nowrap;
display: block;
&::-webkit-scrollbar {
height: 5px;
}
&:hover::-webkit-scrollbar-thumb {
display: block;
background-color: mat-color($foreground, text, 0.25);
border-radius: 2px;
}
}
&-textitem-multiline {
display: block;
}
&-property-field .adf-property-clear-value {
display: none;
}
&-property-field.adf-card-textitem-field:hover {
.adf-textitem-edit-icon {
display: none;
}
.adf-property-clear-value {
color: mat-color($foreground, text, 0.25);
display: inline;
}
.adf-property-clear-value:hover {
color: mat-color($foreground, text, 1);
}
}
}
}

View File

@@ -0,0 +1,46 @@
.adf-property-list {
.adf-property {
margin-bottom: 20px;
.adf-property-value-padding-top {
margin-top: 6px;
}
.adf-property-field {
width: 100%;
margin-bottom: -25px;
.mat-form-field-infix {
border-top-width: 0;
}
.mat-form-field-label {
margin-top: 6px;
}
.adf-property-read-only {
.mat-form-field-underline {
display: none;
}
}
}
.adf-property-read-only {
.mat-form-field-underline {
display: none;
}
}
.adf-property-label {
font-size: 12px;
color: var(--theme-text-color);
word-wrap: break-word;
}
.adf-property-value,
.mat-form-field-label {
font-size: 14px;
color: var(--theme-text-bold-color);
}
}
}

View File

@@ -1,50 +0,0 @@
@mixin adf-card-view-theme($theme) {
$foreground: map-get($theme, foreground);
.adf-property-list {
.adf-property {
margin-bottom: 20px;
.adf-property-value-padding-top {
margin-top: 6px;
}
.adf-property-field {
width: 100%;
margin-bottom: -25px;
.mat-form-field-infix {
border-top-width: 0;
}
.mat-form-field-label {
margin-top: 6px;
}
.adf-property-read-only {
.mat-form-field-underline {
display: none;
}
}
}
.adf-property-read-only {
.mat-form-field-underline {
display: none;
}
}
.adf-property-label {
font-size: 12px;
color: mat-color($foreground, text, 0.54);
word-wrap: break-word;
}
.adf-property-value,
.mat-form-field-label {
font-size: 14px;
color: mat-color($foreground, text, 0.87);
}
}
}
}

View File

@@ -15,13 +15,15 @@
* limitations under the License.
*/
import { Component, Input } from '@angular/core';
import { Component, Input, ViewEncapsulation } from '@angular/core';
import { CardViewItem } from '../../interfaces/card-view-item.interface';
import { DEFAULT_SEPARATOR } from '../card-view-textitem/card-view-textitem.component';
@Component({
selector: 'adf-card-view',
templateUrl: './card-view.component.html'
templateUrl: './card-view.component.html',
styleUrls: ['./card-view.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class CardViewComponent {
/** (**required**) Items to show in the card view. */

View File

@@ -1,24 +1,19 @@
@mixin adf-clipboard-theme($theme) {
$primary: map-get($theme, primary);
$config: mat-typography-config();
.adf-copy-tooltip {
position: absolute;
background: var(--theme-primary-color);
color: var(--theme-primary-color-default-contrast) !important;
font-size: var(--theme-caption-font-size);
padding: 2px 5px;
border-radius: 5px;
bottom: 93%;
left:0;
z-index: 1001;
min-height: 20px;
}
.adf-sticky-header {
.adf-copy-tooltip {
position: absolute;
background: mat-color($primary);
color: mat-color($primary, default-contrast) !important;
font-size: mat-font-size($config, caption);
padding: 2px 5px;
border-radius: 5px;
bottom: 93%;
left:0;
z-index: 1001;
min-height: 20px;
}
.adf-sticky-header {
.adf-copy-tooltip {
top:85% !important;
bottom:0 !important;
}
top:85% !important;
bottom:0 !important;
}
}

View File

@@ -0,0 +1,95 @@
.adf-is-selected {
background: var(--adf-comment-list-primary-color);
}
.adf {
&-comment-img-container {
float: left;
width: 40px;
height: 100%;
display: flex;
align-self: flex-start;
padding-top: 18px;
}
&-comment-list-item {
/* stylelint-disable */
white-space: initial;
/* stylelint-enable */
display: table-row-group;
padding-top: 12px;
overflow: hidden;
height: 100% !important;
transition: background 0.8s;
background-position: center;
&:hover {
background: var(--adf-comment-list-primary-color)
radial-gradient(circle, transparent 1%, var(--adf-comment-list-primary-color) 1%)
center/15000%;
}
&:active {
background-color: var(--adf-comment-list-ripple-color);
background-size: 100%;
transition: background 0s;
}
}
&-comment-user-icon {
padding: 10px 5px;
width: 30px;
background-color: var(--theme-primary-color);
color: var(--theme-primary-color-default-contrast);
border-radius: 50%;
font-size: 16px;
text-align: center;
height: 20px;
background-size: cover;
}
&-comment-user-name {
float: left;
width: calc(100% - 10%);
padding: 2px 10px;
font-weight: 600;
font-size: 14px;
}
&-comment-message {
float: left;
width: calc(100% - 10px);
padding: 2px 10px;
font-style: italic;
/* stylelint-disable */
white-space: initial !important;
/* stylelint-enable */
font-size: 14px;
letter-spacing: -0.2px;
line-height: 1.43;
color: var(--theme-foreground-text-color);
}
&-comment-message-time {
float: left;
width: calc(100% - 10%);
padding: 2px 10px;
font-size: 12px !important;
color: var(--theme-foreground-text-color);
}
&-comment-contents {
width: calc(100% - 10px);
padding-top: 12px;
padding-bottom: 12px;
padding-left: 5px;
}
&-people-img {
border-radius: 90%;
width: 40px;
height: 40px;
vertical-align: middle;
}
}

View File

@@ -26,6 +26,7 @@ import { takeUntil } from 'rxjs/operators';
@Component({
selector: 'adf-comment-list',
templateUrl: './comment-list.component.html',
styleUrls: ['./comment-list.component.scss'],
encapsulation: ViewEncapsulation.None
})

View File

@@ -1,102 +0,0 @@
@mixin adf-task-list-comment-list-theme($theme) {
$primary: map-get($theme, primary);
$foreground: map-get($theme, foreground);
$primaryColor: mat-color($primary, 100);
$rippleColor: mat-color($primary, 300);
.adf-is-selected {
background: mat-color($primary, 100);
}
.adf {
&-comment-img-container {
float: left;
width: 40px;
height: 100%;
display: flex;
align-self: flex-start;
padding-top: 18px;
}
&-comment-list-item {
/* stylelint-disable */
white-space: initial;
/* stylelint-enable */
display: table-row-group;
padding-top: 12px;
overflow: hidden;
height: 100% !important;
transition: background 0.8s;
background-position: center;
&:hover {
background: $primaryColor
radial-gradient(circle, transparent 1%, $primaryColor 1%)
center/15000%;
}
&:active {
background-color: $rippleColor;
background-size: 100%;
transition: background 0s;
}
}
&-comment-user-icon {
padding: 10px 5px;
width: 30px;
background-color: mat-color($primary);
color: mat-color($primary, default-contrast);
border-radius: 50%;
font-size: 16px;
text-align: center;
height: 20px;
background-size: cover;
}
&-comment-user-name {
float: left;
width: calc(100% - 10%);
padding: 2px 10px;
font-weight: 600;
font-size: 14px;
}
&-comment-message {
float: left;
width: calc(100% - 10px);
padding: 2px 10px;
font-style: italic;
/* stylelint-disable */
white-space: initial !important;
/* stylelint-enable */
font-size: 14px;
letter-spacing: -0.2px;
line-height: 1.43;
color: mat-color($foreground, text, 0.72);
}
&-comment-message-time {
float: left;
width: calc(100% - 10%);
padding: 2px 10px;
font-size: 12px !important;
color: mat-color($foreground, text, 0.72);
}
&-comment-contents {
width: calc(100% - 10px);
padding-top: 12px;
padding-bottom: 12px;
padding-left: 5px;
}
&-people-img {
border-radius: 90%;
width: 40px;
height: 40px;
vertical-align: middle;
}
}
}

View File

@@ -0,0 +1,39 @@
.adf-comments-container {
height: 100%;
width: 100%;
overflow: auto;
}
.adf-comments-header {
padding: 10px 20px;
font-size: 14px;
font-weight: 600;
border-bottom: 1px solid var(--theme-fg-divider);
}
.adf-comments-input-container {
width: calc(100% - 30px);
padding: 8px 15px 0;
border-bottom: 1px solid var(--theme-fg-divider);
textarea {
resize: vertical;
}
}
.adf-comments-input-actions {
display: flex;
justify-content: flex-end;
margin-bottom: 10px;
}
.adf-full-width {
width: 100%;
}
adf-comment-list {
float: left;
overflow: auto;
height: calc(100% - 101px);
width: 100%;
}

View File

@@ -18,13 +18,15 @@
import { CommentProcessService } from '../services/comment-process.service';
import { CommentContentService } from '../services/comment-content.service';
import { CommentModel } from '../models/comment.model';
import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';
import { Component, EventEmitter, Input, OnChanges, Output, SimpleChanges, ViewEncapsulation } from '@angular/core';
import { Observable, Observer } from 'rxjs';
import { share } from 'rxjs/operators';
@Component({
selector: 'adf-comments',
templateUrl: './comments.component.html'
templateUrl: './comments.component.html',
styleUrls: ['./comments.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class CommentsComponent implements OnChanges {

View File

@@ -1,45 +0,0 @@
@mixin adf-task-list-comment-theme($theme) {
$foreground: map-get($theme, foreground);
$header-border: 1px solid mat-color($foreground, divider);
.adf-comments-container {
height: 100%;
width: 100%;
overflow: auto;
}
.adf-comments-header {
padding: 10px 20px;
font-size: 14px;
font-weight: 600;
border-bottom: $header-border;
}
.adf-comments-input-container {
width: calc(100% - 30px);
padding: 8px 15px 0;
border-bottom: $header-border;
textarea {
resize: vertical;
}
}
.adf-comments-input-actions {
display: flex;
justify-content: flex-end;
margin-bottom: 10px;
}
.adf-full-width {
width: 100%;
}
adf-comment-list {
float: left;
overflow: auto;
height: calc(100% - 101px);
width: 100%;
}
}

View File

@@ -0,0 +1,676 @@
@import '~@angular/material/theming';
@import '../../../styles/mixins';
$data-table-header-font-size: 12px !default;
$data-table-header-sort-icon-size: 16px !default;
$data-table-row-height: 56px !default;
$data-table-column-spacing: 36px !default;
$data-table-column-padding: $data-table-column-spacing / 2;
$data-table-card-padding: 24px !default;
$data-table-cell-top: $data-table-card-padding / 2;
$data-table-thumbnail-width: 50px !default;
$data-table-cell-min-width: 50px !default;
$data-table-cell-min-width--no-grow: 100px !default;
$data-table-cell-min-width--fileSize: $data-table-cell-min-width !default;
.adf-datatable {
overflow-y: scroll;
height: 100%;
}
.adf-datatable-card {
border: 1px solid var(--theme-fg-divider);
.adf-datatable-body {
flex-flow: row wrap;
display: flex;
width: 100%;
justify-content: space-evenly;
align-content: flex-start;
align-items: flex-start;
.adf-datatable-row {
transition: all 0.3s ease;
position: relative;
display: flex;
flex-direction: column;
flex: 0 1 24%;
width: 288px !important;
max-width: 288px !important;
min-width: 288px !important;
height: 200px;
overflow: hidden !important;
margin: 6px;
padding: 15px;
@include mat-elevation-transition;
@include mat-overridable-elevation(2);
}
.adf-datatable-row-empty-card {
height: 0 !important;
padding-top: 0;
padding-bottom: 0;
margin-top: 0;
margin-bottom: 0;
}
.adf-is-selected {
background: var(--adf-datatable-selected-color);
padding-bottom: 31px;
}
.adf-datatable-card-permission {
width: 100%;
min-height: 250px;
.adf-datatable-cell {
height: 240px !important;
}
}
.adf-datatable-card-loading {
width: 100%;
min-height: 250px;
.adf-datatable-cell {
height: 240px !important;
}
}
.adf-datatable-card-empty {
width: 100%;
min-height: 380px;
.adf-datatable-cell {
height: 370px !important;
}
}
.adf-datatable-cell--image {
margin-left: 8px;
}
.adf-datatable-cell {
text-align: left;
flex: 0 1 24%;
height: 136px !important;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
outline: none;
&::before {
margin-left: 10px;
text-align: left;
content: attr(title);
color: var(--theme-text-color);
float: left;
width: 140px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.adf-datatable-cell-value {
display: block;
overflow: hidden;
text-overflow: ellipsis;
}
}
.adf-datatable__actions-cell {
position: absolute;
height: 42px !important;
width: 42px !important;
right: 0;
top: 4px;
}
.adf-datatable-row:not(:hover) .adf-datatable-hide-actions-without-hover {
display: none;
}
.adf-image-table-cell {
margin: 8px;
padding: 4px;
overflow: visible;
border-bottom: 1px solid var(--theme-fg-divider);
.adf-datatable-cell-container {
float: left;
width: 42px;
}
&::after {
margin: 2px;
content: attr(filename);
float: left;
width: 140px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
}
.adf-datatable-checkbox {
margin: 8px;
}
}
.adf-datatable-header {
margin-right: 18px;
float: right;
}
}
.adf-datatable-list {
display: flex;
flex-direction: column;
background-color: var(--theme-card-bg-color);
border: 1px solid var(--theme-border-color);
box-sizing: border-box;
overflow-x: auto;
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
.adf-datatable-center-size-column-ie {
padding-top: 17px;
}
.adf-datatable-center-actions-column-ie {
padding-top: 7px !important;
}
.adf-datatable-center-date-column-ie {
position: relative !important;
.adf-datatable-cell-value {
width: 100%;
}
}
.adf-datatable-center-img-ie {
padding:0;
min-width: 0;
width: 24px;
height: 56px;
}
}
.adf-datatable-header {
display: flex;
flex-direction: column;
width: fit-content;
min-width: 100%;
box-sizing: border-box;
}
.adf-datatable-cell {
color: var(--theme-text-fg-color);
}
.adf-datatable-row {
&:hover, &:focus {
background-color: var(--theme-bg-hover-color);
}
&:focus {
outline-offset: -1px;
outline: 1px solid var(--theme-accent-color-a200);
}
.adf-cell-value, .adf-datatable-cell-header {
&:focus {
outline-offset: -1px;
outline: 1px solid var(--theme-accent-color-a200);
}
}
}
.adf-datatable-body {
display: flex;
flex-direction: column;
background-color: inherit;
width: fit-content;
min-width: 100%;
.adf-datatable-row {
@include material-animation-default(0.28s);
transition-property: background-color;
border-top: 1px solid var(--theme-border-color);
min-height: $data-table-row-height;
cursor: pointer;
@include adf-no-select;
&.adf-is-selected, &.adf-is-selected:hover {
background-color: var(--theme-selected-button-bg-color);
}
&:last-child {
border-bottom: 1px solid var(--theme-border-color);
}
}
}
.adf-datatable-row {
display: flex;
align-items: center;
padding-left: 15px;
padding-right: 15px;
.adf-datatable-checkbox {
max-width: $data-table-thumbnail-width;
width: $data-table-thumbnail-width;
}
/* query for Microsoft IE 11*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
.adf-datatable-checkbox {
padding-top: 15px;
}
}
}
.adf-datatable-cell, .adf-datatable-cell-header {
text-align: left;
box-sizing: border-box;
min-width: $data-table-cell-min-width;
&--text {
text-align: left;
position: relative;
}
&--date {
text-align: left;
}
&--number {
text-align: right;
}
&--image,
&--icon {
padding-left: 24px;
padding-right: 24px;
width: $data-table-thumbnail-width;
min-width: $data-table-thumbnail-width;
text-align: left;
}
&--fileSize {
min-width: $data-table-cell-min-width--fileSize;
}
}
.adf-datatable-cell-header {
@include adf-no-select;
cursor: pointer;
position: relative;
vertical-align: bottom;
text-overflow: ellipsis;
font-weight: bold;
line-height: 24px;
letter-spacing: 0;
min-height: $data-table-row-height !important;
font-size: $data-table-header-font-size;
color: var(--theme-text-fg-color);
padding-bottom: 8px;
box-sizing: border-box;
padding-top: 12px !important;
&.adf-sortable {
@include adf-no-select;
&:hover {
cursor: pointer;
}
display: flex;
align-items: center;
}
&.adf-datatable__header--sorted-asc,
&.adf-datatable__header--sorted-desc {
color: var(--theme-text-fg-color);
&::before {
@include typo-icon;
font-size: $data-table-header-sort-icon-size;
content: '\e5d8';
left: 5px;
right: 5px;
position: relative;
vertical-align: sub;
}
}
&.adf-datatable__header--sorted-desc::before {
content: '\e5db';
}
&.adf-datatable-cell--fileSize.adf-datatable__header--sorted-asc::before,
&.adf-datatable-cell--fileSize.adf-datatable__header--sorted-desc::before {
left: -3px;
right: -3px;
}
&.adf-datatable-checkbox {
display: flex;
align-items: center;
}
}
.adf-datatable-cell-header.adf-expand-cell-1, .adf-datatable-cell.adf-expand-cell-1 {
flex-grow: 1;
}
.adf-datatable-cell-header.adf-expand-cell-2, .adf-datatable-cell.adf-expand-cell-2 {
flex-grow: 2;
}
.adf-datatable-cell-header.adf-expand-cell-3, .adf-datatable-cell.adf-expand-cell-3 {
flex-grow: 3;
}
.adf-datatable-cell-header.adf-expand-cell-4, .adf-datatable-cell.adf-expand-cell-4 {
flex-grow: 4;
}
.adf-datatable-cell-header.adf-expand-cell-5, .adf-datatable-cell.adf-expand-cell-5 {
flex-grow: 5;
}
.adf-datatable-cell-header.adf-no-grow-cell, .adf-datatable-cell.adf-no-grow-cell {
flex-grow: 0;
min-width: $data-table-cell-min-width--no-grow;
}
.adf-datatable-cell, .adf-datatable-cell-header {
flex: 1;
padding: 0;
align-items: center;
display: flex;
min-height: inherit;
.adf-datatable-cell-container {
overflow: hidden;
min-height: inherit;
align-items: center;
display: flex;
width: 100%;
}
.adf-datatable-cell-value {
word-break: break-word;
padding: 10px;
display: block;
@media screen and (-ms-high-contrast: active),
screen and (-ms-high-contrast: none) {
padding: 17px 10px 10px;
}
}
&--fileSize .adf-datatable-cell-value {
padding: 0 10px 0 0;
}
}
.adf-cell-value {
display: flex;
min-height: inherit;
align-items: center;
word-break: break-all;
width: 100%;
}
.adf-datatable__actions-cell, .adf-datatable-cell--image {
max-width: $data-table-thumbnail-width;
display: flex;
}
.adf-datatable-row:not(:hover) .adf-datatable-hide-actions-without-hover {
display: none;
}
.adf-datatable-cell--image {
max-width: $data-table-thumbnail-width;
}
.adf-location-cell {
a {
text-decoration: none;
color: var(--theme-text-fg-color);
&:hover {
color: var(--adf-datatable-cell-link-hover-color);
text-decoration: underline;
}
}
}
/* [Accessibility] For screen reader only */
.adf-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.adf-is-selected {
background: var(--adf-datatable-selected-color);
}
.adf-datatable-link {
text-decoration: none;
color: var(--theme-text-fg-color);
&:hover {
color: var(--adf-datatable-cell-link-hover-color);
text-decoration: underline;
}
}
.adf-dynamic-column .adf-datatable-link:hover {
text-decoration: none;
.adf-datatable-cell-value {
text-decoration: underline;
}
}
.adf-datatable-cell,
.adf-datatable-cell-header {
.adf-datatable-link .adf-datatable-cell-value {
padding: 0 10px;
}
}
.adf-ellipsis-cell {
position: sticky;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
padding: 0 4px;
&.adf-datatable-cell-header,
.adf-datatable-content-cell {
max-width: calc(100% - 0.1px);
overflow: hidden;
text-overflow: ellipsis;
.adf-datatable-cell-value {
overflow: hidden;
text-overflow: ellipsis;
}
}
.adf-datatable-content-cell {
overflow: unset;
position: absolute;
}
/* query for Microsoft IE 11*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
.adf-cell-value {
top: 100%;
}
}
/* cell stretching content */
& > div::after {
content: attr(title);
overflow: hidden;
height: 0;
display: block;
}
}
/* Empty folder */
.adf-no-content-container {
padding: 0 !important;
border: none !important;
width: 100%;
justify-content: center;
& > img {
width: 100%;
}
}
/* Loading folder */
.adf-loading-content-container {
padding: 0 !important;
width: 100%;
& > img {
width: 100%;
}
}
.adf-no-permission {
&__row:hover {
cursor: default;
background-color: inherit;
}
&__cell {
padding: 0 !important;
}
}
/* Utils */
.adf-hidden {
display: none;
}
/* mobile phone */
@media all and (max-width: 768px) {
.adf-desktop-only {
display: none !important;
}
}
@media (max-device-width: 768px) {
.adf-desktop-only {
display: none !important;
}
}
}
/* [Accessibility] Material checkbox labels */
.adf-checkbox-sr-only .mat-checkbox-label {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.adf-sticky-header {
border-top: 0;
height: 100%;
.adf-datatable-header {
display: block;
margin-right: 0;
border-top: 1px solid var(--theme-border-color);
border-bottom: 1px solid var(--theme-border-color);
}
.adf-datatable-body {
display: block;
flex: 1;
overflow-y: scroll;
margin-top: -1px;
}
}
.adf-upload__dragging {
& > div {
border-top: 1px dashed var(--theme-accent-color-a200) !important;
border-bottom: 1px dashed var(--theme-accent-color-a200) !important;
&:first-child {
border-left: 1px dashed var(--theme-accent-color-a200);
}
&:last-child {
border-right: 1px dashed var(--theme-accent-color-a200) !important;
}
}
}
.adf-datatable--empty {
@include flex-column;
justify-content: center;
align-items: center;
height: inherit;
.adf-datatable-body {
.adf-datatable-row {
height: 100%;
background-color: var(--theme-card-bg-color);
border: none !important;
&:hover, &:focus {
background-color: unset;
cursor: default;
}
}
}
}
.adf-datatable--empty--header-visible {
.adf-datatable-header {
border: 1px solid var(--theme-border-color);
}
.adf-datatable-body {
@include flex-column;
justify-content: center;
align-items: center;
.adf-datatable-row {
height: 100%;
background-color: var(--theme-card-bg-color);
border: none !important;
&:hover, &:focus {
background-color: unset;
cursor: default;
}
}
}
}

View File

@@ -53,6 +53,7 @@ export enum ShowHeaderMode {
@Component({
selector: 'adf-datatable',
templateUrl: './datatable.component.html',
styleUrls: ['./datatable.component.scss'],
encapsulation: ViewEncapsulation.None,
host: { class: 'adf-datatable' }
})

View File

@@ -1,695 +0,0 @@
@mixin adf-datatable-theme($theme) {
$foreground: map-get($theme, foreground);
$background: map-get($theme, background);
$primary: map-get($theme, primary);
$accent: map-get($theme, accent);
$data-table-font-size: 14px !default;
$data-table-header-font-size: 12px !default;
$data-table-header-sort-icon-size: 16px !default;
$data-table-header-color: mat-color($foreground, text) !default;
$data-table-header-sorted-color: mat-color($foreground, text) !default;
$data-table-header-sorted-icon-hover-color: mat-color($foreground, disabled-text) !default;
$data-table-cell-text-color: mat-color($foreground, text) !default;
$data-table-cell-link-color: mat-color($foreground, text) !default;
$data-table-cell-link-hover-color: mat-color($accent, 500) !default;
$data-table-outline: 1px solid mat-color($accent, A200) !default;
$data-table-divider-color: mat-color($foreground, text, 0.07) !default;
$data-table-hover-color: mat-color($background, 'hover') !default;
$data-table-selection-color: mat-color($background, 'selected-button') !default;
$data-table-dividers: 1px solid $data-table-divider-color !default;
$data-table-dividers-edge-row: $data-table-dividers !default;
$data-table-dividers-wrapper-border: $data-table-dividers !default;
$data-table-row-height: 56px !default;
$data-table-column-spacing: 36px !default;
$data-table-column-padding: $data-table-column-spacing / 2;
$data-table-card-padding: 24px !default;
$data-table-cell-top: $data-table-card-padding / 2;
$data-table-drag-border: 1px dashed mat-color($accent, A200);
$data-table-thumbnail-width: 50px !default;
$data-table-cell-min-width: 50px !default;
$data-table-cell-min-width--no-grow: 100px !default;
$data-table-cell-min-width--fileSize: $data-table-cell-min-width !default;
.adf-datatable {
overflow-y: scroll;
height: 100%;
}
.adf-datatable-card {
border: 1px solid mat-color($foreground, divider);
.adf-datatable-body {
flex-flow: row wrap;
display: flex;
width: 100%;
justify-content: space-evenly;
align-content: flex-start;
align-items: flex-start;
.adf-datatable-row {
transition: all 0.3s ease;
position: relative;
display: flex;
flex-direction: column;
flex: 0 1 24%;
width: 288px !important;
max-width: 288px !important;
min-width: 288px !important;
height: 200px;
overflow: hidden !important;
margin: 6px;
padding: 15px;
@include mat-elevation-transition;
@include mat-overridable-elevation(2);
}
.adf-datatable-row-empty-card {
height: 0 !important;
padding-top: 0;
padding-bottom: 0;
margin-top: 0;
margin-bottom: 0;
}
.adf-is-selected {
background: mat-color($primary, 100);
padding-bottom: 31px;
}
.adf-datatable-card-permission {
width: 100%;
min-height: 250px;
.adf-datatable-cell {
height: 240px !important;
}
}
.adf-datatable-card-loading {
width: 100%;
min-height: 250px;
.adf-datatable-cell {
height: 240px !important;
}
}
.adf-datatable-card-empty {
width: 100%;
min-height: 380px;
.adf-datatable-cell {
height: 370px !important;
}
}
.adf-datatable-cell--image {
margin-left: 8px;
}
.adf-datatable-cell {
text-align: left;
flex: 0 1 24%;
height: 136px !important;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
outline: none;
&::before {
margin-left: 10px;
text-align: left;
content: attr(title);
color: mat-color($foreground, text, 0.4);
float: left;
width: 140px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.adf-datatable-cell-value {
display: block;
overflow: hidden;
text-overflow: ellipsis;
}
}
.adf-datatable__actions-cell {
position: absolute;
height: 42px !important;
width: 42px !important;
right: 0;
top: 4px;
}
.adf-datatable-row:not(:hover) .adf-datatable-hide-actions-without-hover {
display: none;
}
.adf-image-table-cell {
margin: 8px;
padding: 4px;
overflow: visible;
border-bottom: 1px solid mat-color($foreground, divider);
.adf-datatable-cell-container {
float: left;
width: 42px;
}
&::after {
margin: 2px;
content: attr(filename);
float: left;
width: 140px;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
}
.adf-datatable-checkbox {
margin: 8px;
}
}
.adf-datatable-header {
margin-right: 18px;
float: right;
}
}
.adf-datatable-list {
display: flex;
flex-direction: column;
background-color: mat-color($background, card);
border: $data-table-dividers-wrapper-border;
box-sizing: border-box;
overflow-x: auto;
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
.adf-datatable-center-size-column-ie {
padding-top: 17px;
}
.adf-datatable-center-actions-column-ie {
padding-top: 7px !important;
}
.adf-datatable-center-date-column-ie {
position: relative !important;
.adf-datatable-cell-value {
width: 100%;
}
}
.adf-datatable-center-img-ie {
padding:0;
min-width: 0;
width: 24px;
height: 56px;
}
}
.adf-datatable-header {
display: flex;
flex-direction: column;
width: fit-content;
min-width: 100%;
box-sizing: border-box;
}
.adf-datatable-cell {
color: $data-table-cell-text-color;
}
.adf-datatable-row {
&:hover, &:focus {
background-color: $data-table-hover-color;
}
&:focus {
outline-offset: -1px;
outline: $data-table-outline;
}
.adf-cell-value, .adf-datatable-cell-header {
&:focus {
outline-offset: -1px;
outline: $data-table-outline;
}
}
}
.adf-datatable-body {
display: flex;
flex-direction: column;
background-color: inherit;
width: fit-content;
min-width: 100%;
.adf-datatable-row {
@include material-animation-default(0.28s);
transition-property: background-color;
border-top: $data-table-dividers;
min-height: $data-table-row-height;
cursor: pointer;
@include adf-no-select;
&.adf-is-selected, &.adf-is-selected:hover {
background-color: $data-table-selection-color;
}
&:last-child {
border-bottom: $data-table-dividers-edge-row;
}
}
}
.adf-datatable-row {
display: flex;
align-items: center;
padding-left: 15px;
padding-right: 15px;
.adf-datatable-checkbox {
max-width: $data-table-thumbnail-width;
width: $data-table-thumbnail-width;
}
/* query for Microsoft IE 11*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
.adf-datatable-checkbox {
padding-top: 15px;
}
}
}
.adf-datatable-cell, .adf-datatable-cell-header {
text-align: left;
box-sizing: border-box;
min-width: $data-table-cell-min-width;
&--text {
text-align: left;
position: relative;
}
&--date {
text-align: left;
}
&--number {
text-align: right;
}
&--image,
&--icon {
padding-left: 24px;
padding-right: 24px;
width: $data-table-thumbnail-width;
min-width: $data-table-thumbnail-width;
text-align: left;
}
&--fileSize {
min-width: $data-table-cell-min-width--fileSize;
}
}
.adf-datatable-cell-header {
@include adf-no-select;
cursor: pointer;
position: relative;
vertical-align: bottom;
text-overflow: ellipsis;
font-weight: bold;
line-height: 24px;
letter-spacing: 0;
min-height: $data-table-row-height !important;
font-size: $data-table-header-font-size;
color: $data-table-header-color;
padding-bottom: 8px;
box-sizing: border-box;
padding-top: 12px !important;
&.adf-sortable {
@include adf-no-select;
&:hover {
cursor: pointer;
}
display: flex;
align-items: center;
}
&.adf-datatable__header--sorted-asc,
&.adf-datatable__header--sorted-desc {
color: $data-table-header-sorted-color;
&::before {
@include typo-icon;
font-size: $data-table-header-sort-icon-size;
content: '\e5d8';
left: 5px;
right: 5px;
position: relative;
vertical-align: sub;
}
}
&.adf-datatable__header--sorted-desc::before {
content: '\e5db';
}
&.adf-datatable-cell--fileSize.adf-datatable__header--sorted-asc::before,
&.adf-datatable-cell--fileSize.adf-datatable__header--sorted-desc::before {
left: -3px;
right: -3px;
}
&.adf-datatable-checkbox {
display: flex;
align-items: center;
}
}
.adf-datatable-cell-header.adf-expand-cell-1, .adf-datatable-cell.adf-expand-cell-1 {
flex-grow: 1;
}
.adf-datatable-cell-header.adf-expand-cell-2, .adf-datatable-cell.adf-expand-cell-2 {
flex-grow: 2;
}
.adf-datatable-cell-header.adf-expand-cell-3, .adf-datatable-cell.adf-expand-cell-3 {
flex-grow: 3;
}
.adf-datatable-cell-header.adf-expand-cell-4, .adf-datatable-cell.adf-expand-cell-4 {
flex-grow: 4;
}
.adf-datatable-cell-header.adf-expand-cell-5, .adf-datatable-cell.adf-expand-cell-5 {
flex-grow: 5;
}
.adf-datatable-cell-header.adf-no-grow-cell, .adf-datatable-cell.adf-no-grow-cell {
flex-grow: 0;
min-width: $data-table-cell-min-width--no-grow;
}
.adf-datatable-cell, .adf-datatable-cell-header {
flex: 1;
padding: 0;
align-items: center;
display: flex;
min-height: inherit;
.adf-datatable-cell-container {
overflow: hidden;
min-height: inherit;
align-items: center;
display: flex;
width: 100%;
}
.adf-datatable-cell-value {
word-break: break-word;
padding: 10px;
display: block;
@media screen and (-ms-high-contrast: active),
screen and (-ms-high-contrast: none) {
padding: 17px 10px 10px;
}
}
&--fileSize .adf-datatable-cell-value {
padding: 0 10px 0 0;
}
}
.adf-cell-value {
display: flex;
min-height: inherit;
align-items: center;
word-break: break-all;
width: 100%;
}
.adf-datatable__actions-cell, .adf-datatable-cell--image {
max-width: $data-table-thumbnail-width;
display: flex;
}
.adf-datatable-row:not(:hover) .adf-datatable-hide-actions-without-hover {
display: none;
}
.adf-datatable-cell--image {
max-width: $data-table-thumbnail-width;
}
.adf-location-cell {
a {
text-decoration: none;
color: $data-table-cell-link-color;
&:hover {
color: $data-table-cell-link-hover-color;
text-decoration: underline;
}
}
}
/* [Accessibility] For screen reader only */
.adf-sr-only {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.adf-is-selected {
background: mat-color($primary, 100);
}
.adf-datatable-link {
text-decoration: none;
color: $data-table-cell-link-color;
&:hover {
color: $data-table-cell-link-hover-color;
text-decoration: underline;
}
}
.adf-dynamic-column .adf-datatable-link:hover {
text-decoration: none;
.adf-datatable-cell-value {
text-decoration: underline;
}
}
.adf-datatable-cell,
.adf-datatable-cell-header {
.adf-datatable-link .adf-datatable-cell-value {
padding: 0 10px;
}
}
.adf-ellipsis-cell {
position: sticky;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
padding: 0 4px;
&.adf-datatable-cell-header,
.adf-datatable-content-cell {
max-width: calc(100% - 0.1px);
overflow: hidden;
text-overflow: ellipsis;
.adf-datatable-cell-value {
overflow: hidden;
text-overflow: ellipsis;
}
}
.adf-datatable-content-cell {
overflow: unset;
position: absolute;
}
/* query for Microsoft IE 11*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
.adf-cell-value {
top: 100%;
}
}
/* cell stretching content */
& > div::after {
content: attr(title);
overflow: hidden;
height: 0;
display: block;
}
}
/* Empty folder */
.adf-no-content-container {
padding: 0 !important;
border: none !important;
width: 100%;
justify-content: center;
& > img {
width: 100%;
}
}
/* Loading folder */
.adf-loading-content-container {
padding: 0 !important;
width: 100%;
& > img {
width: 100%;
}
}
.adf-no-permission {
&__row:hover {
cursor: default;
background-color: inherit;
}
&__cell {
padding: 0 !important;
}
}
/* Utils */
.adf-hidden {
display: none;
}
/* mobile phone */
@media all and (max-width: 768px) {
.adf-desktop-only {
display: none !important;
}
}
@media (max-device-width: 768px) {
.adf-desktop-only {
display: none !important;
}
}
}
/* [Accessibility] Material checkbox labels */
.adf-checkbox-sr-only .mat-checkbox-label {
position: absolute;
width: 1px;
height: 1px;
padding: 0;
margin: -1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
border: 0;
}
.adf-sticky-header {
border-top: 0;
height: 100%;
.adf-datatable-header {
display: block;
margin-right: 0;
border-top: $data-table-dividers;
border-bottom: $data-table-dividers;
}
.adf-datatable-body {
display: block;
flex: 1;
overflow-y: scroll;
margin-top: -1px;
}
}
.adf-upload__dragging {
& > div {
border-top: $data-table-drag-border !important;
border-bottom: $data-table-drag-border !important;
&:first-child {
border-left: $data-table-drag-border;
}
&:last-child {
border-right: $data-table-drag-border !important;
}
}
}
.adf-datatable--empty {
@include flex-column;
justify-content: center;
align-items: center;
height: inherit;
.adf-datatable-body {
.adf-datatable-row {
height: 100%;
background-color: mat-color($background, card);
border: none !important;
&:hover, &:focus {
background-color: unset;
cursor: default;
}
}
}
}
.adf-datatable--empty--header-visible {
.adf-datatable-header {
border: $data-table-dividers-wrapper-border;
}
.adf-datatable-body {
@include flex-column;
justify-content: center;
align-items: center;
.adf-datatable-row {
height: 100%;
background-color: mat-color($background, card);
border: none !important;
&:hover, &:focus {
background-color: unset;
cursor: default;
}
}
}
}
}

View File

@@ -0,0 +1,32 @@
@import '~@angular/material/theming';
:host {
display: block;
}
div.adf-tooltip-card {
@include mat-elevation(8);
background-color: var(--theme-card-bg-color);
border: 1px solid var(--theme-primary-color);
padding: 12px;
border-radius: 6px;
p, div {
font-size: var(--theme-caption-font-size);
color: var(--adf-tooltip-card-color);
margin: 0;
}
hr {
border: 1px solid var(--theme-primary-color);
margin: 6px 0;
}
img {
border-radius: 6px;
}
}
::ng-deep .cdk-overlay-connected-position-bounding-box {
margin-top: 10px !important;
}

View File

@@ -21,6 +21,7 @@ import { DomSanitizer } from '@angular/platform-browser';
@Component({
selector: 'adf-tooltip-card-component',
templateUrl: './tooltip-card.component.html',
styleUrls: ['./tooltip-card.component.scss'],
animations: [
trigger('tooltip', [
transition(':enter', [

View File

@@ -1,36 +0,0 @@
@mixin adf-tooltip-card-directive($theme) {
$primary: map-get($theme, primary);
$foreground: map-get($theme, foreground);
$background: map-get($theme, background);
:host {
display: block;
}
div.adf-tooltip-card {
@include mat-elevation(8);
background-color: mat-color($background, card);
border: 1px solid mat-color($primary);
padding: 12px;
border-radius: 6px;
p, div {
font-size: mat-font-size($alfresco-typography, caption);
color: mat-color($foreground, text, 0.75);
margin: 0;
}
hr {
border: 1px solid mat-color($primary);
margin: 6px 0;
}
img {
border-radius: 6px;
}
}
::ng-deep .cdk-overlay-connected-position-bounding-box {
margin-top: 10px !important;
}
}

View File

@@ -0,0 +1,121 @@
.adf {
&-form-container {
max-width: 100% !important;
max-height: 100% !important;
& .mat-card {
padding: 16px 24px;
overflow: hidden;
}
& .mat-card-header-text {
margin: 0 !important;
}
& .mat-tab-body-content {
overflow: hidden;
}
& .mat-tab-label {
font-size: var(--theme-subheading-2-font-size);
line-height: var(--theme-headline-line-height);
letter-spacing: -0.4px;
text-align: left;
color: rgba(0, 0, 0, 0.54);
text-transform: uppercase;
}
& .mat-ink-bar {
height: 4px;
}
& .mat-form-field-wrapper {
margin: 0 12px 0 0;
}
}
&-form-title {
font-size: var(--theme-title-font-size);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
&-form-debug-container {
padding: 10px;
}
&-form-debug-container .adf-debug-toggle-text {
padding-left: 15px;
cursor: pointer;
}
&-form-debug-container .adf-debug-toggle-text:hover {
font-weight: bold;
}
&-form-reload-button {
position: absolute;
right: 12px;
top: 30px;
}
&-form-validation-button {
position: absolute;
right: 50px;
top: 39px;
color: var(--theme-accent-color);
& .adf-invalid-color {
color: var(--theme-warn-color);
}
}
&-form-hide-button {
display: none !important;
}
&-task-title {
text-align: center;
}
&-label {
width: 32px;
height: 16px;
font-size: var(--theme-caption-font-size);
line-height: var(--theme-headline-line-height);
text-align: left;
white-space: nowrap;
}
&-form-mat-card-actions {
float: right;
padding-bottom: 25px !important;
padding-right: 25px !important;
& .mat-button {
height: 36px;
border-radius: 5px;
}
& .mat-button-wrapper {
width: 58px;
height: 20px;
opacity: 0.54;
font-size: var(--theme-body-2-font-size);
font-weight: bold;
}
}
}
form-field {
width: 100%;
.mat-input-element {
font-size: var(--theme-body-2-font-size);
padding-top: 8px;
line-height: normal;
}
}

View File

@@ -21,6 +21,7 @@ import { FormModel } from './widgets/core/form.model';
@Component({
selector: 'adf-form-renderer',
templateUrl: './form-renderer.component.html',
styleUrls: ['./form-renderer.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class FormRendererComponent {

View File

@@ -1,130 +0,0 @@
@mixin adf-form-renderer-theme($theme) {
$config: mat-typography-config();
$warn: map-get($theme, warn);
$accent: map-get($theme, accent);
.adf {
&-form-container {
max-width: 100% !important;
max-height: 100% !important;
& .mat-card {
padding: 16px 24px;
overflow: hidden;
}
& .mat-card-header-text {
margin: 0 !important;
}
& .mat-tab-body-content {
overflow: hidden;
}
& .mat-tab-label {
font-size: mat-font-size($config, subheading-2);
line-height: mat-line-height($config, headline);
letter-spacing: -0.4px;
text-align: left;
color: rgba(0, 0, 0, 0.54);
text-transform: uppercase;
}
& .mat-ink-bar {
height: 4px;
}
& .mat-form-field-wrapper {
margin: 0 12px 0 0;
}
}
&-form-title {
font-size: mat-font-size($alfresco-typography, title);
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
&-form-debug-container {
padding: 10px;
}
&-form-debug-container .adf-debug-toggle-text {
padding-left: 15px;
cursor: pointer;
}
&-form-debug-container .adf-debug-toggle-text:hover {
font-weight: bold;
}
&-form-reload-button {
position: absolute;
right: 12px;
top: 30px;
}
&-form-validation-button {
position: absolute;
right: 50px;
top: 39px;
color: mat-color($accent);
& .adf-invalid-color {
color: mat-color($warn);
}
}
&-form-hide-button {
display: none !important;
}
&-task-title {
text-align: center;
}
&-label {
width: 32px;
height: 16px;
font-size: mat-font-size($config, caption);
line-height: mat-line-height($config, headline);
text-align: left;
white-space: nowrap;
}
&-form-mat-card-actions {
float: right;
padding-bottom: 25px !important;
padding-right: 25px !important;
& .mat-button {
height: 36px;
border-radius: 5px;
}
& .mat-button-wrapper {
width: 58px;
height: 20px;
opacity: 0.54;
font-size: mat-font-size($config, body-2);
font-weight: bold;
}
}
}
form-field {
width: 100%;
.mat-input-element {
font-size: mat-font-size($config, body-2);
padding-top: 8px;
line-height: normal;
}
}
}

View File

@@ -1,24 +0,0 @@
@mixin adf-amount-widget-theme($theme) {
$foreground: map-get($theme, foreground);
.adf {
&-amount-widget {
width: 100%;
margin-top: 15px;
}
&-amount-widget__input {
margin-top: -15px;
.mat-focused {
transition: none;
}
&:not(.mat-focused):not(.mat-form-field-invalid) {
.adf-amount-widget__prefix-spacing {
color: mat-color($foreground, secondary-text);
}
}
}
}
}

View File

@@ -0,0 +1,20 @@
.adf {
&-amount-widget {
width: 100%;
margin-top: 15px;
}
&-amount-widget__input {
margin-top: -15px;
.mat-focused {
transition: none;
}
&:not(.mat-focused):not(.mat-form-field-invalid) {
.adf-amount-widget__prefix-spacing {
color: var(--theme-secondary-text-color);
}
}
}
}

View File

@@ -30,6 +30,7 @@ export const ADF_AMOUNT_SETTINGS = new InjectionToken<AmountWidgetSettings>('adf
@Component({
selector: 'amount-widget',
templateUrl: './amount.widget.html',
styleUrls: ['./amount.widget.scss'],
host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',

View File

@@ -1,119 +0,0 @@
@mixin adf-form-container-widget-theme($theme) {
$primary: map-get($theme, primary);
.adf-hidden {
display: none;
}
.adf-container-widget__header-text {
border-bottom: 1px solid rgba(0, 0, 0, 0.87);
padding-bottom: 10px;
cursor: default;
user-select: none;
-webkit-user-select: none;
/* Chrome/Safari/Opera */
-moz-user-select: none;
/* Firefox */
-ms-user-select: none;
/* IE/Edge */
-webkit-touch-callout: none;
/* iOS Safari */
&.adf-collapsible {
cursor: pointer;
}
}
.adf-field-list {
padding: 0;
list-style-type: none;
width: 100%;
height: 100%;
}
container-widget {
.adf-grid-list-column-view {
display: flex;
align-items: flex-start;
margin-right: -1%;
}
.adf-grid-list-single-column {
display: flex;
flex-direction: column;
align-items: flex-start;
flex: 1 1 auto;
}
.adf-grid-list-column-view-item {
width: 100%;
flex-grow: 1;
box-sizing: border-box;
padding-left: 1%;
padding-right: 1%;
}
.adf-grid-list {
display: grid;
}
.adf-grid-list-item {
box-sizing: border-box;
padding-left: 3px;
padding-right: 3px;
}
@media screen and (max-width: 959px) {
.adf-grid-list-item {
flex: 1 0 100%;
}
.adf-grid-list--column-view {
flex-direction: column;
}
.adf-grid-list-single-column {
width: 90% !important;
}
.adf-grid-list-column-view-item {
flex: 1 0 auto;
}
}
.mat-form-field {
width: 100%;
}
mat-form-field {
width: 100%;
}
.mat-input-placeholder {
top: 1.8em !important;
}
.mat-focused {
label {
transform: scaleX(1);
transition: transform 150ms linear,
background-color $swift-ease-in-duration $swift-ease-in-timing-function;
color: mat-color($primary);
}
.mat-form-field-prefix {
color: mat-color($primary);
}
}
.mat-grid-tile {
overflow: visible;
width: 80%;
}
adf-form-field {
width: 100%;
}
}
}

View File

@@ -0,0 +1,115 @@
.adf-hidden {
display: none;
}
.adf-container-widget__header-text {
border-bottom: 1px solid rgba(0, 0, 0, 0.87);
padding-bottom: 10px;
cursor: default;
user-select: none;
-webkit-user-select: none;
/* Chrome/Safari/Opera */
-moz-user-select: none;
/* Firefox */
-ms-user-select: none;
/* IE/Edge */
-webkit-touch-callout: none;
/* iOS Safari */
&.adf-collapsible {
cursor: pointer;
}
}
.adf-field-list {
padding: 0;
list-style-type: none;
width: 100%;
height: 100%;
}
container-widget {
.adf-grid-list-column-view {
display: flex;
align-items: flex-start;
margin-right: -1%;
}
.adf-grid-list-single-column {
display: flex;
flex-direction: column;
align-items: flex-start;
flex: 1 1 auto;
}
.adf-grid-list-column-view-item {
width: 100%;
flex-grow: 1;
box-sizing: border-box;
padding-left: 1%;
padding-right: 1%;
}
.adf-grid-list {
display: grid;
}
.adf-grid-list-item {
box-sizing: border-box;
padding-left: 3px;
padding-right: 3px;
}
@media screen and (max-width: 959px) {
.adf-grid-list-item {
flex: 1 0 100%;
}
.adf-grid-list--column-view {
flex-direction: column;
}
.adf-grid-list-single-column {
width: 90% !important;
}
.adf-grid-list-column-view-item {
flex: 1 0 auto;
}
}
.mat-form-field {
width: 100%;
}
mat-form-field {
width: 100%;
}
.mat-input-placeholder {
top: 1.8em !important;
}
.mat-focused {
label {
transform: scaleX(1);
transition: transform 150ms linear;
background-color: 300ms cubic-bezier(0.55, 0, 0.55, 0.2);
color: var(--theme-primary-color);
}
.mat-form-field-prefix {
color: var(--theme-primary-color);
}
}
.mat-grid-tile {
overflow: visible;
width: 80%;
}
adf-form-field {
width: 100%;
}
}

View File

@@ -26,6 +26,7 @@ import { ContainerWidgetComponentModel } from './container.widget.model';
@Component({
selector: 'container-widget',
templateUrl: './container.widget.html',
styleUrls: ['./container.widget.scss'],
host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',

View File

@@ -1,166 +0,0 @@
@mixin adf-dynamic-table-theme($theme) {
$foreground: map-get($theme, foreground);
$dynamic-table-font-size: 14px !default;
$dynamic-table-header-font-size: 12px !default;
$dynamic-table-header-sort-icon-size: 16px !default;
$dynamic-table-header-color: mat-color($foreground, text) !default;
$dynamic-table-header-sorted-color: mat-color($foreground, text) !default;
$dynamic-table-header-sorted-icon-hover-color: mat-color($foreground, disabled-text) !default;
$dynamic-table-divider-color: mat-color($foreground, text, 0.07) !default;
$dynamic-table-hover-color: #eeeeee !default;
$dynamic-table-selection-color: #e0f7fa !default;
$dynamic-table-dividers: 1px solid $dynamic-table-divider-color !default;
$dynamic-table-row-height: 56px !default;
$dynamic-table-column-spacing: 36px !default;
$dynamic-table-column-padding: $dynamic-table-column-spacing / 2;
$dynamic-table-card-padding: 24px !default;
$dynamic-table-cell-top: $dynamic-table-card-padding / 2;
$dynamic-table-drag-border: 1px dashed rgb(68, 138, 255);
dynamic-table-widget .adf-label {
width: auto;
height: auto;
}
.adf {
&-dynamic-table-scrolling {
overflow: auto;
}
&-dynamic-table {
width: 100%;
position: relative;
border: $dynamic-table-dividers;
white-space: nowrap;
font-size: $dynamic-table-font-size;
/* Firefox fixes */
border-collapse: unset;
border-spacing: 0;
thead {
padding-bottom: 3px;
}
tbody {
tr {
position: relative;
height: $dynamic-table-row-height;
@include material-animation-default(0.28s);
transition-property: background-color;
&:hover {
background-color: $dynamic-table-hover-color;
}
&.adf-is-selected, &.adf-is-selected:hover {
background-color: $dynamic-table-selection-color;
}
&:focus {
outline-offset: -1px;
outline: rgb(68, 138, 255) solid 1px;
}
}
}
td, th {
padding: 0 $dynamic-table-column-padding 12px $dynamic-table-column-padding;
text-align: center;
&:first-of-type {
padding-left: 24px;
}
&:last-of-type {
padding-right: 24px;
}
}
td {
color: mat-color($foreground, text);
position: relative;
vertical-align: middle;
height: $dynamic-table-row-height;
border-top: $dynamic-table-dividers;
border-bottom: $dynamic-table-dividers;
padding-top: $dynamic-table-cell-top;
box-sizing: border-box;
@include adf-no-select;
cursor: default;
}
th {
@include adf-no-select;
cursor: pointer;
position: relative;
vertical-align: bottom;
text-overflow: ellipsis;
font-weight: bold;
line-height: 24px;
letter-spacing: 0;
height: $dynamic-table-row-height;
font-size: $dynamic-table-header-font-size;
color: $dynamic-table-header-color;
padding-bottom: 8px;
box-sizing: border-box;
&.adf-sortable {
@include adf-no-select;
&:hover {
cursor: pointer;
}
}
&.adf-dynamic-table__header--sorted-asc,
&.adf-dynamic-table__header--sorted-desc {
color: $dynamic-table-header-sorted-color;
&::before {
@include typo-icon;
font-size: $dynamic-table-header-sort-icon-size;
content: '\e5d8';
margin-right: 5px;
vertical-align: sub;
}
&:hover {
cursor: pointer;
&::before {
color: $dynamic-table-header-sorted-icon-hover-color;
}
}
}
&.adf-dynamic-table__header--sorted-desc::before {
content: '\e5db';
}
}
.adf-dynamic-table-cell {
text-align: left;
cursor: default;
&--text {
text-align: left;
}
&--number {
text-align: right;
}
&--image {
text-align: left;
img {
width: 24px;
height: 24px;
}
}
}
.adf-full-width {
width: 100%;
}
}
}
}

View File

@@ -0,0 +1,161 @@
@import '~@angular/material/theming';
@import '../../../../styles/mixins';
$dynamic-table-font-size: 14px !default;
$dynamic-table-header-font-size: 12px !default;
$dynamic-table-header-sort-icon-size: 16px !default;
$dynamic-table-hover-color: #eeeeee !default;
$dynamic-table-selection-color: #e0f7fa !default;
$dynamic-table-row-height: 56px !default;
$dynamic-table-column-spacing: 36px !default;
$dynamic-table-column-padding: $dynamic-table-column-spacing / 2;
$dynamic-table-card-padding: 24px !default;
$dynamic-table-cell-top: $dynamic-table-card-padding / 2;
$dynamic-table-drag-border: 1px dashed rgb(68, 138, 255);
dynamic-table-widget .adf-label {
width: auto;
height: auto;
}
.adf {
&-dynamic-table-scrolling {
overflow: auto;
}
&-dynamic-table {
width: 100%;
position: relative;
border: 1px solid var(--theme-border-color);
white-space: nowrap;
font-size: $dynamic-table-font-size;
/* Firefox fixes */
border-collapse: unset;
border-spacing: 0;
thead {
padding-bottom: 3px;
}
tbody {
tr {
position: relative;
height: $dynamic-table-row-height;
@include material-animation-default(0.28s);
transition-property: background-color;
&:hover {
background-color: $dynamic-table-hover-color;
}
&.adf-is-selected, &.adf-is-selected:hover {
background-color: $dynamic-table-selection-color;
}
&:focus {
outline-offset: -1px;
outline: rgb(68, 138, 255) solid 1px;
}
}
}
td, th {
padding: 0 $dynamic-table-column-padding 12px $dynamic-table-column-padding;
text-align: center;
&:first-of-type {
padding-left: 24px;
}
&:last-of-type {
padding-right: 24px;
}
}
td {
color: var(--theme-text-fg-color);
position: relative;
vertical-align: middle;
height: $dynamic-table-row-height;
border-top: 1px solid var(--theme-border-color);
border-bottom: 1px solid var(--theme-border-color);
padding-top: $dynamic-table-cell-top;
box-sizing: border-box;
@include adf-no-select;
cursor: default;
}
th {
@include adf-no-select;
cursor: pointer;
position: relative;
vertical-align: bottom;
text-overflow: ellipsis;
font-weight: bold;
line-height: 24px;
letter-spacing: 0;
height: $dynamic-table-row-height;
font-size: $dynamic-table-header-font-size;
color: var(--theme-text-fg-color);
padding-bottom: 8px;
box-sizing: border-box;
&.adf-sortable {
@include adf-no-select;
&:hover {
cursor: pointer;
}
}
&.adf-dynamic-table__header--sorted-asc,
&.adf-dynamic-table__header--sorted-desc {
color: var(--theme-text-fg-color);
&::before {
@include typo-icon;
font-size: $dynamic-table-header-sort-icon-size;
content: '\e5d8';
margin-right: 5px;
vertical-align: sub;
}
&:hover {
cursor: pointer;
&::before {
color: var(--theme-disabled-text-color);
}
}
}
&.adf-dynamic-table__header--sorted-desc::before {
content: '\e5db';
}
}
.adf-dynamic-table-cell {
text-align: left;
cursor: default;
&--text {
text-align: left;
}
&--number {
text-align: right;
}
&--image {
text-align: left;
img {
width: 24px;
height: 24px;
}
}
}
.adf-full-width {
width: 100%;
}
}
}

View File

@@ -29,6 +29,7 @@ import { DynamicTableModel } from './dynamic-table.widget.model';
@Component({
selector: 'dynamic-table-widget',
templateUrl: './dynamic-table.widget.html',
styleUrls: ['./dynamic-table.widget.scss'],
host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',

View File

@@ -1,97 +1,86 @@
@mixin adf-form-theme($theme) {
$primary: map-get($theme, primary);
$accent: map-get($theme, accent);
$warn: map-get($theme, warn);
@include adf-hyperlink-widget-theme($theme);
ul > li > form-field > .adf-focus {
.adf-label {
color: mat-color($primary);
}
ul > li > form-field > .adf-focus {
.adf-label {
color: var(--theme-primary-color);
}
}
.adf {
&-error-text-container {
height: 20px;
margin-top: -12px;
}
&-error-text {
padding: 1px;
height: 16px;
font-size: 12px;
line-height: 1.33;
float: left;
color: var(--theme-warn-color);
}
&-error-icon {
float: right;
font-size: 17px;
color: var(--theme-warn-color);
}
&-label {
color: rgb(186, 186, 186);;
}
&-invalid {
.mat-form-field-underline {
background-color: #f44336 !important;
}
.mat-checkbox {
color: var(--theme-warn-color);
.mat-checkbox-frame {
border-color: var(--theme-warn-color);
}
}
.mat-select {
&-value {
color: var(--theme-warn-color);
}
&-arrow {
color: var(--theme-warn-color);
}
}
.adf-file {
border-color: var(--theme-warn-color);
}
.mat-form-field-prefix {
color: var(--theme-warn-color);
}
.adf-input {
border-color: var(--theme-warn-color);
}
.adf-label {
color: var(--theme-warn-color);
&::after {
background-color: var(--theme-warn-color);
}
}
}
}
/* query for Microsoft IE 11*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
adf-form-field {
.mat-input-element, .mat-select, .mat-form-field {
display: block !important;
}
}
.adf {
&-error-text-container {
height: 20px;
margin-top: -12px;
}
&-error-text {
padding: 1px;
height: 16px;
font-size: 12px;
line-height: 1.33;
float: left;
color: mat-color($warn);
}
&-error-icon {
float: right;
font-size: 17px;
color: mat-color($warn);
}
&-label {
color: rgb(186, 186, 186);;
}
&-invalid {
.mat-form-field-underline {
background-color: #f44336 !important;
}
.mat-checkbox {
color: mat-color($warn);
.mat-checkbox-frame {
border-color: mat-color($warn);
}
}
.mat-select {
&-value {
color: mat-color($warn);
}
&-arrow {
color: mat-color($warn);
}
}
.adf-file {
border-color: mat-color($warn);
}
.mat-form-field-prefix {
color: mat-color($warn);
}
.adf-input {
border-color: mat-color($warn);
}
.adf-label {
color: mat-color($warn);
&::after {
background-color: mat-color($warn);
}
}
}
}
/* query for Microsoft IE 11*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
adf-form-field {
.mat-input-element, .mat-select, .mat-form-field {
display: block !important;
}
}
}
}

View File

@@ -1,12 +0,0 @@
@mixin adf-hyperlink-widget-theme($theme) {
$primary: map-get($theme, primary);
.adf-hyperlink-widget {
padding: 0.4375em 0;
border-top: 0.84375em solid transparent;
a {
color: mat-color($primary);
}
}
}

View File

@@ -0,0 +1,8 @@
.adf-hyperlink-widget {
padding: 0.4375em 0;
border-top: 0.84375em solid transparent;
a {
color: var(--theme-primary-color);
}
}

View File

@@ -25,6 +25,7 @@ import { FormFieldModel } from '../core';
@Component({
selector: 'hyperlink-widget',
templateUrl: './hyperlink.widget.html',
styleUrls: ['./hyperlink.widget.scss'],
host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',

View File

@@ -1,60 +0,0 @@
@mixin adf-form-people-widget-theme($theme) {
$primary: map-get($theme, primary);
$background: map-get($theme, background);
$foreground: map-get($theme, foreground);
.adf {
&-people-widget {
width: 100%;
.mat-form-field-label-wrapper {
top: 10px;
}
}
&-people-widget-list {
margin: 5px 0;
padding: 10px 0;
}
&-people-widget-row {
display: flex;
align-items: center;
}
&-people-widget-pic {
background: mat-color($primary);
display: flex;
justify-content: center;
align-items: center;
width: 40px;
height: 40px;
border-radius: 100px;
color: mat-color($foreground, text);
font-weight: bolder;
font-size: 18px;
text-transform: uppercase;
}
&-people-widget-image {
margin-left: -44px;
left: 21px;
background: mat-color($background, dialog);
border-radius: 100px;
width: 40px;
height: 40px;
vertical-align: middle;
display: inline-block;
padding: 0;
}
&-people-widget-image-row {
display: inline-block;
}
&-people-label-name {
padding-left: 10px;
}
}
}

View File

@@ -0,0 +1,54 @@
.adf {
&-people-widget {
width: 100%;
.mat-form-field-label-wrapper {
top: 10px;
}
}
&-people-widget-list {
margin: 5px 0;
padding: 10px 0;
}
&-people-widget-row {
display: flex;
align-items: center;
}
&-people-widget-pic {
background: var(--theme-primary-color);
display: flex;
justify-content: center;
align-items: center;
width: 40px;
height: 40px;
border-radius: 100px;
color: var(--theme-text-fg-color);
font-weight: bolder;
font-size: 18px;
text-transform: uppercase;
}
&-people-widget-image {
margin-left: -44px;
left: 21px;
background: var(--theme-dialog-bg-color);
border-radius: 100px;
width: 40px;
height: 40px;
vertical-align: middle;
display: inline-block;
padding: 0;
}
&-people-widget-image-row {
display: inline-block;
}
&-people-label-name {
padding-left: 10px;
}
}

View File

@@ -36,6 +36,7 @@ import {
@Component({
selector: 'people-widget',
templateUrl: './people.widget.html',
styleUrls: ['./people.widget.scss'],
host: {
'(click)': 'event($event)',
'(blur)': 'event($event)',

View File

@@ -0,0 +1,93 @@
@import '../styles/mixins';
$adf-info-drawer-layout-title-font-size: 20px !default;
$adf-info-drawer-icon-size: 48px !default;
.adf {
&-info-drawer {
@include flex-column;
}
&-info-drawer-layout {
@include flex-column;
overflow: auto;
width: 100%;
background-color: var(--theme-background-color);
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.27);
& .mat-tab-label {
font-weight: bold;
text-align: left;
color: var(--theme-accent-color);
text-transform: uppercase;
opacity: 1;
&-active {
color: var(--theme-primary-color);
}
}
&-header {
padding: 13px 0 0 23px;
display: flex;
justify-content: space-between;
margin-bottom: 40px;
&-buttons {
padding-right:18px;
mat-icon {
cursor: pointer;
}
}
&-title {
width: 197px;
height: 32px;
font-size: $adf-info-drawer-layout-title-font-size;
line-height: 1.6;
letter-spacing: -0.5px;
text-align: left;
color: var(--theme-text-color);
& > div {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
}
&-content {
padding: 10px;
> * {
margin-bottom: 20px;
display: block;
}
> *:last-child {
margin-bottom: 0;
}
.adf-info-drawer-tabs .mat-tab-body-content {
.adf-manage-versions-empty,
.adf-manage-versions-no-permission {
margin: 0;
padding: $adf-info-drawer-icon-size/2;
color: var(--theme-text-color);
text-align: center;
display: flex;
flex-direction: column;
&-icon {
width: $adf-info-drawer-icon-size;
height: $adf-info-drawer-icon-size;
font-size: $adf-info-drawer-icon-size;
margin: 0 auto $adf-info-drawer-icon-size/2;
display: block;
}
}
}
}
}
}

View File

@@ -20,6 +20,7 @@ import { Component, Directive, Input, ViewEncapsulation } from '@angular/core';
@Component({
selector: 'adf-info-drawer-layout',
templateUrl: './info-drawer-layout.component.html',
styleUrls: ['./info-drawer-layout.component.scss'],
encapsulation: ViewEncapsulation.None,
host: { 'class': 'adf-info-drawer-layout' }
})

View File

@@ -1,99 +0,0 @@
@mixin adf-info-drawer-theme($theme) {
$primary: map-get($theme, primary);
$accent: map-get($theme, accent);
$background: map-get($theme, background);
$foreground: map-get($theme, foreground);
$adf-info-drawer-layout-background-color: mat-color($background, background) !default;
$adf-info-drawer-layout-title-color: mat-color($foreground, text, 0.54) !default;
$adf-info-drawer-layout-title-font-size: 20px !default;
$adf-info-drawer-icon-size: 48px !default;
.adf {
&-info-drawer {
@include flex-column;
}
&-info-drawer-layout {
@include flex-column;
overflow: auto;
width: 100%;
background-color: $adf-info-drawer-layout-background-color;
box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.27);
& .mat-tab-label {
font-weight: bold;
text-align: left;
color: mat-color($accent);
text-transform: uppercase;
opacity: 1;
&-active {
color: mat-color($primary);
}
}
&-header {
padding: 13px 0 0 23px;
display: flex;
justify-content: space-between;
margin-bottom: 40px;
&-buttons {
padding-right:18px;
mat-icon {
cursor: pointer;
}
}
&-title {
width: 197px;
height: 32px;
font-size: $adf-info-drawer-layout-title-font-size;
line-height: 1.6;
letter-spacing: -0.5px;
text-align: left;
color: $adf-info-drawer-layout-title-color;
& > div {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
}
}
&-content {
padding: 10px;
> * {
margin-bottom: 20px;
display: block;
}
> *:last-child {
margin-bottom: 0;
}
.adf-info-drawer-tabs .mat-tab-body-content {
.adf-manage-versions-empty,
.adf-manage-versions-no-permission {
margin: 0;
padding: $adf-info-drawer-icon-size/2;
color: mat-color($foreground, text, 0.54);
text-align: center;
display: flex;
flex-direction: column;
&-icon {
width: $adf-info-drawer-icon-size;
height: $adf-info-drawer-icon-size;
font-size: $adf-info-drawer-icon-size;
margin: 0 auto $adf-info-drawer-icon-size/2;
display: block;
}
}
}
}
}
}
}

View File

@@ -20,7 +20,6 @@ import { ComponentFixture, TestBed } from '@angular/core/testing';
import { MatTabChangeEvent } from '@angular/material/tabs';
import { By } from '@angular/platform-browser';
import { InfoDrawerComponent } from './info-drawer.component';
import { setupTestBed } from '../testing/setup-test-bed';
import { of } from 'rxjs';
import { TranslateService, TranslateModule } from '@ngx-translate/core';
import { CoreTestingModule } from '../testing/core.testing.module';
@@ -31,14 +30,13 @@ describe('InfoDrawerComponent', () => {
let fixture: ComponentFixture<InfoDrawerComponent>;
let translateService: TranslateService;
setupTestBed({
imports: [
TranslateModule.forRoot(),
CoreTestingModule
]
});
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
TranslateModule.forRoot(),
CoreTestingModule
]
});
translateService = TestBed.inject(TranslateService);
spyOn(translateService, 'get').and.callFake((key) => of(key));
@@ -89,17 +87,16 @@ describe('Custom InfoDrawer', () => {
let component: CustomInfoDrawerComponent;
let translateService: TranslateService;
setupTestBed({
imports: [
TranslateModule.forRoot(),
CoreTestingModule
],
declarations: [
CustomInfoDrawerComponent
]
});
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
TranslateModule.forRoot(),
CoreTestingModule
],
declarations: [
CustomInfoDrawerComponent
]
});
translateService = TestBed.inject(TranslateService);
spyOn(translateService, 'get').and.callFake((key) => of(key));
@@ -108,6 +105,10 @@ describe('Custom InfoDrawer', () => {
component = fixture.componentInstance;
});
afterEach(() => {
fixture.destroy();
});
it('should render the title', () => {
fixture.detectChanges();
const title: any = fixture.debugElement.queryAll(By.css('[info-drawer-title]'));
@@ -119,7 +120,7 @@ describe('Custom InfoDrawer', () => {
fixture.detectChanges();
const tab: any = fixture.debugElement.queryAll(By.css('.mat-tab-label-active'));
expect(tab.length).toBe(1);
expect(tab[0].nativeElement.innerText).toContain('Tab1');
expect(tab[0].nativeElement.innerText).toContain('TAB1');
});
it('should select the tab 2 (index 1)', () => {
@@ -127,7 +128,7 @@ describe('Custom InfoDrawer', () => {
fixture.detectChanges();
const tab: any = fixture.debugElement.queryAll(By.css('.mat-tab-label-active'));
expect(tab.length).toBe(1);
expect(tab[0].nativeElement.innerText).toContain('Tab2');
expect(tab[0].nativeElement.innerText).toContain('TAB2');
});
it('should render a tab with icon', () => {
@@ -135,7 +136,7 @@ describe('Custom InfoDrawer', () => {
fixture.detectChanges();
const tab: any = fixture.debugElement.queryAll(By.css('.mat-tab-label-active'));
expect(tab[0].nativeElement.innerText).not.toBe('Tab3');
expect(tab[0].nativeElement.innerText).toContain('tab-icon');
expect(tab[0].nativeElement.innerText).toContain('TAB-ICON');
});
});
@@ -153,17 +154,16 @@ describe('Header visibility InfoDrawer', () => {
let fixture: ComponentFixture<VisibilityInfoDrawerComponent>;
let component: VisibilityInfoDrawerComponent;
setupTestBed({
imports: [
TranslateModule.forRoot(),
CoreTestingModule
],
declarations: [
VisibilityInfoDrawerComponent
]
});
beforeEach(() => {
TestBed.configureTestingModule({
imports: [
TranslateModule.forRoot(),
CoreTestingModule
],
declarations: [
VisibilityInfoDrawerComponent
]
});
fixture = TestBed.createComponent(VisibilityInfoDrawerComponent);
fixture.detectChanges();
component = fixture.componentInstance;

View File

@@ -19,7 +19,8 @@ import { Component, ContentChildren, EventEmitter, HostListener, Input, Output,
import { MatTabChangeEvent } from '@angular/material/tabs';
@Component({
selector: 'adf-info-drawer-tab',
template: '<ng-template><ng-content></ng-content></ng-template>'
template: '<ng-template><ng-content></ng-content></ng-template>',
encapsulation: ViewEncapsulation.None
})
export class InfoDrawerTabComponent {
/** The title of the tab (string or translation key). */

View File

@@ -0,0 +1,108 @@
adf-layout-header .mat-toolbar-single-row {
color: var(--theme-primary-color-default-contrast) !important;
position: relative;
padding: 0 24px;
.adf-menu-icon {
position: relative;
margin-right: 0;
.mat-icon {
font-size: 29px;
padding: 0 5px 0 0;
}
}
.adf-app-logo {
position: relative;
height: 28px;
width: 28px;
vertical-align: middle;
margin-top: -3px;
}
.adf-app-title {
cursor: pointer;
letter-spacing: -0.3px;
font-weight: 100;
}
.adf-toolbar-divider {
margin: 0 5px;
& > div {
background-color: var(--theme-card-bg-color);
}
}
.adf-header-delimiter {
height: 24px;
width: 2px;
background-color: var(--theme-primary-color-default-contrast);
}
.adf-userinfo-container {
flex-direction: row;
padding: 0;
}
@media screen and (max-width: 599px) {
.adf-app-logo,
.adf-app-title {
display: none;
}
}
}
[dir='rtl'] adf-layout-header .mat-toolbar-single-row {
.adf-menu-icon {
margin-right: -11px;
}
.adf-app-logo {
margin-right: 6px;
}
.adf-app-title {
margin-right: 6px;
}
.adf-header-delimiter {
margin-left: 16px;
}
.adf-userinfo-container {
margin-left: 16px;
}
.adf-userinfo-name {
padding-left: 8px;
}
}
[dir='ltr'] adf-layout-header .mat-toolbar-single-row {
.adf-menu-icon {
margin-left: -11px;
}
.adf-app-logo {
margin-left: 6px;
}
.adf-app-title {
margin-left: 6px;
}
.adf-header-delimiter {
margin-right: 16px;
}
.adf-userinfo-container {
margin-right: 16px;
}
.adf-userinfo-name {
padding-right: 8px;
}
}

View File

@@ -21,6 +21,7 @@ import { ThemePalette } from '@angular/material/core';
@Component({
selector: 'adf-layout-header',
templateUrl: './header.component.html',
styleUrls: ['./header.component.scss'],
encapsulation: ViewEncapsulation.None,
host: { class: 'adf-layout-header' }
})

View File

@@ -1,116 +0,0 @@
@mixin adf-header-layout-theme($theme) {
$primary: map-get($theme, primary);
$accent: map-get($theme, accent);
$background: map-get($theme, background);
adf-layout-header .mat-toolbar-single-row {
color: mat-color($primary, default-contrast) !important;
position: relative;
padding: 0 24px;
.adf-menu-icon {
position: relative;
margin-right: 0;
.mat-icon {
font-size: 29px;
padding: 0 5px 0 0;
}
}
.adf-app-logo {
position: relative;
height: 28px;
width: 28px;
vertical-align: middle;
margin-top: -3px;
}
.adf-app-title {
cursor: pointer;
letter-spacing: -0.3px;
font-weight: 100;
}
.adf-toolbar-divider {
margin: 0 5px;
& > div {
background-color: mat-color($background, card, 1);
}
}
.adf-header-delimiter {
height: 24px;
width: 2px;
background-color: mat-color($primary, default-contrast);
}
.adf-userinfo-container {
flex-direction: row;
padding: 0;
}
@media screen and (max-width: 599px) {
.adf-app-logo,
.adf-app-title {
display: none;
}
}
}
[dir='rtl'] adf-layout-header .mat-toolbar-single-row {
.adf-menu-icon {
margin-right: -11px;
}
.adf-app-logo {
margin-right: 6px;
}
.adf-app-title {
margin-right: 6px;
}
.adf-header-delimiter {
margin-left: 16px;
}
.adf-userinfo-container {
margin-left: 16px;
}
.adf-userinfo-name {
padding-left: 8px;
}
}
[dir='ltr'] adf-layout-header .mat-toolbar-single-row {
.adf-menu-icon {
margin-left: -11px;
}
.adf-app-logo {
margin-left: 6px;
}
.adf-app-title {
margin-left: 6px;
}
.adf-header-delimiter {
margin-right: 16px;
}
.adf-userinfo-container {
margin-right: 16px;
}
.adf-userinfo-name {
padding-right: 8px;
}
}
}

View File

@@ -0,0 +1,55 @@
adf-layout-container {
display: block;
width: 100%;
height: 100%;
overflow: hidden;
}
.adf-container-full-width {
width: inherit;
}
/* query for Microsoft IE 11*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
.adf-container-full-width {
width: 100%;
}
}
.adf-sidenav--hidden {
visibility: hidden !important;
width: 0 !important;
transform: unset !important;
opacity: 0 !important;
}
.mat-sidenav-container {
display: block;
width: 100%;
height: 100%;
overflow: hidden;
}
.mat-sidenav {
overflow: hidden;
border-right: 1px solid var(--theme-border-color);
background-color: var(--theme-background-color);
}
mat-sidenav-content.mat-sidenav-content,
.mat-drawer-transition .mat-drawer-content {
margin-left: 0 !important;
transform: unset !important;
transition-property: unset !important;
transition-duration: unset !important;
transition-timing-function: unset !important;
}
mat-sidenav-content > div {
display: flex;
height: 100%;
> div {
flex: auto;
}
}

View File

@@ -23,6 +23,7 @@ import { Direction } from '@angular/cdk/bidi';
@Component({
selector: 'adf-layout-container',
templateUrl: './layout-container.component.html',
styleUrls: ['./layout-container.component.scss'],
encapsulation: ViewEncapsulation.None,
animations: [sidenavAnimation, contentAnimation]
})

View File

@@ -1,61 +0,0 @@
@mixin adf-layout-container-theme($theme) {
$background: map-get($theme, background);
$foreground: map-get($theme, foreground);
$adf-layout-container-height: 100% !default;
adf-layout-container {
display: block;
width: 100%;
height: $adf-layout-container-height;
overflow: hidden;
}
.adf-container-full-width {
width: inherit;
}
/* query for Microsoft IE 11*/
@media screen and (-ms-high-contrast: active), screen and (-ms-high-contrast: none) {
.adf-container-full-width {
width: 100%;
}
}
.adf-sidenav--hidden {
visibility: hidden !important;
width: 0 !important;
transform: unset !important;
opacity: 0 !important;
}
.mat-sidenav-container {
display: block;
width: 100%;
height: 100%;
overflow: hidden;
}
.mat-sidenav {
overflow: hidden;
border-right: 1px solid mat-color($foreground, text, 0.07);
background-color: mat-color($background, background);
}
mat-sidenav-content.mat-sidenav-content,
.mat-drawer-transition .mat-drawer-content {
margin-left: 0 !important;
transform: unset !important;
transition-property: unset !important;
transition-duration: unset !important;
transition-timing-function: unset !important;
}
mat-sidenav-content > div {
display: flex;
height: $adf-layout-container-height;
> div {
flex: auto;
}
}
}

View File

@@ -0,0 +1,56 @@
@import '~@angular/material/theming';
.adf {
&-sidebar-action-menu {
& .mat-raised-button {
width: 100%;
display: block;
box-shadow: none !important;
height: 37.5px;
font-weight: bold;
background-color: var(--theme-primary-color);
color: var(--theme-primary-color-default-contrast) !important;
border-radius: 4px;
& mat-icon {
width: 24px;
height: 25px;
color: var(--theme-primary-color-default-contrast) !important;
}
}
&-text {
width: 100%;
height: 20px;
text-align: left;
}
}
&-sidebar-action-menu-icon {
margin: 18px 0 0 20px;
color: var(--theme-text-color);
cursor: pointer;
&:hover {
color: var(--theme-primary-color);
}
}
&-sidebar-action-menu-options {
text-align: left;
letter-spacing: -0.4px;
.mat-menu-item {
font-size: 14px;
color: var(--theme-text-bold-color);
text-align: left;
line-height: 1.5;
letter-spacing: -0.4px;
}
.mat-menu-item:hover {
color: var(--theme-primary-color);
opacity: inherit;
}
}
&-sidebar-action-menu-panel {
margin-top: 7.5px;
border-radius: 2px;
@include mat-elevation(2);
}
}

View File

@@ -20,6 +20,7 @@ import { ChangeDetectionStrategy, Component, Directive, Input, ViewEncapsulation
@Component({
selector: 'adf-sidebar-action-menu',
templateUrl: './sidebar-action-menu.component.html',
styleUrls: ['./sidebar-action-menu.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
encapsulation: ViewEncapsulation.None,
host: { 'class': 'adf-sidebar-action-menu' }

View File

@@ -1,66 +0,0 @@
@mixin adf-sidebar-action-menu-theme($theme) {
$primary: map-get($theme, primary);
$foreground: map-get($theme, foreground);
$adf-sidebar-action-menu-button-height: 37.5px;
$adf-sidebar-action-menu-button-border-radius: 4px;
$adf-sidebar-action-menu-opacity: 0.54;
$adf-sidebar-action-menu-item-opacity: 0.87;
$adf-sidebar-action-menu-item-line-spacing: -0.4px;
$adf-sidebar-action-menu-item-font-size: 14px;
.adf {
&-sidebar-action-menu {
& .mat-raised-button {
width: 100%;
display: block;
box-shadow: none !important;
height: $adf-sidebar-action-menu-button-height;
font-weight: bold;
background-color: mat-color($primary);
color: mat-color($primary, default-contrast) !important;
border-radius: $adf-sidebar-action-menu-button-border-radius;
& mat-icon {
width: 24px;
height: 25px;
color: mat-color($primary, default-contrast) !important;
}
}
&-text {
width: 100%;
height: 20px;
text-align: left;
}
}
&-sidebar-action-menu-icon {
margin: 18px 0 0 20px;
color: mat-color($foreground, text, $adf-sidebar-action-menu-opacity);
cursor: pointer;
&:hover {
color: mat-color($primary);
}
}
&-sidebar-action-menu-options {
text-align: left;
letter-spacing: $adf-sidebar-action-menu-item-line-spacing;
.mat-menu-item {
font-size: $adf-sidebar-action-menu-item-font-size;
color: mat-color($foreground, text, $adf-sidebar-action-menu-item-opacity);
text-align: left;
line-height: 1.5;
letter-spacing: $adf-sidebar-action-menu-item-line-spacing;
}
.mat-menu-item:hover {
color: mat-color($primary);
opacity: inherit;
}
}
&-sidebar-action-menu-panel {
margin-top: 7.5px;
border-radius: 2px;
@include mat-elevation(2);
}
}
}

View File

@@ -0,0 +1,39 @@
@import '~@angular/flex-layout/mq';
@import '../../../styles/mixins';
.adf-sidenav-layout {
&-full-space {
display: flex;
flex-direction: column;
flex: 1;
height: 100%;
overflow: hidden;
min-height: 0;
width: 100%;
}
@include flex-column;
width: 100%;
.adf-layout__content {
flex: 1 1 auto;
}
router-outlet {
flex: 0 0;
}
@include layout-bp(lt-sm) {
.mat-drawer {
width: calc(-50px + 100vw) !important;
max-width: 300px !important;
}
}
.mat-drawer-content {
@include flex-column;
position: unset;
overflow: auto;
}
}

View File

@@ -40,6 +40,7 @@ import { takeUntil } from 'rxjs/operators';
@Component({
selector: 'adf-sidenav-layout',
templateUrl: './sidenav-layout.component.html',
styleUrls: ['./sidenav-layout.component.scss'],
encapsulation: ViewEncapsulation.None,
host: { class: 'adf-sidenav-layout' }
})

View File

@@ -1,39 +0,0 @@
@mixin adf-sidenav-layout-theme($theme) {
.adf-sidenav-layout {
&-full-space {
display: flex;
flex-direction: column;
flex: 1;
height: 100%;
overflow: hidden;
min-height: 0;
width: 100%;
}
@include flex-column;
width: 100%;
.adf-layout__content {
flex: 1 1 auto;
}
router-outlet {
flex: 0 0;
}
@include layout-bp(lt-sm) {
.mat-drawer {
width: calc(-50px + 100vw) !important;
max-width: 300px !important;
}
}
.mat-drawer-content {
@include flex-column;
position: unset;
overflow: auto;
}
}
}

View File

@@ -0,0 +1,274 @@
@import '../../styles/mixins';
.adf-login {
@include flex-column;
}
.adf-login-content {
background-size: cover;
background-position: center;
min-height: 100%;
min-width: 320px;
display: flex;
justify-content: center;
flex-direction: column;
// IE11 vertical centering
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
& {
display: table;
width: 100%;
height: 100%;
}
}
.adf-ie11FixerParent {
margin-top: 16px;
min-width: 320px;
// IE11 vertical centering
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
display: table-cell;
vertical-align: middle;
width: 100%;
padding-top: 16px;
}
}
// IE11 vertical centering
.adf-ie11FixerChild {
width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.adf-show {
display: block !important;
}
.adf-hide {
display: none !important;
}
.adf-icon-inline {
position: absolute;
display: block;
top: 31%;
left: 82%;
width: 30px;
overflow: hidden;
}
.adf-login-card-wide {
border-radius: 8px;
background-color: var(--theme-dialog-bg-color);
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.24), 0 0 2px 0 rgba(0, 0, 0, 0.12);
width: 450px;
min-width: 320px;
padding: 21px 64px 34px;
box-sizing: border-box;
}
@media (max-width: 482px) {
.adf-login-card-wide {
width: calc(100% - 32px);
}
}
.adf-error-container {
height: 45px;
}
.adf-error-message {
display: flex;
box-orient: horizontal;
flex-direction: row;
justify-content: flex-start;
color: var(--theme-warn-color);
padding: 0;
margin-bottom: 4px;
font-size: 13px;
}
.adf-error-message .adf-error-icon {
margin-right: 10px;
}
.mat-card-header-text {
margin: 0 auto;
}
.adf-img-logo {
display: block;
margin-left: auto;
margin-right: auto;
}
.adf-alfresco-logo {
padding: 24px 16px;
}
.adf-alfresco-logo img {
max-height: 58px;
}
.adf-login-button {
width: 100%;
height: 36px;
line-height: 38px;
box-shadow: none;
}
.adf-login-button-label {
color: var(--theme-accent-color-default-contrast);
}
.adf-login-button.adf-isChecking {
background-color: #e0f7fa;
}
.adf-login-button.adf-isChecking .adf-login-button-label {
color: var(--theme-primary-color);
}
.adf-login-button.adf-isWelcome {
background-color: var(--theme-primary-color);
color: var(--theme-primary-color-default-contrast);
}
.adf-login-button.adf-isWelcome .adf-welcome-icon {
margin: 5px 0 0 10px;
}
.adf-interactive-login-label {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-orient: horizontal;
-moz-box-orient: horizontal;
box-orient: horizontal;
flex-direction: row;
-webkit-box-pack: center;
-moz-box-pack: center;
box-pack: center;
justify-content: center;
}
.adf-login-spinner-container {
margin-left: 15px;
margin-top: 5px;
}
.adf-login-checking-spinner > svg > circle {
stroke-width: 16% !important;
}
.adf-login-controls {
padding: 0 0 26px;
overflow: visible;
width: 100%;
}
.adf-login-action {
margin-top: 20px;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-orient: horizontal;
-moz-box-orient: horizontal;
box-orient: horizontal;
flex-direction: row;
-webkit-box-pack: space-between;
-moz-box-pack: space-between;
box-pack: space-between;
justify-content: space-between;
}
.adf-login-action-left a, .adf-login-action-right a {
text-decoration: none;
}
.adf-is-active {
background-color: transparent;
font-size: 12px;
font-weight: normal;
line-height: 1.33;
color: var(--theme-warn-color);
}
.adf-copyright {
min-width: 320px;
text-align: center;
padding: 16px 0;
font-size: 12px;
opacity: 0.54;
}
.mat-form-field .adf-login-password-icon.mat-icon {
color: var(--theme-text-fg-color);
}
.adf-login__field .mat-form-field-wrapper {
margin: 1em 0 0;
font-size: 16px;
}
.adf-login__field input:-webkit-autofill {
-webkit-box-shadow: 0 0 0 1000px var(--theme-dialog-bg-color) inset;
-webkit-text-fill-color: var(--theme-text-fg-color) !important;
}
.adf-login-validation {
background-color: transparent;
color: var(--theme-warn-color);
font-size: 12px;
}
.adf-login-error {
color: var(--theme-warn-color);
position: absolute;
font-size: 12px;
margin-top: -12px;
display: block;
}
.adf-full-width {
width: 100%;
}
.adf-login__remember-me {
padding-top: 22px;
}
.adf-login__remember-me .mat-checkbox-label {
opacity: 0.87;
}
.adf-login__field {
display: block;
margin-left: auto;
margin-right: auto;
padding-bottom: 18px;
}
.adf-login-remember-me {
color: var(--theme-text-fg-color) !important;
}
.adf-login-action-container {
border-top: 1px solid rgba(0, 0, 0, 0.1);
margin-top: 23px;
}
}

View File

@@ -53,10 +53,9 @@ interface ValidationMessage {
@Component({
selector: 'adf-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.scss'],
encapsulation: ViewEncapsulation.None,
host: {
class: 'adf-login'
}
host: { class: 'adf-login' }
})
export class LoginComponent implements OnInit, OnDestroy {
isPasswordShow: boolean = false;

View File

@@ -1,281 +0,0 @@
@mixin adf-login-theme($theme) {
$primary: map-get($theme, primary);
$accent: map-get($theme, accent);
$warn: map-get($theme, warn);
$background: map-get($theme, background);
$foreground: map-get($theme, foreground);
$text-color-primary: mat-color($foreground, text);
.adf-login {
@include flex-column;
}
.adf-login-content {
background-size: cover;
background-position: center;
min-height: 100%;
min-width: 320px;
display: flex;
justify-content: center;
flex-direction: column;
// IE11 vertical centering
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
& {
display: table;
width: 100%;
height: 100%;
}
}
.adf-ie11FixerParent {
margin-top: 16px;
min-width: 320px;
// IE11 vertical centering
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
display: table-cell;
vertical-align: middle;
width: 100%;
padding-top: 16px;
}
}
// IE11 vertical centering
.adf-ie11FixerChild {
width: 100%;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.adf-show {
display: block !important;
}
.adf-hide {
display: none !important;
}
.adf-icon-inline {
position: absolute;
display: block;
top: 31%;
left: 82%;
width: 30px;
overflow: hidden;
}
.adf-login-card-wide {
border-radius: 8px;
background-color: mat-color($background, dialog);
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.24), 0 0 2px 0 rgba(0, 0, 0, 0.12);
width: 450px;
min-width: 320px;
padding: 21px 64px 34px;
box-sizing: border-box;
}
@media (max-width: 482px) {
.adf-login-card-wide {
width: calc(100% - 32px);
}
}
.adf-error-container {
height: 45px;
}
.adf-error-message {
display: flex;
box-orient: horizontal;
flex-direction: row;
justify-content: flex-start;
color: mat-color($warn);
padding: 0;
margin-bottom: 4px;
font-size: 13px;
}
.adf-error-message .adf-error-icon {
margin-right: 10px;
}
.mat-card-header-text {
margin: 0 auto;
}
.adf-img-logo {
display: block;
margin-left: auto;
margin-right: auto;
}
.adf-alfresco-logo {
padding: 24px 16px;
}
.adf-alfresco-logo img {
max-height: 58px;
}
.adf-login-button {
width: 100%;
height: 36px;
line-height: 38px;
box-shadow: none;
}
.adf-login-button-label {
color: mat-contrast($accent, default);
}
.adf-login-button.adf-isChecking {
background-color: #e0f7fa;
}
.adf-login-button.adf-isChecking .adf-login-button-label {
color: mat-color($primary);
}
.adf-login-button.adf-isWelcome {
background-color: mat-color($primary);
color: mat-contrast($primary, default);
}
.adf-login-button.adf-isWelcome .adf-welcome-icon {
margin: 5px 0 0 10px;
}
.adf-interactive-login-label {
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-orient: horizontal;
-moz-box-orient: horizontal;
box-orient: horizontal;
flex-direction: row;
-webkit-box-pack: center;
-moz-box-pack: center;
box-pack: center;
justify-content: center;
}
.adf-login-spinner-container {
margin-left: 15px;
margin-top: 5px;
}
.adf-login-checking-spinner > svg > circle {
stroke-width: 16% !important;
}
.adf-login-controls {
padding: 0 0 26px;
overflow: visible;
width: 100%;
}
.adf-login-action {
margin-top: 20px;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
-webkit-box-orient: horizontal;
-moz-box-orient: horizontal;
box-orient: horizontal;
flex-direction: row;
-webkit-box-pack: space-between;
-moz-box-pack: space-between;
box-pack: space-between;
justify-content: space-between;
}
.adf-login-action-left a, .adf-login-action-right a {
text-decoration: none;
}
.adf-is-active {
background-color: transparent;
font-size: 12px;
font-weight: normal;
line-height: 1.33;
color: mat-color($warn);
}
.adf-copyright {
min-width: 320px;
text-align: center;
padding: 16px 0;
font-size: 12px;
opacity: 0.54;
}
.mat-form-field .adf-login-password-icon.mat-icon {
color: $text-color-primary;
}
.adf-login__field .mat-form-field-wrapper {
margin: 1em 0 0;
font-size: 16px;
}
.adf-login__field input:-webkit-autofill {
-webkit-box-shadow: 0 0 0 1000px mat-color($background, dialog) inset;
-webkit-text-fill-color: $text-color-primary !important;
}
.adf-login-validation {
background-color: transparent;
color: mat-color($warn);
font-size: 12px;
}
.adf-login-error {
color: mat-color($warn);
position: absolute;
font-size: 12px;
margin-top: -12px;
display: block;
}
.adf-full-width {
width: 100%;
}
.adf-login__remember-me {
padding-top: 22px;
}
.adf-login__remember-me .mat-checkbox-label {
opacity: 0.87;
}
.adf-login__field {
display: block;
margin-left: auto;
margin-right: auto;
padding-bottom: 18px;
}
.adf-login-remember-me {
color: $text-color-primary !important;
}
.adf-login-action-container {
border-top: 1px solid rgba(0, 0, 0, 0.1);
margin-top: 23px;
}
}
}

View File

@@ -0,0 +1,71 @@
.adf {
&-notification-history-menu_button.mat-button {
margin-right: 0;
border-radius: 90%;
padding: 0;
min-width: 40px;
height: 40px;
}
&-notification-history-list .mat-subheader {
justify-content: space-between;
}
&-notification-history-menu {
&-item {
cursor: pointer;
}
&-item:focus {
outline: none;
background: var(--theme-bg-hover-color);
}
&-item:hover {
background-color: var(--theme-bg-hover-color);
}
&-message, &-no-message {
font-size: 13px !important;
}
&-date {
font-size: 12px !important;
}
&-initiator {
margin: 4px;
}
}
&-notification-initiator-pic {
min-width: 40px;
background: var(--theme-accent-color);
display: inline-block;
height: 40px;
border-radius: 100px;
text-align: center;
font-weight: bolder;
font-size: 18px;
text-transform: uppercase;
vertical-align: middle;
line-height: 40px;
color: var(--theme-colors-mat-grey);
}
&-notification-history-load-more {
display: flex;
justify-content: center;
padding: 10px;
}
}
.mat-menu-panel.adf-notification-history-menu {
min-width: 320px;
max-height: 500px;
.mat-menu-content {
padding: 0;
}
}

View File

@@ -15,7 +15,7 @@
* limitations under the License.
*/
import { Component, Input, ViewChild, OnDestroy, OnInit, AfterViewInit, ChangeDetectorRef } from '@angular/core';
import { Component, Input, ViewChild, OnDestroy, OnInit, AfterViewInit, ChangeDetectorRef, ViewEncapsulation } from '@angular/core';
import { NotificationService } from '../services/notification.service';
import { NotificationModel, NOTIFICATION_TYPE } from '../models/notification.model';
import { MatMenuTrigger, MenuPositionX, MenuPositionY } from '@angular/material/menu';
@@ -26,7 +26,9 @@ import { Pagination } from '@alfresco/js-api';
@Component({
selector: 'adf-notification-history',
templateUrl: 'notification-history.component.html'
templateUrl: 'notification-history.component.html',
styleUrls: ['./notification-history.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class NotificationHistoryComponent implements OnDestroy, OnInit, AfterViewInit {

View File

@@ -1,76 +0,0 @@
@mixin adf-notification-history-theme($theme) {
$background: map-get($theme, background);
$accent: map-get($theme, accent);
.adf {
&-notification-history-menu_button.mat-button {
margin-right: 0;
border-radius: 90%;
padding: 0;
min-width: 40px;
height: 40px;
}
&-notification-history-list .mat-subheader {
justify-content: space-between;
}
&-notification-history-menu {
&-item {
cursor: pointer;
}
&-item:focus {
outline: none;
background: mat-color($background, 'hover');
}
&-item:hover {
background-color: mat-color($background, 'hover');
}
&-message, &-no-message {
font-size: 13px !important;
}
&-date {
font-size: 12px !important;
}
&-initiator {
margin: 4px;
}
}
&-notification-initiator-pic {
min-width: 40px;
background: mat-color($accent);
display: inline-block;
height: 40px;
border-radius: 100px;
text-align: center;
font-weight: bolder;
font-size: 18px;
text-transform: uppercase;
vertical-align: middle;
line-height: 40px;
color: mat-color($mat-grey, 50);
}
&-notification-history-load-more {
display: flex;
justify-content: center;
padding: 10px;
}
}
.mat-menu-panel.adf-notification-history-menu {
min-width: 320px;
max-height: 500px;
.mat-menu-content {
padding: 0;
}
}
}

View File

@@ -0,0 +1,87 @@
@import '~@angular/flex-layout/mq';
$adf-pagination--height: 48px !default;
$adf-pagination--icon-button-size: 32px !default;
$adf-pagination--border: none !default;
$adf-pagination__empty--height: 48px !default;
$adf-pagination__empty--border: none !default;
.adf-pagination {
display: flex;
border-top: $adf-pagination--border;
height: $adf-pagination--height;
line-height: 20px;
color: var(--theme-text-fg-color);
&__block {
display: flex;
align-items: center;
padding: 0 8px;
border-right: $adf-pagination--border;
&:first-child {
flex: 1 1 auto;
padding-left: 24px;
}
&:last-child {
border-right-width: 0;
}
}
@include layout-bp(lt-sm) {
& {
flex-wrap: wrap;
padding: 0 16px;
justify-content: space-between;
}
&__range-block,
&__perpage-block {
display: none;
}
&__actualinfo-block {
border-right: none;
}
&__controls-block {
padding-right: 0;
}
}
&__max-items {
margin-left: 10px;
}
&__max-items, &__current-page {
margin-right: 5px;
&, & + button {
color: var(--theme-text-fg-color);
}
& + button {
margin-left: -10px;
}
}
&__previous-button, &__next-button {
margin: 0 5px;
}
&__page-selector {
max-height: 250px !important;
}
&.adf-pagination__empty {
border-top: $adf-pagination__empty--border;
height: $adf-pagination__empty--height;
}
button[mat-icon-button] {
width: $adf-pagination--icon-button-size;
height: $adf-pagination--icon-button-size;
line-height: $adf-pagination--icon-button-size;
}
}

View File

@@ -34,6 +34,7 @@ export type PaginationAction =
selector: 'adf-pagination',
host: { 'class': 'adf-pagination' },
templateUrl: './pagination.component.html',
styleUrls: ['./pagination.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
encapsulation: ViewEncapsulation.None
})

View File

@@ -1,89 +0,0 @@
@mixin adf-pagination-theme($theme) {
$foreground: map-get($theme, foreground);
$adf-pagination--height: 48px !default;
$adf-pagination--icon-button-size: 32px !default;
$adf-pagination--border: none !default;
$adf-pagination__empty--height: 48px !default;
$adf-pagination__empty--border: none !default;
.adf-pagination {
display: flex;
border-top: $adf-pagination--border;
height: $adf-pagination--height;
line-height: 20px;
color: mat-color($foreground, text);
&__block {
display: flex;
align-items: center;
padding: 0 8px;
border-right: $adf-pagination--border;
&:first-child {
flex: 1 1 auto;
padding-left: 24px;
}
&:last-child {
border-right-width: 0;
}
}
@include layout-bp(lt-sm) {
& {
flex-wrap: wrap;
padding: 0 16px;
justify-content: space-between;
}
&__range-block,
&__perpage-block {
display: none;
}
&__actualinfo-block {
border-right: none;
}
&__controls-block {
padding-right: 0;
}
}
&__max-items {
margin-left: 10px;
}
&__max-items, &__current-page {
margin-right: 5px;
&, & + button {
color: mat-color($foreground, text);
}
& + button {
margin-left: -10px;
}
}
&__previous-button, &__next-button {
margin: 0 5px;
}
&__page-selector {
max-height: 250px !important;
}
&.adf-pagination__empty {
border-top: $adf-pagination__empty--border;
height: $adf-pagination__empty--height;
}
button[mat-icon-button] {
width: $adf-pagination--icon-button-size;
height: $adf-pagination--icon-button-size;
line-height: $adf-pagination--icon-button-size;
}
}
}

View File

@@ -0,0 +1,36 @@
.adf-search-container {
overflow: hidden !important;
}
.adf-search-button {
left: -13px;
}
[dir='rtl'] .adf-search-button {
right: -13px;
}
[dir='ltr'] .adf-search-button {
left: -13px;
}
.adf {
&-search-fixed-text {
line-height: normal;
}
&-input-form-field-divider {
.mat-form-field-underline {
background-color: var(--adf-search-input-bg-color);
.mat-form-field-ripple {
background-color: var(--adf-search-input-bg-color);
}
}
font-size: 16px;
}
}
.adf-highlight {
color: var(--adf-search-input-highlight-color);
}

View File

@@ -26,6 +26,7 @@ import { SearchTextStateEnum, SearchAnimationState, SearchAnimationDirection } f
@Component({
selector: 'adf-search-text-input',
templateUrl: './search-text-input.component.html',
styleUrls: ['./search-text-input.component.scss'],
animations: [searchAnimation],
encapsulation: ViewEncapsulation.None,
host: {

View File

@@ -1,46 +0,0 @@
@mixin adf-search-text-input-theme($theme) {
$background: map-get($theme, background);
$foreground: map-get($theme, foreground);
$primary: map-get($theme, primary);
$accent: map-get($theme, accent);
$mat-menu-border-radius: 2px !default;
$mat-menu-overlay-min-width: 112px !default; // 56 * 2
$mat-menu-overlay-max-width: 280px !default; // 56 * 5
.adf-search-container {
overflow: hidden !important;
}
.adf-search-button {
left: -13px;
}
[dir='rtl'] .adf-search-button {
right: -13px;
}
[dir='ltr'] .adf-search-button {
left: -13px;
}
.adf {
&-search-fixed-text {
line-height: normal;
}
&-input-form-field-divider {
.mat-form-field-underline {
background-color: mat-color($primary, 50);
.mat-form-field-ripple {
background-color: mat-color($primary, 50);
}
}
font-size: 16px;
}
}
.adf-highlight {
color: mat-color($primary, 900);
}
}

View File

@@ -1,14 +1,11 @@
@mixin adf-default-class-theme($theme) {
.adf-hide-small {
@media screen and (max-width: 959px) {
display: none !important;
}
}
.adf-hide-xsmall {
@media screen and (max-width: 599px) {
display: none !important;
}
.adf-hide-small {
@media screen and (max-width: 959px) {
display: none !important;
}
}
.adf-hide-xsmall {
@media screen and (max-width: 599px) {
display: none !important;
}
}

View File

@@ -1,80 +1,102 @@
@import './theme-colors';
@import './default-class';
@import './theming';
@import '../card-view/card-view.theme';
@import '../datatable/components/datatable/datatable.theme';
@import '../form/components/widgets/container/container.theme';
@import '../form/components/widgets/dynamic-table/dynamic-table.theme';
@import '../form/components/widgets/form.theme';
@import '../form/components/widgets/hyperlink/hyperlink.theme';
@import '../form/components/widgets/amount/amount.theme';
@import '../form/components/widgets/people/people.theme';
@import '../info-drawer/info-drawer-layout.theme';
@import '../login/components/login.theme';
@import '../pagination/pagination.theme';
@import '../toolbar/toolbar.theme';
@import '../userinfo/components/user-info.theme';
@import '../viewer/components/viewer.theme';
@import '../viewer/components/pdf-viewer.theme';
@import '../viewer/components/pdf-viewer-thumbnails.theme';
@import '../viewer/components/pdf-viewer-password-dialog.theme.scss';
@import '../viewer/components/txt-viewer.theme';
@import '../viewer/components/img-viewer.theme';
@import '../viewer/components/unknown-format/unknown-format.theme';
@import '../form/components/form-renderer.theme';
@import '../layout/components/sidebar-action/sidebar-action-menu.theme';
@import '../layout/components/header/header.theme';
@import '../comments/comment-list.theme';
@import '../comments/comments.theme';
@import '../layout/components/layout-container/layout-container.theme';
@import '../layout/components/sidenav-layout/sidenav-layout.theme';
@import '../templates/empty-content/empty-content.theme';
@import '../templates/error-content/error-content.theme';
@import '../clipboard/clipboard.theme';
@import '../search-text/search-text-input.theme';
@import './snackbar.theme';
@import '../directives/tooltip-card/tooltip-card.theme';
@import '../notifications/components/notification-history.theme';
@import './material.theme';
@import '~@mat-datetimepicker/core/datetimepicker/datetimepicker-theme.scss';
@mixin adf-core-theme($theme) {
@include adf-colors-theme($theme);
@include adf-default-class-theme($theme);
@include adf-card-view-module-theme($theme);
@include adf-datatable-theme($theme);
@include adf-form-container-widget-theme($theme);
@include adf-dynamic-table-theme($theme);
@include adf-form-theme($theme);
@include adf-hyperlink-widget-theme($theme);
@include adf-amount-widget-theme($theme);
@include adf-form-people-widget-theme($theme);
@include adf-info-drawer-theme($theme);
@include adf-login-theme($theme);
@include adf-pagination-theme($theme);
@include adf-toolbar-theme($theme);
@include adf-userinfo-theme($theme);
@include adf-viewer-theme($theme);
@include adf-pdf-viewer-theme($theme);
@include adf-pdf-thumbnails-theme($theme);
@include adf-pdf-viewer-password-dialog-theme($theme);
@include adf-image-viewer-theme($theme);
@include adf-unknown-viewer-theme($theme);
@include adf-text-viewer-theme($theme);
@include adf-form-renderer-theme($theme);
@include adf-sidebar-action-menu-theme($theme);
@include adf-task-list-comment-list-theme($theme);
@include adf-task-list-comment-theme($theme);
@include adf-layout-container-theme($theme);
@include adf-empty-content-theme($theme);
@include adf-error-content-theme($theme);
@include adf-header-layout-theme($theme);
@include adf-sidenav-layout-theme($theme);
@include adf-clipboard-theme($theme);
@include adf-snackbar-theme($theme);
@include mat-expansion-panel-theme--fix($theme);
@include mat-calendar-theme--fix($theme);
@include mat-datetimepicker-theme--fix($theme);
@include adf-search-text-input-theme($theme);
@include adf-tooltip-card-directive($theme);
@include adf-notification-history-theme($theme);
$foreground: map-get($theme, foreground);
$background: map-get($theme, background);
$warn: map-get($theme, warn);
$accent: map-get($theme, accent);
$primary: map-get($theme, primary);
// map SCSS variables to expose as CSS variables
$defaults: (
// material colors
--theme-primary-color: mat-color($primary),
--theme-primary-color-default-contrast: mat-color($primary, default-contrast),
--theme-warn-color: mat-color($warn),
--theme-warn-color-default-contrast: mat-color($warn, default-contrast),
--theme-accent-color: mat-color($accent),
--theme-accent-color-a200: mat-color($accent, A200),
--theme-accent-color-default-contrast: mat-color($accent, default-contrast),
// component themes
--adf-snackbar-error-bg-color: mat-color($warn),
--adf-snackbar-error-action-color: white,
--adf-snackbar-warning-bg-color: mat-color($accent),
--adf-snackbar-warning-action-color: white,
--adf-snackbar-info-bg-color: mat-color($primary),
--adf-snackbar-info-action-color: white,
--adf-breadcrumb-item-active-color: mat-color($foreground, text, 0.87),
--adf-breadcrumb-item-active-hover-color: mat-color($foreground, text, 0.64),
--adf-node-selector-icon-color: mat-color($foreground, icon, 0.54),
--adf-node-selector-base-color: mat-color($foreground, base, 0.45),
--adf-node-selector-base-bold-color: mat-color($foreground, base, 0.65),
--adf-datatable-cell-link-hover-color: mat-color($accent, 500),
--adf-datatable-selected-color: mat-color($primary, 100),
--adf-user-info-color: mat-color($primary, 300),
--adf-comment-list-primary-color: mat-color($primary, 100),
--adf-comment-list-ripple-color: mat-color($primary, 300),
--adf-search-input-bg-color: mat-color($primary, 50),
--adf-search-input-highlight-color: mat-color($primary, 900),
--adf-tooltip-card-color: mat-color($foreground, text, 0.75),
--adf-card-view-text-color: mat-color($foreground, text, 0.25),
--adf-card-view-label-color: mat-color($foreground, text, 0.4),
--adf-card-view-datetime-border-color: mat-color($foreground, text, 0.42),
--adf-upload-border-color: mat-color($foreground, text, 0.14),
--theme-hover-bg-color: mat-color($background, hover),
--theme-text-color: mat-color($foreground, text, 0.54),
--theme-text-bold-color: mat-color($foreground, text, 0.87),
--theme-background-color: mat-color($background, background),
--theme-text-fg-color: mat-color($foreground, text),
--theme-text-fg-shadow-color: mat-color($foreground, text, 0.27),
--theme-border-color: mat-color($foreground, text, 0.07),
--theme-card-bg-color: mat-color($background, card),
--theme-card-bg-bold-color: mat-color($background, card, 0.87),
--theme-foreground-text-color: mat-color($foreground, text, 0.72),
--theme-secondary-text-color: mat-color($foreground, secondary-text),
--theme-dialog-bg-color: mat-color($background, dialog),
--theme-bg-hover-color: mat-color($background, hover),
--theme-fg-base-color: mat-color($foreground, base),
--theme-fg-divider: mat-color($foreground, divider),
--theme-disabled-text-color: mat-color($foreground, disabled-text),
--theme-selected-button-bg-color: mat-color($background, selected-button),
--theme-icon-fg-color: mat-color($foreground, icon),
--theme-unselected-chip-bg-color: mat-color($background, unselected-chip),
--theme-status-bar-bg-color: mat-color($background, status-bar),
// fonts
--theme-font-family: mat-font-family($alfresco-typography),
--theme-body-1-font-size: mat-font-size($alfresco-typography, body-1),
--theme-body-2-font-size: mat-font-size($alfresco-typography, body-2),
--theme-body-1-line-height: mat-line-height($alfresco-typography, body-1),
--theme-display-1-font-size: mat-font-size($alfresco-typography, display-1),
--theme-display-3-font-size: mat-font-size($alfresco-typography, display-3),
--theme-display-4-font-size: mat-font-size($alfresco-typography, display-4),
--theme-caption-font-size: mat-font-size($alfresco-typography, caption),
--theme-title-font-size: mat-font-size($alfresco-typography, title),
--theme-subheading-2-font-size: mat-font-size($alfresco-typography, subheading-2),
--theme-button-font-size: mat-font-size($alfresco-typography, button),
--theme-headline-line-height: mat-line-height($alfresco-typography, headline),
// specific colors
--theme-colors-mat-grey: mat-color($mat-grey, A200),
--theme-colors-mat-grey-dark: mat-color($mat-grey, A400),
--theme-colors-mag-grey-light: mat-color($mat-grey, 50),
);
// propagates SCSS variables into the CSS variables scope
:root {
@each $name, $value in $defaults {
#{$name}: #{$value};
}
}
@include mat-datetimepicker-theme($theme);
@include adf-snackbar-theme();
@include adf-material-theme();
}

View File

@@ -1,6 +1,3 @@
@import '~@angular/material/theming';
@import 'variables';
@mixin adf-no-select {
-webkit-touch-callout: none;
-webkit-user-select: none;
@@ -27,27 +24,7 @@
@mixin material-animation-default($duration: 0.2s) {
transition-duration: $duration;
transition-timing-function: $animation-curve-default;
}
@mixin adf-line-clamp($line-height: 1.25, $lines: 3) {
position: relative;
line-height: $line-height;
padding: 0 !important;
overflow: hidden;
text-overflow: ellipsis;
@supports (-webkit-line-clamp: 1) {
display: -webkit-box;
-webkit-box-orient: vertical;
-webkit-line-clamp: $lines;
height: calc(0.99em * #{$line-height} * #{$lines});
}
@supports not (-webkit-line-clamp: 1) {
white-space: nowrap;
width: 100%;
}
transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
@mixin flex-column {
@@ -66,72 +43,3 @@
height: 100%;
overflow: hidden;
}
@mixin mat-expansion-panel-theme--fix($theme) {
$background: map-get($theme, background);
.mat-expansion-panel {
& .mat-expansion-panel-header.cdk-keyboard-focused,
& .mat-expansion-panel-header.cdk-program-focused,
&:not(.mat-expanded) .mat-expansion-panel-header:hover {
&:not([aria-disabled='true']) {
background: mat-color($background, hover);
}
}
}
}
@mixin mat-calendar-theme--fix($theme) {
$foreground: map-get($theme, foreground);
.mat-calendar {
.mat-calendar-header {
button {
color: mat-color($foreground, text, 0.87);
&:disabled {
color: mat-color($foreground, text, 0.54);
}
}
}
.mat-calendar-content {
.mat-calendar-table-header th {
color: mat-color($foreground, text, 0.54);
}
.mat-calendar-body-disabled > div {
color: mat-color($foreground, text, 0.54) !important;
}
}
}
}
@mixin mat-datetimepicker-theme--fix($theme) {
$foreground: map-get($theme, foreground);
.mat-datetimepicker-calendar {
.mat-datetimepicker-calendar-header {
.mat-datetimepicker-calendar-header-year {
opacity: 1;
}
.mat-datetimepicker-calendar-header-date {
opacity: 1;
}
.mat-datetimepicker-calendar-header-time {
opacity: 1;
}
}
.mat-datetimepicker-calendar-content {
.mat-datetimepicker-calendar-table-header th {
color: mat-color($foreground, text, 0.54);
}
.mat-datetimepicker-calendar-body-disabled > div {
color: mat-color($foreground, text, 0.54);
}
}
}
}

View File

@@ -1,44 +0,0 @@
@import '~@angular/material/theming';
@mixin adf-colors-theme($theme) {
$primary: map-get($theme, primary);
$accent: map-get($theme, accent);
$warn: map-get($theme, warn);
$background: map-get($theme, background);
$foreground: map-get($theme, foreground);
.adf-primary-color {
color: mat-color($primary) !important;
}
.adf-accent-color {
color: mat-color($accent) !important;
}
.adf-warn-color {
color: mat-color($warn) !important;
}
.adf-dialog-background-color {
background: mat-color($background, dialog) !important;
}
.adf-primary-background-color {
color: mat-color($primary, default-contrast) !important;
background: mat-color($primary) !important;
}
.adf-accent-background-color {
color: mat-color($accent, default-contrast) !important;
background: mat-color($accent) !important;
}
.adf-primary-contrast-text-color {
color: mat-color($primary, default-contrast) !important;
}
.adf-accent-contrast-text-color {
color: mat-color($accent, default-contrast) !important;
}
}

View File

@@ -1,7 +1,6 @@
@import '~@angular/material/theming';
@import '~@angular/flex-layout/mq';
@import './colors';
@import './variables';
@import './mixins';
@import './typography';

View File

@@ -1,8 +0,0 @@
@import './colors';
/* ANIMATION */
$animation-curve-fast-out-slow-in: cubic-bezier(0.4, 0, 0.2, 1) !default;
$animation-curve-default: $animation-curve-fast-out-slow-in !default;
$swift-ease-in-duration: 300ms !default;
$swift-ease-in-timing-function: cubic-bezier(0.55, 0, 0.55, 0.2) !default;

View File

@@ -0,0 +1,59 @@
@mixin adf-material-theme() {
.mat-expansion-panel {
& .mat-expansion-panel-header.cdk-keyboard-focused,
& .mat-expansion-panel-header.cdk-program-focused,
&:not(.mat-expanded) .mat-expansion-panel-header:hover {
&:not([aria-disabled='true']) {
background-color: var(--theme-hover-bg-color);
}
}
}
.mat-calendar {
.mat-calendar-header {
button {
color: var(--theme-text-bold-color);
&:disabled {
color: var(--theme-text-color);
}
}
}
.mat-calendar-content {
.mat-calendar-table-header th {
color: var(--theme-text-color);
}
.mat-calendar-body-disabled > div {
color: var(--theme-text-color) !important;
}
}
}
.mat-datetimepicker-calendar {
.mat-datetimepicker-calendar-header {
.mat-datetimepicker-calendar-header-year {
opacity: 1;
}
.mat-datetimepicker-calendar-header-date {
opacity: 1;
}
.mat-datetimepicker-calendar-header-time {
opacity: 1;
}
}
.mat-datetimepicker-calendar-content {
.mat-datetimepicker-calendar-table-header th {
color: var(--theme-text-color);
}
.mat-datetimepicker-calendar-body-disabled > div {
color: var(--theme-text-color);
}
}
}
}

View File

@@ -1,13 +1,5 @@
@import '../../../content-services/src/lib/styles/index';
@import '../../../process-services/src/lib/styles/index';
@import '../../../process-services-cloud/src/lib/styles/index';
@import '../../../core/styles/index';
@import '../../../insights/src/lib/styles/index';
@mixin alfresco-material-theme($theme) {
@include adf-content-services-theme($theme);
@include adf-process-services-theme($theme);
@include adf-process-services-cloud-theme($theme);
@include adf-core-theme($theme);
@include adf-insights-theme($theme);
}

View File

@@ -1,29 +1,25 @@
@mixin adf-snackbar-theme($theme) {
$warn: map-get($theme, warn);
$accent: map-get($theme, accent);
$primary: map-get($theme, primary);
@mixin adf-snackbar-theme() {
.adf-error-snackbar {
background-color: mat-color($warn);
background-color: var(--adf-snackbar-error-bg-color);
.mat-simple-snackbar-action {
color: white;
}
.mat-simple-snackbar-action {
color: var(--adf-snackbar-error-action-color);
}
}
.adf-warning-snackbar {
background-color: mat-color($accent);
background-color: var(--adf-snackbar-warning-bg-color);
.mat-simple-snackbar-action {
color: white;
}
.mat-simple-snackbar-action {
color: var(--adf-snackbar-warning-action-color);
}
}
.adf-info-snackbar {
background-color: mat-color($primary);
background-color: var(--adf-snackbar-info-bg-color);
.mat-simple-snackbar-action {
color: white;
}
.mat-simple-snackbar-action {
color: var(--adf-snackbar-info-action-color);
}
}
}
}

View File

@@ -0,0 +1,39 @@
.adf-empty-content {
color: var(--theme-text-color);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
width: 100%;
&__icon {
.mat-icon {
font-size: var(--theme-display-3-font-size);
height: var(--theme-display-3-font-size) !important;
width: var(--theme-display-3-font-size) !important;
}
}
&__title {
font-size: 18px;
font-weight: 600;
line-height: 0;
white-space: normal;
text-align: center;
margin: 10px 0;
}
&__subtitle,
&__text {
font-size: 14px;
font-weight: 300;
line-height: inherit;
white-space: normal;
text-align: center;
}
.adf-icon {
opacity: 0.6;
}
}

View File

@@ -20,6 +20,7 @@ import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input } from '@a
@Component({
selector: 'adf-empty-content',
templateUrl: './empty-content.component.html',
styleUrls: ['./empty-content.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
encapsulation: ViewEncapsulation.None,
host: { class: 'adf-empty-content' }

View File

@@ -1,46 +0,0 @@
@mixin adf-empty-content-theme($theme) {
$config: mat-typography-config();
$foreground: map-get($theme, foreground);
$adf-empty-content-icon-opacity: 0.6;
.adf-empty-content {
color: mat-color($foreground, text, 0.54);
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
height: 100%;
width: 100%;
&__icon {
.mat-icon {
font-size: mat-font-size($config, display-3);
height: mat-font-size($config, display-3) !important;
width: mat-font-size($config, display-3) !important;
}
}
&__title {
font-size: 18px;
font-weight: 600;
line-height: 0;
white-space: normal;
text-align: center;
margin: 10px 0;
}
&__subtitle,
&__text {
font-size: 14px;
font-weight: 300;
line-height: inherit;
white-space: normal;
text-align: center;
}
.adf-icon {
opacity: $adf-empty-content-icon-opacity;
}
}
}

View File

@@ -0,0 +1,61 @@
.adf-error-content {
color: var(--theme-text-color);
display: flex;
flex-direction: column;
align-items: center;
&-code {
font-size: 110px;
font-weight: 300;
margin-top: 200px;
margin-bottom: 45px;
}
&-shadow {
width: 170px;
height: 3px;
opacity: 0.54;
box-shadow: 0 10px 15px 0 rgba(0, 0, 0, 0.39);
}
&-title {
font-size: 46px;
font-weight: normal;
margin-top: 40px;
margin-bottom: 10px;
}
&-description {
font-size: 24px;
font-weight: normal;
text-align: center;
width: 50%;
min-width: 250px;
margin-bottom: 60px;
line-height: 30px;
}
}
@media screen and (max-width: 959px) {
.adf-error-content {
&-code {
margin-top: 100px;
font-size: 50px;
margin-bottom: 25px;
}
&-shadow {
width: 100px;
}
&-title {
font-size: 24px;
}
&-description {
font-size: 17px;
}
}
}

View File

@@ -27,6 +27,7 @@ import { TranslationService } from '../../services/translation.service';
@Component({
selector: 'adf-error-content',
templateUrl: './error-content.component.html',
styleUrls: ['./error-content.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
encapsulation: ViewEncapsulation.None,
host: { class: 'adf-error-content' }

View File

@@ -1,65 +0,0 @@
@mixin adf-error-content-theme($theme) {
$foreground: map-get($theme, foreground);
.adf-error-content {
color: mat-color($foreground, text, 0.54);
display: flex;
flex-direction: column;
align-items: center;
&-code {
font-size: 110px;
font-weight: 300;
margin-top: 200px;
margin-bottom: 45px;
}
&-shadow {
width: 170px;
height: 3px;
opacity: 0.54;
box-shadow: 0 10px 15px 0 rgba(0, 0, 0, 0.39);
}
&-title {
font-size: 46px;
font-weight: normal;
margin-top: 40px;
margin-bottom: 10px;
}
&-description {
font-size: 24px;
font-weight: normal;
text-align: center;
width: 50%;
min-width: 250px;
margin-bottom: 60px;
line-height: 30px;
}
}
@media screen and (max-width: 959px) {
.adf-error-content {
&-code {
margin-top: 100px;
font-size: 50px;
margin-bottom: 25px;
}
&-shadow {
width: 100px;
}
&-title {
font-size: 24px;
}
&-description {
font-size: 17px;
}
}
}
}

View File

@@ -0,0 +1,36 @@
.adf-toolbar {
&--spacer {
flex: 1 1 auto;
}
&-title {
overflow: hidden;
display: flex;
width: 100%;
}
.mat-toolbar {
min-height: 48px;
border: 1px solid var(--theme-border-color);
color: var(--theme-text-color);
}
.mat-toolbar-row {
height: 48px;
font-size: 14px;
white-space: normal;
}
.mat-toolbar-single-row {
padding: 0 16px;
height: 64px;
}
&.adf-toolbar--inline {
.mat-toolbar {
background-color: inherit;
border: none !important;
padding: 0;
}
}
}

View File

@@ -21,6 +21,7 @@ import { ThemePalette } from '@angular/material/core';
@Component({
selector: 'adf-toolbar',
templateUrl: './toolbar.component.html',
styleUrls: ['./toolbar.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush,
encapsulation: ViewEncapsulation.None,
host: { 'class': 'adf-toolbar' }

View File

@@ -1,45 +0,0 @@
@mixin adf-toolbar-theme($theme) {
$foreground: map-get($theme, foreground);
$adf-toolbar-height: 48px !default;
$adf-toolbar-single-row-height: 64px !default;
$adf-toolbar-font-size: 14px !default;
$adf-toolbar-padding: 16px !default;
$adf-toolbar-icon-color: mat-color($foreground, text, 0.54) !default;
.adf-toolbar {
&--spacer {
flex: 1 1 auto;
}
&-title {
overflow: hidden;
display: flex;
width: 100%;
}
.mat-toolbar {
min-height: $adf-toolbar-height;
border: 1px solid mat-color($foreground, text, 0.07);
color: $adf-toolbar-icon-color;
}
.mat-toolbar-row {
height: $adf-toolbar-height;
font-size: $adf-toolbar-font-size;
white-space: normal;
}
.mat-toolbar-single-row {
padding: 0 $adf-toolbar-padding;
height: $adf-toolbar-single-row-height;
}
&.adf-toolbar--inline {
.mat-toolbar {
background-color: inherit;
border: none !important;
padding: 0;
}
}
}
}

View File

@@ -0,0 +1,193 @@
.adf {
&-userinfo-container {
display: flex;
align-items: center;
padding: 0 5px;
}
&-userinfo-name-right {
flex-direction: row-reverse;
}
&-userinfo-name {
padding: 0 5px;
@media screen and (max-width: 959px) {
display: none;
}
}
&-userinfo-pic {
background: var(--adf-user-info-color);
display: inline-block;
width: 40px;
height: 40px;
border-radius: 100px;
text-align: center;
font-weight: bolder;
font-size: 18px;
text-transform: uppercase;
vertical-align: middle;
line-height: 40px;
}
&-userinfo-profile-image {
background: var(--adf-user-info-color);
text-align: center;
border-radius: 90%;
width: 40px;
height: 40px;
margin-right: 0;
cursor: pointer;
vertical-align: middle;
margin-left: 0;
}
&-userinfo-profile-container {
display: inline-block;
}
&-userinfo-menu_button.mat-button {
margin-right: 0;
border-radius: 90%;
padding: 0;
min-width: 40px;
height: 40px;
}
&-userinfo-tab .mat-tab-header {
align-self: center;
width: 100%;
min-width: 250px;
}
&-userinfo-tab .mat-tab-label {
flex: auto;
font-weight: 500;
font-size: 14px;
text-transform: uppercase;
line-height: 48px;
text-align: center;
}
&-userinfo-card-header {
align-items: center;
display: flex;
justify-content: stretch;
line-height: normal;
height: 100px;
box-sizing: border-box;
}
&-userinfo-card.mat-card {
padding: 0;
}
&-userinfo-supporting-text {
font-size: 14px;
font-weight: 400;
letter-spacing: 0;
line-height: 18px;
overflow: hidden;
padding: 32px;
-webkit-column-count: 2;
-moz-column-count: 2;
column-count: 2;
display: flex;
justify-content: space-between;
@media screen and (max-width: 599px) {
padding: 10px;
}
}
&-userinfo-title {
font-size: 21px;
}
&-userinfo__detail-profile {
align-items: flex-start;
font-size: 14px;
font-weight: 400;
letter-spacing: 0;
line-height: 18px;
display: block;
padding: 0;
margin: 0;
}
&-userinfo__detail-title {
text-overflow: ellipsis;
font-size: 16px;
font-weight: 400;
letter-spacing: 0.04em;
line-height: 20px;
align-items: flex-start;
}
&-userinfo__secondary-info {
font-size: 14px;
font-weight: 400;
letter-spacing: 0;
line-height: 18px;
align-items: flex-end;
}
&-userinfo-profile-picture {
background: var(--adf-user-info-color);
background-size: cover;
border-radius: 50%;
height: 80px;
width: 80px;
margin-left: 0;
margin-right: 8px;
}
&-userinfo-profile-initials {
text-transform: uppercase;
background-size: cover;
background: var(--adf-user-info-color);
border-radius: 50%;
height: 80px;
width: 80px;
margin-left: 0;
margin-right: 8px;
font-size: 35px;
font-weight: 400;
letter-spacing: 0;
line-height: 78px;
overflow: hidden;
display: flex;
justify-content: space-around;
}
&-userinfo-button-profile {
display: inline-block;
border: 0;
vertical-align: middle;
}
&-userinfo-detail {
text-align: left;
}
&-hide-tab .mat-tab-label-active {
display: none !important;
}
}
@media only screen and (min-device-width: 480px) {
.mat-menu-panel.adf-userinfo-menu {
max-height: 450px;
min-width: 450px;
overflow: auto;
padding: 0;
}
}
.mat-menu-panel.adf-userinfo-menu .mat-menu-content {
padding: 0;
}

View File

@@ -29,6 +29,7 @@ import { MatMenuTrigger, MenuPositionX, MenuPositionY } from '@angular/material/
@Component({
selector: 'adf-userinfo',
templateUrl: './user-info.component.html',
styleUrls: ['./user-info.component.scss'],
encapsulation: ViewEncapsulation.None
})
export class UserInfoComponent implements OnInit {

Some files were not shown because too many files have changed in this diff Show More