@ruc-lib/dual-list-selector 2.0.5 → 3.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -15,6 +15,8 @@ import * as i7 from '@angular/material/input';
15
15
  import { MatInputModule } from '@angular/material/input';
16
16
  import * as i8 from '@angular/material/icon';
17
17
  import { MatIconModule } from '@angular/material/icon';
18
+ import * as i9 from '@angular/material/button';
19
+ import { MatButtonModule } from '@angular/material/button';
18
20
  import { MatChipsModule } from '@angular/material/chips';
19
21
  import { MatSortModule } from '@angular/material/sort';
20
22
  import { MatTableModule } from '@angular/material/table';
@@ -240,10 +242,10 @@ class DualListSelectorComponent {
240
242
  }
241
243
  }
242
244
  DualListSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DualListSelectorComponent, deps: [{ token: FilterPipe }], target: i0.ɵɵFactoryTarget.Component });
243
- DualListSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DualListSelectorComponent, selector: "uxp-dual-list-selector", inputs: { dataSource: "dataSource", rucInputData: "rucInputData", customTheme: "customTheme" }, outputs: { rucEvent: "rucEvent" }, providers: [FilterPipe], ngImport: i0, template: "<div class=\"{{customTheme}}\">\r\n <div class=\"dual-list-container\">\r\n <div class=\"dual-select\">\r\n <div class=\"leftContainer\">\r\n <mat-form-field class=\"example-full-width search_Box\" appearance=\"fill\" *ngIf=\"rucInputData.enableSearch\">\r\n <mat-label>Search</mat-label>\r\n <input matInput (keyup)=\"filterData(searchText, 'unselected')\" [(ngModel)]=\"searchText\">\r\n </mat-form-field>\r\n <span class=\"flex\" *ngIf=\"rucInputData.sorting\"><mat-icon (click)=\"sortOnClick('unselected')\">{{ !direction_unselected ? 'arrow_drop_down' :\r\n 'arrow_drop_up' }}</mat-icon> </span>\r\n <div class=\"dual-select__left\" [ngStyle]=\"{'max-height.px': height, 'width.px': width}\">\r\n <mat-list role=\"list\" class=\"list_container\">\r\n\r\n <div cdkDropList #todoList=\"cdkDropList\" [cdkDropListData]=\"unselectedItems\"\r\n [cdkDropListConnectedTo]=\"[doneList]\" class=\"example-list\" (cdkDropListDropped)=\"drop($event)\">\r\n\r\n\r\n\r\n <mat-list-item role=\"listitem\" *ngFor=\"let item of unselectedItems\" cdkDrag [disabled]=\"!item.disable\"\r\n (click)=\"togglePendingSelection( item )\" (dblclick)=\"addToSelectedItems( item )\"\r\n class=\"dual-select__item\" [class.dual-select__item--selected]=\"pendingSelection[ item.id ]\">\r\n <span>{{ item.name }}</span>\r\n </mat-list-item>\r\n </div>\r\n </mat-list>\r\n\r\n </div>\r\n </div>\r\n <div class=\"dual-select__controls\">\r\n <button (click)=\"addToSelectedItems()\" class=\"dual-select__control\">\r\n &#10236;\r\n </button>\r\n <button (click)=\"removeFromSelectedItems()\" class=\"dual-select__control\">\r\n &#10235;\r\n </button>\r\n <button (click)=\"addAllToSelectedItems()\" class=\"dual-select__control\">\r\n &#10503;\r\n </button>\r\n <button (click)=\"removeAllFromSelectedItems()\" class=\"dual-select__control\">\r\n &#10502;\r\n </button>\r\n </div>\r\n <div class=\"rightContainer\">\r\n <mat-form-field class=\"example-full-width search_Box\" appearance=\"fill\" *ngIf=\"rucInputData.enableSearch\">\r\n <mat-label>Search</mat-label>\r\n <input matInput (keyup)=\"filterData(searchTextSelected, 'selected')\" [(ngModel)]=\"searchTextSelected\">\r\n </mat-form-field>\r\n <span class=\"flex\" *ngIf=\"rucInputData.sorting\"><mat-icon (click)=\"sortOnClick('selected')\">{{ !direction_selected ? 'arrow_drop_down' :\r\n 'arrow_drop_up' }}</mat-icon> </span>\r\n\r\n <div class=\"dual-select__right\" [ngStyle]=\"{'max-height.px': height, 'width.px': width}\">\r\n\r\n\r\n\r\n <mat-list role=\"list\" class=\"list_container\">\r\n <div cdkDropList #doneList=\"cdkDropList\" [cdkDropListData]=\"selectedItems\"\r\n [cdkDropListConnectedTo]=\"[todoList]\" class=\"example-list\" (cdkDropListDropped)=\"drop($event)\">\r\n\r\n <mat-list-item cdkDrag *ngFor=\"let item of selectedItems\" (click)=\"togglePendingSelection( item )\"\r\n (dblclick)=\"removeFromSelectedItems( item )\" class=\"dual-select__item dual-select__item--new\"\r\n [class.dual-select__item--selected]=\"pendingSelection[ item.id ]\">\r\n <span>{{ item.name }}</span>\r\n </mat-list-item>\r\n </div>\r\n </mat-list>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-align-center\">\r\n <button (click)=\"selectedOutputItems()\" class=\"dual-list-btn\">\r\n Submit\r\n </button>\r\n </div>\r\n </div>\r\n</div>", styles: [".dual-list-container{display:flex;flex-direction:column}.list{border:1px solid #ccc;padding:10px;width:45%}:host{display:block;font-size:18px}.dual-select{display:flex;justify-content:center}.leftContainer,.rightContainer{flex:0 0 auto;margin:2%}.dual-select__left,.dual-select__right{border:1px solid lightgrey;height:400px;overflow-y:auto}.dual-select__controls{justify-content:center;display:flex;flex:0 0 auto;flex-direction:column;padding:0 10px}.dual-select__control{font-size:20px;height:37px;margin:10px 0}.dual-select__items{border:1px solid #cccccc;height:100%;list-style-type:none;margin:0;overflow:auto;overscroll-behavior:contain;padding:0}.dual-select__item{border-bottom:1px solid #cccccc;cursor:pointer;margin:0;padding:0 0 0 1em;user-select:none;-moz-user-select:none;-webkit-user-select:none}.dual-select__item:last-child{border-bottom-width:0px}.dual-select__item--selected{background-color:#bfd5ff}.dual-select__item--new{animation-duration:2s;animation-name:dual-select-item-new-fade-in;animation-timing-function:ease-out}@keyframes dual-select-item-new-fade-in{0%{background-color:#fff}25%{background-color:#bfd5ff}to{background-color:#fff}}.contact{font-family:monospace,sans-serif;padding:8px 10px}.contact__name{font-size:18px;font-weight:700;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact__email{font-size:15px;line-height:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note{font-family:monospace,sans-serif;font-size:16px}.search_Box{width:90%;height:67px}.list_container{padding:0}.btn_container{position:relative;top:30px;right:8%}.submit_Btn{position:absolute;bottom:0}@media screen and (max-width: 900px){.dual-select{display:inline-flex;height:400px;margin:6% 1% 1%}}.text-align-center{text-align:center}.dual-list-btn{font-size:14px;padding:.4em 1em}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i5.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
245
+ DualListSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: DualListSelectorComponent, selector: "uxp-ruclib-dual-list-selector", inputs: { dataSource: "dataSource", rucInputData: "rucInputData", customTheme: "customTheme" }, outputs: { rucEvent: "rucEvent" }, providers: [FilterPipe], ngImport: i0, template: "<div class=\"main\">\r\n<div class=\"{{customTheme}}\">\r\n <div class=\"dual-list-container\">\r\n <div class=\"dual-select\">\r\n <div class=\"leftContainer\">\r\n <mat-form-field class=\"example-full-width search_Box\" appearance=\"fill\" *ngIf=\"rucInputData.enableSearch\">\r\n <mat-label>Search</mat-label>\r\n <input matInput (keyup)=\"filterData(searchText, 'unselected')\" [(ngModel)]=\"searchText\">\r\n </mat-form-field>\r\n <span class=\"flex\" *ngIf=\"rucInputData.sorting\"><mat-icon (click)=\"sortOnClick('unselected')\">{{ !direction_unselected ? 'arrow_drop_down' :\r\n 'arrow_drop_up' }}</mat-icon> </span>\r\n <div class=\"dual-select__left\" [ngStyle]=\"{'max-height.px': height, 'width.px': width}\">\r\n <mat-list role=\"list\" class=\"list_container\">\r\n\r\n <div cdkDropList #todoList=\"cdkDropList\" [cdkDropListData]=\"unselectedItems\"\r\n [cdkDropListConnectedTo]=\"[doneList]\" class=\"example-list\" (cdkDropListDropped)=\"drop($event)\">\r\n\r\n\r\n\r\n <mat-list-item role=\"listitem\" *ngFor=\"let item of unselectedItems\" cdkDrag [disabled]=\"!item.disable\"\r\n (click)=\"togglePendingSelection( item )\" (dblclick)=\"addToSelectedItems( item )\"\r\n class=\"dual-select__item\" [class.dual-select__item--selected]=\"pendingSelection[ item.id ]\">\r\n <span>{{ item.name }}</span>\r\n </mat-list-item>\r\n </div>\r\n </mat-list>\r\n\r\n </div>\r\n </div>\r\n <div class=\"dual-select__controls\">\r\n <button mat-raised-button color=\"primary\"(click)=\"addToSelectedItems()\" class=\"dual-select__control\">\r\n &#10236;\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"removeFromSelectedItems()\" class=\"dual-select__control\">\r\n &#10235;\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"addAllToSelectedItems()\" class=\"dual-select__control\">\r\n &#10503;\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"removeAllFromSelectedItems()\" class=\"dual-select__control\">\r\n &#10502;\r\n </button>\r\n </div>\r\n <div class=\"rightContainer\">\r\n <mat-form-field class=\"example-full-width search_Box\" appearance=\"fill\" *ngIf=\"rucInputData.enableSearch\">\r\n <mat-label>Search</mat-label>\r\n <input matInput (keyup)=\"filterData(searchTextSelected, 'selected')\" [(ngModel)]=\"searchTextSelected\">\r\n </mat-form-field>\r\n <span class=\"flex\" *ngIf=\"rucInputData.sorting\"><mat-icon (click)=\"sortOnClick('selected')\">{{ !direction_selected ? 'arrow_drop_down' :\r\n 'arrow_drop_up' }}</mat-icon> </span>\r\n\r\n <div class=\"dual-select__right\" [ngStyle]=\"{'max-height.px': height, 'width.px': width}\">\r\n\r\n\r\n\r\n <mat-list role=\"list\" class=\"list_container\">\r\n <div cdkDropList #doneList=\"cdkDropList\" [cdkDropListData]=\"selectedItems\"\r\n [cdkDropListConnectedTo]=\"[todoList]\" class=\"example-list\" (cdkDropListDropped)=\"drop($event)\">\r\n\r\n <mat-list-item cdkDrag *ngFor=\"let item of selectedItems\" (click)=\"togglePendingSelection( item )\"\r\n (dblclick)=\"removeFromSelectedItems( item )\" class=\"dual-select__item dual-select__item--new\"\r\n [class.dual-select__item--selected]=\"pendingSelection[ item.id ]\">\r\n <span>{{ item.name }}</span>\r\n </mat-list-item>\r\n </div>\r\n </mat-list>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-align-center\">\r\n <button mat-raised-button color=\"primary\" (click)=\"selectedOutputItems()\" class=\"dual-list-btn\">\r\n Submit\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n</div>", styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.main{font-size:16px;font-weight:400;line-height:24px;font-family:Roboto,sans-serif;letter-spacing:.03125em}.ruc-custom-theme{font-size:14px;font-weight:400;line-height:20px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-mdc-option{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal)}.ruc-custom-theme .mat-mdc-card-title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-headline6-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-headline6-font-size, 20px);line-height:var(--mdc-typography-headline6-line-height, 32px);font-weight:var(--mdc-typography-headline6-font-weight, 500);letter-spacing:var(--mdc-typography-headline6-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-headline6-text-decoration, inherit);text-decoration:var(--mdc-typography-headline6-text-decoration, inherit);text-transform:var(--mdc-typography-headline6-text-transform, none)}.ruc-custom-theme .mat-mdc-card-subtitle{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle2-font-size, 20px);line-height:var(--mdc-typography-subtitle2-line-height, 24px);font-weight:var(--mdc-typography-subtitle2-font-weight, 500);letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle2-text-transform, none)}.ruc-custom-theme .mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size: 12px;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: normal}.ruc-custom-theme .mat-mdc-form-field-infix{min-height:56px}.ruc-custom-theme .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:28px}.ruc-custom-theme .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -34.75px) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}.ruc-custom-theme .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:16px;padding-bottom:16px}.ruc-custom-theme .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding-top:24px;padding-bottom:8px}.ruc-custom-theme .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:16px;padding-bottom:16px}.ruc-custom-theme .mdc-text-field__input,.ruc-custom-theme .mdc-text-field__affix{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none)}.ruc-custom-theme .mdc-text-field--textarea .mdc-text-field__input{line-height:1.5rem}.ruc-custom-theme .mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none)}.ruc-custom-theme .mat-mdc-form-field-subscript-wrapper,.ruc-custom-theme .mat-mdc-form-field-bottom-align:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-caption-font-size, 12px);line-height:var(--mdc-typography-caption-line-height, 20px);font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:var(--mdc-typography-caption-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:var(--mdc-typography-caption-text-transform, none)}.ruc-custom-theme .mat-mdc-form-field,.ruc-custom-theme .mat-mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:var(--mdc-typography-body1-text-transform, none)}.ruc-custom-theme .mat-mdc-form-field .mdc-text-field--outlined .mdc-floating-label--float-above{font-size:calc(15px * var(--mat-mdc-form-field-floating-label-scale, .75))}.ruc-custom-theme .mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:15px}.ruc-custom-theme .mat-mdc-select-panel{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);line-height:var(--mdc-typography-subtitle1-line-height, 28px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none);line-height:24px}.ruc-custom-theme .mat-mdc-select{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:var(--mdc-typography-body1-text-transform, none)}.ruc-custom-theme .mat-mdc-autocomplete-panel{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);line-height:var(--mdc-typography-subtitle1-line-height, 28px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none);line-height:24px}.ruc-custom-theme .mat-mdc-dialog-container{--mdc-dialog-subhead-font: Roboto, sans-serif;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-size: 20px;--mdc-dialog-subhead-weight: 500;--mdc-dialog-subhead-tracking: normal;--mdc-dialog-supporting-text-font: Roboto, sans-serif;--mdc-dialog-supporting-text-line-height: 24px;--mdc-dialog-supporting-text-size: 15px;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: normal}.ruc-custom-theme .mat-mdc-chip{height:32px}.ruc-custom-theme .mat-mdc-standard-chip{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.ruc-custom-theme .mat-mdc-slide-toggle{--mdc-switch-state-layer-size: 48px}.ruc-custom-theme .mat-mdc-radio-button .mdc-radio{padding:10px}.ruc-custom-theme .mat-mdc-radio-button .mdc-radio .mdc-radio__background:before{top:-10px;left:-10px;width:40px;height:40px}.ruc-custom-theme .mat-mdc-radio-button .mdc-radio .mdc-radio__native-control{top:0;right:0;left:0;width:40px;height:40px}.ruc-custom-theme .mat-mdc-slider{--mdc-slider-label-label-text-font: Roboto, sans-serif;--mdc-slider-label-label-text-size: 20px;--mdc-slider-label-label-text-line-height: 24px;--mdc-slider-label-label-text-tracking: normal;--mdc-slider-label-label-text-weight: 500}.ruc-custom-theme .mat-mdc-menu-content{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);line-height:var(--mdc-typography-subtitle1-line-height, 28px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none);line-height:24px}.ruc-custom-theme .mat-mdc-menu-content,.ruc-custom-theme .mat-mdc-menu-content .mat-mdc-menu-item .mdc-list-item__primary-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:var(--mdc-typography-body1-text-transform, none)}.ruc-custom-theme .mat-mdc-list-base{--mdc-list-list-item-one-line-container-height: 48px;--mdc-list-list-item-two-line-container-height: 64px;--mdc-list-list-item-three-line-container-height: 88px}.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line{height:56px}.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines{height:72px}.ruc-custom-theme .mat-mdc-list-base{--mdc-list-list-item-label-text-font: Roboto, sans-serif;--mdc-list-list-item-label-text-line-height: 24px;--mdc-list-list-item-label-text-size: 15px;--mdc-list-list-item-label-text-tracking: normal;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height: 20px;--mdc-list-list-item-supporting-text-size: 14px;--mdc-list-list-item-supporting-text-tracking: normal;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height: 20px;--mdc-list-list-item-trailing-supporting-text-size: 12px;--mdc-list-list-item-trailing-supporting-text-tracking: normal;--mdc-list-list-item-trailing-supporting-text-weight: 400}.ruc-custom-theme .mdc-list-group__subheader{font-size:16px;font-weight:400;line-height:28px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-form-field-infix{min-height:40px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:20px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -26.75px) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.ruc-custom-theme .mat-mdc-paginator .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-floating-label{display:none}.ruc-custom-theme .mat-mdc-paginator-container{min-height:56px}.ruc-custom-theme .mat-mdc-paginator{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-caption-font-size, 12px);line-height:var(--mdc-typography-caption-line-height, 20px);font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:var(--mdc-typography-caption-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:var(--mdc-typography-caption-text-transform, none)}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-select-value{font-size:12px}.ruc-custom-theme .mat-mdc-tab-header .mdc-tab{height:48px}.ruc-custom-theme .mdc-tab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-button-font-size, 20px);line-height:var(--mdc-typography-button-line-height, 60px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.ruc-custom-theme .mat-mdc-checkbox .mdc-checkbox{padding:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2);margin:calc((var(--mdc-checkbox-touch-target-size, 40px) - 40px) / 2)}.ruc-custom-theme .mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__background{top:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2);left:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2)}.ruc-custom-theme .mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control{top:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);right:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);left:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);width:var(--mdc-checkbox-touch-target-size, 40px);height:var(--mdc-checkbox-touch-target-size, 40px)}@media all and (-ms-high-contrast: none){.ruc-custom-theme .mdc-checkbox .mdc-checkbox__focus-ring{display:none}}.ruc-custom-theme .mdc-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.ruc-custom-theme .mat-mdc-button.mat-mdc-button-base,.ruc-custom-theme .mat-mdc-raised-button.mat-mdc-button-base,.ruc-custom-theme .mat-mdc-unelevated-button.mat-mdc-button-base,.ruc-custom-theme .mat-mdc-outlined-button.mat-mdc-button-base{height:36px}.ruc-custom-theme .mdc-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-button-font-size, 20px);line-height:var(--mdc-typography-button-line-height, 60px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base{width:48px;height:48px;padding:12px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__focus-ring{max-height:48px;max-width:48px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__ripple{width:40px;height:40px;margin:4px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__focus-ring{max-height:40px;max-width:40px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%,-50%)}.ruc-custom-theme .mdc-fab--extended{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-button-font-size, 20px);line-height:var(--mdc-typography-button-line-height, 60px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.ruc-custom-theme .mat-mdc-snack-bar-container{--mdc-snackbar-supporting-text-font: Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height: 20px;--mdc-snackbar-supporting-text-size: 14px;--mdc-snackbar-supporting-text-weight: 400}.ruc-custom-theme .mat-mdc-table .mdc-data-table__row{height:52px}.ruc-custom-theme .mat-mdc-table .mdc-data-table__pagination{min-height:52px}.ruc-custom-theme .mat-mdc-table .mdc-data-table__header-row{height:56px}.ruc-custom-theme .mdc-data-table__content,.ruc-custom-theme .mdc-data-table__cell{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.ruc-custom-theme .mdc-data-table__header-cell{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle2-font-size, 20px);line-height:var(--mdc-typography-subtitle2-line-height, 24px);font-weight:var(--mdc-typography-subtitle2-font-weight, 500);letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle2-text-transform, none)}.ruc-custom-theme .mat-badge{position:relative}.ruc-custom-theme .mat-badge.mat-badge{overflow:visible}.ruc-custom-theme .mat-badge-hidden .mat-badge-content{display:none}.ruc-custom-theme .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.ruc-custom-theme .ng-animate-disabled .mat-badge-content,.ruc-custom-theme .mat-badge-content._mat-animation-noopable{transition:none}.ruc-custom-theme .mat-badge-content.mat-badge-active{transform:none}.ruc-custom-theme .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.ruc-custom-theme .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.ruc-custom-theme .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.ruc-custom-theme .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.ruc-custom-theme .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.ruc-custom-theme .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.ruc-custom-theme .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.ruc-custom-theme .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.ruc-custom-theme .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.ruc-custom-theme .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.ruc-custom-theme .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.ruc-custom-theme .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.ruc-custom-theme .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.ruc-custom-theme .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.ruc-custom-theme .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.ruc-custom-theme .mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,sans-serif}.ruc-custom-theme .mat-badge-small .mat-badge-content{font-size:9px}.ruc-custom-theme .mat-badge-large .mat-badge-content{font-size:24px}.ruc-custom-theme .mat-bottom-sheet-container{font-size:14px;font-weight:400;line-height:20px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px}.ruc-custom-theme .mat-button-toggle{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base{width:40px;height:40px;padding:8px}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__focus-ring{max-height:40px;max-width:40px}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__ripple{width:40px;height:40px;margin:0}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__focus-ring{max-height:40px;max-width:40px}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__touch{position:absolute;top:50%;height:40px;left:50%;width:40px;transform:translate(-50%,-50%)}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mat-mdc-button-touch-target{display:none}.ruc-custom-theme .mat-calendar{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-calendar-body{font-size:13px}.ruc-custom-theme .mat-calendar-body-label,.ruc-custom-theme .mat-calendar-period-button{font-size:20px;font-weight:500}.ruc-custom-theme .mat-calendar-table-header th{font-size:11px;font-weight:400}.ruc-custom-theme .mat-expansion-panel-header{height:48px}.ruc-custom-theme .mat-expansion-panel-header.mat-expanded{height:64px}.ruc-custom-theme .mat-expansion-panel-header{font-family:Roboto,sans-serif;font-size:15px;font-weight:400}.ruc-custom-theme .mat-expansion-panel-content{font-size:14px;font-weight:400;line-height:20px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-grid-tile-header,.ruc-custom-theme .mat-grid-tile-footer{font-size:14px}.ruc-custom-theme .mat-grid-tile-header .mat-line,.ruc-custom-theme .mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.ruc-custom-theme .mat-grid-tile-header .mat-line:nth-child(n+2),.ruc-custom-theme .mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}.ruc-custom-theme .mat-horizontal-stepper-header{height:72px}.ruc-custom-theme .mat-stepper-label-position-bottom .mat-horizontal-stepper-header,.ruc-custom-theme .mat-vertical-stepper-header{padding:24px}.ruc-custom-theme .mat-stepper-vertical-line:before{top:-16px;bottom:-16px}.ruc-custom-theme .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:after,.ruc-custom-theme .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:before{top:36px}.ruc-custom-theme .mat-stepper-label-position-bottom .mat-stepper-horizontal-line{top:36px}.ruc-custom-theme .mat-stepper-vertical,.ruc-custom-theme .mat-stepper-horizontal{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-step-label{font-size:14px;font-weight:400}.ruc-custom-theme .mat-step-sub-label-error{font-weight:400}.ruc-custom-theme .mat-step-label-error{font-size:20px}.ruc-custom-theme .mat-step-label-selected{font-size:20px;font-weight:500}.ruc-custom-theme .mat-toolbar-multiple-rows{min-height:64px}.ruc-custom-theme .mat-toolbar-row,.ruc-custom-theme .mat-toolbar-single-row{height:64px}@media (max-width: 599px){.ruc-custom-theme .mat-toolbar-multiple-rows{min-height:56px}.ruc-custom-theme .mat-toolbar-row,.ruc-custom-theme .mat-toolbar-single-row{height:56px}}.ruc-custom-theme .mat-toolbar,.ruc-custom-theme .mat-toolbar h1,.ruc-custom-theme .mat-toolbar h2,.ruc-custom-theme .mat-toolbar h3,.ruc-custom-theme .mat-toolbar h4,.ruc-custom-theme .mat-toolbar h5,.ruc-custom-theme .mat-toolbar h6{font-size:20px;font-weight:500;line-height:32px;font-family:Roboto,sans-serif;letter-spacing:normal;margin:0}.ruc-custom-theme .mat-tree-node{min-height:48px}.ruc-custom-theme .mat-tree{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-tree-node,.ruc-custom-theme .mat-nested-tree-node{font-weight:400;font-size:14px}.dual-list-container{display:flex;flex-direction:column}.list{border:1px solid #ccc;padding:10px;width:45%}:host{display:block;font-size:18px}.dual-select{display:flex;justify-content:center}.leftContainer,.rightContainer{flex:0 0 auto;margin:2%}.dual-select__left,.dual-select__right{border:1px solid lightgrey;height:400px;overflow-y:auto}.dual-select__controls{justify-content:center;display:flex;flex:0 0 auto;flex-direction:column;padding:0 10px}.dual-select__control{font-size:20px;height:37px;margin:10px 0}.dual-select__items{border:1px solid #cccccc;height:100%;list-style-type:none;margin:0;overflow:auto;overscroll-behavior:contain;padding:0}.dual-select__item{border-bottom:1px solid #cccccc;cursor:pointer;margin:0;padding:0 0 0 1em;user-select:none;-moz-user-select:none;-webkit-user-select:none}.dual-select__item:last-child{border-bottom-width:0px}.dual-select__item--selected{background-color:#bfd5ff}.dual-select__item--new{animation-duration:2s;animation-name:dual-select-item-new-fade-in;animation-timing-function:ease-out}@keyframes dual-select-item-new-fade-in{0%{background-color:#fff}25%{background-color:#bfd5ff}to{background-color:#fff}}.contact{font-family:monospace,sans-serif;padding:8px 10px}.contact__name{font-size:18px;font-weight:700;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact__email{font-size:15px;line-height:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note{font-family:monospace,sans-serif;font-size:16px}.search_Box{width:90%;height:67px}.list_container{padding:0}.btn_container{position:relative;top:30px;right:8%}.submit_Btn{position:absolute;bottom:0}@media screen and (max-width: 900px){.dual-select{display:inline-flex;height:400px;margin:6% 1% 1%}}.text-align-center{text-align:center}.dual-list-btn{font-size:14px;padding:.4em 1em}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i4.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "directive", type: i5.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i6.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6.MatLabel, selector: "mat-label" }, { kind: "directive", type: i7.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i8.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i9.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }] });
244
246
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DualListSelectorComponent, decorators: [{
245
247
  type: Component,
246
- args: [{ selector: 'uxp-dual-list-selector', providers: [FilterPipe], template: "<div class=\"{{customTheme}}\">\r\n <div class=\"dual-list-container\">\r\n <div class=\"dual-select\">\r\n <div class=\"leftContainer\">\r\n <mat-form-field class=\"example-full-width search_Box\" appearance=\"fill\" *ngIf=\"rucInputData.enableSearch\">\r\n <mat-label>Search</mat-label>\r\n <input matInput (keyup)=\"filterData(searchText, 'unselected')\" [(ngModel)]=\"searchText\">\r\n </mat-form-field>\r\n <span class=\"flex\" *ngIf=\"rucInputData.sorting\"><mat-icon (click)=\"sortOnClick('unselected')\">{{ !direction_unselected ? 'arrow_drop_down' :\r\n 'arrow_drop_up' }}</mat-icon> </span>\r\n <div class=\"dual-select__left\" [ngStyle]=\"{'max-height.px': height, 'width.px': width}\">\r\n <mat-list role=\"list\" class=\"list_container\">\r\n\r\n <div cdkDropList #todoList=\"cdkDropList\" [cdkDropListData]=\"unselectedItems\"\r\n [cdkDropListConnectedTo]=\"[doneList]\" class=\"example-list\" (cdkDropListDropped)=\"drop($event)\">\r\n\r\n\r\n\r\n <mat-list-item role=\"listitem\" *ngFor=\"let item of unselectedItems\" cdkDrag [disabled]=\"!item.disable\"\r\n (click)=\"togglePendingSelection( item )\" (dblclick)=\"addToSelectedItems( item )\"\r\n class=\"dual-select__item\" [class.dual-select__item--selected]=\"pendingSelection[ item.id ]\">\r\n <span>{{ item.name }}</span>\r\n </mat-list-item>\r\n </div>\r\n </mat-list>\r\n\r\n </div>\r\n </div>\r\n <div class=\"dual-select__controls\">\r\n <button (click)=\"addToSelectedItems()\" class=\"dual-select__control\">\r\n &#10236;\r\n </button>\r\n <button (click)=\"removeFromSelectedItems()\" class=\"dual-select__control\">\r\n &#10235;\r\n </button>\r\n <button (click)=\"addAllToSelectedItems()\" class=\"dual-select__control\">\r\n &#10503;\r\n </button>\r\n <button (click)=\"removeAllFromSelectedItems()\" class=\"dual-select__control\">\r\n &#10502;\r\n </button>\r\n </div>\r\n <div class=\"rightContainer\">\r\n <mat-form-field class=\"example-full-width search_Box\" appearance=\"fill\" *ngIf=\"rucInputData.enableSearch\">\r\n <mat-label>Search</mat-label>\r\n <input matInput (keyup)=\"filterData(searchTextSelected, 'selected')\" [(ngModel)]=\"searchTextSelected\">\r\n </mat-form-field>\r\n <span class=\"flex\" *ngIf=\"rucInputData.sorting\"><mat-icon (click)=\"sortOnClick('selected')\">{{ !direction_selected ? 'arrow_drop_down' :\r\n 'arrow_drop_up' }}</mat-icon> </span>\r\n\r\n <div class=\"dual-select__right\" [ngStyle]=\"{'max-height.px': height, 'width.px': width}\">\r\n\r\n\r\n\r\n <mat-list role=\"list\" class=\"list_container\">\r\n <div cdkDropList #doneList=\"cdkDropList\" [cdkDropListData]=\"selectedItems\"\r\n [cdkDropListConnectedTo]=\"[todoList]\" class=\"example-list\" (cdkDropListDropped)=\"drop($event)\">\r\n\r\n <mat-list-item cdkDrag *ngFor=\"let item of selectedItems\" (click)=\"togglePendingSelection( item )\"\r\n (dblclick)=\"removeFromSelectedItems( item )\" class=\"dual-select__item dual-select__item--new\"\r\n [class.dual-select__item--selected]=\"pendingSelection[ item.id ]\">\r\n <span>{{ item.name }}</span>\r\n </mat-list-item>\r\n </div>\r\n </mat-list>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-align-center\">\r\n <button (click)=\"selectedOutputItems()\" class=\"dual-list-btn\">\r\n Submit\r\n </button>\r\n </div>\r\n </div>\r\n</div>", styles: [".dual-list-container{display:flex;flex-direction:column}.list{border:1px solid #ccc;padding:10px;width:45%}:host{display:block;font-size:18px}.dual-select{display:flex;justify-content:center}.leftContainer,.rightContainer{flex:0 0 auto;margin:2%}.dual-select__left,.dual-select__right{border:1px solid lightgrey;height:400px;overflow-y:auto}.dual-select__controls{justify-content:center;display:flex;flex:0 0 auto;flex-direction:column;padding:0 10px}.dual-select__control{font-size:20px;height:37px;margin:10px 0}.dual-select__items{border:1px solid #cccccc;height:100%;list-style-type:none;margin:0;overflow:auto;overscroll-behavior:contain;padding:0}.dual-select__item{border-bottom:1px solid #cccccc;cursor:pointer;margin:0;padding:0 0 0 1em;user-select:none;-moz-user-select:none;-webkit-user-select:none}.dual-select__item:last-child{border-bottom-width:0px}.dual-select__item--selected{background-color:#bfd5ff}.dual-select__item--new{animation-duration:2s;animation-name:dual-select-item-new-fade-in;animation-timing-function:ease-out}@keyframes dual-select-item-new-fade-in{0%{background-color:#fff}25%{background-color:#bfd5ff}to{background-color:#fff}}.contact{font-family:monospace,sans-serif;padding:8px 10px}.contact__name{font-size:18px;font-weight:700;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact__email{font-size:15px;line-height:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note{font-family:monospace,sans-serif;font-size:16px}.search_Box{width:90%;height:67px}.list_container{padding:0}.btn_container{position:relative;top:30px;right:8%}.submit_Btn{position:absolute;bottom:0}@media screen and (max-width: 900px){.dual-select{display:inline-flex;height:400px;margin:6% 1% 1%}}.text-align-center{text-align:center}.dual-list-btn{font-size:14px;padding:.4em 1em}\n"] }]
248
+ args: [{ selector: 'uxp-ruclib-dual-list-selector', providers: [FilterPipe], template: "<div class=\"main\">\r\n<div class=\"{{customTheme}}\">\r\n <div class=\"dual-list-container\">\r\n <div class=\"dual-select\">\r\n <div class=\"leftContainer\">\r\n <mat-form-field class=\"example-full-width search_Box\" appearance=\"fill\" *ngIf=\"rucInputData.enableSearch\">\r\n <mat-label>Search</mat-label>\r\n <input matInput (keyup)=\"filterData(searchText, 'unselected')\" [(ngModel)]=\"searchText\">\r\n </mat-form-field>\r\n <span class=\"flex\" *ngIf=\"rucInputData.sorting\"><mat-icon (click)=\"sortOnClick('unselected')\">{{ !direction_unselected ? 'arrow_drop_down' :\r\n 'arrow_drop_up' }}</mat-icon> </span>\r\n <div class=\"dual-select__left\" [ngStyle]=\"{'max-height.px': height, 'width.px': width}\">\r\n <mat-list role=\"list\" class=\"list_container\">\r\n\r\n <div cdkDropList #todoList=\"cdkDropList\" [cdkDropListData]=\"unselectedItems\"\r\n [cdkDropListConnectedTo]=\"[doneList]\" class=\"example-list\" (cdkDropListDropped)=\"drop($event)\">\r\n\r\n\r\n\r\n <mat-list-item role=\"listitem\" *ngFor=\"let item of unselectedItems\" cdkDrag [disabled]=\"!item.disable\"\r\n (click)=\"togglePendingSelection( item )\" (dblclick)=\"addToSelectedItems( item )\"\r\n class=\"dual-select__item\" [class.dual-select__item--selected]=\"pendingSelection[ item.id ]\">\r\n <span>{{ item.name }}</span>\r\n </mat-list-item>\r\n </div>\r\n </mat-list>\r\n\r\n </div>\r\n </div>\r\n <div class=\"dual-select__controls\">\r\n <button mat-raised-button color=\"primary\"(click)=\"addToSelectedItems()\" class=\"dual-select__control\">\r\n &#10236;\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"removeFromSelectedItems()\" class=\"dual-select__control\">\r\n &#10235;\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"addAllToSelectedItems()\" class=\"dual-select__control\">\r\n &#10503;\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"removeAllFromSelectedItems()\" class=\"dual-select__control\">\r\n &#10502;\r\n </button>\r\n </div>\r\n <div class=\"rightContainer\">\r\n <mat-form-field class=\"example-full-width search_Box\" appearance=\"fill\" *ngIf=\"rucInputData.enableSearch\">\r\n <mat-label>Search</mat-label>\r\n <input matInput (keyup)=\"filterData(searchTextSelected, 'selected')\" [(ngModel)]=\"searchTextSelected\">\r\n </mat-form-field>\r\n <span class=\"flex\" *ngIf=\"rucInputData.sorting\"><mat-icon (click)=\"sortOnClick('selected')\">{{ !direction_selected ? 'arrow_drop_down' :\r\n 'arrow_drop_up' }}</mat-icon> </span>\r\n\r\n <div class=\"dual-select__right\" [ngStyle]=\"{'max-height.px': height, 'width.px': width}\">\r\n\r\n\r\n\r\n <mat-list role=\"list\" class=\"list_container\">\r\n <div cdkDropList #doneList=\"cdkDropList\" [cdkDropListData]=\"selectedItems\"\r\n [cdkDropListConnectedTo]=\"[todoList]\" class=\"example-list\" (cdkDropListDropped)=\"drop($event)\">\r\n\r\n <mat-list-item cdkDrag *ngFor=\"let item of selectedItems\" (click)=\"togglePendingSelection( item )\"\r\n (dblclick)=\"removeFromSelectedItems( item )\" class=\"dual-select__item dual-select__item--new\"\r\n [class.dual-select__item--selected]=\"pendingSelection[ item.id ]\">\r\n <span>{{ item.name }}</span>\r\n </mat-list-item>\r\n </div>\r\n </mat-list>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-align-center\">\r\n <button mat-raised-button color=\"primary\" (click)=\"selectedOutputItems()\" class=\"dual-list-btn\">\r\n Submit\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n</div>", styles: [".mat-ripple{overflow:hidden;position:relative}.mat-ripple:not(:empty){transform:translateZ(0)}.mat-ripple.mat-ripple-unbounded{overflow:visible}.mat-ripple-element{position:absolute;border-radius:50%;pointer-events:none;transition:opacity,transform 0ms cubic-bezier(0,0,.2,1);transform:scale3d(0,0,0)}.cdk-high-contrast-active .mat-ripple-element{display:none}.cdk-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap;outline:0;-webkit-appearance:none;-moz-appearance:none;left:0}[dir=rtl] .cdk-visually-hidden{left:auto;right:0}.cdk-overlay-container,.cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}.cdk-overlay-container{position:fixed;z-index:1000}.cdk-overlay-container:empty{display:none}.cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:1000}.cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:1000;display:flex;max-width:100%;max-height:100%}.cdk-overlay-backdrop{position:absolute;inset:0;z-index:1000;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}.cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}.cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}.cdk-overlay-dark-backdrop{background:rgba(0,0,0,.32)}.cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}.cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}.cdk-overlay-backdrop-noop-animation{transition:none}.cdk-overlay-connected-position-bounding-box{position:absolute;z-index:1000;display:flex;flex-direction:column;min-width:1px;min-height:1px}.cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}textarea.cdk-textarea-autosize{resize:none}textarea.cdk-textarea-autosize-measuring{padding:2px 0!important;box-sizing:content-box!important;height:auto!important;overflow:hidden!important}textarea.cdk-textarea-autosize-measuring-firefox{padding:2px 0!important;box-sizing:content-box!important;height:0!important}@keyframes cdk-text-field-autofill-start{}@keyframes cdk-text-field-autofill-end{}.cdk-text-field-autofill-monitored:-webkit-autofill{animation:cdk-text-field-autofill-start 0s 1ms}.cdk-text-field-autofill-monitored:not(:-webkit-autofill){animation:cdk-text-field-autofill-end 0s 1ms}.mat-focus-indicator{position:relative}.mat-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-focus-indicator-display, none);border:var(--mat-focus-indicator-border-width, 3px) var(--mat-focus-indicator-border-style, solid) var(--mat-focus-indicator-border-color, transparent);border-radius:var(--mat-focus-indicator-border-radius, 4px)}.mat-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-focus-indicator-display: block}.mat-mdc-focus-indicator{position:relative}.mat-mdc-focus-indicator:before{inset:0;position:absolute;box-sizing:border-box;pointer-events:none;display:var(--mat-mdc-focus-indicator-display, none);border:var(--mat-mdc-focus-indicator-border-width, 3px) var(--mat-mdc-focus-indicator-border-style, solid) var(--mat-mdc-focus-indicator-border-color, transparent);border-radius:var(--mat-mdc-focus-indicator-border-radius, 4px)}.mat-mdc-focus-indicator:focus:before{content:\"\"}.cdk-high-contrast-active{--mat-mdc-focus-indicator-display: block}.main{font-size:16px;font-weight:400;line-height:24px;font-family:Roboto,sans-serif;letter-spacing:.03125em}.ruc-custom-theme{font-size:14px;font-weight:400;line-height:20px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-mdc-option{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal)}.ruc-custom-theme .mat-mdc-card-title{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-headline6-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-headline6-font-size, 20px);line-height:var(--mdc-typography-headline6-line-height, 32px);font-weight:var(--mdc-typography-headline6-font-weight, 500);letter-spacing:var(--mdc-typography-headline6-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-headline6-text-decoration, inherit);text-decoration:var(--mdc-typography-headline6-text-decoration, inherit);text-transform:var(--mdc-typography-headline6-text-transform, none)}.ruc-custom-theme .mat-mdc-card-subtitle{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle2-font-size, 20px);line-height:var(--mdc-typography-subtitle2-line-height, 24px);font-weight:var(--mdc-typography-subtitle2-font-weight, 500);letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle2-text-transform, none)}.ruc-custom-theme .mat-mdc-tooltip{--mdc-plain-tooltip-supporting-text-font: Roboto, sans-serif;--mdc-plain-tooltip-supporting-text-size: 12px;--mdc-plain-tooltip-supporting-text-weight: 400;--mdc-plain-tooltip-supporting-text-tracking: normal}.ruc-custom-theme .mat-mdc-form-field-infix{min-height:56px}.ruc-custom-theme .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:28px}.ruc-custom-theme .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -34.75px) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}.ruc-custom-theme .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:16px;padding-bottom:16px}.ruc-custom-theme .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding-top:24px;padding-bottom:8px}.ruc-custom-theme .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:16px;padding-bottom:16px}.ruc-custom-theme .mdc-text-field__input,.ruc-custom-theme .mdc-text-field__affix{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none)}.ruc-custom-theme .mdc-text-field--textarea .mdc-text-field__input{line-height:1.5rem}.ruc-custom-theme .mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none)}.ruc-custom-theme .mat-mdc-form-field-subscript-wrapper,.ruc-custom-theme .mat-mdc-form-field-bottom-align:before{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-caption-font-size, 12px);line-height:var(--mdc-typography-caption-line-height, 20px);font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:var(--mdc-typography-caption-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:var(--mdc-typography-caption-text-transform, none)}.ruc-custom-theme .mat-mdc-form-field,.ruc-custom-theme .mat-mdc-floating-label{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:var(--mdc-typography-body1-text-transform, none)}.ruc-custom-theme .mat-mdc-form-field .mdc-text-field--outlined .mdc-floating-label--float-above{font-size:calc(15px * var(--mat-mdc-form-field-floating-label-scale, .75))}.ruc-custom-theme .mat-mdc-form-field .mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{font-size:15px}.ruc-custom-theme .mat-mdc-select-panel{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);line-height:var(--mdc-typography-subtitle1-line-height, 28px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none);line-height:24px}.ruc-custom-theme .mat-mdc-select{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:var(--mdc-typography-body1-text-transform, none)}.ruc-custom-theme .mat-mdc-autocomplete-panel{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);line-height:var(--mdc-typography-subtitle1-line-height, 28px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none);line-height:24px}.ruc-custom-theme .mat-mdc-dialog-container{--mdc-dialog-subhead-font: Roboto, sans-serif;--mdc-dialog-subhead-line-height: 32px;--mdc-dialog-subhead-size: 20px;--mdc-dialog-subhead-weight: 500;--mdc-dialog-subhead-tracking: normal;--mdc-dialog-supporting-text-font: Roboto, sans-serif;--mdc-dialog-supporting-text-line-height: 24px;--mdc-dialog-supporting-text-size: 15px;--mdc-dialog-supporting-text-weight: 400;--mdc-dialog-supporting-text-tracking: normal}.ruc-custom-theme .mat-mdc-chip{height:32px}.ruc-custom-theme .mat-mdc-standard-chip{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.ruc-custom-theme .mat-mdc-slide-toggle{--mdc-switch-state-layer-size: 48px}.ruc-custom-theme .mat-mdc-radio-button .mdc-radio{padding:10px}.ruc-custom-theme .mat-mdc-radio-button .mdc-radio .mdc-radio__background:before{top:-10px;left:-10px;width:40px;height:40px}.ruc-custom-theme .mat-mdc-radio-button .mdc-radio .mdc-radio__native-control{top:0;right:0;left:0;width:40px;height:40px}.ruc-custom-theme .mat-mdc-slider{--mdc-slider-label-label-text-font: Roboto, sans-serif;--mdc-slider-label-label-text-size: 20px;--mdc-slider-label-label-text-line-height: 24px;--mdc-slider-label-label-text-tracking: normal;--mdc-slider-label-label-text-weight: 500}.ruc-custom-theme .mat-mdc-menu-content{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle1-font-size, 16px);line-height:var(--mdc-typography-subtitle1-line-height, 28px);font-weight:var(--mdc-typography-subtitle1-font-weight, 400);letter-spacing:var(--mdc-typography-subtitle1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle1-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle1-text-transform, none);line-height:24px}.ruc-custom-theme .mat-mdc-menu-content,.ruc-custom-theme .mat-mdc-menu-content .mat-mdc-menu-item .mdc-list-item__primary-text{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body1-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body1-font-size, 15px);line-height:var(--mdc-typography-body1-line-height, 24px);font-weight:var(--mdc-typography-body1-font-weight, 400);letter-spacing:var(--mdc-typography-body1-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-decoration:var(--mdc-typography-body1-text-decoration, inherit);text-transform:var(--mdc-typography-body1-text-transform, none)}.ruc-custom-theme .mat-mdc-list-base{--mdc-list-list-item-one-line-container-height: 48px;--mdc-list-list-item-two-line-container-height: 64px;--mdc-list-list-item-three-line-container-height: 88px}.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-one-line,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-one-line,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-one-line{height:56px}.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-avatar.mdc-list-item--with-two-lines,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-checkbox.mdc-list-item--with-two-lines,.ruc-custom-theme .mat-mdc-list-item.mdc-list-item--with-leading-icon.mdc-list-item--with-two-lines{height:72px}.ruc-custom-theme .mat-mdc-list-base{--mdc-list-list-item-label-text-font: Roboto, sans-serif;--mdc-list-list-item-label-text-line-height: 24px;--mdc-list-list-item-label-text-size: 15px;--mdc-list-list-item-label-text-tracking: normal;--mdc-list-list-item-label-text-weight: 400;--mdc-list-list-item-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-supporting-text-line-height: 20px;--mdc-list-list-item-supporting-text-size: 14px;--mdc-list-list-item-supporting-text-tracking: normal;--mdc-list-list-item-supporting-text-weight: 400;--mdc-list-list-item-trailing-supporting-text-font: Roboto, sans-serif;--mdc-list-list-item-trailing-supporting-text-line-height: 20px;--mdc-list-list-item-trailing-supporting-text-size: 12px;--mdc-list-list-item-trailing-supporting-text-tracking: normal;--mdc-list-list-item-trailing-supporting-text-weight: 400}.ruc-custom-theme .mdc-list-group__subheader{font-size:16px;font-weight:400;line-height:28px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-form-field-infix{min-height:40px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper .mat-mdc-form-field-flex .mat-mdc-floating-label{top:20px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mdc-notched-outline--upgraded .mdc-floating-label--float-above{--mat-mdc-form-field-label-transform: translateY( -26.75px) scale(var(--mat-mdc-form-field-floating-label-scale, .75));transform:var(--mat-mdc-form-field-label-transform)}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper.mdc-text-field--outlined .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.ruc-custom-theme .mat-mdc-paginator .mdc-text-field--no-label:not(.mdc-text-field--outlined):not(.mdc-text-field--textarea) .mat-mdc-form-field-infix{padding-top:8px;padding-bottom:8px}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-text-field-wrapper:not(.mdc-text-field--outlined) .mat-mdc-floating-label{display:none}.ruc-custom-theme .mat-mdc-paginator-container{min-height:56px}.ruc-custom-theme .mat-mdc-paginator{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-caption-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-caption-font-size, 12px);line-height:var(--mdc-typography-caption-line-height, 20px);font-weight:var(--mdc-typography-caption-font-weight, 400);letter-spacing:var(--mdc-typography-caption-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-decoration:var(--mdc-typography-caption-text-decoration, inherit);text-transform:var(--mdc-typography-caption-text-transform, none)}.ruc-custom-theme .mat-mdc-paginator .mat-mdc-select-value{font-size:12px}.ruc-custom-theme .mat-mdc-tab-header .mdc-tab{height:48px}.ruc-custom-theme .mdc-tab{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-button-font-size, 20px);line-height:var(--mdc-typography-button-line-height, 60px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.ruc-custom-theme .mat-mdc-checkbox .mdc-checkbox{padding:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2);margin:calc((var(--mdc-checkbox-touch-target-size, 40px) - 40px) / 2)}.ruc-custom-theme .mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__background{top:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2);left:calc((var(--mdc-checkbox-ripple-size, 40px) - 18px) / 2)}.ruc-custom-theme .mat-mdc-checkbox .mdc-checkbox .mdc-checkbox__native-control{top:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);right:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);left:calc((40px - var(--mdc-checkbox-touch-target-size, 40px)) / 2);width:var(--mdc-checkbox-touch-target-size, 40px);height:var(--mdc-checkbox-touch-target-size, 40px)}@media all and (-ms-high-contrast: none){.ruc-custom-theme .mdc-checkbox .mdc-checkbox__focus-ring{display:none}}.ruc-custom-theme .mdc-form-field{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.ruc-custom-theme .mat-mdc-button.mat-mdc-button-base,.ruc-custom-theme .mat-mdc-raised-button.mat-mdc-button-base,.ruc-custom-theme .mat-mdc-unelevated-button.mat-mdc-button-base,.ruc-custom-theme .mat-mdc-outlined-button.mat-mdc-button-base{height:36px}.ruc-custom-theme .mdc-button{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-button-font-size, 20px);line-height:var(--mdc-typography-button-line-height, 60px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base{width:48px;height:48px;padding:12px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__focus-ring{max-height:48px;max-width:48px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__ripple{width:40px;height:40px;margin:4px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__focus-ring{max-height:40px;max-width:40px}.ruc-custom-theme .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__touch{position:absolute;top:50%;height:48px;left:50%;width:48px;transform:translate(-50%,-50%)}.ruc-custom-theme .mdc-fab--extended{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-button-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-button-font-size, 20px);line-height:var(--mdc-typography-button-line-height, 60px);font-weight:var(--mdc-typography-button-font-weight, 500);letter-spacing:var(--mdc-typography-button-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-button-text-decoration, none);text-decoration:var(--mdc-typography-button-text-decoration, none);text-transform:var(--mdc-typography-button-text-transform, none)}.ruc-custom-theme .mat-mdc-snack-bar-container{--mdc-snackbar-supporting-text-font: Roboto, sans-serif;--mdc-snackbar-supporting-text-line-height: 20px;--mdc-snackbar-supporting-text-size: 14px;--mdc-snackbar-supporting-text-weight: 400}.ruc-custom-theme .mat-mdc-table .mdc-data-table__row{height:52px}.ruc-custom-theme .mat-mdc-table .mdc-data-table__pagination{min-height:52px}.ruc-custom-theme .mat-mdc-table .mdc-data-table__header-row{height:56px}.ruc-custom-theme .mdc-data-table__content,.ruc-custom-theme .mdc-data-table__cell{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-body2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-body2-font-size, 14px);line-height:var(--mdc-typography-body2-line-height, 20px);font-weight:var(--mdc-typography-body2-font-weight, 400);letter-spacing:var(--mdc-typography-body2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-decoration:var(--mdc-typography-body2-text-decoration, inherit);text-transform:var(--mdc-typography-body2-text-transform, none)}.ruc-custom-theme .mdc-data-table__header-cell{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;font-family:var(--mdc-typography-subtitle2-font-family, var(--mdc-typography-font-family, Roboto, sans-serif));font-size:var(--mdc-typography-subtitle2-font-size, 20px);line-height:var(--mdc-typography-subtitle2-line-height, 24px);font-weight:var(--mdc-typography-subtitle2-font-weight, 500);letter-spacing:var(--mdc-typography-subtitle2-letter-spacing, normal);-webkit-text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-decoration:var(--mdc-typography-subtitle2-text-decoration, inherit);text-transform:var(--mdc-typography-subtitle2-text-transform, none)}.ruc-custom-theme .mat-badge{position:relative}.ruc-custom-theme .mat-badge.mat-badge{overflow:visible}.ruc-custom-theme .mat-badge-hidden .mat-badge-content{display:none}.ruc-custom-theme .mat-badge-content{position:absolute;text-align:center;display:inline-block;border-radius:50%;transition:transform .2s ease-in-out;transform:scale(.6);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.ruc-custom-theme .ng-animate-disabled .mat-badge-content,.ruc-custom-theme .mat-badge-content._mat-animation-noopable{transition:none}.ruc-custom-theme .mat-badge-content.mat-badge-active{transform:none}.ruc-custom-theme .mat-badge-small .mat-badge-content{width:16px;height:16px;line-height:16px}.ruc-custom-theme .mat-badge-small.mat-badge-above .mat-badge-content{top:-8px}.ruc-custom-theme .mat-badge-small.mat-badge-below .mat-badge-content{bottom:-8px}.ruc-custom-theme .mat-badge-small.mat-badge-before .mat-badge-content{left:-16px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-before .mat-badge-content{left:auto;right:-16px}.ruc-custom-theme .mat-badge-small.mat-badge-after .mat-badge-content{right:-16px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-after .mat-badge-content{right:auto;left:-16px}.ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-8px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-8px}.ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-8px}[dir=rtl] .ruc-custom-theme .mat-badge-small.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-8px}.ruc-custom-theme .mat-badge-medium .mat-badge-content{width:22px;height:22px;line-height:22px}.ruc-custom-theme .mat-badge-medium.mat-badge-above .mat-badge-content{top:-11px}.ruc-custom-theme .mat-badge-medium.mat-badge-below .mat-badge-content{bottom:-11px}.ruc-custom-theme .mat-badge-medium.mat-badge-before .mat-badge-content{left:-22px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-before .mat-badge-content{left:auto;right:-22px}.ruc-custom-theme .mat-badge-medium.mat-badge-after .mat-badge-content{right:-22px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-after .mat-badge-content{right:auto;left:-22px}.ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-11px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-11px}.ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-11px}[dir=rtl] .ruc-custom-theme .mat-badge-medium.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-11px}.ruc-custom-theme .mat-badge-large .mat-badge-content{width:28px;height:28px;line-height:28px}.ruc-custom-theme .mat-badge-large.mat-badge-above .mat-badge-content{top:-14px}.ruc-custom-theme .mat-badge-large.mat-badge-below .mat-badge-content{bottom:-14px}.ruc-custom-theme .mat-badge-large.mat-badge-before .mat-badge-content{left:-28px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-before .mat-badge-content{left:auto;right:-28px}.ruc-custom-theme .mat-badge-large.mat-badge-after .mat-badge-content{right:-28px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-after .mat-badge-content{right:auto;left:-28px}.ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:-14px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-before .mat-badge-content{left:auto;right:-14px}.ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:-14px}[dir=rtl] .ruc-custom-theme .mat-badge-large.mat-badge-overlap.mat-badge-after .mat-badge-content{right:auto;left:-14px}.ruc-custom-theme .mat-badge-content{font-weight:600;font-size:12px;font-family:Roboto,sans-serif}.ruc-custom-theme .mat-badge-small .mat-badge-content{font-size:9px}.ruc-custom-theme .mat-badge-large .mat-badge-content{font-size:24px}.ruc-custom-theme .mat-bottom-sheet-container{font-size:14px;font-weight:400;line-height:20px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-button-toggle-appearance-standard .mat-button-toggle-label-content{line-height:48px}.ruc-custom-theme .mat-button-toggle{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base{width:40px;height:40px;padding:8px}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__focus-ring{max-height:40px;max-width:40px}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__ripple{width:40px;height:40px;margin:0}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base.mdc-icon-button--reduced-size .mdc-icon-button__focus-ring{max-height:40px;max-width:40px}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mdc-icon-button__touch{position:absolute;top:50%;height:40px;left:50%;width:40px;transform:translate(-50%,-50%)}.ruc-custom-theme .mat-calendar-controls .mat-mdc-icon-button.mat-mdc-button-base .mat-mdc-button-touch-target{display:none}.ruc-custom-theme .mat-calendar{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-calendar-body{font-size:13px}.ruc-custom-theme .mat-calendar-body-label,.ruc-custom-theme .mat-calendar-period-button{font-size:20px;font-weight:500}.ruc-custom-theme .mat-calendar-table-header th{font-size:11px;font-weight:400}.ruc-custom-theme .mat-expansion-panel-header{height:48px}.ruc-custom-theme .mat-expansion-panel-header.mat-expanded{height:64px}.ruc-custom-theme .mat-expansion-panel-header{font-family:Roboto,sans-serif;font-size:15px;font-weight:400}.ruc-custom-theme .mat-expansion-panel-content{font-size:14px;font-weight:400;line-height:20px;font-family:Roboto,sans-serif;letter-spacing:normal}.ruc-custom-theme .mat-grid-tile-header,.ruc-custom-theme .mat-grid-tile-footer{font-size:14px}.ruc-custom-theme .mat-grid-tile-header .mat-line,.ruc-custom-theme .mat-grid-tile-footer .mat-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;box-sizing:border-box}.ruc-custom-theme .mat-grid-tile-header .mat-line:nth-child(n+2),.ruc-custom-theme .mat-grid-tile-footer .mat-line:nth-child(n+2){font-size:12px}.ruc-custom-theme .mat-horizontal-stepper-header{height:72px}.ruc-custom-theme .mat-stepper-label-position-bottom .mat-horizontal-stepper-header,.ruc-custom-theme .mat-vertical-stepper-header{padding:24px}.ruc-custom-theme .mat-stepper-vertical-line:before{top:-16px;bottom:-16px}.ruc-custom-theme .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:after,.ruc-custom-theme .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:before{top:36px}.ruc-custom-theme .mat-stepper-label-position-bottom .mat-stepper-horizontal-line{top:36px}.ruc-custom-theme .mat-stepper-vertical,.ruc-custom-theme .mat-stepper-horizontal{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-step-label{font-size:14px;font-weight:400}.ruc-custom-theme .mat-step-sub-label-error{font-weight:400}.ruc-custom-theme .mat-step-label-error{font-size:20px}.ruc-custom-theme .mat-step-label-selected{font-size:20px;font-weight:500}.ruc-custom-theme .mat-toolbar-multiple-rows{min-height:64px}.ruc-custom-theme .mat-toolbar-row,.ruc-custom-theme .mat-toolbar-single-row{height:64px}@media (max-width: 599px){.ruc-custom-theme .mat-toolbar-multiple-rows{min-height:56px}.ruc-custom-theme .mat-toolbar-row,.ruc-custom-theme .mat-toolbar-single-row{height:56px}}.ruc-custom-theme .mat-toolbar,.ruc-custom-theme .mat-toolbar h1,.ruc-custom-theme .mat-toolbar h2,.ruc-custom-theme .mat-toolbar h3,.ruc-custom-theme .mat-toolbar h4,.ruc-custom-theme .mat-toolbar h5,.ruc-custom-theme .mat-toolbar h6{font-size:20px;font-weight:500;line-height:32px;font-family:Roboto,sans-serif;letter-spacing:normal;margin:0}.ruc-custom-theme .mat-tree-node{min-height:48px}.ruc-custom-theme .mat-tree{font-family:Roboto,sans-serif}.ruc-custom-theme .mat-tree-node,.ruc-custom-theme .mat-nested-tree-node{font-weight:400;font-size:14px}.dual-list-container{display:flex;flex-direction:column}.list{border:1px solid #ccc;padding:10px;width:45%}:host{display:block;font-size:18px}.dual-select{display:flex;justify-content:center}.leftContainer,.rightContainer{flex:0 0 auto;margin:2%}.dual-select__left,.dual-select__right{border:1px solid lightgrey;height:400px;overflow-y:auto}.dual-select__controls{justify-content:center;display:flex;flex:0 0 auto;flex-direction:column;padding:0 10px}.dual-select__control{font-size:20px;height:37px;margin:10px 0}.dual-select__items{border:1px solid #cccccc;height:100%;list-style-type:none;margin:0;overflow:auto;overscroll-behavior:contain;padding:0}.dual-select__item{border-bottom:1px solid #cccccc;cursor:pointer;margin:0;padding:0 0 0 1em;user-select:none;-moz-user-select:none;-webkit-user-select:none}.dual-select__item:last-child{border-bottom-width:0px}.dual-select__item--selected{background-color:#bfd5ff}.dual-select__item--new{animation-duration:2s;animation-name:dual-select-item-new-fade-in;animation-timing-function:ease-out}@keyframes dual-select-item-new-fade-in{0%{background-color:#fff}25%{background-color:#bfd5ff}to{background-color:#fff}}.contact{font-family:monospace,sans-serif;padding:8px 10px}.contact__name{font-size:18px;font-weight:700;line-height:22px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact__email{font-size:15px;line-height:19px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note{font-family:monospace,sans-serif;font-size:16px}.search_Box{width:90%;height:67px}.list_container{padding:0}.btn_container{position:relative;top:30px;right:8%}.submit_Btn{position:absolute;bottom:0}@media screen and (max-width: 900px){.dual-select{display:inline-flex;height:400px;margin:6% 1% 1%}}.text-align-center{text-align:center}.dual-list-btn{font-size:14px;padding:.4em 1em}\n"] }]
247
249
  }], ctorParameters: function () { return [{ type: FilterPipe }]; }, propDecorators: { dataSource: [{
248
250
  type: Input
249
251
  }], rucInputData: [{
@@ -266,7 +268,8 @@ RuclibDualListSelectorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.
266
268
  MatInputModule,
267
269
  MatIconModule,
268
270
  MatSortModule,
269
- MatTableModule], exports: [DualListSelectorComponent] });
271
+ MatTableModule,
272
+ MatButtonModule], exports: [DualListSelectorComponent] });
270
273
  RuclibDualListSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibDualListSelectorModule, imports: [CommonModule,
271
274
  FormsModule,
272
275
  MatListModule,
@@ -276,7 +279,8 @@ RuclibDualListSelectorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.
276
279
  MatInputModule,
277
280
  MatIconModule,
278
281
  MatSortModule,
279
- MatTableModule] });
282
+ MatTableModule,
283
+ MatButtonModule] });
280
284
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: RuclibDualListSelectorModule, decorators: [{
281
285
  type: NgModule,
282
286
  args: [{
@@ -289,7 +293,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
289
293
  MatInputModule,
290
294
  MatIconModule,
291
295
  MatSortModule,
292
- MatTableModule
296
+ MatTableModule,
297
+ MatButtonModule
293
298
  ],
294
299
  declarations: [DualListSelectorComponent, FilterPipe],
295
300
  exports: [DualListSelectorComponent],
@@ -1 +1 @@
1
- {"version":3,"file":"ruc-lib-dual-list-selector.mjs","sources":["../../../../../libs/ruclib/dual-list-selector/src/pipes/filter.pipe.ts","../../../../../libs/ruclib/dual-list-selector/src/lib/dual-list-selector/dual-list-selector.component.ts","../../../../../libs/ruclib/dual-list-selector/src/lib/dual-list-selector/dual-list-selector.component.html","../../../../../libs/ruclib/dual-list-selector/src/lib/ruclib-dual-list-selector.module.ts","../../../../../libs/ruclib/dual-list-selector/src/ruc-lib-dual-list-selector.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n transform(items: any[], searchText: string, key?:string): any[] {\r\n if (items?.length==0) return [];\r\n if (!searchText) return items;\r\n searchText = searchText.toLowerCase();\r\n return items.filter(it => {\r\n if(!key){\r\n return it.toLowerCase().includes(searchText);\r\n } else {\r\n return it[key].toLowerCase().includes(searchText);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from '@angular/core';\r\nimport { PendingSelection } from '../../interfaces/PendingSelectionItems';\r\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\r\nimport { FilterPipe } from '../../pipes/filter.pipe';\r\nimport { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\r\n\r\n@Component({\r\n selector: 'uxp-dual-list-selector',\r\n templateUrl: './dual-list-selector.component.html',\r\n styleUrls: ['./dual-list-selector.component.scss'],\r\n providers: [FilterPipe],\r\n})\r\nexport class DualListSelectorComponent implements OnInit{\r\n @Input() dataSource: any[] = [];\r\n\t@Input() rucInputData: any;\r\n\t@Output() rucEvent = new EventEmitter();\r\n\t@Input() customTheme: string | undefined;\r\n\r\n\tpublic height: any;\r\n\tpublic width: any;\r\n\tpublic persistOnRefresh: boolean | undefined;\r\n\r\n\tpublic pendingSelection!: PendingSelection;\r\n\tpublic selectedItems: any[] = [];\r\n\tpublic unselectedItems!: any[];\r\n\r\n\tpublic selectedItemsBeforeSearch: any[] = [];\r\n\tpublic unselectedItemsBeforeSearch!: any[];;\r\n\r\n\treadonly separatorKeysCodes = [ENTER, COMMA] as const;\r\n\tpublic searchText!: string;\r\n\tpublic searchTextSelected!: string;\r\n\tdirection_unselected = false;\r\n\tdirection_selected = false;\r\n\r\n\tconstructor(public filterPipe: FilterPipe) {\r\n\r\n\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.height = this.rucInputData.height;\r\n\t\tthis.width = this.rucInputData.width;\r\n\t\tthis.persistOnRefresh = this.rucInputData.persistOnRefresh;\r\n\r\n\t\tconst storedUnselectedItems = sessionStorage.getItem('unselectedItems');\r\n\t\tconst storedSelectedItems = sessionStorage.getItem('selectedItems');\r\n\t\tif(storedUnselectedItems && storedUnselectedItems !== 'undefined' && storedSelectedItems && storedSelectedItems !== 'undefined'){\r\n\t\t\tthis.unselectedItems = JSON.parse(sessionStorage.getItem('unselectedItems') as any);\r\n\t\t\tthis.selectedItems = JSON.parse(sessionStorage.getItem('selectedItems') as any);\r\n\t\t}else{\r\n\t\t\tthis.unselectedItems = this.dataSource.slice().sort( this.sortItemOperator );\r\n\t\t\tthis.selectedItems = [];\r\n\t\t}\r\n\t\t\r\n\t\tthis.unselectedItemsBeforeSearch = this.unselectedItems;\r\n\t\tthis.selectedItemsBeforeSearch = this.selectedItems;\r\n\t\tthis.pendingSelection = Object.create( null );\r\n\t}\r\n\r\n \t/**\r\n\t * save lists to storage\r\n\t * @param selected and unselected list\r\n\t * @return none\r\n\t */\r\n\tpublic saveToStorage(selected: any[], unselected: any[]){\r\n\t\tif(this.persistOnRefresh){\r\n\t\t\tsessionStorage.setItem('selectedItems', JSON.stringify(selected));\r\n\t\t\tsessionStorage.setItem('unselectedItems', JSON.stringify(unselected));\r\n\t\t}\r\n\t}\r\n\r\n \t/**\r\n\t * add the selected item or dataSource to the selected dataSource collection\r\n\t * @param item to be added\r\n\t * @return none\r\n\t */\r\n\tpublic addToSelectedItems( item?: any ) : void {\r\nconsole.log(\"item=\",item);\r\n\t\tconst changeItems = ( item )\r\n\t\t\t? [ item ]\r\n\t\t\t: this.getPendingSelectionFromCollection( this.unselectedItems );\r\n\r\n\t\tthis.pendingSelection = Object.create( null );\r\n\t\tthis.unselectedItems = this.removeItemsFromCollection( this.unselectedItems, changeItems );\r\n\t\tthis.selectedItems = changeItems.concat( this.selectedItems );\r\n\t\tthis.selectedItemsBeforeSearch = this.selectedItems; \r\n\t\tthis.unselectedItemsBeforeSearch = this.unselectedItems;\r\n\t\tthis.saveToStorage(this.selectedItemsBeforeSearch, this.unselectedItemsBeforeSearch);\r\n\t}\r\n\r\n\t/**\r\n\t * Add all items to selected list\r\n\t * @param none\r\n\t * @return none\r\n\t */\r\n\tpublic addAllToSelectedItems() : void {\r\n\t\tthis.selectedItems = this.dataSource;\r\n\t\tthis.unselectedItems = [];\r\n\t\tthis.saveToStorage(this.selectedItems, this.unselectedItems);\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * remove all items from selected list\r\n\t * @param none\r\n\t * @return none\r\n\t */\r\n\tpublic removeAllFromSelectedItems() : void {\r\n \tthis.unselectedItems = this.dataSource;\r\n\t\tthis.selectedItems = [];\r\n\t\tthis.saveToStorage(this.selectedItems, this.unselectedItems);\r\n \t}\r\n\r\n \t/**\r\n\t * when drag and drop event occurs\r\n\t * @param event\r\n\t * @return none\r\n\t */\r\n drop(event: CdkDragDrop<string[]>) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\r\n } else {\r\n transferArrayItem(\r\n event.previousContainer.data,\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex,\r\n );\r\n }\r\n }\r\n\r\n\r\n\t/**\r\n\t * Sort on click of sorting icon\r\n\t * @param type whether it's increasing or decreasing\r\n\t * @return none\r\n\t */\r\n sortOnClick(type:string) {\r\n\r\n\t\tif(this.direction_unselected && type== \"unselected\"){\r\n\t\t\tthis.unselectedItems = this.unselectedItems.sort((a, b) => b.name.toLowerCase().localeCompare(a.name.toLowerCase()));\r\n\t\t\tthis.direction_unselected = !this.direction_unselected;\r\n\t\t}else if(!this.direction_unselected && type== \"unselected\") {\r\n\t\t\tthis.unselectedItems = this.unselectedItems.sort((a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase()))\r\n\t\t\tthis.direction_unselected = !this.direction_unselected;\r\n\t\t}\r\n\t\tif(this.direction_selected && type== \"selected\"){\r\n\t\t\tthis.selectedItems = this.selectedItems.sort((a, b) => b.name.toLowerCase().localeCompare(a.name.toLowerCase()));\r\n\t\t\tthis.direction_selected = !this.direction_selected;\r\n\t\t}else if(!this.direction_selected && type== \"selected\") {\r\n\t\t\tthis.selectedItems = this.selectedItems.sort((a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase()))\r\n\t\t\tthis.direction_selected = !this.direction_selected;\r\n\t\t}\r\n\t\r\n }\r\n\r\n \t/**\r\n\t * remove the selected item or dataSource from the selected dataSource collection\r\n\t * @param item to be removed\r\n\t * @return \r\n\t */\r\n\tpublic removeFromSelectedItems( item?: any ) : void {\r\n\r\n\t\tconst changeItems = ( item )\r\n\t\t\t? [ item ]\r\n\t\t\t: this.getPendingSelectionFromCollection( this.selectedItems );\r\n\r\n\t\tthis.pendingSelection = Object.create( null );\r\n\t\tthis.selectedItems = this.removeItemsFromCollection( this.selectedItems, changeItems );\r\n\t\tconst changedData= changeItems\r\n\t\t\t.concat( this.unselectedItems )\r\n\t\t\t.sort( this.sortItemOperator );\r\n\t\tthis.unselectedItems = changedData;\r\n\t\tthis.unselectedItemsBeforeSearch = changedData;\r\n\t\tthis.selectedItemsBeforeSearch = this.selectedItemsBeforeSearch;\r\n\t\tthis.saveToStorage(this.selectedItems, this.unselectedItems);\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * toggle the pending selection for the given item\r\n\t * @param item to toggle\r\n\t * @return none\r\n\t */\r\n\tpublic togglePendingSelection( item:any ) : void {\r\n\t\tthis.pendingSelection[ item.id ] = ! this.pendingSelection[ item.id ];\r\n\t}\r\n\r\n\t/**\r\n\t * Filter the data based on the provided input\r\n\t * @param searchvalue input label provided in search box\r\n\t * @return none\r\n\t */\r\n\tfilterData(searchvalue: any, type: string): any {\r\n\t\tif(type === 'unselected'){\r\n\t\t\tif(searchvalue === \"\"){\r\n\t\t\t\tthis.unselectedItems= this.unselectedItemsBeforeSearch;\r\n\t\t\t}\r\n\t\t\tthis.unselectedItems = this.filterPipe.transform(this.unselectedItemsBeforeSearch, searchvalue, 'name');\r\n\t\t}\r\n\t\telse{\r\n\t\t\tif(searchvalue === \"\"){\r\n\t\t\t\tthis.selectedItems= this.selectedItemsBeforeSearch;\r\n\t\t\t}\r\n\t\t\tthis.selectedItems = this.filterPipe.transform(this.selectedItemsBeforeSearch, searchvalue, 'name');\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * gather the dataSource in the given collection that are part of the current pending selection\r\n\t * @param collection input label provided in search box\r\n\t * @return selected items\r\n\t */\r\n\r\n\tpublic getPendingSelectionFromCollection( collection: any[] ) : any[] {\r\n\r\n\t\tconst selectionFromCollection = collection.filter(\r\n\t\t\t( item ) => {\r\n\t\t\t\treturn( item.id in this.pendingSelection );\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\treturn( selectionFromCollection );\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * remove the given dataSource from the given collection\r\n\t * @param collection and ItemsToRemove\r\n\t * @return a new collection\r\n\t */\r\n\tpublic removeItemsFromCollection(\r\n\t\tcollection: any[],\r\n\t\tItemsToRemove: any[]\r\n\t\t) : any[] {\r\n\r\n\t\tconst collectionWithoutItems = collection.filter(\r\n\t\t\t( item ) => {\r\n\t\t\t\treturn( ! ItemsToRemove.includes( item ) );\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\treturn( collectionWithoutItems );\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * provide the sort operator for the dataSource collection\r\n\t * @param two values to compare\r\n\t * @return a value based on the sorting\r\n\t */\r\n\tpublic sortItemOperator( a: any, b: any ) : number {\r\n\t\treturn( a.name.localeCompare( b.name ) );\r\n\t}\r\n\r\n\tselectedOutputItems() {\r\n\t\tthis.rucEvent.emit(this.selectedItems);\r\n\t}\r\n}\r\n ","<div class=\"{{customTheme}}\">\r\n <div class=\"dual-list-container\">\r\n <div class=\"dual-select\">\r\n <div class=\"leftContainer\">\r\n <mat-form-field class=\"example-full-width search_Box\" appearance=\"fill\" *ngIf=\"rucInputData.enableSearch\">\r\n <mat-label>Search</mat-label>\r\n <input matInput (keyup)=\"filterData(searchText, 'unselected')\" [(ngModel)]=\"searchText\">\r\n </mat-form-field>\r\n <span class=\"flex\" *ngIf=\"rucInputData.sorting\"><mat-icon (click)=\"sortOnClick('unselected')\">{{ !direction_unselected ? 'arrow_drop_down' :\r\n 'arrow_drop_up' }}</mat-icon> </span>\r\n <div class=\"dual-select__left\" [ngStyle]=\"{'max-height.px': height, 'width.px': width}\">\r\n <mat-list role=\"list\" class=\"list_container\">\r\n\r\n <div cdkDropList #todoList=\"cdkDropList\" [cdkDropListData]=\"unselectedItems\"\r\n [cdkDropListConnectedTo]=\"[doneList]\" class=\"example-list\" (cdkDropListDropped)=\"drop($event)\">\r\n\r\n\r\n\r\n <mat-list-item role=\"listitem\" *ngFor=\"let item of unselectedItems\" cdkDrag [disabled]=\"!item.disable\"\r\n (click)=\"togglePendingSelection( item )\" (dblclick)=\"addToSelectedItems( item )\"\r\n class=\"dual-select__item\" [class.dual-select__item--selected]=\"pendingSelection[ item.id ]\">\r\n <span>{{ item.name }}</span>\r\n </mat-list-item>\r\n </div>\r\n </mat-list>\r\n\r\n </div>\r\n </div>\r\n <div class=\"dual-select__controls\">\r\n <button (click)=\"addToSelectedItems()\" class=\"dual-select__control\">\r\n &#10236;\r\n </button>\r\n <button (click)=\"removeFromSelectedItems()\" class=\"dual-select__control\">\r\n &#10235;\r\n </button>\r\n <button (click)=\"addAllToSelectedItems()\" class=\"dual-select__control\">\r\n &#10503;\r\n </button>\r\n <button (click)=\"removeAllFromSelectedItems()\" class=\"dual-select__control\">\r\n &#10502;\r\n </button>\r\n </div>\r\n <div class=\"rightContainer\">\r\n <mat-form-field class=\"example-full-width search_Box\" appearance=\"fill\" *ngIf=\"rucInputData.enableSearch\">\r\n <mat-label>Search</mat-label>\r\n <input matInput (keyup)=\"filterData(searchTextSelected, 'selected')\" [(ngModel)]=\"searchTextSelected\">\r\n </mat-form-field>\r\n <span class=\"flex\" *ngIf=\"rucInputData.sorting\"><mat-icon (click)=\"sortOnClick('selected')\">{{ !direction_selected ? 'arrow_drop_down' :\r\n 'arrow_drop_up' }}</mat-icon> </span>\r\n\r\n <div class=\"dual-select__right\" [ngStyle]=\"{'max-height.px': height, 'width.px': width}\">\r\n\r\n\r\n\r\n <mat-list role=\"list\" class=\"list_container\">\r\n <div cdkDropList #doneList=\"cdkDropList\" [cdkDropListData]=\"selectedItems\"\r\n [cdkDropListConnectedTo]=\"[todoList]\" class=\"example-list\" (cdkDropListDropped)=\"drop($event)\">\r\n\r\n <mat-list-item cdkDrag *ngFor=\"let item of selectedItems\" (click)=\"togglePendingSelection( item )\"\r\n (dblclick)=\"removeFromSelectedItems( item )\" class=\"dual-select__item dual-select__item--new\"\r\n [class.dual-select__item--selected]=\"pendingSelection[ item.id ]\">\r\n <span>{{ item.name }}</span>\r\n </mat-list-item>\r\n </div>\r\n </mat-list>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-align-center\">\r\n <button (click)=\"selectedOutputItems()\" class=\"dual-list-btn\">\r\n Submit\r\n </button>\r\n </div>\r\n </div>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DualListSelectorComponent } from './dual-list-selector/dual-list-selector.component';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { FilterPipe } from '../pipes/filter.pipe';\r\nimport {MatChipsModule} from '@angular/material/chips';\r\n\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\n\r\n@NgModule({\r\n imports: [CommonModule,\r\n FormsModule,\r\n MatListModule,\r\n DragDropModule,\r\n MatChipsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatSortModule,\r\n MatTableModule\r\n ],\r\n declarations: [DualListSelectorComponent,FilterPipe],\r\n exports: [DualListSelectorComponent],\r\n entryComponents: [DualListSelectorComponent],\r\n})\r\nexport class RuclibDualListSelectorModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.FilterPipe"],"mappings":"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"}
1
+ {"version":3,"file":"ruc-lib-dual-list-selector.mjs","sources":["../../src/pipes/filter.pipe.ts","../../src/lib/dual-list-selector/dual-list-selector.component.ts","../../src/lib/dual-list-selector/dual-list-selector.component.html","../../src/lib/ruclib-dual-list-selector.module.ts","../../src/ruc-lib-dual-list-selector.ts"],"sourcesContent":["import { Pipe, PipeTransform } from '@angular/core';\r\n@Pipe({\r\n name: 'filter'\r\n})\r\nexport class FilterPipe implements PipeTransform {\r\n transform(items: any[], searchText: string, key?:string): any[] {\r\n if (items?.length==0) return [];\r\n if (!searchText) return items;\r\n searchText = searchText.toLowerCase();\r\n return items.filter(it => {\r\n if(!key){\r\n return it.toLowerCase().includes(searchText);\r\n } else {\r\n return it[key].toLowerCase().includes(searchText);\r\n }\r\n });\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewEncapsulation } from '@angular/core';\r\nimport { PendingSelection } from '../../interfaces/PendingSelectionItems';\r\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\r\nimport { FilterPipe } from '../../pipes/filter.pipe';\r\nimport { CdkDragDrop, moveItemInArray, transferArrayItem } from '@angular/cdk/drag-drop';\r\n\r\n@Component({\r\n selector: 'uxp-ruclib-dual-list-selector',\r\n templateUrl: './dual-list-selector.component.html',\r\n styleUrls: ['./dual-list-selector.component.scss'],\r\n providers: [FilterPipe],\r\n})\r\nexport class DualListSelectorComponent implements OnInit{\r\n @Input() dataSource: any[] = [];\r\n\t@Input() rucInputData: any;\r\n\t@Output() rucEvent = new EventEmitter();\r\n\t@Input() customTheme: string | undefined;\r\n\r\n\tpublic height: any;\r\n\tpublic width: any;\r\n\tpublic persistOnRefresh: boolean | undefined;\r\n\r\n\tpublic pendingSelection!: PendingSelection;\r\n\tpublic selectedItems: any[] = [];\r\n\tpublic unselectedItems!: any[];\r\n\r\n\tpublic selectedItemsBeforeSearch: any[] = [];\r\n\tpublic unselectedItemsBeforeSearch!: any[];;\r\n\r\n\treadonly separatorKeysCodes = [ENTER, COMMA] as const;\r\n\tpublic searchText!: string;\r\n\tpublic searchTextSelected!: string;\r\n\tdirection_unselected = false;\r\n\tdirection_selected = false;\r\n\r\n\tconstructor(public filterPipe: FilterPipe) {\r\n\r\n\r\n\t}\r\n\r\n\tngOnInit(): void {\r\n\t\tthis.height = this.rucInputData.height;\r\n\t\tthis.width = this.rucInputData.width;\r\n\t\tthis.persistOnRefresh = this.rucInputData.persistOnRefresh;\r\n\r\n\t\tconst storedUnselectedItems = sessionStorage.getItem('unselectedItems');\r\n\t\tconst storedSelectedItems = sessionStorage.getItem('selectedItems');\r\n\t\tif(storedUnselectedItems && storedUnselectedItems !== 'undefined' && storedSelectedItems && storedSelectedItems !== 'undefined'){\r\n\t\t\tthis.unselectedItems = JSON.parse(sessionStorage.getItem('unselectedItems') as any);\r\n\t\t\tthis.selectedItems = JSON.parse(sessionStorage.getItem('selectedItems') as any);\r\n\t\t}else{\r\n\t\t\tthis.unselectedItems = this.dataSource.slice().sort( this.sortItemOperator );\r\n\t\t\tthis.selectedItems = [];\r\n\t\t}\r\n\t\t\r\n\t\tthis.unselectedItemsBeforeSearch = this.unselectedItems;\r\n\t\tthis.selectedItemsBeforeSearch = this.selectedItems;\r\n\t\tthis.pendingSelection = Object.create( null );\r\n\t}\r\n\r\n \t/**\r\n\t * save lists to storage\r\n\t * @param selected and unselected list\r\n\t * @return none\r\n\t */\r\n\tpublic saveToStorage(selected: any[], unselected: any[]){\r\n\t\tif(this.persistOnRefresh){\r\n\t\t\tsessionStorage.setItem('selectedItems', JSON.stringify(selected));\r\n\t\t\tsessionStorage.setItem('unselectedItems', JSON.stringify(unselected));\r\n\t\t}\r\n\t}\r\n\r\n \t/**\r\n\t * add the selected item or dataSource to the selected dataSource collection\r\n\t * @param item to be added\r\n\t * @return none\r\n\t */\r\n\tpublic addToSelectedItems( item?: any ) : void {\r\nconsole.log(\"item=\",item);\r\n\t\tconst changeItems = ( item )\r\n\t\t\t? [ item ]\r\n\t\t\t: this.getPendingSelectionFromCollection( this.unselectedItems );\r\n\r\n\t\tthis.pendingSelection = Object.create( null );\r\n\t\tthis.unselectedItems = this.removeItemsFromCollection( this.unselectedItems, changeItems );\r\n\t\tthis.selectedItems = changeItems.concat( this.selectedItems );\r\n\t\tthis.selectedItemsBeforeSearch = this.selectedItems; \r\n\t\tthis.unselectedItemsBeforeSearch = this.unselectedItems;\r\n\t\tthis.saveToStorage(this.selectedItemsBeforeSearch, this.unselectedItemsBeforeSearch);\r\n\t}\r\n\r\n\t/**\r\n\t * Add all items to selected list\r\n\t * @param none\r\n\t * @return none\r\n\t */\r\n\tpublic addAllToSelectedItems() : void {\r\n\t\tthis.selectedItems = this.dataSource;\r\n\t\tthis.unselectedItems = [];\r\n\t\tthis.saveToStorage(this.selectedItems, this.unselectedItems);\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * remove all items from selected list\r\n\t * @param none\r\n\t * @return none\r\n\t */\r\n\tpublic removeAllFromSelectedItems() : void {\r\n \tthis.unselectedItems = this.dataSource;\r\n\t\tthis.selectedItems = [];\r\n\t\tthis.saveToStorage(this.selectedItems, this.unselectedItems);\r\n \t}\r\n\r\n \t/**\r\n\t * when drag and drop event occurs\r\n\t * @param event\r\n\t * @return none\r\n\t */\r\n drop(event: CdkDragDrop<string[]>) {\r\n if (event.previousContainer === event.container) {\r\n moveItemInArray(event.container.data, event.previousIndex, event.currentIndex);\r\n } else {\r\n transferArrayItem(\r\n event.previousContainer.data,\r\n event.container.data,\r\n event.previousIndex,\r\n event.currentIndex,\r\n );\r\n }\r\n }\r\n\r\n\r\n\t/**\r\n\t * Sort on click of sorting icon\r\n\t * @param type whether it's increasing or decreasing\r\n\t * @return none\r\n\t */\r\n sortOnClick(type:string) {\r\n\r\n\t\tif(this.direction_unselected && type== \"unselected\"){\r\n\t\t\tthis.unselectedItems = this.unselectedItems.sort((a, b) => b.name.toLowerCase().localeCompare(a.name.toLowerCase()));\r\n\t\t\tthis.direction_unselected = !this.direction_unselected;\r\n\t\t}else if(!this.direction_unselected && type== \"unselected\") {\r\n\t\t\tthis.unselectedItems = this.unselectedItems.sort((a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase()))\r\n\t\t\tthis.direction_unselected = !this.direction_unselected;\r\n\t\t}\r\n\t\tif(this.direction_selected && type== \"selected\"){\r\n\t\t\tthis.selectedItems = this.selectedItems.sort((a, b) => b.name.toLowerCase().localeCompare(a.name.toLowerCase()));\r\n\t\t\tthis.direction_selected = !this.direction_selected;\r\n\t\t}else if(!this.direction_selected && type== \"selected\") {\r\n\t\t\tthis.selectedItems = this.selectedItems.sort((a, b) => a.name.toLowerCase().localeCompare(b.name.toLowerCase()))\r\n\t\t\tthis.direction_selected = !this.direction_selected;\r\n\t\t}\r\n\t\r\n }\r\n\r\n \t/**\r\n\t * remove the selected item or dataSource from the selected dataSource collection\r\n\t * @param item to be removed\r\n\t * @return \r\n\t */\r\n\tpublic removeFromSelectedItems( item?: any ) : void {\r\n\r\n\t\tconst changeItems = ( item )\r\n\t\t\t? [ item ]\r\n\t\t\t: this.getPendingSelectionFromCollection( this.selectedItems );\r\n\r\n\t\tthis.pendingSelection = Object.create( null );\r\n\t\tthis.selectedItems = this.removeItemsFromCollection( this.selectedItems, changeItems );\r\n\t\tconst changedData= changeItems\r\n\t\t\t.concat( this.unselectedItems )\r\n\t\t\t.sort( this.sortItemOperator );\r\n\t\tthis.unselectedItems = changedData;\r\n\t\tthis.unselectedItemsBeforeSearch = changedData;\r\n\t\tthis.selectedItemsBeforeSearch = this.selectedItemsBeforeSearch;\r\n\t\tthis.saveToStorage(this.selectedItems, this.unselectedItems);\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * toggle the pending selection for the given item\r\n\t * @param item to toggle\r\n\t * @return none\r\n\t */\r\n\tpublic togglePendingSelection( item:any ) : void {\r\n\t\tthis.pendingSelection[ item.id ] = ! this.pendingSelection[ item.id ];\r\n\t}\r\n\r\n\t/**\r\n\t * Filter the data based on the provided input\r\n\t * @param searchvalue input label provided in search box\r\n\t * @return none\r\n\t */\r\n\tfilterData(searchvalue: any, type: string): any {\r\n\t\tif(type === 'unselected'){\r\n\t\t\tif(searchvalue === \"\"){\r\n\t\t\t\tthis.unselectedItems= this.unselectedItemsBeforeSearch;\r\n\t\t\t}\r\n\t\t\tthis.unselectedItems = this.filterPipe.transform(this.unselectedItemsBeforeSearch, searchvalue, 'name');\r\n\t\t}\r\n\t\telse{\r\n\t\t\tif(searchvalue === \"\"){\r\n\t\t\t\tthis.selectedItems= this.selectedItemsBeforeSearch;\r\n\t\t\t}\r\n\t\t\tthis.selectedItems = this.filterPipe.transform(this.selectedItemsBeforeSearch, searchvalue, 'name');\r\n\t\t}\r\n\t}\r\n\t\r\n\t/**\r\n\t * gather the dataSource in the given collection that are part of the current pending selection\r\n\t * @param collection input label provided in search box\r\n\t * @return selected items\r\n\t */\r\n\r\n\tpublic getPendingSelectionFromCollection( collection: any[] ) : any[] {\r\n\r\n\t\tconst selectionFromCollection = collection.filter(\r\n\t\t\t( item ) => {\r\n\t\t\t\treturn( item.id in this.pendingSelection );\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\treturn( selectionFromCollection );\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * remove the given dataSource from the given collection\r\n\t * @param collection and ItemsToRemove\r\n\t * @return a new collection\r\n\t */\r\n\tpublic removeItemsFromCollection(\r\n\t\tcollection: any[],\r\n\t\tItemsToRemove: any[]\r\n\t\t) : any[] {\r\n\r\n\t\tconst collectionWithoutItems = collection.filter(\r\n\t\t\t( item ) => {\r\n\t\t\t\treturn( ! ItemsToRemove.includes( item ) );\r\n\t\t\t}\r\n\t\t);\r\n\r\n\t\treturn( collectionWithoutItems );\r\n\r\n\t}\r\n\r\n\t/**\r\n\t * provide the sort operator for the dataSource collection\r\n\t * @param two values to compare\r\n\t * @return a value based on the sorting\r\n\t */\r\n\tpublic sortItemOperator( a: any, b: any ) : number {\r\n\t\treturn( a.name.localeCompare( b.name ) );\r\n\t}\r\n\r\n\tselectedOutputItems() {\r\n\t\tthis.rucEvent.emit(this.selectedItems);\r\n\t}\r\n}\r\n ","<div class=\"main\">\r\n<div class=\"{{customTheme}}\">\r\n <div class=\"dual-list-container\">\r\n <div class=\"dual-select\">\r\n <div class=\"leftContainer\">\r\n <mat-form-field class=\"example-full-width search_Box\" appearance=\"fill\" *ngIf=\"rucInputData.enableSearch\">\r\n <mat-label>Search</mat-label>\r\n <input matInput (keyup)=\"filterData(searchText, 'unselected')\" [(ngModel)]=\"searchText\">\r\n </mat-form-field>\r\n <span class=\"flex\" *ngIf=\"rucInputData.sorting\"><mat-icon (click)=\"sortOnClick('unselected')\">{{ !direction_unselected ? 'arrow_drop_down' :\r\n 'arrow_drop_up' }}</mat-icon> </span>\r\n <div class=\"dual-select__left\" [ngStyle]=\"{'max-height.px': height, 'width.px': width}\">\r\n <mat-list role=\"list\" class=\"list_container\">\r\n\r\n <div cdkDropList #todoList=\"cdkDropList\" [cdkDropListData]=\"unselectedItems\"\r\n [cdkDropListConnectedTo]=\"[doneList]\" class=\"example-list\" (cdkDropListDropped)=\"drop($event)\">\r\n\r\n\r\n\r\n <mat-list-item role=\"listitem\" *ngFor=\"let item of unselectedItems\" cdkDrag [disabled]=\"!item.disable\"\r\n (click)=\"togglePendingSelection( item )\" (dblclick)=\"addToSelectedItems( item )\"\r\n class=\"dual-select__item\" [class.dual-select__item--selected]=\"pendingSelection[ item.id ]\">\r\n <span>{{ item.name }}</span>\r\n </mat-list-item>\r\n </div>\r\n </mat-list>\r\n\r\n </div>\r\n </div>\r\n <div class=\"dual-select__controls\">\r\n <button mat-raised-button color=\"primary\"(click)=\"addToSelectedItems()\" class=\"dual-select__control\">\r\n &#10236;\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"removeFromSelectedItems()\" class=\"dual-select__control\">\r\n &#10235;\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"addAllToSelectedItems()\" class=\"dual-select__control\">\r\n &#10503;\r\n </button>\r\n <button mat-raised-button color=\"primary\" (click)=\"removeAllFromSelectedItems()\" class=\"dual-select__control\">\r\n &#10502;\r\n </button>\r\n </div>\r\n <div class=\"rightContainer\">\r\n <mat-form-field class=\"example-full-width search_Box\" appearance=\"fill\" *ngIf=\"rucInputData.enableSearch\">\r\n <mat-label>Search</mat-label>\r\n <input matInput (keyup)=\"filterData(searchTextSelected, 'selected')\" [(ngModel)]=\"searchTextSelected\">\r\n </mat-form-field>\r\n <span class=\"flex\" *ngIf=\"rucInputData.sorting\"><mat-icon (click)=\"sortOnClick('selected')\">{{ !direction_selected ? 'arrow_drop_down' :\r\n 'arrow_drop_up' }}</mat-icon> </span>\r\n\r\n <div class=\"dual-select__right\" [ngStyle]=\"{'max-height.px': height, 'width.px': width}\">\r\n\r\n\r\n\r\n <mat-list role=\"list\" class=\"list_container\">\r\n <div cdkDropList #doneList=\"cdkDropList\" [cdkDropListData]=\"selectedItems\"\r\n [cdkDropListConnectedTo]=\"[todoList]\" class=\"example-list\" (cdkDropListDropped)=\"drop($event)\">\r\n\r\n <mat-list-item cdkDrag *ngFor=\"let item of selectedItems\" (click)=\"togglePendingSelection( item )\"\r\n (dblclick)=\"removeFromSelectedItems( item )\" class=\"dual-select__item dual-select__item--new\"\r\n [class.dual-select__item--selected]=\"pendingSelection[ item.id ]\">\r\n <span>{{ item.name }}</span>\r\n </mat-list-item>\r\n </div>\r\n </mat-list>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"text-align-center\">\r\n <button mat-raised-button color=\"primary\" (click)=\"selectedOutputItems()\" class=\"dual-list-btn\">\r\n Submit\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n</div>","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DualListSelectorComponent } from './dual-list-selector/dual-list-selector.component';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { FilterPipe } from '../pipes/filter.pipe';\r\nimport {MatChipsModule} from '@angular/material/chips';\r\n\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatButtonModule } from '@angular/material/button';\r\n\r\n@NgModule({\r\n imports: [CommonModule,\r\n FormsModule,\r\n MatListModule,\r\n DragDropModule,\r\n MatChipsModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatButtonModule\r\n ],\r\n declarations: [DualListSelectorComponent,FilterPipe],\r\n exports: [DualListSelectorComponent],\r\n entryComponents: [DualListSelectorComponent],\r\n})\r\nexport class RuclibDualListSelectorModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.FilterPipe"],"mappings":"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"}
@@ -98,5 +98,5 @@ export declare class DualListSelectorComponent implements OnInit {
98
98
  sortItemOperator(a: any, b: any): number;
99
99
  selectedOutputItems(): void;
100
100
  static ɵfac: i0.ɵɵFactoryDeclaration<DualListSelectorComponent, never>;
101
- static ɵcmp: i0.ɵɵComponentDeclaration<DualListSelectorComponent, "uxp-dual-list-selector", never, { "dataSource": "dataSource"; "rucInputData": "rucInputData"; "customTheme": "customTheme"; }, { "rucEvent": "rucEvent"; }, never, never, false, never>;
101
+ static ɵcmp: i0.ɵɵComponentDeclaration<DualListSelectorComponent, "uxp-ruclib-dual-list-selector", never, { "dataSource": "dataSource"; "rucInputData": "rucInputData"; "customTheme": "customTheme"; }, { "rucEvent": "rucEvent"; }, never, never, false, never>;
102
102
  }
@@ -11,8 +11,9 @@ import * as i9 from "@angular/material/input";
11
11
  import * as i10 from "@angular/material/icon";
12
12
  import * as i11 from "@angular/material/sort";
13
13
  import * as i12 from "@angular/material/table";
14
+ import * as i13 from "@angular/material/button";
14
15
  export declare class RuclibDualListSelectorModule {
15
16
  static ɵfac: i0.ɵɵFactoryDeclaration<RuclibDualListSelectorModule, never>;
16
- static ɵmod: i0.ɵɵNgModuleDeclaration<RuclibDualListSelectorModule, [typeof i1.DualListSelectorComponent, typeof i2.FilterPipe], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.MatListModule, typeof i6.DragDropModule, typeof i7.MatChipsModule, typeof i8.MatFormFieldModule, typeof i9.MatInputModule, typeof i10.MatIconModule, typeof i11.MatSortModule, typeof i12.MatTableModule], [typeof i1.DualListSelectorComponent]>;
17
+ static ɵmod: i0.ɵɵNgModuleDeclaration<RuclibDualListSelectorModule, [typeof i1.DualListSelectorComponent, typeof i2.FilterPipe], [typeof i3.CommonModule, typeof i4.FormsModule, typeof i5.MatListModule, typeof i6.DragDropModule, typeof i7.MatChipsModule, typeof i8.MatFormFieldModule, typeof i9.MatInputModule, typeof i10.MatIconModule, typeof i11.MatSortModule, typeof i12.MatTableModule, typeof i13.MatButtonModule], [typeof i1.DualListSelectorComponent]>;
17
18
  static ɵinj: i0.ɵɵInjectorDeclaration<RuclibDualListSelectorModule>;
18
19
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ruc-lib/dual-list-selector",
3
- "version": "2.0.5",
3
+ "version": "3.1.1",
4
4
  "license": "MIT",
5
5
  "peerDependencies": {
6
6
  "@angular/animations": ">=15.0.0",
@@ -37,4 +37,4 @@
37
37
  "default": "./fesm2020/ruc-lib-dual-list-selector.mjs"
38
38
  }
39
39
  }
40
- }
40
+ }