@entake/particle 21.0.1 → 21.1.0
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.
- package/LICENSE +7 -7
- package/README.md +372 -372
- package/fesm2022/entake-particle.mjs +325 -98
- package/fesm2022/entake-particle.mjs.map +1 -1
- package/package.json +2 -1
- package/particle.css +1 -1
- package/types/entake-particle.d.ts +101 -10
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { NgModule, inject, ElementRef, Renderer2, input, HostListener, Input, Directive, TemplateRef, ContentChild, Injectable, output, Component, ChangeDetectorRef, forwardRef, ViewChild, signal, effect, ViewEncapsulation, Pipe, ViewChildren, model, EventEmitter, Output, ContentChildren, ChangeDetectionStrategy } from '@angular/core';
|
|
3
|
-
import { BehaviorSubject, fromEvent, Subject, combineLatest, Subscription, tap as tap$1, map as map$1, withLatestFrom as withLatestFrom$1, of, shareReplay, catchError, throwError, mergeMap } from 'rxjs';
|
|
3
|
+
import { BehaviorSubject, fromEvent, Subject, combineLatest, Subscription, tap as tap$1, map as map$1, withLatestFrom as withLatestFrom$1, of, shareReplay, debounceTime, catchError, throwError, mergeMap } from 'rxjs';
|
|
4
4
|
import * as i1 from '@angular/forms';
|
|
5
|
-
import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
5
|
+
import { FormsModule, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
|
|
6
6
|
import { startWith, map, withLatestFrom, tap } from 'rxjs/operators';
|
|
7
7
|
import { NgClass, NgStyle, AsyncPipe, NgTemplateOutlet, DatePipe } from '@angular/common';
|
|
8
8
|
import { CdkTrapFocus } from '@angular/cdk/a11y';
|
|
@@ -16,6 +16,7 @@ import Image from '@tiptap/extension-image';
|
|
|
16
16
|
import { TiptapEditorDirective } from 'ngx-tiptap';
|
|
17
17
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
18
18
|
import { endOfMonth, isWithinInterval, subDays, addDays, isEqual, format, parse, isValid, getWeek, setWeek, add, startOfWeek, endOfWeek, sub, endOfDay } from 'date-fns';
|
|
19
|
+
import _ from 'lodash';
|
|
19
20
|
|
|
20
21
|
/**
|
|
21
22
|
* Particle Icons - Brand
|
|
@@ -897,6 +898,9 @@ class DialogService {
|
|
|
897
898
|
topDialog.close();
|
|
898
899
|
event.stopPropagation();
|
|
899
900
|
}
|
|
901
|
+
else {
|
|
902
|
+
topDialog.closeAttempt.emit();
|
|
903
|
+
}
|
|
900
904
|
}
|
|
901
905
|
}
|
|
902
906
|
}
|
|
@@ -1011,6 +1015,7 @@ class DialogComponent {
|
|
|
1011
1015
|
* Event Emitter for when the dialog is closed
|
|
1012
1016
|
*/
|
|
1013
1017
|
closed = output();
|
|
1018
|
+
closeAttempt = output();
|
|
1014
1019
|
/**
|
|
1015
1020
|
* Event emitted when dialog has finished opening
|
|
1016
1021
|
*/
|
|
@@ -1022,32 +1027,21 @@ class DialogComponent {
|
|
|
1022
1027
|
* Null the object to close the dialog, emit the close event.
|
|
1023
1028
|
*/
|
|
1024
1029
|
close() {
|
|
1030
|
+
document.activeElement?.blur();
|
|
1025
1031
|
this._object = null;
|
|
1026
1032
|
this.isMaximized = false;
|
|
1027
1033
|
this.dialogService.unregisterDialog(this);
|
|
1028
1034
|
this.closed.emit();
|
|
1029
1035
|
}
|
|
1030
|
-
/**
|
|
1031
|
-
* Emit closed/opened events based on state when dialog animation ends
|
|
1032
|
-
* @param event
|
|
1033
|
-
*/
|
|
1034
|
-
onAnimationDone(event) {
|
|
1035
|
-
/**
|
|
1036
|
-
if (event.fromState === 'void') {
|
|
1037
|
-
this.opened.emit();
|
|
1038
|
-
} else if (event.toState === 'void') {
|
|
1039
|
-
this.closed.emit();
|
|
1040
|
-
}*/
|
|
1041
|
-
}
|
|
1042
1036
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: DialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1043
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: DialogComponent, isStandalone: true, selector: "particle-dialog", inputs: { object: { classPropertyName: "object", publicName: "object", isSignal: false, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, titleClass: { classPropertyName: "titleClass", publicName: "titleClass", isSignal: true, isRequired: false, transformFunction: null }, showTitle: { classPropertyName: "showTitle", publicName: "showTitle", isSignal: true, isRequired: false, transformFunction: null }, allowClose: { classPropertyName: "allowClose", publicName: "allowClose", isSignal: true, isRequired: false, transformFunction: null }, bodyClass: { classPropertyName: "bodyClass", publicName: "bodyClass", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, borderRadius: { classPropertyName: "borderRadius", publicName: "borderRadius", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", opened: "opened" }, ngImport: i0, template: "<div [ngClass]=\"{'particle_dialog_overlay' : object}\">\
|
|
1037
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: DialogComponent, isStandalone: true, selector: "particle-dialog", inputs: { object: { classPropertyName: "object", publicName: "object", isSignal: false, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, titleClass: { classPropertyName: "titleClass", publicName: "titleClass", isSignal: true, isRequired: false, transformFunction: null }, showTitle: { classPropertyName: "showTitle", publicName: "showTitle", isSignal: true, isRequired: false, transformFunction: null }, allowClose: { classPropertyName: "allowClose", publicName: "allowClose", isSignal: true, isRequired: false, transformFunction: null }, bodyClass: { classPropertyName: "bodyClass", publicName: "bodyClass", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, borderRadius: { classPropertyName: "borderRadius", publicName: "borderRadius", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed", closeAttempt: "closeAttempt", opened: "opened" }, ngImport: i0, template: "<div [ngClass]=\"{'particle_dialog_overlay' : object}\">\n @if (object) {\n <div class=\"particle_dialog_container\"\n animate.enter=\"enter-animation\"\n animate.leave=\"leave-animation\"\n [cdkTrapFocus]=\"true\"\n [cdkTrapFocusAutoCapture]=\"true\"\n >\n @if (effectiveWidth$ | async; as effectiveWidth) {\n <div class=\"col shadow particle_dialog_box ptl_brdr_radius\"\n [ngStyle]=\"{'width': isMaximized ? '90vw' : effectiveWidth, 'height': isMaximized ? '90vh' : height()}\">\n <!-- dialog header -->\n @if (showTitle()) {\n <div class=\"col\" [ngClass]=\"titleClass()\">\n <div class=\"row v_center pad_5 space_between\">\n <div class=\"text lg bold paragraph\">\n {{title()}}\n </div>\n <div class=\"row col rc_gap\">\n @if (allowClose()) {\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"isMaximized ? text().minimize : text().maximize\"\n (click)=\"isMaximized = !isMaximized\">\n <div class=\"circle_20px ptl_brdr_color ptl_brdr_size ptl_input_bg_color\"\n innerHTML=\"<i class='fas fa-expand {{isMaximized ? 'text xsm' : ''}}'></i>\"\n ></div>\n </button>\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"text().close\"\n (click)=\"close()\">\n <div class=\"circle_20px ptl_brdr_color ptl_brdr_size ptl_input_bg_color\">\n <i class=\"fas fa-times\"></i>\n </div>\n </button>\n }\n </div>\n </div>\n </div>\n }\n <!-- dialog container -->\n <div class=\"row scroll_yauto center_center\" [ngClass]=\"bodyClass()\">\n <div class=\"row_block width100 height100\">\n <!-- content -->\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n }\n </div>\n }\n</div>\n\n", styles: [".particle_dialog_overlay{position:fixed;display:block;width:100%;height:100%;inset:0;background-color:#78787866;z-index:var(--z-dialog)}.particle_dialog_container{position:fixed;width:100%;height:100%;inset:0;flex-direction:column;display:flex;align-items:center;justify-content:center;z-index:var(--z-notification)}.particle_dialog_box{box-sizing:border-box;width:100%;display:flex;flex-direction:column;overflow:hidden}@media screen and (max-width:768px){.particle_dialog_box{border-radius:0;width:100%!important;height:100%!important;max-height:unset!important;max-width:unset!important}}.enter-animation{animation:enter-frames .15s 0ms ease-in-out}@keyframes enter-frames{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.leave-animation{animation:leave-frames .15s 0ms ease-in-out}@keyframes leave-frames{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
1044
1038
|
}
|
|
1045
1039
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: DialogComponent, decorators: [{
|
|
1046
1040
|
type: Component,
|
|
1047
|
-
args: [{ selector: 'particle-dialog', imports: [NgClass, CdkTrapFocus, NgStyle, AsyncPipe], template: "<div [ngClass]=\"{'particle_dialog_overlay' : object}\">\
|
|
1041
|
+
args: [{ selector: 'particle-dialog', imports: [NgClass, CdkTrapFocus, NgStyle, AsyncPipe], template: "<div [ngClass]=\"{'particle_dialog_overlay' : object}\">\n @if (object) {\n <div class=\"particle_dialog_container\"\n animate.enter=\"enter-animation\"\n animate.leave=\"leave-animation\"\n [cdkTrapFocus]=\"true\"\n [cdkTrapFocusAutoCapture]=\"true\"\n >\n @if (effectiveWidth$ | async; as effectiveWidth) {\n <div class=\"col shadow particle_dialog_box ptl_brdr_radius\"\n [ngStyle]=\"{'width': isMaximized ? '90vw' : effectiveWidth, 'height': isMaximized ? '90vh' : height()}\">\n <!-- dialog header -->\n @if (showTitle()) {\n <div class=\"col\" [ngClass]=\"titleClass()\">\n <div class=\"row v_center pad_5 space_between\">\n <div class=\"text lg bold paragraph\">\n {{title()}}\n </div>\n <div class=\"row col rc_gap\">\n @if (allowClose()) {\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"isMaximized ? text().minimize : text().maximize\"\n (click)=\"isMaximized = !isMaximized\">\n <div class=\"circle_20px ptl_brdr_color ptl_brdr_size ptl_input_bg_color\"\n innerHTML=\"<i class='fas fa-expand {{isMaximized ? 'text xsm' : ''}}'></i>\"\n ></div>\n </button>\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"text().close\"\n (click)=\"close()\">\n <div class=\"circle_20px ptl_brdr_color ptl_brdr_size ptl_input_bg_color\">\n <i class=\"fas fa-times\"></i>\n </div>\n </button>\n }\n </div>\n </div>\n </div>\n }\n <!-- dialog container -->\n <div class=\"row scroll_yauto center_center\" [ngClass]=\"bodyClass()\">\n <div class=\"row_block width100 height100\">\n <!-- content -->\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n }\n </div>\n }\n</div>\n\n", styles: [".particle_dialog_overlay{position:fixed;display:block;width:100%;height:100%;inset:0;background-color:#78787866;z-index:var(--z-dialog)}.particle_dialog_container{position:fixed;width:100%;height:100%;inset:0;flex-direction:column;display:flex;align-items:center;justify-content:center;z-index:var(--z-notification)}.particle_dialog_box{box-sizing:border-box;width:100%;display:flex;flex-direction:column;overflow:hidden}@media screen and (max-width:768px){.particle_dialog_box{border-radius:0;width:100%!important;height:100%!important;max-height:unset!important;max-width:unset!important}}.enter-animation{animation:enter-frames .15s 0ms ease-in-out}@keyframes enter-frames{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.leave-animation{animation:leave-frames .15s 0ms ease-in-out}@keyframes leave-frames{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}\n"] }]
|
|
1048
1042
|
}], propDecorators: { object: [{
|
|
1049
1043
|
type: Input
|
|
1050
|
-
}], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], titleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleClass", required: false }] }], showTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "showTitle", required: false }] }], allowClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowClose", required: false }] }], bodyClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "bodyClass", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], borderRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "borderRadius", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }], opened: [{ type: i0.Output, args: ["opened"] }] } });
|
|
1044
|
+
}], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], titleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "titleClass", required: false }] }], showTitle: [{ type: i0.Input, args: [{ isSignal: true, alias: "showTitle", required: false }] }], allowClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowClose", required: false }] }], bodyClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "bodyClass", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], borderRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "borderRadius", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }], closeAttempt: [{ type: i0.Output, args: ["closeAttempt"] }], opened: [{ type: i0.Output, args: ["opened"] }] } });
|
|
1051
1045
|
|
|
1052
1046
|
/**
|
|
1053
1047
|
* Model representing Fontawesome's brands icons
|
|
@@ -2790,6 +2784,7 @@ class IconSelectComponent {
|
|
|
2790
2784
|
* @private
|
|
2791
2785
|
*/
|
|
2792
2786
|
static PAGE_SIZE = 48;
|
|
2787
|
+
tooltipPosition = input('top', ...(ngDevMode ? [{ debugName: "tooltipPosition" }] : []));
|
|
2793
2788
|
/**
|
|
2794
2789
|
* Set the value of the icon select
|
|
2795
2790
|
* @param value the value to set
|
|
@@ -3108,13 +3103,13 @@ class IconSelectComponent {
|
|
|
3108
3103
|
this._activePage.next(0);
|
|
3109
3104
|
}
|
|
3110
3105
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: IconSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3111
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: IconSelectComponent, isStandalone: true, selector: "particle-icon-select", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, buttonColorClass: { classPropertyName: "buttonColorClass", publicName: "buttonColorClass", isSignal: true, isRequired: false, transformFunction: null }, buttonSizing: { classPropertyName: "buttonSizing", publicName: "buttonSizing", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "opened", selected: "selected", closed: "closed" }, providers: [
|
|
3106
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: IconSelectComponent, isStandalone: true, selector: "particle-icon-select", inputs: { tooltipPosition: { classPropertyName: "tooltipPosition", publicName: "tooltipPosition", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, buttonColorClass: { classPropertyName: "buttonColorClass", publicName: "buttonColorClass", isSignal: true, isRequired: false, transformFunction: null }, buttonSizing: { classPropertyName: "buttonSizing", publicName: "buttonSizing", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "opened", selected: "selected", closed: "closed" }, providers: [
|
|
3112
3107
|
{
|
|
3113
3108
|
provide: NG_VALUE_ACCESSOR,
|
|
3114
3109
|
useExisting: forwardRef(() => IconSelectComponent),
|
|
3115
3110
|
multi: true
|
|
3116
3111
|
}
|
|
3117
|
-
], viewQueries: [{ propertyName: "iconScrollContainer", first: true, predicate: ["iconScrollContainer"], descendants: true }], ngImport: i0, template: "<!-- choose button -->\r\n<button [ngClass]=\"buttonColorClass() ? buttonColorClass() : 'content_color'\"\r\n [ngStyle]=\"{\r\n 'width': buttonSizing(),\r\n 'min-width': buttonSizing(),\r\n 'height': buttonSizing(),\r\n 'min-height': buttonSizing()\r\n }\"\r\n (click)=\"openDialog()\"\r\n [particleTooltip]=\"(_internalValue | async)?.prefix + ' ' + (_internalValue | async)?.name\"\r\n [tooltipDisabled]=\"(_internalValue | async) === null\"\r\n [disabled]=\"disabled\"\r\n class=\"btnset access wis_button bg_overlay brdr brad_3\"\r\n [attr.aria-label]=\"text().selectAnIcon\">\r\n @if (!showDialog) {\r\n @if (_internalValue | async; as selectedIcon) {\r\n <div>\r\n <i class=\"{{selectedIcon.prefix}} {{selectedIcon.name}} wis_icon\"></i>\r\n </div>\r\n } @else {\r\n <div><i class=\"fas fa-icons opacity_20\"></i></div>\r\n }\r\n } @else {\r\n <div><i class=\"fas fa-spinner fa-spin\"></i></div>\r\n }\r\n</button>\r\n\r\n<!-- TODO: at some point, maybe implement infinite scroll to icons -->\r\n\r\n<!-- picker dialog -->\r\n<particle-dialog [title]=\"text().selectAnIcon\"\r\n [object]=\"showDialog\"\r\n [width]=\"'850px'\"\r\n [height]=\"'500px'\"\r\n (closed)=\"closeDialog()\">\r\n <div class=\"row height100\">\r\n\r\n <!-- FILTERS -->\r\n <div class=\"col min_w250 bg_overlay brdr border_right mobile_hide\">\r\n <div class=\"row_block width100\">\r\n @if (_filter | async; as filter) {\r\n <!-- all icons -->\r\n <div class=\"mar_5 pad_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'all', type: 'all' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'all' && filter.style === 'all' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().seeAllIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'all' && filter.style === 'all') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().seeAllIcons }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n <div class=\"bg_overlay brdr hr mar_10\"></div>\r\n <!-- fontawesome icons -->\r\n <div class=\"mar_5\">\r\n <div class=\"text md bolder\" style=\"padding:10px 10px 5px 15px;\">{{ text().fontAwesomeIcons }}</div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'all', type: 'fontawesome' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'all' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().fontAwesomeIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'fontawesome' && filter.style === 'all') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().all }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'solid', type: 'fontawesome' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'solid' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().solid + ' ' + text().fontAwesomeIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'fontawesome' && filter.style === 'solid') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().solid }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'regular', type: 'fontawesome' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'regular' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().regular + ' ' + text().fontAwesomeIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'fontawesome' && filter.style === 'regular') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().regular }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'brands', type: 'fontawesome' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'brands' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().brands + ' ' + text().fontAwesomeIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'fontawesome' && filter.style === 'brands') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().brands }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"bg_overlay brdr hr mar_10\"></div>\r\n <!-- custom icons -->\r\n <div class=\"mar_5\">\r\n <div class=\"text md bolder\" style=\"padding:10px 10px 5px 15px;\">{{ text().customIcons }}</div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'all', type: 'particle' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'all' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().customIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'particle' && filter.style === 'all') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">All</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'solid', type: 'particle' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'solid' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().solid + ' ' + text().customIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'particle' && filter.style === 'solid') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().solid }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'regular', type: 'particle' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'regular' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().regular + ' ' + text().customIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'particle' && filter.style === 'regular') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().regular }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'brands', type: 'particle' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'brands' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().brands + ' ' + text().customIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'particle' && filter.style === 'brands') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().brands }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n <!-- ICONS -->\r\n <div class=\"col size_2 column\">\r\n <div class=\"col content_color_dark_1 pad_x5\">\r\n <!-- paginator -->\r\n @if (totalPages$ | async; as totalPages) {\r\n <div\r\n class=\"col v_center mar_10\">\r\n @if (canPaginatePrevious$ | async) {\r\n <button\r\n (click)=\"paginatePrevious()\"\r\n class=\"access btn square_24px bg_overlay brdr ok_button_color\"\r\n [attr.aria-label]=\"text().previousPage\">\r\n <span class=\"icon slide_left\"><i class=\"fas fa-arrow-left\"></i></span>\r\n </button>\r\n } @else {\r\n <button disabled class=\"access btn square_24px bg_overlay brdr ok_button_color\"\r\n [attr.aria-label]=\"text().previousPage\">\r\n <span class=\"icon slide_left\"><i class=\"fas fa-arrow-left\"></i></span>\r\n </button>\r\n }\r\n <div\r\n class=\"text sm bolder center\"\r\n style=\"min-width:65px;\">\r\n {{ (_activePage | async)! + 1 }} / {{ totalPages }}\r\n </div>\r\n @if (canPaginateNext$ | async) {\r\n <button\r\n (click)=\"paginateNext()\"\r\n class=\"access btn square_24px bg_overlay brdr ok_button_color\"\r\n [attr.aria-label]=\"text().nextPage\">\r\n <span class=\"icon slide_right\"><i class=\"fas fa-arrow-right\"></i></span>\r\n </button>\r\n } @else {\r\n <button disabled class=\"access btn square_24px bg_overlay brdr ok_button_color\"\r\n [attr.aria-label]=\"text().nextPage\">\r\n <span class=\"icon slide_right\"><i class=\"fas fa-arrow-right\"></i></span>\r\n </button>\r\n }\r\n </div>\r\n }\r\n <!-- search -->\r\n <div class=\"col size_1 wis_search mar_10\">\r\n <input #iconSearchInput\r\n [ngModel]=\"_searchText | async\"\r\n (input)=\"_searchText.next(iconSearchInput.value)\"\r\n (keyup.enter)=\"_searchInputEnterKeyup.next($any(null))\"\r\n class=\"access input md bg_overlay brdr content_color\"\r\n [attr.aria-label]=\"text().searchIcons\" [placeholder]=\"text().searchIcons + '...'\"\r\n />\r\n @if ((canSearch$ | async) && (_searchClick | async)) {\r\n <button\r\n (click)=\"clearSearch()\" aria-label=\"Clear search\"\r\n class=\"access btn circle_18px overlay wis_clear_btn\">\r\n <span class=\"icon grow\"><i class=\"fas fa-times fa-sm\"></i></span>\r\n </button>\r\n }\r\n @if (canSearch$ | async) {\r\n <button\r\n (click)=\"_searchClick.next(iconSearchInput.value); _activePage.next(0)\"\r\n class=\"access btn square_28px bg_overlay brdr ok_button_color brad_3 wis_search_btn\"\r\n [attr.aria-label]=\"text().submitSearch\" type=\"submit\">\r\n <span class=\"icon grow\"><i class=\"fas fa-search fa-sm\"></i></span>\r\n </button>\r\n } @else {\r\n <button disabled\r\n class=\"access btn square_28px bg_overlay brdr ok_button_color brad_3 wis_search_btn\"\r\n [attr.aria-label]=\"text().submitSearch\" type=\"submit\">\r\n <span class=\"icon grow\"><i class=\"fas fa-search fa-sm\"></i></span>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <!-- icons -->\r\n <div #iconScrollContainer class=\"col size_1 top_left scroll_y pad_5\" style=\"scroll-behavior: smooth\">\r\n @if (paginatedIcons$ | async; as icons) {\r\n <div class=\"row wrap top_left\" style=\"align-items:stretch;\">\r\n @for (icon of paginatedIcons$ | async; track $index) {\r\n <div class=\"col size_1 min_w75 mar_5\">\r\n <button class=\"access wis_icon_btn\" (click)=\"handleIconSelect(icon)\"\r\n [attr.aria-label]=\"text().select + ' ' + icon.name\">\r\n <div\r\n [ngClass]=\"((_internalValue | async)?.prefix === icon.prefix) && ((_internalValue | async)?.name === icon.name) ? 'ok_button_color' : 'content_color'\"\r\n class=\"wis_icon_btn_preview square_50px brad_3 bg_overlay brdr mar_bot5\">\r\n <i class=\"{{icon.prefix}} {{icon.name}}\"></i>\r\n </div>\r\n <div class=\"text sm center faded\">{{ icon.name }}</div>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"row column min_h300 center_center\">\r\n <div class=\"text md\">{{ text().couldntFindAnything }}</div>\r\n <div class=\"text sm\">{{ text().modifySearchCriteria }}</div>\r\n <button class=\"access btnset clear mar_10\"\r\n [attr.aria-label]=\"text().close\"\r\n (click)=\"clearSearch()\">\r\n <div class=\"circle_20px ptl_brdr_color ptl_brdr_size ptl_input_bg_color\">\r\n <i class=\"fas fa-times\"></i>\r\n </div>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n @if (_internalValue | async; as selectedIcon) {\r\n <div\r\n class=\"col space_between bg_overlay brdr border_top pad_x5 wis_selection_bar\">\r\n <div class=\"col v_center mar_10\">\r\n <div class=\"text md faded mar_right10 mobile_hide\">{{ text().selection }}:</div>\r\n @if (showIconSelectionPreview) {\r\n <div class=\"v_center\">\r\n <i class=\"{{selectedIcon.prefix}} {{selectedIcon.name}} fa-fw mar_right5\" style=\"font-size:16px;\"></i>\r\n <div class=\"text md bold\">{{ selectedIcon.prefix }} {{ selectedIcon.name }}</div>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"col v_center mar_10\">\r\n <button\r\n type=\"button\"\r\n class=\"access btnset spaced md hov_glow save_button_color ptl_brdr_radius\"\r\n [attr.aria-label]=\"text().confirm\"\r\n (click)=\"handleIconSelectConfirm()\"\r\n >\r\n <div>{{ text().confirm }}</div>\r\n <div class=\"brdr border_left mar_left10 pad_left10\"><i class=\"fas fa-check\"></i></div>\r\n </button>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</particle-dialog>\r\n", styles: [".wis_button{width:40px;min-width:40px;height:40px;min-height:40px;cursor:pointer;transition:all .1s ease}.wis_button:disabled{cursor:default;opacity:1!important}.wis_button:hover:not(:disabled){filter:brightness(1.05)}.wis_button svg{transition:transform .1s ease}.wis_button:hover:not(:disabled) .wis_icon{transform:scale(1.15)}@supports not (-ms-high-contrast:none){.wis_button svg{width:75%;height:75%}}.wis_search{position:relative}.wis_search input{padding-right:40px!important}.wis_search .wis_search_btn{position:absolute;right:0;top:0;z-index:var(--z-frame);border-top-left-radius:0;border-bottom-left-radius:0;height:100%;width:32px}.wis_search .wis_clear_btn{position:absolute;right:40px;top:7px;z-index:var(--z-frame)}.wis_filter_btn{width:100%;padding:5px 10px;border-radius:3px}.wis_filter_btn:not(:hover):not(.selected){background-color:inherit;color:inherit}.wis_icon_btn{cursor:pointer;transition:all .1s ease;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;border:none;border-radius:3px;padding:5px 2px;background-color:inherit;color:inherit}.wis_icon_btn:hover{background-color:#7878781a}.wis_icon_btn_preview{transition:all .1s ease}.wis_selection_bar{z-index:var(--z-frame);box-shadow:0 -6px 10px -8px #00000040;animation-name:slideUpSelectionBar;animation-duration:.2s;transform-origin:bottom center}@keyframes slideUpSelectionBar{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: TooltipDirective, selector: "[particleTooltip]", inputs: ["particleTooltip", "tooltipPosition", "tooltipDisabled"] }, { kind: "component", type: DialogComponent, selector: "particle-dialog", inputs: ["object", "title", "titleClass", "showTitle", "allowClose", "bodyClass", "height", "width", "borderRadius", "text"], outputs: ["closed", "opened"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
3112
|
+
], viewQueries: [{ propertyName: "iconScrollContainer", first: true, predicate: ["iconScrollContainer"], descendants: true }], ngImport: i0, template: "<!-- choose button -->\n<button [ngClass]=\"buttonColorClass() ? buttonColorClass() : 'content_color'\"\n [ngStyle]=\"{\n 'width': buttonSizing(),\n 'min-width': buttonSizing(),\n 'height': buttonSizing(),\n 'min-height': buttonSizing()\n }\"\n (click)=\"openDialog()\"\n [particleTooltip]=\"(_internalValue | async)?.prefix + ' ' + (_internalValue | async)?.name\"\n [tooltipDisabled]=\"(_internalValue | async) === null\"\n [tooltipPosition]=\"tooltipPosition()\"\n [disabled]=\"disabled\"\n class=\"btnset access wis_button bg_overlay brdr brad_3\"\n [attr.aria-label]=\"text().selectAnIcon\">\n @if (!showDialog) {\n @if (_internalValue | async; as selectedIcon) {\n <div>\n <i class=\"{{selectedIcon.prefix}} {{selectedIcon.name}} wis_icon\"></i>\n </div>\n } @else {\n <div><i class=\"fas fa-icons opacity_20\"></i></div>\n }\n } @else {\n <div><i class=\"fas fa-spinner fa-spin\"></i></div>\n }\n</button>\n\n<!-- TODO: at some point, maybe implement infinite scroll to icons -->\n\n<!-- picker dialog -->\n<particle-dialog [title]=\"text().selectAnIcon\"\n [object]=\"showDialog\"\n [width]=\"'850px'\"\n [height]=\"'500px'\"\n (closed)=\"closeDialog()\">\n <div class=\"row height100\">\n\n <!-- FILTERS -->\n <div class=\"col min_w250 bg_overlay brdr border_right mobile_hide\">\n <div class=\"row_block width100\">\n @if (_filter | async; as filter) {\n <!-- all icons -->\n <div class=\"mar_5 pad_5\">\n <button (click)=\"handleFilterSelect({ style: 'all', type: 'all' })\"\n [ngClass]=\"{ 'selected': filter.type === 'all' && filter.style === 'all' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().seeAllIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'all' && filter.style === 'all') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().seeAllIcons }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n <div class=\"bg_overlay brdr hr mar_10\"></div>\n <!-- fontawesome icons -->\n <div class=\"mar_5\">\n <div class=\"text md bolder\" style=\"padding:10px 10px 5px 15px;\">{{ text().fontAwesomeIcons }}</div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'all', type: 'fontawesome' })\"\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'all' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().fontAwesomeIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'fontawesome' && filter.style === 'all') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().all }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'solid', type: 'fontawesome' })\"\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'solid' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().solid + ' ' + text().fontAwesomeIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'fontawesome' && filter.style === 'solid') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().solid }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'regular', type: 'fontawesome' })\"\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'regular' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().regular + ' ' + text().fontAwesomeIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'fontawesome' && filter.style === 'regular') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().regular }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'brands', type: 'fontawesome' })\"\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'brands' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().brands + ' ' + text().fontAwesomeIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'fontawesome' && filter.style === 'brands') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().brands }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n </div>\n <div class=\"bg_overlay brdr hr mar_10\"></div>\n <!-- custom icons -->\n <div class=\"mar_5\">\n <div class=\"text md bolder\" style=\"padding:10px 10px 5px 15px;\">{{ text().customIcons }}</div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'all', type: 'particle' })\"\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'all' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().customIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'particle' && filter.style === 'all') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">All</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'solid', type: 'particle' })\"\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'solid' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().solid + ' ' + text().customIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'particle' && filter.style === 'solid') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().solid }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'regular', type: 'particle' })\"\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'regular' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().regular + ' ' + text().customIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'particle' && filter.style === 'regular') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().regular }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'brands', type: 'particle' })\"\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'brands' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().brands + ' ' + text().customIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'particle' && filter.style === 'brands') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().brands }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n </div>\n }\n </div>\n </div>\n\n <!-- ICONS -->\n <div class=\"col size_2 column\">\n <div class=\"col content_color_dark_1 pad_x5\">\n <!-- paginator -->\n @if (totalPages$ | async; as totalPages) {\n <div\n class=\"col v_center mar_10\">\n @if (canPaginatePrevious$ | async) {\n <button\n (click)=\"paginatePrevious()\"\n class=\"access btn square_24px bg_overlay brdr ok_button_color\"\n [attr.aria-label]=\"text().previousPage\">\n <span class=\"icon slide_left\"><i class=\"fas fa-arrow-left\"></i></span>\n </button>\n } @else {\n <button disabled class=\"access btn square_24px bg_overlay brdr ok_button_color\"\n [attr.aria-label]=\"text().previousPage\">\n <span class=\"icon slide_left\"><i class=\"fas fa-arrow-left\"></i></span>\n </button>\n }\n <div\n class=\"text sm bolder center\"\n style=\"min-width:65px;\">\n {{ (_activePage | async)! + 1 }} / {{ totalPages }}\n </div>\n @if (canPaginateNext$ | async) {\n <button\n (click)=\"paginateNext()\"\n class=\"access btn square_24px bg_overlay brdr ok_button_color\"\n [attr.aria-label]=\"text().nextPage\">\n <span class=\"icon slide_right\"><i class=\"fas fa-arrow-right\"></i></span>\n </button>\n } @else {\n <button disabled class=\"access btn square_24px bg_overlay brdr ok_button_color\"\n [attr.aria-label]=\"text().nextPage\">\n <span class=\"icon slide_right\"><i class=\"fas fa-arrow-right\"></i></span>\n </button>\n }\n </div>\n }\n <!-- search -->\n <div class=\"col size_1 wis_search mar_10\">\n <input #iconSearchInput\n [ngModel]=\"_searchText | async\"\n (input)=\"_searchText.next(iconSearchInput.value)\"\n (keyup.enter)=\"_searchInputEnterKeyup.next($any(null))\"\n class=\"access input md bg_overlay brdr content_color\"\n [attr.aria-label]=\"text().searchIcons\" [placeholder]=\"text().searchIcons + '...'\"\n />\n @if ((canSearch$ | async) && (_searchClick | async)) {\n <button\n (click)=\"clearSearch()\" aria-label=\"Clear search\"\n class=\"access btn circle_18px overlay wis_clear_btn\">\n <span class=\"icon grow\"><i class=\"fas fa-times fa-sm\"></i></span>\n </button>\n }\n @if (canSearch$ | async) {\n <button\n (click)=\"_searchClick.next(iconSearchInput.value); _activePage.next(0)\"\n class=\"access btn square_28px bg_overlay brdr ok_button_color brad_3 wis_search_btn\"\n [attr.aria-label]=\"text().submitSearch\" type=\"submit\">\n <span class=\"icon grow\"><i class=\"fas fa-search fa-sm\"></i></span>\n </button>\n } @else {\n <button disabled\n class=\"access btn square_28px bg_overlay brdr ok_button_color brad_3 wis_search_btn\"\n [attr.aria-label]=\"text().submitSearch\" type=\"submit\">\n <span class=\"icon grow\"><i class=\"fas fa-search fa-sm\"></i></span>\n </button>\n }\n </div>\n </div>\n <!-- icons -->\n <div #iconScrollContainer class=\"col size_1 top_left scroll_y pad_5\" style=\"scroll-behavior: smooth\">\n @if (paginatedIcons$ | async; as icons) {\n <div class=\"row wrap top_left\" style=\"align-items:stretch;\">\n @for (icon of paginatedIcons$ | async; track $index) {\n <div class=\"col size_1 min_w75 mar_5\">\n <button class=\"access wis_icon_btn\" (click)=\"handleIconSelect(icon)\"\n [attr.aria-label]=\"text().select + ' ' + icon.name\">\n <div\n [ngClass]=\"((_internalValue | async)?.prefix === icon.prefix) && ((_internalValue | async)?.name === icon.name) ? 'ok_button_color' : 'content_color'\"\n class=\"wis_icon_btn_preview square_50px brad_3 bg_overlay brdr mar_bot5\">\n <i class=\"{{icon.prefix}} {{icon.name}}\"></i>\n </div>\n <div class=\"text sm center faded\">{{ icon.name }}</div>\n </button>\n </div>\n }\n </div>\n } @else {\n <div class=\"row column min_h300 center_center\">\n <div class=\"text md\">{{ text().couldntFindAnything }}</div>\n <div class=\"text sm\">{{ text().modifySearchCriteria }}</div>\n <button class=\"access btnset clear mar_10\"\n [attr.aria-label]=\"text().close\"\n (click)=\"clearSearch()\">\n <div class=\"circle_20px ptl_brdr_color ptl_brdr_size ptl_input_bg_color\">\n <i class=\"fas fa-times\"></i>\n </div>\n </button>\n </div>\n }\n </div>\n @if (_internalValue | async; as selectedIcon) {\n <div\n class=\"col space_between bg_overlay brdr border_top pad_x5 wis_selection_bar\">\n <div class=\"col v_center mar_10\">\n <div class=\"text md faded mar_right10 mobile_hide\">{{ text().selection }}:</div>\n @if (showIconSelectionPreview) {\n <div class=\"v_center\">\n <i class=\"{{selectedIcon.prefix}} {{selectedIcon.name}} fa-fw mar_right5\" style=\"font-size:16px;\"></i>\n <div class=\"text md bold\">{{ selectedIcon.prefix }} {{ selectedIcon.name }}</div>\n </div>\n }\n </div>\n <div class=\"col v_center mar_10\">\n <button\n type=\"button\"\n class=\"access btnset spaced md hov_glow save_button_color ptl_brdr_radius\"\n [attr.aria-label]=\"text().confirm\"\n (click)=\"handleIconSelectConfirm()\"\n >\n <div>{{ text().confirm }}</div>\n <div class=\"brdr border_left mar_left10 pad_left10\"><i class=\"fas fa-check\"></i></div>\n </button>\n </div>\n </div>\n }\n </div>\n </div>\n</particle-dialog>\n", styles: [".wis_button{width:40px;min-width:40px;height:40px;min-height:40px;cursor:pointer;transition:all .1s ease}.wis_button:disabled{cursor:default;opacity:1!important}.wis_button:hover:not(:disabled){filter:brightness(1.05)}.wis_button svg{transition:transform .1s ease}.wis_button:hover:not(:disabled) .wis_icon{transform:scale(1.15)}@supports not (-ms-high-contrast:none){.wis_button svg{width:75%;height:75%}}.wis_search{position:relative}.wis_search input{padding-right:40px!important}.wis_search .wis_search_btn{position:absolute;right:0;top:0;z-index:var(--z-frame);border-top-left-radius:0;border-bottom-left-radius:0;height:100%;width:32px}.wis_search .wis_clear_btn{position:absolute;right:40px;top:7px;z-index:var(--z-frame)}.wis_filter_btn{width:100%;padding:5px 10px;border-radius:3px}.wis_filter_btn:not(:hover):not(.selected){background-color:inherit;color:inherit}.wis_icon_btn{cursor:pointer;transition:all .1s ease;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;border:none;border-radius:3px;padding:5px 2px;background-color:inherit;color:inherit}.wis_icon_btn:hover{background-color:#7878781a}.wis_icon_btn_preview{transition:all .1s ease}.wis_selection_bar{z-index:var(--z-frame);box-shadow:0 -6px 10px -8px #00000040;animation-name:slideUpSelectionBar;animation-duration:.2s;transform-origin:bottom center}@keyframes slideUpSelectionBar{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: TooltipDirective, selector: "[particleTooltip]", inputs: ["particleTooltip", "tooltipPosition", "tooltipDisabled"] }, { kind: "component", type: DialogComponent, selector: "particle-dialog", inputs: ["object", "title", "titleClass", "showTitle", "allowClose", "bodyClass", "height", "width", "borderRadius", "text"], outputs: ["closed", "closeAttempt", "opened"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
3118
3113
|
}
|
|
3119
3114
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: IconSelectComponent, decorators: [{
|
|
3120
3115
|
type: Component,
|
|
@@ -3124,8 +3119,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
3124
3119
|
useExisting: forwardRef(() => IconSelectComponent),
|
|
3125
3120
|
multi: true
|
|
3126
3121
|
}
|
|
3127
|
-
], imports: [NgClass, NgStyle, TooltipDirective, DialogComponent, FormsModule, AsyncPipe], template: "<!-- choose button -->\r\n<button [ngClass]=\"buttonColorClass() ? buttonColorClass() : 'content_color'\"\r\n [ngStyle]=\"{\r\n 'width': buttonSizing(),\r\n 'min-width': buttonSizing(),\r\n 'height': buttonSizing(),\r\n 'min-height': buttonSizing()\r\n }\"\r\n (click)=\"openDialog()\"\r\n [particleTooltip]=\"(_internalValue | async)?.prefix + ' ' + (_internalValue | async)?.name\"\r\n [tooltipDisabled]=\"(_internalValue | async) === null\"\r\n [disabled]=\"disabled\"\r\n class=\"btnset access wis_button bg_overlay brdr brad_3\"\r\n [attr.aria-label]=\"text().selectAnIcon\">\r\n @if (!showDialog) {\r\n @if (_internalValue | async; as selectedIcon) {\r\n <div>\r\n <i class=\"{{selectedIcon.prefix}} {{selectedIcon.name}} wis_icon\"></i>\r\n </div>\r\n } @else {\r\n <div><i class=\"fas fa-icons opacity_20\"></i></div>\r\n }\r\n } @else {\r\n <div><i class=\"fas fa-spinner fa-spin\"></i></div>\r\n }\r\n</button>\r\n\r\n<!-- TODO: at some point, maybe implement infinite scroll to icons -->\r\n\r\n<!-- picker dialog -->\r\n<particle-dialog [title]=\"text().selectAnIcon\"\r\n [object]=\"showDialog\"\r\n [width]=\"'850px'\"\r\n [height]=\"'500px'\"\r\n (closed)=\"closeDialog()\">\r\n <div class=\"row height100\">\r\n\r\n <!-- FILTERS -->\r\n <div class=\"col min_w250 bg_overlay brdr border_right mobile_hide\">\r\n <div class=\"row_block width100\">\r\n @if (_filter | async; as filter) {\r\n <!-- all icons -->\r\n <div class=\"mar_5 pad_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'all', type: 'all' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'all' && filter.style === 'all' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().seeAllIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'all' && filter.style === 'all') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().seeAllIcons }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n <div class=\"bg_overlay brdr hr mar_10\"></div>\r\n <!-- fontawesome icons -->\r\n <div class=\"mar_5\">\r\n <div class=\"text md bolder\" style=\"padding:10px 10px 5px 15px;\">{{ text().fontAwesomeIcons }}</div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'all', type: 'fontawesome' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'all' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().fontAwesomeIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'fontawesome' && filter.style === 'all') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().all }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'solid', type: 'fontawesome' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'solid' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().solid + ' ' + text().fontAwesomeIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'fontawesome' && filter.style === 'solid') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().solid }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'regular', type: 'fontawesome' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'regular' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().regular + ' ' + text().fontAwesomeIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'fontawesome' && filter.style === 'regular') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().regular }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'brands', type: 'fontawesome' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'brands' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().brands + ' ' + text().fontAwesomeIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'fontawesome' && filter.style === 'brands') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().brands }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n </div>\r\n <div class=\"bg_overlay brdr hr mar_10\"></div>\r\n <!-- custom icons -->\r\n <div class=\"mar_5\">\r\n <div class=\"text md bolder\" style=\"padding:10px 10px 5px 15px;\">{{ text().customIcons }}</div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'all', type: 'particle' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'all' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().customIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'particle' && filter.style === 'all') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">All</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'solid', type: 'particle' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'solid' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().solid + ' ' + text().customIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'particle' && filter.style === 'solid') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().solid }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'regular', type: 'particle' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'regular' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().regular + ' ' + text().customIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'particle' && filter.style === 'regular') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().regular }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n <div class=\"mar_5\">\r\n <button (click)=\"handleFilterSelect({ style: 'brands', type: 'particle' })\"\r\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'brands' }\"\r\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\r\n [attr.aria-label]=\"text().filterBy + ' ' + text().brands + ' ' + text().customIcons\">\r\n <div class=\"v_center\">\r\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\r\n @if (filter.type === 'particle' && filter.style === 'brands') {\r\n <div class=\"circle_8px ok_button_color\"></div>\r\n }\r\n </div>\r\n <div class=\"text md\">{{ text().brands }}</div>\r\n </div>\r\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\r\n </button>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n <!-- ICONS -->\r\n <div class=\"col size_2 column\">\r\n <div class=\"col content_color_dark_1 pad_x5\">\r\n <!-- paginator -->\r\n @if (totalPages$ | async; as totalPages) {\r\n <div\r\n class=\"col v_center mar_10\">\r\n @if (canPaginatePrevious$ | async) {\r\n <button\r\n (click)=\"paginatePrevious()\"\r\n class=\"access btn square_24px bg_overlay brdr ok_button_color\"\r\n [attr.aria-label]=\"text().previousPage\">\r\n <span class=\"icon slide_left\"><i class=\"fas fa-arrow-left\"></i></span>\r\n </button>\r\n } @else {\r\n <button disabled class=\"access btn square_24px bg_overlay brdr ok_button_color\"\r\n [attr.aria-label]=\"text().previousPage\">\r\n <span class=\"icon slide_left\"><i class=\"fas fa-arrow-left\"></i></span>\r\n </button>\r\n }\r\n <div\r\n class=\"text sm bolder center\"\r\n style=\"min-width:65px;\">\r\n {{ (_activePage | async)! + 1 }} / {{ totalPages }}\r\n </div>\r\n @if (canPaginateNext$ | async) {\r\n <button\r\n (click)=\"paginateNext()\"\r\n class=\"access btn square_24px bg_overlay brdr ok_button_color\"\r\n [attr.aria-label]=\"text().nextPage\">\r\n <span class=\"icon slide_right\"><i class=\"fas fa-arrow-right\"></i></span>\r\n </button>\r\n } @else {\r\n <button disabled class=\"access btn square_24px bg_overlay brdr ok_button_color\"\r\n [attr.aria-label]=\"text().nextPage\">\r\n <span class=\"icon slide_right\"><i class=\"fas fa-arrow-right\"></i></span>\r\n </button>\r\n }\r\n </div>\r\n }\r\n <!-- search -->\r\n <div class=\"col size_1 wis_search mar_10\">\r\n <input #iconSearchInput\r\n [ngModel]=\"_searchText | async\"\r\n (input)=\"_searchText.next(iconSearchInput.value)\"\r\n (keyup.enter)=\"_searchInputEnterKeyup.next($any(null))\"\r\n class=\"access input md bg_overlay brdr content_color\"\r\n [attr.aria-label]=\"text().searchIcons\" [placeholder]=\"text().searchIcons + '...'\"\r\n />\r\n @if ((canSearch$ | async) && (_searchClick | async)) {\r\n <button\r\n (click)=\"clearSearch()\" aria-label=\"Clear search\"\r\n class=\"access btn circle_18px overlay wis_clear_btn\">\r\n <span class=\"icon grow\"><i class=\"fas fa-times fa-sm\"></i></span>\r\n </button>\r\n }\r\n @if (canSearch$ | async) {\r\n <button\r\n (click)=\"_searchClick.next(iconSearchInput.value); _activePage.next(0)\"\r\n class=\"access btn square_28px bg_overlay brdr ok_button_color brad_3 wis_search_btn\"\r\n [attr.aria-label]=\"text().submitSearch\" type=\"submit\">\r\n <span class=\"icon grow\"><i class=\"fas fa-search fa-sm\"></i></span>\r\n </button>\r\n } @else {\r\n <button disabled\r\n class=\"access btn square_28px bg_overlay brdr ok_button_color brad_3 wis_search_btn\"\r\n [attr.aria-label]=\"text().submitSearch\" type=\"submit\">\r\n <span class=\"icon grow\"><i class=\"fas fa-search fa-sm\"></i></span>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n <!-- icons -->\r\n <div #iconScrollContainer class=\"col size_1 top_left scroll_y pad_5\" style=\"scroll-behavior: smooth\">\r\n @if (paginatedIcons$ | async; as icons) {\r\n <div class=\"row wrap top_left\" style=\"align-items:stretch;\">\r\n @for (icon of paginatedIcons$ | async; track $index) {\r\n <div class=\"col size_1 min_w75 mar_5\">\r\n <button class=\"access wis_icon_btn\" (click)=\"handleIconSelect(icon)\"\r\n [attr.aria-label]=\"text().select + ' ' + icon.name\">\r\n <div\r\n [ngClass]=\"((_internalValue | async)?.prefix === icon.prefix) && ((_internalValue | async)?.name === icon.name) ? 'ok_button_color' : 'content_color'\"\r\n class=\"wis_icon_btn_preview square_50px brad_3 bg_overlay brdr mar_bot5\">\r\n <i class=\"{{icon.prefix}} {{icon.name}}\"></i>\r\n </div>\r\n <div class=\"text sm center faded\">{{ icon.name }}</div>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n } @else {\r\n <div class=\"row column min_h300 center_center\">\r\n <div class=\"text md\">{{ text().couldntFindAnything }}</div>\r\n <div class=\"text sm\">{{ text().modifySearchCriteria }}</div>\r\n <button class=\"access btnset clear mar_10\"\r\n [attr.aria-label]=\"text().close\"\r\n (click)=\"clearSearch()\">\r\n <div class=\"circle_20px ptl_brdr_color ptl_brdr_size ptl_input_bg_color\">\r\n <i class=\"fas fa-times\"></i>\r\n </div>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n @if (_internalValue | async; as selectedIcon) {\r\n <div\r\n class=\"col space_between bg_overlay brdr border_top pad_x5 wis_selection_bar\">\r\n <div class=\"col v_center mar_10\">\r\n <div class=\"text md faded mar_right10 mobile_hide\">{{ text().selection }}:</div>\r\n @if (showIconSelectionPreview) {\r\n <div class=\"v_center\">\r\n <i class=\"{{selectedIcon.prefix}} {{selectedIcon.name}} fa-fw mar_right5\" style=\"font-size:16px;\"></i>\r\n <div class=\"text md bold\">{{ selectedIcon.prefix }} {{ selectedIcon.name }}</div>\r\n </div>\r\n }\r\n </div>\r\n <div class=\"col v_center mar_10\">\r\n <button\r\n type=\"button\"\r\n class=\"access btnset spaced md hov_glow save_button_color ptl_brdr_radius\"\r\n [attr.aria-label]=\"text().confirm\"\r\n (click)=\"handleIconSelectConfirm()\"\r\n >\r\n <div>{{ text().confirm }}</div>\r\n <div class=\"brdr border_left mar_left10 pad_left10\"><i class=\"fas fa-check\"></i></div>\r\n </button>\r\n </div>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</particle-dialog>\r\n", styles: [".wis_button{width:40px;min-width:40px;height:40px;min-height:40px;cursor:pointer;transition:all .1s ease}.wis_button:disabled{cursor:default;opacity:1!important}.wis_button:hover:not(:disabled){filter:brightness(1.05)}.wis_button svg{transition:transform .1s ease}.wis_button:hover:not(:disabled) .wis_icon{transform:scale(1.15)}@supports not (-ms-high-contrast:none){.wis_button svg{width:75%;height:75%}}.wis_search{position:relative}.wis_search input{padding-right:40px!important}.wis_search .wis_search_btn{position:absolute;right:0;top:0;z-index:var(--z-frame);border-top-left-radius:0;border-bottom-left-radius:0;height:100%;width:32px}.wis_search .wis_clear_btn{position:absolute;right:40px;top:7px;z-index:var(--z-frame)}.wis_filter_btn{width:100%;padding:5px 10px;border-radius:3px}.wis_filter_btn:not(:hover):not(.selected){background-color:inherit;color:inherit}.wis_icon_btn{cursor:pointer;transition:all .1s ease;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;border:none;border-radius:3px;padding:5px 2px;background-color:inherit;color:inherit}.wis_icon_btn:hover{background-color:#7878781a}.wis_icon_btn_preview{transition:all .1s ease}.wis_selection_bar{z-index:var(--z-frame);box-shadow:0 -6px 10px -8px #00000040;animation-name:slideUpSelectionBar;animation-duration:.2s;transform-origin:bottom center}@keyframes slideUpSelectionBar{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}\n"] }]
|
|
3128
|
-
}], ctorParameters: () => [], propDecorators: { value: [{
|
|
3122
|
+
], imports: [NgClass, NgStyle, TooltipDirective, DialogComponent, FormsModule, AsyncPipe], template: "<!-- choose button -->\n<button [ngClass]=\"buttonColorClass() ? buttonColorClass() : 'content_color'\"\n [ngStyle]=\"{\n 'width': buttonSizing(),\n 'min-width': buttonSizing(),\n 'height': buttonSizing(),\n 'min-height': buttonSizing()\n }\"\n (click)=\"openDialog()\"\n [particleTooltip]=\"(_internalValue | async)?.prefix + ' ' + (_internalValue | async)?.name\"\n [tooltipDisabled]=\"(_internalValue | async) === null\"\n [tooltipPosition]=\"tooltipPosition()\"\n [disabled]=\"disabled\"\n class=\"btnset access wis_button bg_overlay brdr brad_3\"\n [attr.aria-label]=\"text().selectAnIcon\">\n @if (!showDialog) {\n @if (_internalValue | async; as selectedIcon) {\n <div>\n <i class=\"{{selectedIcon.prefix}} {{selectedIcon.name}} wis_icon\"></i>\n </div>\n } @else {\n <div><i class=\"fas fa-icons opacity_20\"></i></div>\n }\n } @else {\n <div><i class=\"fas fa-spinner fa-spin\"></i></div>\n }\n</button>\n\n<!-- TODO: at some point, maybe implement infinite scroll to icons -->\n\n<!-- picker dialog -->\n<particle-dialog [title]=\"text().selectAnIcon\"\n [object]=\"showDialog\"\n [width]=\"'850px'\"\n [height]=\"'500px'\"\n (closed)=\"closeDialog()\">\n <div class=\"row height100\">\n\n <!-- FILTERS -->\n <div class=\"col min_w250 bg_overlay brdr border_right mobile_hide\">\n <div class=\"row_block width100\">\n @if (_filter | async; as filter) {\n <!-- all icons -->\n <div class=\"mar_5 pad_5\">\n <button (click)=\"handleFilterSelect({ style: 'all', type: 'all' })\"\n [ngClass]=\"{ 'selected': filter.type === 'all' && filter.style === 'all' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().seeAllIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'all' && filter.style === 'all') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().seeAllIcons }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n <div class=\"bg_overlay brdr hr mar_10\"></div>\n <!-- fontawesome icons -->\n <div class=\"mar_5\">\n <div class=\"text md bolder\" style=\"padding:10px 10px 5px 15px;\">{{ text().fontAwesomeIcons }}</div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'all', type: 'fontawesome' })\"\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'all' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().fontAwesomeIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'fontawesome' && filter.style === 'all') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().all }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'solid', type: 'fontawesome' })\"\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'solid' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().solid + ' ' + text().fontAwesomeIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'fontawesome' && filter.style === 'solid') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().solid }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'regular', type: 'fontawesome' })\"\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'regular' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().regular + ' ' + text().fontAwesomeIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'fontawesome' && filter.style === 'regular') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().regular }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'brands', type: 'fontawesome' })\"\n [ngClass]=\"{ 'selected': filter.type === 'fontawesome' && filter.style === 'brands' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().brands + ' ' + text().fontAwesomeIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'fontawesome' && filter.style === 'brands') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().brands }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n </div>\n <div class=\"bg_overlay brdr hr mar_10\"></div>\n <!-- custom icons -->\n <div class=\"mar_5\">\n <div class=\"text md bolder\" style=\"padding:10px 10px 5px 15px;\">{{ text().customIcons }}</div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'all', type: 'particle' })\"\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'all' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().customIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'particle' && filter.style === 'all') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">All</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'solid', type: 'particle' })\"\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'solid' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().solid + ' ' + text().customIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'particle' && filter.style === 'solid') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().solid }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'regular', type: 'particle' })\"\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'regular' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().regular + ' ' + text().customIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'particle' && filter.style === 'regular') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().regular }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n <div class=\"mar_5\">\n <button (click)=\"handleFilterSelect({ style: 'brands', type: 'particle' })\"\n [ngClass]=\"{ 'selected': filter.type === 'particle' && filter.style === 'brands' }\"\n class=\"access list_btn row space_between wis_filter_btn bg_overlay_rev brdr\"\n [attr.aria-label]=\"text().filterBy + ' ' + text().brands + ' ' + text().customIcons\">\n <div class=\"v_center\">\n <div class=\"circle_16px bg_overlay_rev brdr mar_right10\">\n @if (filter.type === 'particle' && filter.style === 'brands') {\n <div class=\"circle_8px ok_button_color\"></div>\n }\n </div>\n <div class=\"text md\">{{ text().brands }}</div>\n </div>\n <div class=\"go_icon\"><i class=\"fas fa-chevron-right fa-fw fa-sm opacity_60\"></i></div>\n </button>\n </div>\n </div>\n }\n </div>\n </div>\n\n <!-- ICONS -->\n <div class=\"col size_2 column\">\n <div class=\"col content_color_dark_1 pad_x5\">\n <!-- paginator -->\n @if (totalPages$ | async; as totalPages) {\n <div\n class=\"col v_center mar_10\">\n @if (canPaginatePrevious$ | async) {\n <button\n (click)=\"paginatePrevious()\"\n class=\"access btn square_24px bg_overlay brdr ok_button_color\"\n [attr.aria-label]=\"text().previousPage\">\n <span class=\"icon slide_left\"><i class=\"fas fa-arrow-left\"></i></span>\n </button>\n } @else {\n <button disabled class=\"access btn square_24px bg_overlay brdr ok_button_color\"\n [attr.aria-label]=\"text().previousPage\">\n <span class=\"icon slide_left\"><i class=\"fas fa-arrow-left\"></i></span>\n </button>\n }\n <div\n class=\"text sm bolder center\"\n style=\"min-width:65px;\">\n {{ (_activePage | async)! + 1 }} / {{ totalPages }}\n </div>\n @if (canPaginateNext$ | async) {\n <button\n (click)=\"paginateNext()\"\n class=\"access btn square_24px bg_overlay brdr ok_button_color\"\n [attr.aria-label]=\"text().nextPage\">\n <span class=\"icon slide_right\"><i class=\"fas fa-arrow-right\"></i></span>\n </button>\n } @else {\n <button disabled class=\"access btn square_24px bg_overlay brdr ok_button_color\"\n [attr.aria-label]=\"text().nextPage\">\n <span class=\"icon slide_right\"><i class=\"fas fa-arrow-right\"></i></span>\n </button>\n }\n </div>\n }\n <!-- search -->\n <div class=\"col size_1 wis_search mar_10\">\n <input #iconSearchInput\n [ngModel]=\"_searchText | async\"\n (input)=\"_searchText.next(iconSearchInput.value)\"\n (keyup.enter)=\"_searchInputEnterKeyup.next($any(null))\"\n class=\"access input md bg_overlay brdr content_color\"\n [attr.aria-label]=\"text().searchIcons\" [placeholder]=\"text().searchIcons + '...'\"\n />\n @if ((canSearch$ | async) && (_searchClick | async)) {\n <button\n (click)=\"clearSearch()\" aria-label=\"Clear search\"\n class=\"access btn circle_18px overlay wis_clear_btn\">\n <span class=\"icon grow\"><i class=\"fas fa-times fa-sm\"></i></span>\n </button>\n }\n @if (canSearch$ | async) {\n <button\n (click)=\"_searchClick.next(iconSearchInput.value); _activePage.next(0)\"\n class=\"access btn square_28px bg_overlay brdr ok_button_color brad_3 wis_search_btn\"\n [attr.aria-label]=\"text().submitSearch\" type=\"submit\">\n <span class=\"icon grow\"><i class=\"fas fa-search fa-sm\"></i></span>\n </button>\n } @else {\n <button disabled\n class=\"access btn square_28px bg_overlay brdr ok_button_color brad_3 wis_search_btn\"\n [attr.aria-label]=\"text().submitSearch\" type=\"submit\">\n <span class=\"icon grow\"><i class=\"fas fa-search fa-sm\"></i></span>\n </button>\n }\n </div>\n </div>\n <!-- icons -->\n <div #iconScrollContainer class=\"col size_1 top_left scroll_y pad_5\" style=\"scroll-behavior: smooth\">\n @if (paginatedIcons$ | async; as icons) {\n <div class=\"row wrap top_left\" style=\"align-items:stretch;\">\n @for (icon of paginatedIcons$ | async; track $index) {\n <div class=\"col size_1 min_w75 mar_5\">\n <button class=\"access wis_icon_btn\" (click)=\"handleIconSelect(icon)\"\n [attr.aria-label]=\"text().select + ' ' + icon.name\">\n <div\n [ngClass]=\"((_internalValue | async)?.prefix === icon.prefix) && ((_internalValue | async)?.name === icon.name) ? 'ok_button_color' : 'content_color'\"\n class=\"wis_icon_btn_preview square_50px brad_3 bg_overlay brdr mar_bot5\">\n <i class=\"{{icon.prefix}} {{icon.name}}\"></i>\n </div>\n <div class=\"text sm center faded\">{{ icon.name }}</div>\n </button>\n </div>\n }\n </div>\n } @else {\n <div class=\"row column min_h300 center_center\">\n <div class=\"text md\">{{ text().couldntFindAnything }}</div>\n <div class=\"text sm\">{{ text().modifySearchCriteria }}</div>\n <button class=\"access btnset clear mar_10\"\n [attr.aria-label]=\"text().close\"\n (click)=\"clearSearch()\">\n <div class=\"circle_20px ptl_brdr_color ptl_brdr_size ptl_input_bg_color\">\n <i class=\"fas fa-times\"></i>\n </div>\n </button>\n </div>\n }\n </div>\n @if (_internalValue | async; as selectedIcon) {\n <div\n class=\"col space_between bg_overlay brdr border_top pad_x5 wis_selection_bar\">\n <div class=\"col v_center mar_10\">\n <div class=\"text md faded mar_right10 mobile_hide\">{{ text().selection }}:</div>\n @if (showIconSelectionPreview) {\n <div class=\"v_center\">\n <i class=\"{{selectedIcon.prefix}} {{selectedIcon.name}} fa-fw mar_right5\" style=\"font-size:16px;\"></i>\n <div class=\"text md bold\">{{ selectedIcon.prefix }} {{ selectedIcon.name }}</div>\n </div>\n }\n </div>\n <div class=\"col v_center mar_10\">\n <button\n type=\"button\"\n class=\"access btnset spaced md hov_glow save_button_color ptl_brdr_radius\"\n [attr.aria-label]=\"text().confirm\"\n (click)=\"handleIconSelectConfirm()\"\n >\n <div>{{ text().confirm }}</div>\n <div class=\"brdr border_left mar_left10 pad_left10\"><i class=\"fas fa-check\"></i></div>\n </button>\n </div>\n </div>\n }\n </div>\n </div>\n</particle-dialog>\n", styles: [".wis_button{width:40px;min-width:40px;height:40px;min-height:40px;cursor:pointer;transition:all .1s ease}.wis_button:disabled{cursor:default;opacity:1!important}.wis_button:hover:not(:disabled){filter:brightness(1.05)}.wis_button svg{transition:transform .1s ease}.wis_button:hover:not(:disabled) .wis_icon{transform:scale(1.15)}@supports not (-ms-high-contrast:none){.wis_button svg{width:75%;height:75%}}.wis_search{position:relative}.wis_search input{padding-right:40px!important}.wis_search .wis_search_btn{position:absolute;right:0;top:0;z-index:var(--z-frame);border-top-left-radius:0;border-bottom-left-radius:0;height:100%;width:32px}.wis_search .wis_clear_btn{position:absolute;right:40px;top:7px;z-index:var(--z-frame)}.wis_filter_btn{width:100%;padding:5px 10px;border-radius:3px}.wis_filter_btn:not(:hover):not(.selected){background-color:inherit;color:inherit}.wis_icon_btn{cursor:pointer;transition:all .1s ease;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;border:none;border-radius:3px;padding:5px 2px;background-color:inherit;color:inherit}.wis_icon_btn:hover{background-color:#7878781a}.wis_icon_btn_preview{transition:all .1s ease}.wis_selection_bar{z-index:var(--z-frame);box-shadow:0 -6px 10px -8px #00000040;animation-name:slideUpSelectionBar;animation-duration:.2s;transform-origin:bottom center}@keyframes slideUpSelectionBar{0%{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}\n"] }]
|
|
3123
|
+
}], ctorParameters: () => [], propDecorators: { tooltipPosition: [{ type: i0.Input, args: [{ isSignal: true, alias: "tooltipPosition", required: false }] }], value: [{
|
|
3129
3124
|
type: Input
|
|
3130
3125
|
}], disabled: [{
|
|
3131
3126
|
type: Input
|
|
@@ -3139,6 +3134,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
3139
3134
|
*/
|
|
3140
3135
|
class PopoverComponent {
|
|
3141
3136
|
renderer = inject(Renderer2);
|
|
3137
|
+
changeDetectorRef = inject(ChangeDetectorRef);
|
|
3142
3138
|
window = window;
|
|
3143
3139
|
/**
|
|
3144
3140
|
* The offset of the popover from its target (in pixels)
|
|
@@ -3178,6 +3174,8 @@ class PopoverComponent {
|
|
|
3178
3174
|
* Event emitted on popover close
|
|
3179
3175
|
*/
|
|
3180
3176
|
closed = output();
|
|
3177
|
+
arrowDown = output();
|
|
3178
|
+
arrowUp = output();
|
|
3181
3179
|
container = null;
|
|
3182
3180
|
/**
|
|
3183
3181
|
* Whether the popover should render
|
|
@@ -3205,6 +3203,7 @@ class PopoverComponent {
|
|
|
3205
3203
|
* @private
|
|
3206
3204
|
*/
|
|
3207
3205
|
escapeKeyUpUnlisteners = [];
|
|
3206
|
+
_elements = [];
|
|
3208
3207
|
isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
|
|
3209
3208
|
constructor() {
|
|
3210
3209
|
effect(() => {
|
|
@@ -3212,7 +3211,10 @@ class PopoverComponent {
|
|
|
3212
3211
|
this.onAnimationStart();
|
|
3213
3212
|
}
|
|
3214
3213
|
else {
|
|
3215
|
-
setTimeout(() =>
|
|
3214
|
+
setTimeout(() => {
|
|
3215
|
+
this.onAnimationDone();
|
|
3216
|
+
this.changeDetectorRef.markForCheck();
|
|
3217
|
+
}, 300);
|
|
3216
3218
|
}
|
|
3217
3219
|
});
|
|
3218
3220
|
}
|
|
@@ -3287,6 +3289,7 @@ class PopoverComponent {
|
|
|
3287
3289
|
* Handle animation end
|
|
3288
3290
|
*/
|
|
3289
3291
|
onAnimationDone() {
|
|
3292
|
+
document.activeElement?.blur();
|
|
3290
3293
|
this.render = false;
|
|
3291
3294
|
this.removeEventListeners();
|
|
3292
3295
|
this.closed.emit();
|
|
@@ -3372,6 +3375,7 @@ class PopoverComponent {
|
|
|
3372
3375
|
*/
|
|
3373
3376
|
addEventListeners() {
|
|
3374
3377
|
const focusableElements = this.getFocusableElements(this.container.nativeElement);
|
|
3378
|
+
this._elements = focusableElements;
|
|
3375
3379
|
for (const element of focusableElements) {
|
|
3376
3380
|
this.renderer.setAttribute(element, 'data-dialog-close-override', 'true');
|
|
3377
3381
|
this.escapeKeyUpUnlisteners.push(this.renderer.listen(element, 'keyup', (event) => {
|
|
@@ -3381,6 +3385,12 @@ class PopoverComponent {
|
|
|
3381
3385
|
if (key === 'Esc' || key === 'Escape') {
|
|
3382
3386
|
this.close();
|
|
3383
3387
|
}
|
|
3388
|
+
if (key === 'ArrowDown') {
|
|
3389
|
+
this.arrowDown.emit();
|
|
3390
|
+
}
|
|
3391
|
+
if (key === 'ArrowUp') {
|
|
3392
|
+
this.arrowUp.emit();
|
|
3393
|
+
}
|
|
3384
3394
|
}
|
|
3385
3395
|
}));
|
|
3386
3396
|
}
|
|
@@ -3425,17 +3435,52 @@ class PopoverComponent {
|
|
|
3425
3435
|
toggleOpen() {
|
|
3426
3436
|
this.isOpen.update((isOpen) => !isOpen);
|
|
3427
3437
|
}
|
|
3438
|
+
focusOnFirstElement() {
|
|
3439
|
+
this._elements[0]?.focus();
|
|
3440
|
+
}
|
|
3441
|
+
focusOnNextElement() {
|
|
3442
|
+
let index = 0;
|
|
3443
|
+
for (const element of this._elements) {
|
|
3444
|
+
if (element === document.activeElement) {
|
|
3445
|
+
break;
|
|
3446
|
+
}
|
|
3447
|
+
index++;
|
|
3448
|
+
}
|
|
3449
|
+
if (index + 1 > this._elements.length - 1) {
|
|
3450
|
+
index = 0;
|
|
3451
|
+
}
|
|
3452
|
+
else {
|
|
3453
|
+
index++;
|
|
3454
|
+
}
|
|
3455
|
+
this._elements[index]?.focus();
|
|
3456
|
+
}
|
|
3457
|
+
focusOnPreviousElement() {
|
|
3458
|
+
let index = 0;
|
|
3459
|
+
for (const element of this._elements) {
|
|
3460
|
+
if (element === document.activeElement) {
|
|
3461
|
+
break;
|
|
3462
|
+
}
|
|
3463
|
+
index++;
|
|
3464
|
+
}
|
|
3465
|
+
if (index - 1 < 0) {
|
|
3466
|
+
index = this._elements.length - 1;
|
|
3467
|
+
}
|
|
3468
|
+
else {
|
|
3469
|
+
index--;
|
|
3470
|
+
}
|
|
3471
|
+
this._elements[index]?.focus();
|
|
3472
|
+
}
|
|
3428
3473
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3429
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: PopoverComponent, isStandalone: true, selector: "particle-popover", inputs: { offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: false, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: false, isRequired: false, transformFunction: null }, classList: { classPropertyName: "classList", publicName: "classList", isSignal: true, isRequired: false, transformFunction: null }, targetOverride: { classPropertyName: "targetOverride", publicName: "targetOverride", isSignal: true, isRequired: false, transformFunction: null }, openDirection: { classPropertyName: "openDirection", publicName: "openDirection", isSignal: true, isRequired: false, transformFunction: null }, alignment: { classPropertyName: "alignment", publicName: "alignment", isSignal: true, isRequired: false, transformFunction: null }, scaleForMobile: { classPropertyName: "scaleForMobile", publicName: "scaleForMobile", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "opened", closed: "closed" }, host: { listeners: { "window:click": "onClick($event)", "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div class=\"particle_popover_overlay\"\
|
|
3474
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: PopoverComponent, isStandalone: true, selector: "particle-popover", inputs: { offset: { classPropertyName: "offset", publicName: "offset", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: false, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: false, isRequired: false, transformFunction: null }, classList: { classPropertyName: "classList", publicName: "classList", isSignal: true, isRequired: false, transformFunction: null }, targetOverride: { classPropertyName: "targetOverride", publicName: "targetOverride", isSignal: true, isRequired: false, transformFunction: null }, openDirection: { classPropertyName: "openDirection", publicName: "openDirection", isSignal: true, isRequired: false, transformFunction: null }, alignment: { classPropertyName: "alignment", publicName: "alignment", isSignal: true, isRequired: false, transformFunction: null }, scaleForMobile: { classPropertyName: "scaleForMobile", publicName: "scaleForMobile", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "opened", closed: "closed", arrowDown: "arrowDown", arrowUp: "arrowUp" }, host: { listeners: { "window:click": "onClick($event)", "window:resize": "onWindowResize()" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div class=\"particle_popover_overlay\"\n [style.display]=\"render ? '' : 'none'\"\n [attr.aria-hidden]=\"!render\"\n [style.scale]=\"window.innerWidth > 768 ? 1 : scaleForMobile()\"\n>\n <div class=\"particle_popover\"\n [class.open]=\"isOpen()\"\n [cdkTrapFocus]=\"render && visible\"\n [cdkTrapFocusAutoCapture]=\"true\"\n [ngStyle]=\"{'width': width, 'height': height}\"\n [ngClass]=\"classList()\"\n #container\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".particle_popover_overlay{position:fixed;inset:0;z-index:var(--z-notification)}.particle_popover{border-radius:3px;overflow-x:hidden;overflow-y:auto;font-size:12px;font-weight:400;z-index:var(--z-notification);width:auto;min-width:10px;height:auto;min-height:10px;position:absolute;transform:scaleY(.5);opacity:0;pointer-events:none;transition-duration:.2s;transition-property:transform,opacity;transition-timing-function:ease}.particle_popover.open{transform:scaleY(1);opacity:1;pointer-events:auto;transition-duration:.2s;transition-property:transform,opacity;transition-timing-function:ease}.particle_popover_shadow{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}\n"], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
3430
3475
|
}
|
|
3431
3476
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: PopoverComponent, decorators: [{
|
|
3432
3477
|
type: Component,
|
|
3433
|
-
args: [{ selector: 'particle-popover', imports: [CdkTrapFocus, NgStyle, NgClass], template: "<div class=\"particle_popover_overlay\"\
|
|
3478
|
+
args: [{ selector: 'particle-popover', imports: [CdkTrapFocus, NgStyle, NgClass], template: "<div class=\"particle_popover_overlay\"\n [style.display]=\"render ? '' : 'none'\"\n [attr.aria-hidden]=\"!render\"\n [style.scale]=\"window.innerWidth > 768 ? 1 : scaleForMobile()\"\n>\n <div class=\"particle_popover\"\n [class.open]=\"isOpen()\"\n [cdkTrapFocus]=\"render && visible\"\n [cdkTrapFocusAutoCapture]=\"true\"\n [ngStyle]=\"{'width': width, 'height': height}\"\n [ngClass]=\"classList()\"\n #container\n >\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [".particle_popover_overlay{position:fixed;inset:0;z-index:var(--z-notification)}.particle_popover{border-radius:3px;overflow-x:hidden;overflow-y:auto;font-size:12px;font-weight:400;z-index:var(--z-notification);width:auto;min-width:10px;height:auto;min-height:10px;position:absolute;transform:scaleY(.5);opacity:0;pointer-events:none;transition-duration:.2s;transition-property:transform,opacity;transition-timing-function:ease}.particle_popover.open{transform:scaleY(1);opacity:1;pointer-events:auto;transition-duration:.2s;transition-property:transform,opacity;transition-timing-function:ease}.particle_popover_shadow{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}\n"] }]
|
|
3434
3479
|
}], ctorParameters: () => [], propDecorators: { offset: [{ type: i0.Input, args: [{ isSignal: true, alias: "offset", required: false }] }], width: [{
|
|
3435
3480
|
type: Input
|
|
3436
3481
|
}], height: [{
|
|
3437
3482
|
type: Input
|
|
3438
|
-
}], classList: [{ type: i0.Input, args: [{ isSignal: true, alias: "classList", required: false }] }], targetOverride: [{ type: i0.Input, args: [{ isSignal: true, alias: "targetOverride", required: false }] }], openDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "openDirection", required: false }] }], alignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "alignment", required: false }] }], scaleForMobile: [{ type: i0.Input, args: [{ isSignal: true, alias: "scaleForMobile", required: false }] }], opened: [{ type: i0.Output, args: ["opened"] }], closed: [{ type: i0.Output, args: ["closed"] }], container: [{
|
|
3483
|
+
}], classList: [{ type: i0.Input, args: [{ isSignal: true, alias: "classList", required: false }] }], targetOverride: [{ type: i0.Input, args: [{ isSignal: true, alias: "targetOverride", required: false }] }], openDirection: [{ type: i0.Input, args: [{ isSignal: true, alias: "openDirection", required: false }] }], alignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "alignment", required: false }] }], scaleForMobile: [{ type: i0.Input, args: [{ isSignal: true, alias: "scaleForMobile", required: false }] }], opened: [{ type: i0.Output, args: ["opened"] }], closed: [{ type: i0.Output, args: ["closed"] }], arrowDown: [{ type: i0.Output, args: ["arrowDown"] }], arrowUp: [{ type: i0.Output, args: ["arrowUp"] }], container: [{
|
|
3439
3484
|
type: ViewChild,
|
|
3440
3485
|
args: ['container']
|
|
3441
3486
|
}], onClick: [{
|
|
@@ -3642,11 +3687,11 @@ class PaginatorComponent {
|
|
|
3642
3687
|
this.pageJumpInput = '';
|
|
3643
3688
|
}
|
|
3644
3689
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3645
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: PaginatorComponent, isStandalone: true, selector: "particle-paginator", inputs: { pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: false, isRequired: false, transformFunction: null }, totalLength: { classPropertyName: "totalLength", publicName: "totalLength", isSignal: true, isRequired: false, transformFunction: null }, showPages: { classPropertyName: "showPages", publicName: "showPages", isSignal: true, isRequired: false, transformFunction: null }, showFirstLast: { classPropertyName: "showFirstLast", publicName: "showFirstLast", isSignal: true, isRequired: false, transformFunction: null }, showButtonLabels: { classPropertyName: "showButtonLabels", publicName: "showButtonLabels", isSignal: true, isRequired: false, transformFunction: null }, showResultsPanel: { classPropertyName: "showResultsPanel", publicName: "showResultsPanel", isSignal: true, isRequired: false, transformFunction: null }, startingPage: { classPropertyName: "startingPage", publicName: "startingPage", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { paginate: "paginate" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row wrap_reverse center_center\">\r\n @if (!showPages() && showResultsPanel()) {\r\n <div class=\"col min_w200\">\r\n <div class=\"row v_center ptl_brdr_size ptl_brdr_radius ptl_brdr_color content_color mar_right5 mar_left5 pad_3 ent_r2l_row\">\r\n <div class=\"col size_1 center_center pad_left5 pad_right5\">\r\n @if (totalLength() > 0) {\r\n <div class=\"text sm ent_r2l_txt\" style=\"user-select: none\">\r\n {{pageStartingValue}} - {{pageEndingValue > totalLength() ? totalLength() : pageEndingValue}} {{text().of}} {{totalLength()}} {{text().results}}\r\n </div>\r\n } @else {\r\n <div class=\"text sm ent_r2l_txt\" style=\"user-select: none\">\r\n 0 - 0 {{text().of}} 0 {{text().results}}\r\n </div>\r\n }\r\n </div>\r\n <div class=\"col center_center pad_lr5\">\r\n <button class=\"access btn clear circle_20px \" tabindex=\"0\" [attr.aria-label]=\"text().jumpToPage\"\r\n (click)=\"config.toggle($event)\">\r\n <i class=\"fas fa-cog\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"col pad_5\">\r\n <div class=\"row wrap_reverse center_center\">\r\n\r\n @if (showFirstLast()) {\r\n <div class=\"col pad_5\">\r\n <!-- first -->\r\n <button class=\"access btnset clear\"\r\n [attr.aria-label]=\"text().firstPage\"\r\n [disabled]=\"activePage === 0\"\r\n (click)=\"goToFirst()\">\r\n <div class=\"col pad_tb5 pad_lr10 hov_glow previous_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\r\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\r\n <i class=\"fas fa-angle-double-left ent_r2l_ico\"></i>\r\n </div>\r\n @if (showButtonLabels()) {\r\n <div class=\"text ent_r2l_txt\">{{text().firstPage}}</div>\r\n }\r\n </div>\r\n </button>\r\n </div>\r\n }\r\n\r\n <div class=\"col pad_5\">\r\n <!-- previous -->\r\n <button class=\"access btnset clear\"\r\n [attr.aria-label]=\"text().previousPage\"\r\n [disabled]=\"activePage === 0\"\r\n (click)=\"hasPage(activePage - 1) ? goToPage(activePage - 1) : goToPage(activePage)\">\r\n <div class=\"col pad_tb5 pad_lr10 hov_glow previous_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\r\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\r\n <i class=\"fas fa-chevron-left ent_r2l_ico\"></i>\r\n </div>\r\n @if (showButtonLabels()) {\r\n <div class=\"text ent_r2l_txt\">{{text().previousPage}}</div>\r\n }\r\n </div>\r\n </button>\r\n </div>\r\n\r\n @if (showPages()) {\r\n <div class=\"col pad_5\">\r\n <!-- navigation -->\r\n <div class=\"row v_center pad_left5 pad_right5 bg_overlay brdr content_color ptl_brdr_radius ent_r2l_dir\"\r\n style=\"flex:1 1 auto;\">\r\n <!-- jump button -->\r\n <div class=\"center_right\" style=\"width:20px;min-width:20px;\">\r\n @if (activePage > 3) {\r\n <button class=\"access btn underline_md pag_btn clear\" tabindex=\"0\"\r\n [attr.aria-label]=\"text().jumpToPage\"\r\n (click)=\"op.toggle($event)\">...</button>\r\n }\r\n </div>\r\n <!-- nav buttons -->\r\n <div class=\"center_center\" style=\"min-width:180px;\">\r\n <!-- first -->\r\n @if ((activePage-2 >= 0 && activePage-2 < numberOfPages)) {\r\n <button class=\"access btn underline_md pag_btn clear\"\r\n [attr.aria-label]=\"text().page + ' ' + (activePage - 1)\"\r\n (click)=\"goToPage(activePage - 2, true)\">\r\n {{activePage - 1}}\r\n </button>\r\n }\r\n <!-- second -->\r\n @if ((activePage-1 >= 0 && activePage-1 < numberOfPages)) {\r\n <button class=\"access btn underline_md pag_btn clear\"\r\n [attr.aria-label]=\"text().page + ' ' + (activePage)\"\r\n (click)=\"goToPage(activePage - 1, true)\">\r\n {{activePage}}\r\n </button>\r\n }\r\n <!-- active page -->\r\n <div class=\"row pag_btn active brad_3 content_color\">\r\n <button style=\"cursor:default\"\r\n class=\"access col size_1 btn center_center brad_3 bg_overlay_rev brdr\" id=\"activePage\"\r\n [attr.aria-label]=\"text().page + ' ' + (activePage + 1)\" >\r\n {{activePage + 1}}\r\n </button>\r\n </div>\r\n <!-- fourth -->\r\n @if ((activePage+1 >= 0 && activePage+1 < numberOfPages)) {\r\n <button class=\"access btn underline_md pag_btn clear\"\r\n [attr.aria-label]=\"text().page + ' ' + (activePage + 2)\"\r\n (click)=\"goToPage(activePage + 1, true)\">\r\n {{activePage + 2}}\r\n </button>\r\n }\r\n <!-- fifth -->\r\n @if ((activePage+2 >= 0 && activePage+2 < numberOfPages)) {\r\n <button class=\"access btn underline_md pag_btn clear\"\r\n [attr.aria-label]=\"text().page + ' ' + (activePage + 3)\"\r\n (click)=\"goToPage(activePage + 2, true)\">\r\n {{activePage + 3}}\r\n </button>\r\n }\r\n </div>\r\n <!-- jump button -->\r\n <div class=\"center_left\" style=\"width:20px;min-width:20px;\">\r\n @if (activePage < getNumberOfPages() - 4) {\r\n <button class=\"access btn underline_md pag_btn clear\"\r\n [attr.aria-label]=\"text().jumpToPage\"\r\n (click)=\"op.toggle($event)\" >...</button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"col pad_5\">\r\n <!-- next -->\r\n <button class=\"access btnset clear\"\r\n [attr.aria-label]=\"text().nextPage\"\r\n [disabled]=\"activePage === numberOfPages - 1 || totalLength() === 0\"\r\n (click)=\"hasPage(activePage + 1) ? goToPage(activePage + 1) : goToPage(activePage)\">\r\n <div class=\"col pad_tb5 pad_lr10 hov_glow next_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\r\n @if (showButtonLabels()) {\r\n <div class=\"text ent_r2l_txt\">{{text().nextPage}}</div>\r\n }\r\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\r\n <i class=\"fas fa-chevron-right ent_r2l_ico\"></i>\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n\r\n @if (showFirstLast()) {\r\n <div class=\"col pad_5\">\r\n <!-- last -->\r\n <button class=\"access btnset clear\"\r\n [attr.aria-label]=\"text().lastPage\"\r\n [disabled]=\"activePage === numberOfPages - 1\"\r\n (click)=\"goToLast()\">\r\n <div class=\"col pad_tb5 pad_lr10 hov_glow next_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\r\n @if (showButtonLabels()) {\r\n <div class=\"text ent_r2l_txt\">{{text().lastPage}}</div>\r\n }\r\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\r\n <i class=\"fas fa-angle-double-right ent_r2l_ico\"></i>\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Jump to popover -->\r\n<particle-popover #op>\r\n <ng-container *ngTemplateOutlet=\"jumpTo\"></ng-container>\r\n</particle-popover>\r\n\r\n<particle-popover #config>\r\n <ng-container *ngTemplateOutlet=\"jumpTo\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"pageSizeTemplate\"></ng-container>\r\n</particle-popover>\r\n\r\n<ng-template #jumpTo>\r\n @if (numberOfPages > 0) {\r\n <div class=\"row_block pad_10 center\">\r\n <div class=\"text sm text_center ent_r2l_txt\" style=\"text-align: center !important;\"><label for=\"pageJump\">{{text().jumpToPage}} ({{text().outOf}} {{numberOfPages}}):</label></div>\r\n <div class=\"row rc_gap center_center mar_top10 ent_r2l_dir\">\r\n <div class=\"col\">\r\n <input class=\"access fullwidth_input sm\" style=\"width:50px;\" maxlength=\"4\" id=\"pageJump\"\r\n type=\"text\" [attr.aria-label]=\"text().page\" name=\"pagejump\" [placeholder]=\"text().page\" [(ngModel)]=\"pageJumpInput\" />\r\n </div>\r\n <div class=\"col\">\r\n <button class=\"access btn clear\" [attr.aria-label]=\"text().jumpToPage\"\r\n (click)=\"jumpPage();op.close();config.close();\">\r\n <i class=\"fas fa-chevron-right ent_r2l_ico\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #pageSizeTemplate>\r\n <div class=\"row_block pad_10 center\">\r\n <div class=\"text sm text_center ent_r2l_txt\" style=\"text-align: center !important;\"><label for=\"pageSize\">{{text().itemsPerPage}}:</label></div>\r\n <div class=\"row rc_gap center_center mar_top10 ent_r2l_dir\">\r\n <div class=\"col\">\r\n <select class=\"access fullwidth_input content_color text sm\" style=\"width:50px;\"\r\n [(ngModel)]=\"pageSize\" (ngModelChange)=\"pageSizeChange();config.close();\" [title]=\"text().choosePageSize\" id=\"pageSize\">\r\n @for (option of pageSizeOptions(); track option) {\r\n <option [value]=\"option\" [attr.aria-label]=\"option\">\r\n {{option}}\r\n </option>\r\n }\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n", styles: [".pag_btn{flex:1;max-width:60px;margin:0 1px;height:24px;font-size:10pt}.pag_btn.active{height:30px;margin-top:-3px;margin-bottom:-3px}.spinspin{opacity:.5}.spinspin:hover{animation:spin 2s linear infinite;opacity:1}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PopoverComponent, selector: "particle-popover", inputs: ["offset", "width", "height", "classList", "targetOverride", "openDirection", "alignment", "scaleForMobile"], outputs: ["opened", "closed"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
3690
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: PaginatorComponent, isStandalone: true, selector: "particle-paginator", inputs: { pageSizeOptions: { classPropertyName: "pageSizeOptions", publicName: "pageSizeOptions", isSignal: true, isRequired: false, transformFunction: null }, pageSize: { classPropertyName: "pageSize", publicName: "pageSize", isSignal: false, isRequired: false, transformFunction: null }, totalLength: { classPropertyName: "totalLength", publicName: "totalLength", isSignal: true, isRequired: false, transformFunction: null }, showPages: { classPropertyName: "showPages", publicName: "showPages", isSignal: true, isRequired: false, transformFunction: null }, showFirstLast: { classPropertyName: "showFirstLast", publicName: "showFirstLast", isSignal: true, isRequired: false, transformFunction: null }, showButtonLabels: { classPropertyName: "showButtonLabels", publicName: "showButtonLabels", isSignal: true, isRequired: false, transformFunction: null }, showResultsPanel: { classPropertyName: "showResultsPanel", publicName: "showResultsPanel", isSignal: true, isRequired: false, transformFunction: null }, startingPage: { classPropertyName: "startingPage", publicName: "startingPage", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { paginate: "paginate" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"row wrap_reverse center_center\">\n @if (!showPages() && showResultsPanel()) {\n <div class=\"col min_w200\">\n <div class=\"row v_center ptl_brdr_size ptl_brdr_radius ptl_brdr_color content_color mar_right5 mar_left5 pad_3 ent_r2l_row\">\n <div class=\"col size_1 center_center pad_left5 pad_right5\">\n @if (totalLength() > 0) {\n <div class=\"text sm ent_r2l_txt\" style=\"user-select: none\">\n {{pageStartingValue}} - {{pageEndingValue > totalLength() ? totalLength() : pageEndingValue}} {{text().of}} {{totalLength()}} {{text().results}}\n </div>\n } @else {\n <div class=\"text sm ent_r2l_txt\" style=\"user-select: none\">\n 0 - 0 {{text().of}} 0 {{text().results}}\n </div>\n }\n </div>\n <div class=\"col center_center pad_lr5\">\n <button class=\"access btn clear circle_20px \" tabindex=\"0\" [attr.aria-label]=\"text().jumpToPage\"\n (click)=\"config.toggle($event)\">\n <i class=\"fas fa-cog\"></i>\n </button>\n </div>\n </div>\n </div>\n }\n\n <div class=\"col pad_5\">\n <div class=\"row wrap_reverse center_center\">\n\n @if (showFirstLast()) {\n <div class=\"col pad_5\">\n <!-- first -->\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"text().firstPage\"\n [disabled]=\"activePage === 0\"\n (click)=\"goToFirst()\">\n <div class=\"col pad_tb5 pad_lr10 hov_glow previous_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\n <i class=\"fas fa-angle-double-left ent_r2l_ico\"></i>\n </div>\n @if (showButtonLabels()) {\n <div class=\"text ent_r2l_txt\">{{text().firstPage}}</div>\n }\n </div>\n </button>\n </div>\n }\n\n <div class=\"col pad_5\">\n <!-- previous -->\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"text().previousPage\"\n [disabled]=\"activePage === 0\"\n (click)=\"hasPage(activePage - 1) ? goToPage(activePage - 1) : goToPage(activePage)\">\n <div class=\"col pad_tb5 pad_lr10 hov_glow previous_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\n <i class=\"fas fa-chevron-left ent_r2l_ico\"></i>\n </div>\n @if (showButtonLabels()) {\n <div class=\"text ent_r2l_txt\">{{text().previousPage}}</div>\n }\n </div>\n </button>\n </div>\n\n @if (showPages()) {\n <div class=\"col pad_5\">\n <!-- navigation -->\n <div class=\"row v_center pad_left5 pad_right5 bg_overlay brdr content_color ptl_brdr_radius ent_r2l_dir\"\n style=\"flex:1 1 auto;\">\n <!-- jump button -->\n <div class=\"center_right\" style=\"width:20px;min-width:20px;\">\n @if (activePage > 3) {\n <button class=\"access btn underline_md pag_btn clear\" tabindex=\"0\"\n [attr.aria-label]=\"text().jumpToPage\"\n (click)=\"op.toggle($event)\">...</button>\n }\n </div>\n <!-- nav buttons -->\n <div class=\"center_center\" style=\"min-width:180px;\">\n <!-- first -->\n @if ((activePage-2 >= 0 && activePage-2 < numberOfPages)) {\n <button class=\"access btn underline_md pag_btn clear\"\n [attr.aria-label]=\"text().page + ' ' + (activePage - 1)\"\n (click)=\"goToPage(activePage - 2, true)\">\n {{activePage - 1}}\n </button>\n }\n <!-- second -->\n @if ((activePage-1 >= 0 && activePage-1 < numberOfPages)) {\n <button class=\"access btn underline_md pag_btn clear\"\n [attr.aria-label]=\"text().page + ' ' + (activePage)\"\n (click)=\"goToPage(activePage - 1, true)\">\n {{activePage}}\n </button>\n }\n <!-- active page -->\n <div class=\"row pag_btn active brad_3 content_color\">\n <button style=\"cursor:default\"\n class=\"access col size_1 btn center_center brad_3 bg_overlay_rev brdr\" id=\"activePage\"\n [attr.aria-label]=\"text().page + ' ' + (activePage + 1)\" >\n {{activePage + 1}}\n </button>\n </div>\n <!-- fourth -->\n @if ((activePage+1 >= 0 && activePage+1 < numberOfPages)) {\n <button class=\"access btn underline_md pag_btn clear\"\n [attr.aria-label]=\"text().page + ' ' + (activePage + 2)\"\n (click)=\"goToPage(activePage + 1, true)\">\n {{activePage + 2}}\n </button>\n }\n <!-- fifth -->\n @if ((activePage+2 >= 0 && activePage+2 < numberOfPages)) {\n <button class=\"access btn underline_md pag_btn clear\"\n [attr.aria-label]=\"text().page + ' ' + (activePage + 3)\"\n (click)=\"goToPage(activePage + 2, true)\">\n {{activePage + 3}}\n </button>\n }\n </div>\n <!-- jump button -->\n <div class=\"center_left\" style=\"width:20px;min-width:20px;\">\n @if (activePage < getNumberOfPages() - 4) {\n <button class=\"access btn underline_md pag_btn clear\"\n [attr.aria-label]=\"text().jumpToPage\"\n (click)=\"op.toggle($event)\" >...</button>\n }\n </div>\n </div>\n </div>\n }\n\n <div class=\"col pad_5\">\n <!-- next -->\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"text().nextPage\"\n [disabled]=\"activePage === numberOfPages - 1 || totalLength() === 0\"\n (click)=\"hasPage(activePage + 1) ? goToPage(activePage + 1) : goToPage(activePage)\">\n <div class=\"col pad_tb5 pad_lr10 hov_glow next_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\n @if (showButtonLabels()) {\n <div class=\"text ent_r2l_txt\">{{text().nextPage}}</div>\n }\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\n <i class=\"fas fa-chevron-right ent_r2l_ico\"></i>\n </div>\n </div>\n </button>\n </div>\n\n @if (showFirstLast()) {\n <div class=\"col pad_5\">\n <!-- last -->\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"text().lastPage\"\n [disabled]=\"activePage === numberOfPages - 1\"\n (click)=\"goToLast()\">\n <div class=\"col pad_tb5 pad_lr10 hov_glow next_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\n @if (showButtonLabels()) {\n <div class=\"text ent_r2l_txt\">{{text().lastPage}}</div>\n }\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\n <i class=\"fas fa-angle-double-right ent_r2l_ico\"></i>\n </div>\n </div>\n </button>\n </div>\n }\n </div>\n </div>\n</div>\n\n<!-- Jump to popover -->\n<particle-popover #op>\n <ng-container *ngTemplateOutlet=\"jumpTo\"></ng-container>\n</particle-popover>\n\n<particle-popover #config>\n <ng-container *ngTemplateOutlet=\"jumpTo\"></ng-container>\n <ng-container *ngTemplateOutlet=\"pageSizeTemplate\"></ng-container>\n</particle-popover>\n\n<ng-template #jumpTo>\n @if (numberOfPages > 0) {\n <div class=\"row_block pad_10 center\">\n <div class=\"text sm text_center ent_r2l_txt\" style=\"text-align: center !important;\"><label for=\"pageJump\">{{text().jumpToPage}} ({{text().outOf}} {{numberOfPages}}):</label></div>\n <div class=\"row rc_gap center_center mar_top10 ent_r2l_dir\">\n <div class=\"col\">\n <input class=\"access fullwidth_input sm\" style=\"width:50px;\" maxlength=\"4\" id=\"pageJump\" (keydown.enter)=\"jumpPage();op.close();config.close();\"\n type=\"text\" [attr.aria-label]=\"text().page\" name=\"pagejump\" [placeholder]=\"text().page\" [(ngModel)]=\"pageJumpInput\" />\n </div>\n <div class=\"col\">\n <button class=\"access btn clear\" [attr.aria-label]=\"text().jumpToPage\"\n (click)=\"jumpPage();op.close();config.close();\">\n <i class=\"fas fa-chevron-right ent_r2l_ico\"></i>\n </button>\n </div>\n </div>\n </div>\n }\n </ng-template>\n\n <ng-template #pageSizeTemplate>\n <div class=\"row_block pad_10 center\">\n <div class=\"text sm text_center ent_r2l_txt\" style=\"text-align: center !important;\"><label for=\"pageSize\">{{text().itemsPerPage}}:</label></div>\n <div class=\"row rc_gap center_center mar_top10 ent_r2l_dir\">\n <div class=\"col\">\n <select class=\"access fullwidth_input content_color text sm\" style=\"width:50px;\"\n [(ngModel)]=\"pageSize\" (ngModelChange)=\"pageSizeChange();config.close();\" [title]=\"text().choosePageSize\" id=\"pageSize\">\n @for (option of pageSizeOptions(); track option) {\n <option [value]=\"option\" [attr.aria-label]=\"option\">\n {{option}}\n </option>\n }\n </select>\n </div>\n </div>\n </div>\n </ng-template>\n", styles: [".pag_btn{flex:1;max-width:60px;margin:0 1px;height:24px;font-size:10pt}.pag_btn.active{height:30px;margin-top:-3px;margin-bottom:-3px}.spinspin{opacity:.5}.spinspin:hover{animation:spin 2s linear infinite;opacity:1}@keyframes spin{to{transform:rotate(360deg)}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PopoverComponent, selector: "particle-popover", inputs: ["offset", "width", "height", "classList", "targetOverride", "openDirection", "alignment", "scaleForMobile"], outputs: ["opened", "closed", "arrowDown", "arrowUp"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.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: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
3646
3691
|
}
|
|
3647
3692
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: PaginatorComponent, decorators: [{
|
|
3648
3693
|
type: Component,
|
|
3649
|
-
args: [{ selector: 'particle-paginator', imports: [NgClass, PopoverComponent, NgTemplateOutlet, FormsModule], template: "<div class=\"row wrap_reverse center_center\">\r\n @if (!showPages() && showResultsPanel()) {\r\n <div class=\"col min_w200\">\r\n <div class=\"row v_center ptl_brdr_size ptl_brdr_radius ptl_brdr_color content_color mar_right5 mar_left5 pad_3 ent_r2l_row\">\r\n <div class=\"col size_1 center_center pad_left5 pad_right5\">\r\n @if (totalLength() > 0) {\r\n <div class=\"text sm ent_r2l_txt\" style=\"user-select: none\">\r\n {{pageStartingValue}} - {{pageEndingValue > totalLength() ? totalLength() : pageEndingValue}} {{text().of}} {{totalLength()}} {{text().results}}\r\n </div>\r\n } @else {\r\n <div class=\"text sm ent_r2l_txt\" style=\"user-select: none\">\r\n 0 - 0 {{text().of}} 0 {{text().results}}\r\n </div>\r\n }\r\n </div>\r\n <div class=\"col center_center pad_lr5\">\r\n <button class=\"access btn clear circle_20px \" tabindex=\"0\" [attr.aria-label]=\"text().jumpToPage\"\r\n (click)=\"config.toggle($event)\">\r\n <i class=\"fas fa-cog\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"col pad_5\">\r\n <div class=\"row wrap_reverse center_center\">\r\n\r\n @if (showFirstLast()) {\r\n <div class=\"col pad_5\">\r\n <!-- first -->\r\n <button class=\"access btnset clear\"\r\n [attr.aria-label]=\"text().firstPage\"\r\n [disabled]=\"activePage === 0\"\r\n (click)=\"goToFirst()\">\r\n <div class=\"col pad_tb5 pad_lr10 hov_glow previous_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\r\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\r\n <i class=\"fas fa-angle-double-left ent_r2l_ico\"></i>\r\n </div>\r\n @if (showButtonLabels()) {\r\n <div class=\"text ent_r2l_txt\">{{text().firstPage}}</div>\r\n }\r\n </div>\r\n </button>\r\n </div>\r\n }\r\n\r\n <div class=\"col pad_5\">\r\n <!-- previous -->\r\n <button class=\"access btnset clear\"\r\n [attr.aria-label]=\"text().previousPage\"\r\n [disabled]=\"activePage === 0\"\r\n (click)=\"hasPage(activePage - 1) ? goToPage(activePage - 1) : goToPage(activePage)\">\r\n <div class=\"col pad_tb5 pad_lr10 hov_glow previous_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\r\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\r\n <i class=\"fas fa-chevron-left ent_r2l_ico\"></i>\r\n </div>\r\n @if (showButtonLabels()) {\r\n <div class=\"text ent_r2l_txt\">{{text().previousPage}}</div>\r\n }\r\n </div>\r\n </button>\r\n </div>\r\n\r\n @if (showPages()) {\r\n <div class=\"col pad_5\">\r\n <!-- navigation -->\r\n <div class=\"row v_center pad_left5 pad_right5 bg_overlay brdr content_color ptl_brdr_radius ent_r2l_dir\"\r\n style=\"flex:1 1 auto;\">\r\n <!-- jump button -->\r\n <div class=\"center_right\" style=\"width:20px;min-width:20px;\">\r\n @if (activePage > 3) {\r\n <button class=\"access btn underline_md pag_btn clear\" tabindex=\"0\"\r\n [attr.aria-label]=\"text().jumpToPage\"\r\n (click)=\"op.toggle($event)\">...</button>\r\n }\r\n </div>\r\n <!-- nav buttons -->\r\n <div class=\"center_center\" style=\"min-width:180px;\">\r\n <!-- first -->\r\n @if ((activePage-2 >= 0 && activePage-2 < numberOfPages)) {\r\n <button class=\"access btn underline_md pag_btn clear\"\r\n [attr.aria-label]=\"text().page + ' ' + (activePage - 1)\"\r\n (click)=\"goToPage(activePage - 2, true)\">\r\n {{activePage - 1}}\r\n </button>\r\n }\r\n <!-- second -->\r\n @if ((activePage-1 >= 0 && activePage-1 < numberOfPages)) {\r\n <button class=\"access btn underline_md pag_btn clear\"\r\n [attr.aria-label]=\"text().page + ' ' + (activePage)\"\r\n (click)=\"goToPage(activePage - 1, true)\">\r\n {{activePage}}\r\n </button>\r\n }\r\n <!-- active page -->\r\n <div class=\"row pag_btn active brad_3 content_color\">\r\n <button style=\"cursor:default\"\r\n class=\"access col size_1 btn center_center brad_3 bg_overlay_rev brdr\" id=\"activePage\"\r\n [attr.aria-label]=\"text().page + ' ' + (activePage + 1)\" >\r\n {{activePage + 1}}\r\n </button>\r\n </div>\r\n <!-- fourth -->\r\n @if ((activePage+1 >= 0 && activePage+1 < numberOfPages)) {\r\n <button class=\"access btn underline_md pag_btn clear\"\r\n [attr.aria-label]=\"text().page + ' ' + (activePage + 2)\"\r\n (click)=\"goToPage(activePage + 1, true)\">\r\n {{activePage + 2}}\r\n </button>\r\n }\r\n <!-- fifth -->\r\n @if ((activePage+2 >= 0 && activePage+2 < numberOfPages)) {\r\n <button class=\"access btn underline_md pag_btn clear\"\r\n [attr.aria-label]=\"text().page + ' ' + (activePage + 3)\"\r\n (click)=\"goToPage(activePage + 2, true)\">\r\n {{activePage + 3}}\r\n </button>\r\n }\r\n </div>\r\n <!-- jump button -->\r\n <div class=\"center_left\" style=\"width:20px;min-width:20px;\">\r\n @if (activePage < getNumberOfPages() - 4) {\r\n <button class=\"access btn underline_md pag_btn clear\"\r\n [attr.aria-label]=\"text().jumpToPage\"\r\n (click)=\"op.toggle($event)\" >...</button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n\r\n <div class=\"col pad_5\">\r\n <!-- next -->\r\n <button class=\"access btnset clear\"\r\n [attr.aria-label]=\"text().nextPage\"\r\n [disabled]=\"activePage === numberOfPages - 1 || totalLength() === 0\"\r\n (click)=\"hasPage(activePage + 1) ? goToPage(activePage + 1) : goToPage(activePage)\">\r\n <div class=\"col pad_tb5 pad_lr10 hov_glow next_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\r\n @if (showButtonLabels()) {\r\n <div class=\"text ent_r2l_txt\">{{text().nextPage}}</div>\r\n }\r\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\r\n <i class=\"fas fa-chevron-right ent_r2l_ico\"></i>\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n\r\n @if (showFirstLast()) {\r\n <div class=\"col pad_5\">\r\n <!-- last -->\r\n <button class=\"access btnset clear\"\r\n [attr.aria-label]=\"text().lastPage\"\r\n [disabled]=\"activePage === numberOfPages - 1\"\r\n (click)=\"goToLast()\">\r\n <div class=\"col pad_tb5 pad_lr10 hov_glow next_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\r\n @if (showButtonLabels()) {\r\n <div class=\"text ent_r2l_txt\">{{text().lastPage}}</div>\r\n }\r\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\r\n <i class=\"fas fa-angle-double-right ent_r2l_ico\"></i>\r\n </div>\r\n </div>\r\n </button>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<!-- Jump to popover -->\r\n<particle-popover #op>\r\n <ng-container *ngTemplateOutlet=\"jumpTo\"></ng-container>\r\n</particle-popover>\r\n\r\n<particle-popover #config>\r\n <ng-container *ngTemplateOutlet=\"jumpTo\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"pageSizeTemplate\"></ng-container>\r\n</particle-popover>\r\n\r\n<ng-template #jumpTo>\r\n @if (numberOfPages > 0) {\r\n <div class=\"row_block pad_10 center\">\r\n <div class=\"text sm text_center ent_r2l_txt\" style=\"text-align: center !important;\"><label for=\"pageJump\">{{text().jumpToPage}} ({{text().outOf}} {{numberOfPages}}):</label></div>\r\n <div class=\"row rc_gap center_center mar_top10 ent_r2l_dir\">\r\n <div class=\"col\">\r\n <input class=\"access fullwidth_input sm\" style=\"width:50px;\" maxlength=\"4\" id=\"pageJump\"\r\n type=\"text\" [attr.aria-label]=\"text().page\" name=\"pagejump\" [placeholder]=\"text().page\" [(ngModel)]=\"pageJumpInput\" />\r\n </div>\r\n <div class=\"col\">\r\n <button class=\"access btn clear\" [attr.aria-label]=\"text().jumpToPage\"\r\n (click)=\"jumpPage();op.close();config.close();\">\r\n <i class=\"fas fa-chevron-right ent_r2l_ico\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n }\r\n </ng-template>\r\n\r\n <ng-template #pageSizeTemplate>\r\n <div class=\"row_block pad_10 center\">\r\n <div class=\"text sm text_center ent_r2l_txt\" style=\"text-align: center !important;\"><label for=\"pageSize\">{{text().itemsPerPage}}:</label></div>\r\n <div class=\"row rc_gap center_center mar_top10 ent_r2l_dir\">\r\n <div class=\"col\">\r\n <select class=\"access fullwidth_input content_color text sm\" style=\"width:50px;\"\r\n [(ngModel)]=\"pageSize\" (ngModelChange)=\"pageSizeChange();config.close();\" [title]=\"text().choosePageSize\" id=\"pageSize\">\r\n @for (option of pageSizeOptions(); track option) {\r\n <option [value]=\"option\" [attr.aria-label]=\"option\">\r\n {{option}}\r\n </option>\r\n }\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n", styles: [".pag_btn{flex:1;max-width:60px;margin:0 1px;height:24px;font-size:10pt}.pag_btn.active{height:30px;margin-top:-3px;margin-bottom:-3px}.spinspin{opacity:.5}.spinspin:hover{animation:spin 2s linear infinite;opacity:1}@keyframes spin{to{transform:rotate(360deg)}}\n"] }]
|
|
3694
|
+
args: [{ selector: 'particle-paginator', imports: [NgClass, PopoverComponent, NgTemplateOutlet, FormsModule], template: "<div class=\"row wrap_reverse center_center\">\n @if (!showPages() && showResultsPanel()) {\n <div class=\"col min_w200\">\n <div class=\"row v_center ptl_brdr_size ptl_brdr_radius ptl_brdr_color content_color mar_right5 mar_left5 pad_3 ent_r2l_row\">\n <div class=\"col size_1 center_center pad_left5 pad_right5\">\n @if (totalLength() > 0) {\n <div class=\"text sm ent_r2l_txt\" style=\"user-select: none\">\n {{pageStartingValue}} - {{pageEndingValue > totalLength() ? totalLength() : pageEndingValue}} {{text().of}} {{totalLength()}} {{text().results}}\n </div>\n } @else {\n <div class=\"text sm ent_r2l_txt\" style=\"user-select: none\">\n 0 - 0 {{text().of}} 0 {{text().results}}\n </div>\n }\n </div>\n <div class=\"col center_center pad_lr5\">\n <button class=\"access btn clear circle_20px \" tabindex=\"0\" [attr.aria-label]=\"text().jumpToPage\"\n (click)=\"config.toggle($event)\">\n <i class=\"fas fa-cog\"></i>\n </button>\n </div>\n </div>\n </div>\n }\n\n <div class=\"col pad_5\">\n <div class=\"row wrap_reverse center_center\">\n\n @if (showFirstLast()) {\n <div class=\"col pad_5\">\n <!-- first -->\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"text().firstPage\"\n [disabled]=\"activePage === 0\"\n (click)=\"goToFirst()\">\n <div class=\"col pad_tb5 pad_lr10 hov_glow previous_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\n <i class=\"fas fa-angle-double-left ent_r2l_ico\"></i>\n </div>\n @if (showButtonLabels()) {\n <div class=\"text ent_r2l_txt\">{{text().firstPage}}</div>\n }\n </div>\n </button>\n </div>\n }\n\n <div class=\"col pad_5\">\n <!-- previous -->\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"text().previousPage\"\n [disabled]=\"activePage === 0\"\n (click)=\"hasPage(activePage - 1) ? goToPage(activePage - 1) : goToPage(activePage)\">\n <div class=\"col pad_tb5 pad_lr10 hov_glow previous_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\n <i class=\"fas fa-chevron-left ent_r2l_ico\"></i>\n </div>\n @if (showButtonLabels()) {\n <div class=\"text ent_r2l_txt\">{{text().previousPage}}</div>\n }\n </div>\n </button>\n </div>\n\n @if (showPages()) {\n <div class=\"col pad_5\">\n <!-- navigation -->\n <div class=\"row v_center pad_left5 pad_right5 bg_overlay brdr content_color ptl_brdr_radius ent_r2l_dir\"\n style=\"flex:1 1 auto;\">\n <!-- jump button -->\n <div class=\"center_right\" style=\"width:20px;min-width:20px;\">\n @if (activePage > 3) {\n <button class=\"access btn underline_md pag_btn clear\" tabindex=\"0\"\n [attr.aria-label]=\"text().jumpToPage\"\n (click)=\"op.toggle($event)\">...</button>\n }\n </div>\n <!-- nav buttons -->\n <div class=\"center_center\" style=\"min-width:180px;\">\n <!-- first -->\n @if ((activePage-2 >= 0 && activePage-2 < numberOfPages)) {\n <button class=\"access btn underline_md pag_btn clear\"\n [attr.aria-label]=\"text().page + ' ' + (activePage - 1)\"\n (click)=\"goToPage(activePage - 2, true)\">\n {{activePage - 1}}\n </button>\n }\n <!-- second -->\n @if ((activePage-1 >= 0 && activePage-1 < numberOfPages)) {\n <button class=\"access btn underline_md pag_btn clear\"\n [attr.aria-label]=\"text().page + ' ' + (activePage)\"\n (click)=\"goToPage(activePage - 1, true)\">\n {{activePage}}\n </button>\n }\n <!-- active page -->\n <div class=\"row pag_btn active brad_3 content_color\">\n <button style=\"cursor:default\"\n class=\"access col size_1 btn center_center brad_3 bg_overlay_rev brdr\" id=\"activePage\"\n [attr.aria-label]=\"text().page + ' ' + (activePage + 1)\" >\n {{activePage + 1}}\n </button>\n </div>\n <!-- fourth -->\n @if ((activePage+1 >= 0 && activePage+1 < numberOfPages)) {\n <button class=\"access btn underline_md pag_btn clear\"\n [attr.aria-label]=\"text().page + ' ' + (activePage + 2)\"\n (click)=\"goToPage(activePage + 1, true)\">\n {{activePage + 2}}\n </button>\n }\n <!-- fifth -->\n @if ((activePage+2 >= 0 && activePage+2 < numberOfPages)) {\n <button class=\"access btn underline_md pag_btn clear\"\n [attr.aria-label]=\"text().page + ' ' + (activePage + 3)\"\n (click)=\"goToPage(activePage + 2, true)\">\n {{activePage + 3}}\n </button>\n }\n </div>\n <!-- jump button -->\n <div class=\"center_left\" style=\"width:20px;min-width:20px;\">\n @if (activePage < getNumberOfPages() - 4) {\n <button class=\"access btn underline_md pag_btn clear\"\n [attr.aria-label]=\"text().jumpToPage\"\n (click)=\"op.toggle($event)\" >...</button>\n }\n </div>\n </div>\n </div>\n }\n\n <div class=\"col pad_5\">\n <!-- next -->\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"text().nextPage\"\n [disabled]=\"activePage === numberOfPages - 1 || totalLength() === 0\"\n (click)=\"hasPage(activePage + 1) ? goToPage(activePage + 1) : goToPage(activePage)\">\n <div class=\"col pad_tb5 pad_lr10 hov_glow next_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\n @if (showButtonLabels()) {\n <div class=\"text ent_r2l_txt\">{{text().nextPage}}</div>\n }\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\n <i class=\"fas fa-chevron-right ent_r2l_ico\"></i>\n </div>\n </div>\n </button>\n </div>\n\n @if (showFirstLast()) {\n <div class=\"col pad_5\">\n <!-- last -->\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"text().lastPage\"\n [disabled]=\"activePage === numberOfPages - 1\"\n (click)=\"goToLast()\">\n <div class=\"col pad_tb5 pad_lr10 hov_glow next_button_color ptl_brdr_radius ent_r2l_dir rc_gap\">\n @if (showButtonLabels()) {\n <div class=\"text ent_r2l_txt\">{{text().lastPage}}</div>\n }\n <div [ngClass]=\"showButtonLabels() ? '' : ''\">\n <i class=\"fas fa-angle-double-right ent_r2l_ico\"></i>\n </div>\n </div>\n </button>\n </div>\n }\n </div>\n </div>\n</div>\n\n<!-- Jump to popover -->\n<particle-popover #op>\n <ng-container *ngTemplateOutlet=\"jumpTo\"></ng-container>\n</particle-popover>\n\n<particle-popover #config>\n <ng-container *ngTemplateOutlet=\"jumpTo\"></ng-container>\n <ng-container *ngTemplateOutlet=\"pageSizeTemplate\"></ng-container>\n</particle-popover>\n\n<ng-template #jumpTo>\n @if (numberOfPages > 0) {\n <div class=\"row_block pad_10 center\">\n <div class=\"text sm text_center ent_r2l_txt\" style=\"text-align: center !important;\"><label for=\"pageJump\">{{text().jumpToPage}} ({{text().outOf}} {{numberOfPages}}):</label></div>\n <div class=\"row rc_gap center_center mar_top10 ent_r2l_dir\">\n <div class=\"col\">\n <input class=\"access fullwidth_input sm\" style=\"width:50px;\" maxlength=\"4\" id=\"pageJump\" (keydown.enter)=\"jumpPage();op.close();config.close();\"\n type=\"text\" [attr.aria-label]=\"text().page\" name=\"pagejump\" [placeholder]=\"text().page\" [(ngModel)]=\"pageJumpInput\" />\n </div>\n <div class=\"col\">\n <button class=\"access btn clear\" [attr.aria-label]=\"text().jumpToPage\"\n (click)=\"jumpPage();op.close();config.close();\">\n <i class=\"fas fa-chevron-right ent_r2l_ico\"></i>\n </button>\n </div>\n </div>\n </div>\n }\n </ng-template>\n\n <ng-template #pageSizeTemplate>\n <div class=\"row_block pad_10 center\">\n <div class=\"text sm text_center ent_r2l_txt\" style=\"text-align: center !important;\"><label for=\"pageSize\">{{text().itemsPerPage}}:</label></div>\n <div class=\"row rc_gap center_center mar_top10 ent_r2l_dir\">\n <div class=\"col\">\n <select class=\"access fullwidth_input content_color text sm\" style=\"width:50px;\"\n [(ngModel)]=\"pageSize\" (ngModelChange)=\"pageSizeChange();config.close();\" [title]=\"text().choosePageSize\" id=\"pageSize\">\n @for (option of pageSizeOptions(); track option) {\n <option [value]=\"option\" [attr.aria-label]=\"option\">\n {{option}}\n </option>\n }\n </select>\n </div>\n </div>\n </div>\n </ng-template>\n", styles: [".pag_btn{flex:1;max-width:60px;margin:0 1px;height:24px;font-size:10pt}.pag_btn.active{height:30px;margin-top:-3px;margin-bottom:-3px}.spinspin{opacity:.5}.spinspin:hover{animation:spin 2s linear infinite;opacity:1}@keyframes spin{to{transform:rotate(360deg)}}\n"] }]
|
|
3650
3695
|
}], propDecorators: { pageSizeOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizeOptions", required: false }] }], pageSize: [{
|
|
3651
3696
|
type: Input
|
|
3652
3697
|
}], totalLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "totalLength", required: false }] }], showPages: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPages", required: false }] }], showFirstLast: [{ type: i0.Input, args: [{ isSignal: true, alias: "showFirstLast", required: false }] }], showButtonLabels: [{ type: i0.Input, args: [{ isSignal: true, alias: "showButtonLabels", required: false }] }], showResultsPanel: [{ type: i0.Input, args: [{ isSignal: true, alias: "showResultsPanel", required: false }] }], startingPage: [{ type: i0.Input, args: [{ isSignal: true, alias: "startingPage", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], paginate: [{ type: i0.Output, args: ["paginate"] }] } });
|
|
@@ -3687,28 +3732,28 @@ class ProfilePicComponent {
|
|
|
3687
3732
|
}
|
|
3688
3733
|
url = null;
|
|
3689
3734
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ProfilePicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3690
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.5", type: ProfilePicComponent, isStandalone: true, selector: "particle-profile-pic", inputs: { size: "size", margin: "margin", toolTip: "toolTip", tooltipDisabled: "tooltipDisabled", gravatarEmail: "gravatarEmail", imageUrl: "imageUrl" }, ngImport: i0, template: `
|
|
3691
|
-
<div class="ptl_profile_pic"
|
|
3692
|
-
[style.height]="size"
|
|
3693
|
-
[style.width]="size"
|
|
3694
|
-
[style.margin]="margin"
|
|
3695
|
-
[style.background-image]="url"
|
|
3696
|
-
[particleTooltip]="toolTip"
|
|
3697
|
-
[tooltipDisabled]="tooltipDisabled"
|
|
3698
|
-
tooltipPosition="top">
|
|
3735
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.5", type: ProfilePicComponent, isStandalone: true, selector: "particle-profile-pic", inputs: { size: "size", margin: "margin", toolTip: "toolTip", tooltipDisabled: "tooltipDisabled", gravatarEmail: "gravatarEmail", imageUrl: "imageUrl" }, ngImport: i0, template: `
|
|
3736
|
+
<div class="ptl_profile_pic"
|
|
3737
|
+
[style.height]="size"
|
|
3738
|
+
[style.width]="size"
|
|
3739
|
+
[style.margin]="margin"
|
|
3740
|
+
[style.background-image]="url"
|
|
3741
|
+
[particleTooltip]="toolTip"
|
|
3742
|
+
[tooltipDisabled]="tooltipDisabled"
|
|
3743
|
+
tooltipPosition="top">
|
|
3699
3744
|
</div>`, isInline: true, styles: [".ptl_profile_pic{height:80px;width:80px;border-radius:50%;background-image:url(data:image/png;base64,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);background-size:105%;background-position:center center;background-repeat:no-repeat;border:1px solid rgba(0,0,0,.1)}\n"], dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[particleTooltip]", inputs: ["particleTooltip", "tooltipPosition", "tooltipDisabled"] }] });
|
|
3700
3745
|
}
|
|
3701
3746
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ProfilePicComponent, decorators: [{
|
|
3702
3747
|
type: Component,
|
|
3703
|
-
args: [{ selector: 'particle-profile-pic', template: `
|
|
3704
|
-
<div class="ptl_profile_pic"
|
|
3705
|
-
[style.height]="size"
|
|
3706
|
-
[style.width]="size"
|
|
3707
|
-
[style.margin]="margin"
|
|
3708
|
-
[style.background-image]="url"
|
|
3709
|
-
[particleTooltip]="toolTip"
|
|
3710
|
-
[tooltipDisabled]="tooltipDisabled"
|
|
3711
|
-
tooltipPosition="top">
|
|
3748
|
+
args: [{ selector: 'particle-profile-pic', template: `
|
|
3749
|
+
<div class="ptl_profile_pic"
|
|
3750
|
+
[style.height]="size"
|
|
3751
|
+
[style.width]="size"
|
|
3752
|
+
[style.margin]="margin"
|
|
3753
|
+
[style.background-image]="url"
|
|
3754
|
+
[particleTooltip]="toolTip"
|
|
3755
|
+
[tooltipDisabled]="tooltipDisabled"
|
|
3756
|
+
tooltipPosition="top">
|
|
3712
3757
|
</div>`, standalone: true, imports: [TooltipDirective], styles: [".ptl_profile_pic{height:80px;width:80px;border-radius:50%;background-image:url(data:image/png;base64,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);background-size:105%;background-position:center center;background-repeat:no-repeat;border:1px solid rgba(0,0,0,.1)}\n"] }]
|
|
3713
3758
|
}], propDecorators: { size: [{
|
|
3714
3759
|
type: Input
|
|
@@ -3913,11 +3958,11 @@ class RichTextComponent {
|
|
|
3913
3958
|
this.editor.commands.focus(position);
|
|
3914
3959
|
}
|
|
3915
3960
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: RichTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3916
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: RichTextComponent, isStandalone: true, selector: "particle-rich-text", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, hideControls: { classPropertyName: "hideControls", publicName: "hideControls", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, editorClass: { classPropertyName: "editorClass", publicName: "editorClass", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, capabilities: { classPropertyName: "capabilities", publicName: "capabilities", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { textChanged: "textChanged" }, providers: [RICH_TEXT_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"row_block width100 content_color ptl_brdr_radius ptl_brdr_color ptl_brdr_size\" style=\"overflow: hidden\">\r\n @if (!this.hideControls() && this.editor.isEditable) {\r\n <div class=\"row ptl_input_bg_color ptl_brdr_color ptl_brdr_size border_bottom wrap hide_element\">\r\n @if (capabilities().heading) {\r\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\r\n <button\r\n id=\"heading1\"\r\n [attr.aria-label]=\"text().heading1\"\r\n class=\"access btnset chip_size mar_right5 mar_left5 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().heading1\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().toggleHeading({ level: 1 }).run()\"\r\n [ngClass]=\"this.editor.isActive('heading', { level: 1 }) ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-header fa-fw\"></i>1\r\n </button>\r\n <button\r\n id=\"heading2\"\r\n [attr.aria-label]=\"text().heading2\"\r\n class=\"access btnset chip_size mar_right5 mar_left5 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().heading2\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().toggleHeading({ level: 2 }).run()\"\r\n [ngClass]=\"this.editor.isActive('heading', { level: 2 }) ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-header fa-fw\"></i>2\r\n </button>\r\n </div>\r\n }\r\n @if (capabilities().textDecoration) {\r\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\r\n <button\r\n id=\"bold\"\r\n [attr.aria-label]=\"text().bold\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().bold\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().toggleBold().run()\"\r\n [ngClass]=\"this.editor.isActive('bold') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-bold fa-fw\"></i>\r\n </button>\r\n <button\r\n id=\"italic\"\r\n [attr.aria-label]=\"text().italic\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().italic\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().toggleItalic().run()\"\r\n [ngClass]=\"this.editor.isActive('italic') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-italic fa-fw\"></i>\r\n </button>\r\n <button\r\n id=\"strike\"\r\n [attr.aria-label]=\"text().strike\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().strike\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().toggleStrike().run()\"\r\n [ngClass]=\"this.editor.isActive('strike') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-strikethrough fa-fw\"></i>\r\n </button>\r\n </div>\r\n }\r\n @if (capabilities().list) {\r\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\r\n <button\r\n id=\"bullet-list\"\r\n [attr.aria-label]=\"text().bulletedList\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().bulletedList\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().toggleBulletList().run()\"\r\n [ngClass]=\"this.editor.isActive('bullet-list') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-list fa-fw\"></i>\r\n </button>\r\n <button\r\n id=\"ordered-list\"\r\n [attr.aria-label]=\"text().orderedList\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().orderedList\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().toggleOrderedList().run()\"\r\n [ngClass]=\"this.editor.isActive('ordered-list') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-list-ol fa-fw\"></i>\r\n </button>\r\n </div>\r\n }\r\n @if (capabilities().alignment) {\r\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\r\n <button\r\n id=\"left-align\"\r\n [attr.aria-label]=\"text().leftAlign\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().leftAlign\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().setTextAlign('left').run()\"\r\n [ngClass]=\"this.editor.isActive({textAlign: 'left'}) ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-align-left fa-fw\"></i>\r\n </button>\r\n <button\r\n id=\"center-align\"\r\n [attr.aria-label]=\"text().centerAlign\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().centerAlign\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().setTextAlign('center').run()\"\r\n [ngClass]=\"this.editor.isActive({textAlign: 'center'}) ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-align-center fa-fw\"></i>\r\n </button>\r\n <button\r\n id=\"right-align\"\r\n [attr.aria-label]=\"text().rightAlign\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().rightAlign\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().setTextAlign('right').run()\"\r\n [ngClass]=\"this.editor.isActive({textAlign: 'right'}) ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-align-right fa-fw\"></i>\r\n </button>\r\n <button\r\n id=\"justify-align\"\r\n [attr.aria-label]=\"text().justifyAlign\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().justifyAlign\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().setTextAlign('justify').run()\"\r\n [ngClass]=\"this.editor.isActive({textAlign: 'justify'}) ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-align-justify fa-fw\"></i>\r\n </button>\r\n </div>\r\n }\r\n @if (capabilities().divider) {\r\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\r\n <button\r\n id=\"link\"\r\n [attr.aria-label]=\"text().divider\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().divider\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().setHorizontalRule().run()\"\r\n [ngClass]=\"this.editor.isActive('horizontalRule') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-divide fa-fw\"></i>\r\n </button>\r\n </div>\r\n }\r\n @if (capabilities().link) {\r\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\r\n <button\r\n id=\"link\"\r\n [attr.aria-label]=\"text().setLink\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().setLink\" tooltipPosition=\"top\"\r\n (click)=\"openLinkDialog()\"\r\n [ngClass]=\"this.editor.isActive('link') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-link fa-fw\"></i>\r\n </button>\r\n <button\r\n id=\"unlink\"\r\n [attr.aria-label]=\"text().removeLink\"\r\n class=\"access btnset chip_size content_color_dark_1 mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().removeLink\" tooltipPosition=\"top\"\r\n (click)=\"this.editor.isActive('link') ? changeEditorLink('remove') : null\"\r\n [disabled]=\"!this.editor.isActive('link')\"\r\n >\r\n <i class=\"fas fa-unlink fa-fw\"></i>\r\n </button>\r\n </div>\r\n }\r\n @if (capabilities().images) {\r\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\r\n <button\r\n id=\"image\"\r\n [attr.aria-label]=\"this.editor.isActive('image') ? text().modifyImage : text().addImage\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n (click)=\"openImageDialog()\"\r\n [particleTooltip]=\"this.editor.isActive('image') ? text().modifyImage : text().addImage\"\r\n tooltipPosition=\"top\"\r\n [ngClass]=\"this.editor.isActive('image') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"far fa-image fa-fw\"></i>\r\n </button>\r\n </div>\r\n }\r\n <div class=\"col v_center pad_5\">\r\n <button\r\n id=\"clear-format\"\r\n [attr.aria-label]=\"text().clearFormat\"\r\n class=\"access btnset chip_size content_color_dark_1 mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().clearFormat\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().clearNodes().unsetAllMarks().run()\"\r\n >\r\n <i class=\"fas fa-text-slash fa-fw\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n }\r\n <div class=\"pad_10 ptl_input_text_size scroll_yauto\" [ngClass]=\"editorClass()\" [style.height]=\"this.height()\">\r\n <tiptap-editor [editor]=\"editor\" [(ngModel)]=\"value\"></tiptap-editor>\r\n </div>\r\n</div>\r\n\r\n<particle-dialog\r\n [title]=\"dialogType === 'link' ? text().modifyLink : text().modifyImage\"\r\n titleClass=\"header_color min_h40\"\r\n [object]=\"showDialog\"\r\n [allowClose]=\"false\"\r\n width=\"400px\"\r\n height=\"150px\"\r\n >\r\n <div class=\"pad_15 ptl_input_text_size\" [style.height]=\"window.innerWidth > 768 ? '70px' : 'calc(100% - 40px)'\">\r\n <input class=\"access input md\"\r\n [(ngModel)]=\"dialogLink\"\r\n [attr.aria-label]=\"text().url\"\r\n placeholder=\"eg. https://www.google.com\"\r\n (keyup.enter)=\"changeEditorLink('save')\"\r\n />\r\n </div>\r\n <div class=\"col min_h40 footer_color\">\r\n <div class=\"row center_right pad_right15 pad_left15\">\r\n <div class=\"col\">\r\n <button class=\"access btnset clear\" [attr.aria-label]=\"text().cancel\" (click)=\"changeEditorLink('cancel')\">\r\n <div class=\" pad_5\">{{text().cancel}}</div>\r\n </button>\r\n <div class=\"mar_lr5 ptl_brdr_size ptl_brdr_color border_left\">\r\n </div>\r\n <button\r\n type=\"button\"\r\n class=\"access btnset spaced md hov_glow ok_button_color ptl_brdr_radius\"\r\n [attr.aria-label]=\"text().update\"\r\n (click)=\"changeEditorLink('save')\"\r\n >\r\n <div class=\"brdr border_right mar_right5 pad_right5\"><i class=\"fas fa-check\"></i></div>\r\n <div>{{text().update}}</div>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </particle-dialog>\r\n", styles: [".ProseMirror:focus{outline:none}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;pointer-events:none}.chip_size{display:flex;align-items:center;justify-content:center;width:22px;height:22px;max-width:22px;max-height:22px}\n"], dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[particleTooltip]", inputs: ["particleTooltip", "tooltipPosition", "tooltipDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TiptapEditorDirective, selector: "tiptap[editor], [tiptap][editor], tiptap-editor[editor], [tiptapEditor][editor]", inputs: ["editor", "outputFormat"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: DialogComponent, selector: "particle-dialog", inputs: ["object", "title", "titleClass", "showTitle", "allowClose", "bodyClass", "height", "width", "borderRadius", "text"], outputs: ["closed", "opened"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
3961
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: RichTextComponent, isStandalone: true, selector: "particle-rich-text", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, hideControls: { classPropertyName: "hideControls", publicName: "hideControls", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, editorClass: { classPropertyName: "editorClass", publicName: "editorClass", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, capabilities: { classPropertyName: "capabilities", publicName: "capabilities", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { textChanged: "textChanged" }, providers: [RICH_TEXT_VALUE_ACCESSOR], ngImport: i0, template: "<div class=\"row_block width100 content_color ptl_brdr_radius ptl_brdr_color ptl_brdr_size\" style=\"overflow: hidden\">\n @if (!this.hideControls() && this.editor.isEditable) {\n <div class=\"row ptl_input_bg_color ptl_brdr_color ptl_brdr_size border_bottom wrap hide_element\">\n @if (capabilities().heading) {\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\n <button\n id=\"heading1\"\n [attr.aria-label]=\"text().heading1\"\n class=\"access btnset chip_size mar_right5 mar_left5 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().heading1\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().toggleHeading({ level: 1 }).run()\"\n [ngClass]=\"this.editor.isActive('heading', { level: 1 }) ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-header fa-fw\"></i>1\n </button>\n <button\n id=\"heading2\"\n [attr.aria-label]=\"text().heading2\"\n class=\"access btnset chip_size mar_right5 mar_left5 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().heading2\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().toggleHeading({ level: 2 }).run()\"\n [ngClass]=\"this.editor.isActive('heading', { level: 2 }) ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-header fa-fw\"></i>2\n </button>\n </div>\n }\n @if (capabilities().textDecoration) {\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\n <button\n id=\"bold\"\n [attr.aria-label]=\"text().bold\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().bold\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().toggleBold().run()\"\n [ngClass]=\"this.editor.isActive('bold') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-bold fa-fw\"></i>\n </button>\n <button\n id=\"italic\"\n [attr.aria-label]=\"text().italic\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().italic\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().toggleItalic().run()\"\n [ngClass]=\"this.editor.isActive('italic') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-italic fa-fw\"></i>\n </button>\n <button\n id=\"strike\"\n [attr.aria-label]=\"text().strike\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().strike\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().toggleStrike().run()\"\n [ngClass]=\"this.editor.isActive('strike') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-strikethrough fa-fw\"></i>\n </button>\n </div>\n }\n @if (capabilities().list) {\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\n <button\n id=\"bullet-list\"\n [attr.aria-label]=\"text().bulletedList\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().bulletedList\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().toggleBulletList().run()\"\n [ngClass]=\"this.editor.isActive('bullet-list') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-list fa-fw\"></i>\n </button>\n <button\n id=\"ordered-list\"\n [attr.aria-label]=\"text().orderedList\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().orderedList\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().toggleOrderedList().run()\"\n [ngClass]=\"this.editor.isActive('ordered-list') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-list-ol fa-fw\"></i>\n </button>\n </div>\n }\n @if (capabilities().alignment) {\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\n <button\n id=\"left-align\"\n [attr.aria-label]=\"text().leftAlign\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().leftAlign\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().setTextAlign('left').run()\"\n [ngClass]=\"this.editor.isActive({textAlign: 'left'}) ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-align-left fa-fw\"></i>\n </button>\n <button\n id=\"center-align\"\n [attr.aria-label]=\"text().centerAlign\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().centerAlign\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().setTextAlign('center').run()\"\n [ngClass]=\"this.editor.isActive({textAlign: 'center'}) ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-align-center fa-fw\"></i>\n </button>\n <button\n id=\"right-align\"\n [attr.aria-label]=\"text().rightAlign\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().rightAlign\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().setTextAlign('right').run()\"\n [ngClass]=\"this.editor.isActive({textAlign: 'right'}) ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-align-right fa-fw\"></i>\n </button>\n <button\n id=\"justify-align\"\n [attr.aria-label]=\"text().justifyAlign\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().justifyAlign\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().setTextAlign('justify').run()\"\n [ngClass]=\"this.editor.isActive({textAlign: 'justify'}) ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-align-justify fa-fw\"></i>\n </button>\n </div>\n }\n @if (capabilities().divider) {\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\n <button\n id=\"link\"\n [attr.aria-label]=\"text().divider\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().divider\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().setHorizontalRule().run()\"\n [ngClass]=\"this.editor.isActive('horizontalRule') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-divide fa-fw\"></i>\n </button>\n </div>\n }\n @if (capabilities().link) {\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\n <button\n id=\"link\"\n [attr.aria-label]=\"text().setLink\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().setLink\" tooltipPosition=\"top\"\n (click)=\"openLinkDialog()\"\n [ngClass]=\"this.editor.isActive('link') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-link fa-fw\"></i>\n </button>\n <button\n id=\"unlink\"\n [attr.aria-label]=\"text().removeLink\"\n class=\"access btnset chip_size content_color_dark_1 mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().removeLink\" tooltipPosition=\"top\"\n (click)=\"this.editor.isActive('link') ? changeEditorLink('remove') : null\"\n [disabled]=\"!this.editor.isActive('link')\"\n >\n <i class=\"fas fa-unlink fa-fw\"></i>\n </button>\n </div>\n }\n @if (capabilities().images) {\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\n <button\n id=\"image\"\n [attr.aria-label]=\"this.editor.isActive('image') ? text().modifyImage : text().addImage\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n (click)=\"openImageDialog()\"\n [particleTooltip]=\"this.editor.isActive('image') ? text().modifyImage : text().addImage\"\n tooltipPosition=\"top\"\n [ngClass]=\"this.editor.isActive('image') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"far fa-image fa-fw\"></i>\n </button>\n </div>\n }\n <div class=\"col v_center pad_5\">\n <button\n id=\"clear-format\"\n [attr.aria-label]=\"text().clearFormat\"\n class=\"access btnset chip_size content_color_dark_1 mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().clearFormat\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().clearNodes().unsetAllMarks().run()\"\n >\n <i class=\"fas fa-text-slash fa-fw\"></i>\n </button>\n </div>\n </div>\n }\n <div class=\"pad_10 ptl_input_text_size scroll_yauto\" [ngClass]=\"editorClass()\" [style.height]=\"this.height()\">\n <tiptap-editor [editor]=\"editor\" [(ngModel)]=\"value\"></tiptap-editor>\n </div>\n</div>\n\n<particle-dialog\n [title]=\"dialogType === 'link' ? text().modifyLink : text().modifyImage\"\n titleClass=\"header_color min_h40\"\n [object]=\"showDialog\"\n [allowClose]=\"false\"\n width=\"400px\"\n height=\"150px\"\n >\n <div class=\"pad_15 ptl_input_text_size\" [style.height]=\"window.innerWidth > 768 ? '70px' : 'calc(100% - 40px)'\">\n <input class=\"access input md\"\n [(ngModel)]=\"dialogLink\"\n [attr.aria-label]=\"text().url\"\n placeholder=\"eg. https://www.google.com\"\n (keyup.enter)=\"changeEditorLink('save')\"\n />\n </div>\n <div class=\"col min_h40 footer_color\">\n <div class=\"row center_right pad_right15 pad_left15\">\n <div class=\"col\">\n <button class=\"access btnset clear\" [attr.aria-label]=\"text().cancel\" (click)=\"changeEditorLink('cancel')\">\n <div class=\" pad_5\">{{text().cancel}}</div>\n </button>\n <div class=\"mar_lr5 ptl_brdr_size ptl_brdr_color border_left\">\n </div>\n <button\n type=\"button\"\n class=\"access btnset spaced md hov_glow ok_button_color ptl_brdr_radius\"\n [attr.aria-label]=\"text().update\"\n (click)=\"changeEditorLink('save')\"\n >\n <div class=\"brdr border_right mar_right5 pad_right5\"><i class=\"fas fa-check\"></i></div>\n <div>{{text().update}}</div>\n </button>\n </div>\n </div>\n </div>\n </particle-dialog>\n", styles: [".ProseMirror:focus{outline:none}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;pointer-events:none}.chip_size{display:flex;align-items:center;justify-content:center;width:22px;height:22px;max-width:22px;max-height:22px}\n"], dependencies: [{ kind: "directive", type: TooltipDirective, selector: "[particleTooltip]", inputs: ["particleTooltip", "tooltipPosition", "tooltipDisabled"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: TiptapEditorDirective, selector: "tiptap[editor], [tiptap][editor], tiptap-editor[editor], [tiptapEditor][editor]", inputs: ["editor", "outputFormat"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: DialogComponent, selector: "particle-dialog", inputs: ["object", "title", "titleClass", "showTitle", "allowClose", "bodyClass", "height", "width", "borderRadius", "text"], outputs: ["closed", "closeAttempt", "opened"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
3917
3962
|
}
|
|
3918
3963
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: RichTextComponent, decorators: [{
|
|
3919
3964
|
type: Component,
|
|
3920
|
-
args: [{ selector: 'particle-rich-text', providers: [RICH_TEXT_VALUE_ACCESSOR], encapsulation: ViewEncapsulation.None, imports: [TooltipDirective, NgClass, TiptapEditorDirective, FormsModule, DialogComponent], template: "<div class=\"row_block width100 content_color ptl_brdr_radius ptl_brdr_color ptl_brdr_size\" style=\"overflow: hidden\">\r\n @if (!this.hideControls() && this.editor.isEditable) {\r\n <div class=\"row ptl_input_bg_color ptl_brdr_color ptl_brdr_size border_bottom wrap hide_element\">\r\n @if (capabilities().heading) {\r\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\r\n <button\r\n id=\"heading1\"\r\n [attr.aria-label]=\"text().heading1\"\r\n class=\"access btnset chip_size mar_right5 mar_left5 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().heading1\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().toggleHeading({ level: 1 }).run()\"\r\n [ngClass]=\"this.editor.isActive('heading', { level: 1 }) ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-header fa-fw\"></i>1\r\n </button>\r\n <button\r\n id=\"heading2\"\r\n [attr.aria-label]=\"text().heading2\"\r\n class=\"access btnset chip_size mar_right5 mar_left5 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().heading2\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().toggleHeading({ level: 2 }).run()\"\r\n [ngClass]=\"this.editor.isActive('heading', { level: 2 }) ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-header fa-fw\"></i>2\r\n </button>\r\n </div>\r\n }\r\n @if (capabilities().textDecoration) {\r\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\r\n <button\r\n id=\"bold\"\r\n [attr.aria-label]=\"text().bold\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().bold\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().toggleBold().run()\"\r\n [ngClass]=\"this.editor.isActive('bold') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-bold fa-fw\"></i>\r\n </button>\r\n <button\r\n id=\"italic\"\r\n [attr.aria-label]=\"text().italic\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().italic\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().toggleItalic().run()\"\r\n [ngClass]=\"this.editor.isActive('italic') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-italic fa-fw\"></i>\r\n </button>\r\n <button\r\n id=\"strike\"\r\n [attr.aria-label]=\"text().strike\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().strike\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().toggleStrike().run()\"\r\n [ngClass]=\"this.editor.isActive('strike') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-strikethrough fa-fw\"></i>\r\n </button>\r\n </div>\r\n }\r\n @if (capabilities().list) {\r\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\r\n <button\r\n id=\"bullet-list\"\r\n [attr.aria-label]=\"text().bulletedList\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().bulletedList\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().toggleBulletList().run()\"\r\n [ngClass]=\"this.editor.isActive('bullet-list') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-list fa-fw\"></i>\r\n </button>\r\n <button\r\n id=\"ordered-list\"\r\n [attr.aria-label]=\"text().orderedList\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().orderedList\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().toggleOrderedList().run()\"\r\n [ngClass]=\"this.editor.isActive('ordered-list') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-list-ol fa-fw\"></i>\r\n </button>\r\n </div>\r\n }\r\n @if (capabilities().alignment) {\r\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\r\n <button\r\n id=\"left-align\"\r\n [attr.aria-label]=\"text().leftAlign\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().leftAlign\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().setTextAlign('left').run()\"\r\n [ngClass]=\"this.editor.isActive({textAlign: 'left'}) ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-align-left fa-fw\"></i>\r\n </button>\r\n <button\r\n id=\"center-align\"\r\n [attr.aria-label]=\"text().centerAlign\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().centerAlign\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().setTextAlign('center').run()\"\r\n [ngClass]=\"this.editor.isActive({textAlign: 'center'}) ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-align-center fa-fw\"></i>\r\n </button>\r\n <button\r\n id=\"right-align\"\r\n [attr.aria-label]=\"text().rightAlign\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().rightAlign\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().setTextAlign('right').run()\"\r\n [ngClass]=\"this.editor.isActive({textAlign: 'right'}) ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-align-right fa-fw\"></i>\r\n </button>\r\n <button\r\n id=\"justify-align\"\r\n [attr.aria-label]=\"text().justifyAlign\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().justifyAlign\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().setTextAlign('justify').run()\"\r\n [ngClass]=\"this.editor.isActive({textAlign: 'justify'}) ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-align-justify fa-fw\"></i>\r\n </button>\r\n </div>\r\n }\r\n @if (capabilities().divider) {\r\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\r\n <button\r\n id=\"link\"\r\n [attr.aria-label]=\"text().divider\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().divider\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().setHorizontalRule().run()\"\r\n [ngClass]=\"this.editor.isActive('horizontalRule') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-divide fa-fw\"></i>\r\n </button>\r\n </div>\r\n }\r\n @if (capabilities().link) {\r\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\r\n <button\r\n id=\"link\"\r\n [attr.aria-label]=\"text().setLink\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().setLink\" tooltipPosition=\"top\"\r\n (click)=\"openLinkDialog()\"\r\n [ngClass]=\"this.editor.isActive('link') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"fas fa-link fa-fw\"></i>\r\n </button>\r\n <button\r\n id=\"unlink\"\r\n [attr.aria-label]=\"text().removeLink\"\r\n class=\"access btnset chip_size content_color_dark_1 mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().removeLink\" tooltipPosition=\"top\"\r\n (click)=\"this.editor.isActive('link') ? changeEditorLink('remove') : null\"\r\n [disabled]=\"!this.editor.isActive('link')\"\r\n >\r\n <i class=\"fas fa-unlink fa-fw\"></i>\r\n </button>\r\n </div>\r\n }\r\n @if (capabilities().images) {\r\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\r\n <button\r\n id=\"image\"\r\n [attr.aria-label]=\"this.editor.isActive('image') ? text().modifyImage : text().addImage\"\r\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n (click)=\"openImageDialog()\"\r\n [particleTooltip]=\"this.editor.isActive('image') ? text().modifyImage : text().addImage\"\r\n tooltipPosition=\"top\"\r\n [ngClass]=\"this.editor.isActive('image') ? 'ok_button_color' : 'content_color_dark_1'\"\r\n >\r\n <i class=\"far fa-image fa-fw\"></i>\r\n </button>\r\n </div>\r\n }\r\n <div class=\"col v_center pad_5\">\r\n <button\r\n id=\"clear-format\"\r\n [attr.aria-label]=\"text().clearFormat\"\r\n class=\"access btnset chip_size content_color_dark_1 mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\r\n [particleTooltip]=\"text().clearFormat\" tooltipPosition=\"top\"\r\n (click)=\"editor.chain().focus().clearNodes().unsetAllMarks().run()\"\r\n >\r\n <i class=\"fas fa-text-slash fa-fw\"></i>\r\n </button>\r\n </div>\r\n </div>\r\n }\r\n <div class=\"pad_10 ptl_input_text_size scroll_yauto\" [ngClass]=\"editorClass()\" [style.height]=\"this.height()\">\r\n <tiptap-editor [editor]=\"editor\" [(ngModel)]=\"value\"></tiptap-editor>\r\n </div>\r\n</div>\r\n\r\n<particle-dialog\r\n [title]=\"dialogType === 'link' ? text().modifyLink : text().modifyImage\"\r\n titleClass=\"header_color min_h40\"\r\n [object]=\"showDialog\"\r\n [allowClose]=\"false\"\r\n width=\"400px\"\r\n height=\"150px\"\r\n >\r\n <div class=\"pad_15 ptl_input_text_size\" [style.height]=\"window.innerWidth > 768 ? '70px' : 'calc(100% - 40px)'\">\r\n <input class=\"access input md\"\r\n [(ngModel)]=\"dialogLink\"\r\n [attr.aria-label]=\"text().url\"\r\n placeholder=\"eg. https://www.google.com\"\r\n (keyup.enter)=\"changeEditorLink('save')\"\r\n />\r\n </div>\r\n <div class=\"col min_h40 footer_color\">\r\n <div class=\"row center_right pad_right15 pad_left15\">\r\n <div class=\"col\">\r\n <button class=\"access btnset clear\" [attr.aria-label]=\"text().cancel\" (click)=\"changeEditorLink('cancel')\">\r\n <div class=\" pad_5\">{{text().cancel}}</div>\r\n </button>\r\n <div class=\"mar_lr5 ptl_brdr_size ptl_brdr_color border_left\">\r\n </div>\r\n <button\r\n type=\"button\"\r\n class=\"access btnset spaced md hov_glow ok_button_color ptl_brdr_radius\"\r\n [attr.aria-label]=\"text().update\"\r\n (click)=\"changeEditorLink('save')\"\r\n >\r\n <div class=\"brdr border_right mar_right5 pad_right5\"><i class=\"fas fa-check\"></i></div>\r\n <div>{{text().update}}</div>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n </particle-dialog>\r\n", styles: [".ProseMirror:focus{outline:none}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;pointer-events:none}.chip_size{display:flex;align-items:center;justify-content:center;width:22px;height:22px;max-width:22px;max-height:22px}\n"] }]
|
|
3965
|
+
args: [{ selector: 'particle-rich-text', providers: [RICH_TEXT_VALUE_ACCESSOR], encapsulation: ViewEncapsulation.None, imports: [TooltipDirective, NgClass, TiptapEditorDirective, FormsModule, DialogComponent], template: "<div class=\"row_block width100 content_color ptl_brdr_radius ptl_brdr_color ptl_brdr_size\" style=\"overflow: hidden\">\n @if (!this.hideControls() && this.editor.isEditable) {\n <div class=\"row ptl_input_bg_color ptl_brdr_color ptl_brdr_size border_bottom wrap hide_element\">\n @if (capabilities().heading) {\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\n <button\n id=\"heading1\"\n [attr.aria-label]=\"text().heading1\"\n class=\"access btnset chip_size mar_right5 mar_left5 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().heading1\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().toggleHeading({ level: 1 }).run()\"\n [ngClass]=\"this.editor.isActive('heading', { level: 1 }) ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-header fa-fw\"></i>1\n </button>\n <button\n id=\"heading2\"\n [attr.aria-label]=\"text().heading2\"\n class=\"access btnset chip_size mar_right5 mar_left5 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().heading2\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().toggleHeading({ level: 2 }).run()\"\n [ngClass]=\"this.editor.isActive('heading', { level: 2 }) ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-header fa-fw\"></i>2\n </button>\n </div>\n }\n @if (capabilities().textDecoration) {\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\n <button\n id=\"bold\"\n [attr.aria-label]=\"text().bold\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().bold\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().toggleBold().run()\"\n [ngClass]=\"this.editor.isActive('bold') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-bold fa-fw\"></i>\n </button>\n <button\n id=\"italic\"\n [attr.aria-label]=\"text().italic\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().italic\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().toggleItalic().run()\"\n [ngClass]=\"this.editor.isActive('italic') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-italic fa-fw\"></i>\n </button>\n <button\n id=\"strike\"\n [attr.aria-label]=\"text().strike\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().strike\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().toggleStrike().run()\"\n [ngClass]=\"this.editor.isActive('strike') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-strikethrough fa-fw\"></i>\n </button>\n </div>\n }\n @if (capabilities().list) {\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\n <button\n id=\"bullet-list\"\n [attr.aria-label]=\"text().bulletedList\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().bulletedList\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().toggleBulletList().run()\"\n [ngClass]=\"this.editor.isActive('bullet-list') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-list fa-fw\"></i>\n </button>\n <button\n id=\"ordered-list\"\n [attr.aria-label]=\"text().orderedList\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().orderedList\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().toggleOrderedList().run()\"\n [ngClass]=\"this.editor.isActive('ordered-list') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-list-ol fa-fw\"></i>\n </button>\n </div>\n }\n @if (capabilities().alignment) {\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\n <button\n id=\"left-align\"\n [attr.aria-label]=\"text().leftAlign\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().leftAlign\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().setTextAlign('left').run()\"\n [ngClass]=\"this.editor.isActive({textAlign: 'left'}) ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-align-left fa-fw\"></i>\n </button>\n <button\n id=\"center-align\"\n [attr.aria-label]=\"text().centerAlign\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().centerAlign\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().setTextAlign('center').run()\"\n [ngClass]=\"this.editor.isActive({textAlign: 'center'}) ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-align-center fa-fw\"></i>\n </button>\n <button\n id=\"right-align\"\n [attr.aria-label]=\"text().rightAlign\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().rightAlign\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().setTextAlign('right').run()\"\n [ngClass]=\"this.editor.isActive({textAlign: 'right'}) ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-align-right fa-fw\"></i>\n </button>\n <button\n id=\"justify-align\"\n [attr.aria-label]=\"text().justifyAlign\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().justifyAlign\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().setTextAlign('justify').run()\"\n [ngClass]=\"this.editor.isActive({textAlign: 'justify'}) ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-align-justify fa-fw\"></i>\n </button>\n </div>\n }\n @if (capabilities().divider) {\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\n <button\n id=\"link\"\n [attr.aria-label]=\"text().divider\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().divider\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().setHorizontalRule().run()\"\n [ngClass]=\"this.editor.isActive('horizontalRule') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-divide fa-fw\"></i>\n </button>\n </div>\n }\n @if (capabilities().link) {\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\n <button\n id=\"link\"\n [attr.aria-label]=\"text().setLink\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().setLink\" tooltipPosition=\"top\"\n (click)=\"openLinkDialog()\"\n [ngClass]=\"this.editor.isActive('link') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"fas fa-link fa-fw\"></i>\n </button>\n <button\n id=\"unlink\"\n [attr.aria-label]=\"text().removeLink\"\n class=\"access btnset chip_size content_color_dark_1 mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().removeLink\" tooltipPosition=\"top\"\n (click)=\"this.editor.isActive('link') ? changeEditorLink('remove') : null\"\n [disabled]=\"!this.editor.isActive('link')\"\n >\n <i class=\"fas fa-unlink fa-fw\"></i>\n </button>\n </div>\n }\n @if (capabilities().images) {\n <div class=\"col v_center ptl_brdr_color ptl_brdr_size border_right pad_5\">\n <button\n id=\"image\"\n [attr.aria-label]=\"this.editor.isActive('image') ? text().modifyImage : text().addImage\"\n class=\"access btnset chip_size mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n (click)=\"openImageDialog()\"\n [particleTooltip]=\"this.editor.isActive('image') ? text().modifyImage : text().addImage\"\n tooltipPosition=\"top\"\n [ngClass]=\"this.editor.isActive('image') ? 'ok_button_color' : 'content_color_dark_1'\"\n >\n <i class=\"far fa-image fa-fw\"></i>\n </button>\n </div>\n }\n <div class=\"col v_center pad_5\">\n <button\n id=\"clear-format\"\n [attr.aria-label]=\"text().clearFormat\"\n class=\"access btnset chip_size content_color_dark_1 mar_right3 mar_left3 ptl_brdr_radius hov_darken\"\n [particleTooltip]=\"text().clearFormat\" tooltipPosition=\"top\"\n (click)=\"editor.chain().focus().clearNodes().unsetAllMarks().run()\"\n >\n <i class=\"fas fa-text-slash fa-fw\"></i>\n </button>\n </div>\n </div>\n }\n <div class=\"pad_10 ptl_input_text_size scroll_yauto\" [ngClass]=\"editorClass()\" [style.height]=\"this.height()\">\n <tiptap-editor [editor]=\"editor\" [(ngModel)]=\"value\"></tiptap-editor>\n </div>\n</div>\n\n<particle-dialog\n [title]=\"dialogType === 'link' ? text().modifyLink : text().modifyImage\"\n titleClass=\"header_color min_h40\"\n [object]=\"showDialog\"\n [allowClose]=\"false\"\n width=\"400px\"\n height=\"150px\"\n >\n <div class=\"pad_15 ptl_input_text_size\" [style.height]=\"window.innerWidth > 768 ? '70px' : 'calc(100% - 40px)'\">\n <input class=\"access input md\"\n [(ngModel)]=\"dialogLink\"\n [attr.aria-label]=\"text().url\"\n placeholder=\"eg. https://www.google.com\"\n (keyup.enter)=\"changeEditorLink('save')\"\n />\n </div>\n <div class=\"col min_h40 footer_color\">\n <div class=\"row center_right pad_right15 pad_left15\">\n <div class=\"col\">\n <button class=\"access btnset clear\" [attr.aria-label]=\"text().cancel\" (click)=\"changeEditorLink('cancel')\">\n <div class=\" pad_5\">{{text().cancel}}</div>\n </button>\n <div class=\"mar_lr5 ptl_brdr_size ptl_brdr_color border_left\">\n </div>\n <button\n type=\"button\"\n class=\"access btnset spaced md hov_glow ok_button_color ptl_brdr_radius\"\n [attr.aria-label]=\"text().update\"\n (click)=\"changeEditorLink('save')\"\n >\n <div class=\"brdr border_right mar_right5 pad_right5\"><i class=\"fas fa-check\"></i></div>\n <div>{{text().update}}</div>\n </button>\n </div>\n </div>\n </div>\n </particle-dialog>\n", styles: [".ProseMirror:focus{outline:none}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;pointer-events:none}.chip_size{display:flex;align-items:center;justify-content:center;width:22px;height:22px;max-width:22px;max-height:22px}\n"] }]
|
|
3921
3966
|
}], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], hideControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideControls", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], editorClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "editorClass", required: false }] }], readonly: [{
|
|
3922
3967
|
type: Input
|
|
3923
3968
|
}], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], capabilities: [{ type: i0.Input, args: [{ isSignal: true, alias: "capabilities", required: false }] }], textChanged: [{ type: i0.Output, args: ["textChanged"] }] } });
|
|
@@ -4413,11 +4458,11 @@ class CalendarComponent {
|
|
|
4413
4458
|
this.selectedDate = null;
|
|
4414
4459
|
}
|
|
4415
4460
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4416
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: CalendarComponent, isStandalone: true, selector: "particle-calendar", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, dateRange: { classPropertyName: "dateRange", publicName: "dateRange", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, showControls: { classPropertyName: "showControls", publicName: "showControls", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected", closed: "closed" }, host: { listeners: { "window:keyup": "onKeyUp($event)", "window:click": "handleClick($event)" } }, viewQueries: [{ propertyName: "calendarWidgetDiv", first: true, predicate: ["calendarWidgetDiv"], descendants: true }, { propertyName: "yearSelect", first: true, predicate: ["yearSelect"], descendants: true }, { propertyName: "doneButton", first: true, predicate: ["doneButton"], descendants: true }, { propertyName: "calendarDates", predicate: ["calendarDate"], descendants: true }], ngImport: i0, template: "<div #calendarWidgetDiv\
|
|
4461
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: CalendarComponent, isStandalone: true, selector: "particle-calendar", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: false, isRequired: false, transformFunction: null }, dateRange: { classPropertyName: "dateRange", publicName: "dateRange", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: false, isRequired: false, transformFunction: null }, showControls: { classPropertyName: "showControls", publicName: "showControls", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { selected: "selected", closed: "closed" }, host: { listeners: { "window:keyup": "onKeyUp($event)", "window:click": "handleClick($event)" } }, viewQueries: [{ propertyName: "calendarWidgetDiv", first: true, predicate: ["calendarWidgetDiv"], descendants: true }, { propertyName: "yearSelect", first: true, predicate: ["yearSelect"], descendants: true }, { propertyName: "doneButton", first: true, predicate: ["doneButton"], descendants: true }, { propertyName: "calendarDates", predicate: ["calendarDate"], descendants: true }], ngImport: i0, template: "<div #calendarWidgetDiv\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n class=\"particle_datepicker_options\"\n role=\"application\">\n <!-- month / year select -->\n <div class=\"content_color pad_5 pad_bot0\">\n <div class=\"row space_between\">\n <div class=\"col size_1 mar_5\">\n <select #yearSelect\n [ngModel]=\"_selectedYear | async\"\n [attr.data-dialog-close-override]=\"true\"\n (change)=\"_selectedYear.next(+yearSelect.value)\"\n (keyup.escape)=\"closed.emit()\"\n class=\"access input sm content_color\"\n [attr.aria-label]=\"text.selectAYear\">\n @for (year of validYearRange$ | async; track $index) {\n <option\n [value]=\"year\">\n {{year}}\n </option>\n }\n </select>\n </div>\n <div class=\"col size_2 mar_5\">\n <select #monthSelect\n [ngModel]=\"_selectedMonth | async\"\n (change)=\"_selectedMonth.next(+monthSelect.value)\"\n (keyup.escape)=\"closed.emit()\"\n [attr.data-dialog-close-override]=\"true\"\n class=\"access input sm content_color\"\n [attr.aria-label]=\"text.selectAMonth\">\n <option value=\"0\">{{text.january}}</option>\n <option value=\"1\">{{text.february}}</option>\n <option value=\"2\">{{text.march}}</option>\n <option value=\"3\">{{text.april}}</option>\n <option value=\"4\">{{text.may}}</option>\n <option value=\"5\">{{text.june}}</option>\n <option value=\"6\">{{text.july}}</option>\n <option value=\"7\">{{text.august}}</option>\n <option value=\"8\">{{text.september}}</option>\n <option value=\"9\">{{text.october}}</option>\n <option value=\"10\">{{text.november}}</option>\n <option value=\"11\">{{text.december}}</option>\n </select>\n </div>\n </div>\n </div>\n <div class=\"content_color pad_5\">\n <!-- weekdays -->\n <div class=\"mar_5 mar_bot10 ent_l2r_dir\">\n <div class=\"row wrap space_between ptl_input_bg_color ptl_brdr_color border_bottom brad_3 mar_bot5\">\n <div class=\"particle_datepicker_weekday\">{{text.sundayAbbr}}</div>\n <div class=\"particle_datepicker_weekday\">{{text.mondayAbbr}}</div>\n <div class=\"particle_datepicker_weekday\">{{text.tuesdayAbbr}}</div>\n <div class=\"particle_datepicker_weekday\">{{text.wednesdayAbbr}}</div>\n <div class=\"particle_datepicker_weekday\">{{text.thursdayAbbr}}</div>\n <div class=\"particle_datepicker_weekday\">{{text.fridayAbbr}}</div>\n <div class=\"particle_datepicker_weekday\">{{text.saturdayAbbr}}</div>\n </div>\n <!-- days -->\n <div class=\"row wrap space_between\">\n @for (dayInMonth of fullMonth$ | async; track $index) {\n <div [ngClass]=\"{'today': (dayInMonth.date === currentDate.date && dayInMonth.month === currentDate.month && dayInMonth.year === currentDate.year)}\"\n class=\"particle_datepicker_day\">\n @if (dayInMonth.selectable) {\n <button #calendarDate\n (click)=\"handleDateSelection(dayInMonth)\"\n (keyup.escape)=\"closed.emit()\"\n [attr.data-date]=\"dayInMonth.date\"\n [attr.data-dialog-close-override]=\"true\"\n [attr.aria-label]=\"text.select + ' ' + weekDays[dayInMonth.day] + ' ' + text.the + ' ' + (dayInMonth.date | ordinalNumber)\"\n [ngClass]=\"{\n 'ok_button_color': (dayInMonth.date === selectedDate?.date && dayInMonth.month === selectedDate?.month && dayInMonth.year === selectedDate?.year),\n 'bg_overlay_rev brdr hov_bg': (dayInMonth.date !== selectedDate?.date || dayInMonth.month !== selectedDate?.month || dayInMonth.year !== selectedDate?.year)\n }\"\n class=\"access day_button\">\n {{dayInMonth.date}}\n </button>\n } @else {\n <div class=\"day_disabled\">\n {{dayInMonth.date}}\n </div>\n }\n </div>\n }\n </div>\n </div>\n @if (showControls()) {\n <div class=\"bg_overlay brdr hr mar_5\"></div>\n <div class=\"row space_between\">\n @if (currentDate.selectable) {\n @if ((currentDate.date === selectedDate?.date && currentDate.month === selectedDate?.month && currentDate.year === selectedDate?.year)) {\n <button\n disabled\n class=\"access btn sm bg_overlay_rev brdr hov_bg mar_5\"\n [attr.aria-label]=\"text.resetDateToToday\">\n <span class=\"text bold\">{{text.selectToday}}</span>\n </button>\n } @else {\n <button (keyup.escape)=\"closed.emit()\"\n (click)=\"selectToday()\"\n [attr.data-dialog-close-override]=\"true\"\n class=\"access btn sm bg_overlay_rev brdr hov_bg mar_5\"\n [attr.aria-label]=\"text.resetDateToToday\">\n <span class=\"text bold\">{{text.selectToday}}</span>\n </button>\n }\n }\n <button #doneButton\n (keyup.escape)=\"closed.emit()\"\n (click)=\"closed.emit()\"\n [attr.data-dialog-close-override]=\"true\"\n class=\"access btn sm bg_overlay_rev brdr mar_5 hov_bg\"\n [attr.aria-label]=\"text.saveDate\">\n <i class=\"fas fa-check mar_right5\"></i><span class=\"text bold\">{{text.done}}</span>\n </button>\n </div>\n }\n </div>\n</div>\n", styles: [".particle_datepicker_options{border-radius:3px;line-height:1.5;overflow:hidden;list-style-type:none;font-weight:400;z-index:var(--z-overlay);width:300px}.particle_datepicker_weekday{font-size:12px;font-weight:900;min-width:30px;height:32px;display:flex;flex:1;align-items:center;justify-content:center;opacity:.8;-webkit-user-select:none;user-select:none}.particle_datepicker_day{font-size:12px;font-weight:400;min-width:14%;height:32px;display:flex;flex:1;border-radius:3px;-webkit-user-select:none;user-select:none;background-color:transparent}.particle_datepicker_day.today{background-color:#8080801a}.particle_datepicker_day .day_button{cursor:pointer;-webkit-user-select:none;user-select:none;border:none;display:flex;flex:1;width:100%;align-items:center;justify-content:center;padding:0;border-radius:3px}.particle_datepicker_day .day_disabled{opacity:.3;display:flex;flex:1;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: CdkTrapFocus, selector: "[cdkTrapFocus]", inputs: ["cdkTrapFocus", "cdkTrapFocusAutoCapture"], exportAs: ["cdkTrapFocus"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: OrdinalNumberPipe, name: "ordinalNumber" }] });
|
|
4417
4462
|
}
|
|
4418
4463
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
4419
4464
|
type: Component,
|
|
4420
|
-
args: [{ selector: 'particle-calendar', imports: [CdkTrapFocus, FormsModule, NgClass, AsyncPipe, OrdinalNumberPipe], template: "<div #calendarWidgetDiv\
|
|
4465
|
+
args: [{ selector: 'particle-calendar', imports: [CdkTrapFocus, FormsModule, NgClass, AsyncPipe, OrdinalNumberPipe], template: "<div #calendarWidgetDiv\n cdkTrapFocus\n cdkTrapFocusAutoCapture\n class=\"particle_datepicker_options\"\n role=\"application\">\n <!-- month / year select -->\n <div class=\"content_color pad_5 pad_bot0\">\n <div class=\"row space_between\">\n <div class=\"col size_1 mar_5\">\n <select #yearSelect\n [ngModel]=\"_selectedYear | async\"\n [attr.data-dialog-close-override]=\"true\"\n (change)=\"_selectedYear.next(+yearSelect.value)\"\n (keyup.escape)=\"closed.emit()\"\n class=\"access input sm content_color\"\n [attr.aria-label]=\"text.selectAYear\">\n @for (year of validYearRange$ | async; track $index) {\n <option\n [value]=\"year\">\n {{year}}\n </option>\n }\n </select>\n </div>\n <div class=\"col size_2 mar_5\">\n <select #monthSelect\n [ngModel]=\"_selectedMonth | async\"\n (change)=\"_selectedMonth.next(+monthSelect.value)\"\n (keyup.escape)=\"closed.emit()\"\n [attr.data-dialog-close-override]=\"true\"\n class=\"access input sm content_color\"\n [attr.aria-label]=\"text.selectAMonth\">\n <option value=\"0\">{{text.january}}</option>\n <option value=\"1\">{{text.february}}</option>\n <option value=\"2\">{{text.march}}</option>\n <option value=\"3\">{{text.april}}</option>\n <option value=\"4\">{{text.may}}</option>\n <option value=\"5\">{{text.june}}</option>\n <option value=\"6\">{{text.july}}</option>\n <option value=\"7\">{{text.august}}</option>\n <option value=\"8\">{{text.september}}</option>\n <option value=\"9\">{{text.october}}</option>\n <option value=\"10\">{{text.november}}</option>\n <option value=\"11\">{{text.december}}</option>\n </select>\n </div>\n </div>\n </div>\n <div class=\"content_color pad_5\">\n <!-- weekdays -->\n <div class=\"mar_5 mar_bot10 ent_l2r_dir\">\n <div class=\"row wrap space_between ptl_input_bg_color ptl_brdr_color border_bottom brad_3 mar_bot5\">\n <div class=\"particle_datepicker_weekday\">{{text.sundayAbbr}}</div>\n <div class=\"particle_datepicker_weekday\">{{text.mondayAbbr}}</div>\n <div class=\"particle_datepicker_weekday\">{{text.tuesdayAbbr}}</div>\n <div class=\"particle_datepicker_weekday\">{{text.wednesdayAbbr}}</div>\n <div class=\"particle_datepicker_weekday\">{{text.thursdayAbbr}}</div>\n <div class=\"particle_datepicker_weekday\">{{text.fridayAbbr}}</div>\n <div class=\"particle_datepicker_weekday\">{{text.saturdayAbbr}}</div>\n </div>\n <!-- days -->\n <div class=\"row wrap space_between\">\n @for (dayInMonth of fullMonth$ | async; track $index) {\n <div [ngClass]=\"{'today': (dayInMonth.date === currentDate.date && dayInMonth.month === currentDate.month && dayInMonth.year === currentDate.year)}\"\n class=\"particle_datepicker_day\">\n @if (dayInMonth.selectable) {\n <button #calendarDate\n (click)=\"handleDateSelection(dayInMonth)\"\n (keyup.escape)=\"closed.emit()\"\n [attr.data-date]=\"dayInMonth.date\"\n [attr.data-dialog-close-override]=\"true\"\n [attr.aria-label]=\"text.select + ' ' + weekDays[dayInMonth.day] + ' ' + text.the + ' ' + (dayInMonth.date | ordinalNumber)\"\n [ngClass]=\"{\n 'ok_button_color': (dayInMonth.date === selectedDate?.date && dayInMonth.month === selectedDate?.month && dayInMonth.year === selectedDate?.year),\n 'bg_overlay_rev brdr hov_bg': (dayInMonth.date !== selectedDate?.date || dayInMonth.month !== selectedDate?.month || dayInMonth.year !== selectedDate?.year)\n }\"\n class=\"access day_button\">\n {{dayInMonth.date}}\n </button>\n } @else {\n <div class=\"day_disabled\">\n {{dayInMonth.date}}\n </div>\n }\n </div>\n }\n </div>\n </div>\n @if (showControls()) {\n <div class=\"bg_overlay brdr hr mar_5\"></div>\n <div class=\"row space_between\">\n @if (currentDate.selectable) {\n @if ((currentDate.date === selectedDate?.date && currentDate.month === selectedDate?.month && currentDate.year === selectedDate?.year)) {\n <button\n disabled\n class=\"access btn sm bg_overlay_rev brdr hov_bg mar_5\"\n [attr.aria-label]=\"text.resetDateToToday\">\n <span class=\"text bold\">{{text.selectToday}}</span>\n </button>\n } @else {\n <button (keyup.escape)=\"closed.emit()\"\n (click)=\"selectToday()\"\n [attr.data-dialog-close-override]=\"true\"\n class=\"access btn sm bg_overlay_rev brdr hov_bg mar_5\"\n [attr.aria-label]=\"text.resetDateToToday\">\n <span class=\"text bold\">{{text.selectToday}}</span>\n </button>\n }\n }\n <button #doneButton\n (keyup.escape)=\"closed.emit()\"\n (click)=\"closed.emit()\"\n [attr.data-dialog-close-override]=\"true\"\n class=\"access btn sm bg_overlay_rev brdr mar_5 hov_bg\"\n [attr.aria-label]=\"text.saveDate\">\n <i class=\"fas fa-check mar_right5\"></i><span class=\"text bold\">{{text.done}}</span>\n </button>\n </div>\n }\n </div>\n</div>\n", styles: [".particle_datepicker_options{border-radius:3px;line-height:1.5;overflow:hidden;list-style-type:none;font-weight:400;z-index:var(--z-overlay);width:300px}.particle_datepicker_weekday{font-size:12px;font-weight:900;min-width:30px;height:32px;display:flex;flex:1;align-items:center;justify-content:center;opacity:.8;-webkit-user-select:none;user-select:none}.particle_datepicker_day{font-size:12px;font-weight:400;min-width:14%;height:32px;display:flex;flex:1;border-radius:3px;-webkit-user-select:none;user-select:none;background-color:transparent}.particle_datepicker_day.today{background-color:#8080801a}.particle_datepicker_day .day_button{cursor:pointer;-webkit-user-select:none;user-select:none;border:none;display:flex;flex:1;width:100%;align-items:center;justify-content:center;padding:0;border-radius:3px}.particle_datepicker_day .day_disabled{opacity:.3;display:flex;flex:1;align-items:center;justify-content:center}\n"] }]
|
|
4421
4466
|
}], ctorParameters: () => [], propDecorators: { calendarWidgetDiv: [{
|
|
4422
4467
|
type: ViewChild,
|
|
4423
4468
|
args: ['calendarWidgetDiv']
|
|
@@ -4898,7 +4943,7 @@ class DatePickerComponent {
|
|
|
4898
4943
|
useExisting: forwardRef(() => DatePickerComponent),
|
|
4899
4944
|
multi: true
|
|
4900
4945
|
}
|
|
4901
|
-
], viewQueries: [{ propertyName: "datePickerDiv", first: true, predicate: ["datePickerDiv"], descendants: true }, { propertyName: "calendarDiv", first: true, predicate: ["calendarDiv"], descendants: true }, { propertyName: "calendarPopover", first: true, predicate: ["calendarPopover"], descendants: true }], ngImport: i0, template: "@if (!isMobile) {\
|
|
4946
|
+
], viewQueries: [{ propertyName: "datePickerDiv", first: true, predicate: ["datePickerDiv"], descendants: true }, { propertyName: "calendarDiv", first: true, predicate: ["calendarDiv"], descendants: true }, { propertyName: "calendarPopover", first: true, predicate: ["calendarPopover"], descendants: true }], ngImport: i0, template: "@if (!isMobile) {\n <div #datePickerDiv\n style=\"overflow: hidden;\"\n [style.filter]=\"disabled ? 'brightness(.95)' : ''\"\n [ngClass]=\"inputClassList() ? '' : 'row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir'\"\n >\n <div class=\"col size_1 height100 width100\">\n <input #dateInput\n [(ngModel)]=\"dateString\"\n [id]=\"inputId()\"\n (keydown)=\"filterInput($event)\"\n (input)=\"handleInput()\"\n (blur)=\"onTouched(); handleBlur()\"\n type=\"text\"\n [placeholder]=\"placeholder()\"\n maxlength=\"10\"\n [attr.aria-label]=\"ariaLabel() + ', ' + text.enterInFormat + ' mm/dd/yyyy'\"\n [disabled]=\"disabled\"\n [ngClass]=\"inputClassList() ? inputClassList() : 'ptl_input_text_size ptl_input_padding border_none'\"\n style=\"outline-offset: -2px;\"\n class=\"access height100 width100\"/>\n </div>\n @if (!inputOnly()) {\n <div class=\"col center_center min_w50 height100\">\n <button type=\"button\"\n (click)=\"openCalendar($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"calendarButtonClassList() ? calendarButtonClassList() : 'bg_blue'\"\n class=\"access btnset center_center height100 width100\"\n style=\"outline-offset: -2px;\"\n [attr.aria-label]=\"text.openCalendar\" aria-haspopup=\"dialog\">\n <i class=\"fas fa-calendar-day\"></i>\n </button>\n </div>\n }\n </div>\n <!-- calendar widget -->\n <particle-popover [targetOverride]=\"dateInput\" #calendarPopover>\n <particle-calendar [value]=\"showCalendar ? showCalendar.currentValue : $any(null)\"\n [text]=\"$any(text.calendarText)\"\n [dateRange]=\"{ minDate: validSelectionInterval.start!, maxDate: validSelectionInterval.end! }\"\n (selected)=\"updateModel($event)\"\n (closed)=\"handleCalendarClose()\">\n </particle-calendar>\n </particle-popover>\n } @else {\n <div style=\"overflow: hidden;\"\n [style.filter]=\"disabled ? 'brightness(.95)' : ''\"\n [ngClass]=\"inputClassList() ? '' : 'ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius'\"\n >\n <div class=\"col size_1 height100 width100\">\n <input [(ngModel)]=\"mobileDateString\"\n [id]=\"inputId()\"\n (input)=\"handleMobileInput()\"\n (blur)=\"onTouched()\"\n type=\"date\"\n [placeholder]=\"placeholder()\"\n [attr.aria-label]=\"ariaLabel()\"\n [disabled]=\"disabled\"\n [ngClass]=\"inputClassList() ? inputClassList() : 'ptl_input_text_size ptl_input_padding border_none'\"\n style=\"outline-offset: -2px;\"\n class=\"access height100 width100\"/>\n </div>\n </div>\n }\n\n", styles: [":host{width:100%}.particle_datepicker_overlay{position:fixed;inset:0;z-index:var(--z-overlay)}.particle_datepicker{width:100%;min-width:150px;position:relative}.particle_datepicker:after{content:\"mm/dd/yyyy\";opacity:0;pointer-events:none}.particle_datepicker_input{position:absolute;inset:0;padding:inherit;width:calc(100% - 2.25em);-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;background-color:transparent;color:inherit}.particle_datepicker_input::-ms-expand{display:none}.particle_datepicker_button{position:absolute;height:calc(100% + 2px);width:2.25em;top:0;right:0;z-index:var(--z-frame);border-top-left-radius:0!important;border-bottom-left-radius:0!important;font-size:inherit;margin:-1px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: PopoverComponent, selector: "particle-popover", inputs: ["offset", "width", "height", "classList", "targetOverride", "openDirection", "alignment", "scaleForMobile"], outputs: ["opened", "closed", "arrowDown", "arrowUp"] }, { kind: "component", type: CalendarComponent, selector: "particle-calendar", inputs: ["value", "dateRange", "text", "showControls"], outputs: ["selected", "closed"] }] });
|
|
4902
4947
|
}
|
|
4903
4948
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
4904
4949
|
type: Component,
|
|
@@ -4908,7 +4953,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
4908
4953
|
useExisting: forwardRef(() => DatePickerComponent),
|
|
4909
4954
|
multi: true
|
|
4910
4955
|
}
|
|
4911
|
-
], imports: [NgClass, FormsModule, PopoverComponent, CalendarComponent], template: "@if (!isMobile) {\
|
|
4956
|
+
], imports: [NgClass, FormsModule, PopoverComponent, CalendarComponent], template: "@if (!isMobile) {\n <div #datePickerDiv\n style=\"overflow: hidden;\"\n [style.filter]=\"disabled ? 'brightness(.95)' : ''\"\n [ngClass]=\"inputClassList() ? '' : 'row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir'\"\n >\n <div class=\"col size_1 height100 width100\">\n <input #dateInput\n [(ngModel)]=\"dateString\"\n [id]=\"inputId()\"\n (keydown)=\"filterInput($event)\"\n (input)=\"handleInput()\"\n (blur)=\"onTouched(); handleBlur()\"\n type=\"text\"\n [placeholder]=\"placeholder()\"\n maxlength=\"10\"\n [attr.aria-label]=\"ariaLabel() + ', ' + text.enterInFormat + ' mm/dd/yyyy'\"\n [disabled]=\"disabled\"\n [ngClass]=\"inputClassList() ? inputClassList() : 'ptl_input_text_size ptl_input_padding border_none'\"\n style=\"outline-offset: -2px;\"\n class=\"access height100 width100\"/>\n </div>\n @if (!inputOnly()) {\n <div class=\"col center_center min_w50 height100\">\n <button type=\"button\"\n (click)=\"openCalendar($event)\"\n [disabled]=\"disabled\"\n [ngClass]=\"calendarButtonClassList() ? calendarButtonClassList() : 'bg_blue'\"\n class=\"access btnset center_center height100 width100\"\n style=\"outline-offset: -2px;\"\n [attr.aria-label]=\"text.openCalendar\" aria-haspopup=\"dialog\">\n <i class=\"fas fa-calendar-day\"></i>\n </button>\n </div>\n }\n </div>\n <!-- calendar widget -->\n <particle-popover [targetOverride]=\"dateInput\" #calendarPopover>\n <particle-calendar [value]=\"showCalendar ? showCalendar.currentValue : $any(null)\"\n [text]=\"$any(text.calendarText)\"\n [dateRange]=\"{ minDate: validSelectionInterval.start!, maxDate: validSelectionInterval.end! }\"\n (selected)=\"updateModel($event)\"\n (closed)=\"handleCalendarClose()\">\n </particle-calendar>\n </particle-popover>\n } @else {\n <div style=\"overflow: hidden;\"\n [style.filter]=\"disabled ? 'brightness(.95)' : ''\"\n [ngClass]=\"inputClassList() ? '' : 'ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius'\"\n >\n <div class=\"col size_1 height100 width100\">\n <input [(ngModel)]=\"mobileDateString\"\n [id]=\"inputId()\"\n (input)=\"handleMobileInput()\"\n (blur)=\"onTouched()\"\n type=\"date\"\n [placeholder]=\"placeholder()\"\n [attr.aria-label]=\"ariaLabel()\"\n [disabled]=\"disabled\"\n [ngClass]=\"inputClassList() ? inputClassList() : 'ptl_input_text_size ptl_input_padding border_none'\"\n style=\"outline-offset: -2px;\"\n class=\"access height100 width100\"/>\n </div>\n </div>\n }\n\n", styles: [":host{width:100%}.particle_datepicker_overlay{position:fixed;inset:0;z-index:var(--z-overlay)}.particle_datepicker{width:100%;min-width:150px;position:relative}.particle_datepicker:after{content:\"mm/dd/yyyy\";opacity:0;pointer-events:none}.particle_datepicker_input{position:absolute;inset:0;padding:inherit;width:calc(100% - 2.25em);-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;background-color:transparent;color:inherit}.particle_datepicker_input::-ms-expand{display:none}.particle_datepicker_button{position:absolute;height:calc(100% + 2px);width:2.25em;top:0;right:0;z-index:var(--z-frame);border-top-left-radius:0!important;border-bottom-left-radius:0!important;font-size:inherit;margin:-1px}\n"] }]
|
|
4912
4957
|
}], propDecorators: { value: [{
|
|
4913
4958
|
type: Input
|
|
4914
4959
|
}], disabled: [{
|
|
@@ -5133,7 +5178,7 @@ class DateRangePickerComponent {
|
|
|
5133
5178
|
useExisting: forwardRef(() => DateRangePickerComponent),
|
|
5134
5179
|
multi: true
|
|
5135
5180
|
}
|
|
5136
|
-
], viewQueries: [{ propertyName: "calendarPopover", first: true, predicate: ["calendarPopover"], descendants: true }, { propertyName: "beginCalendar", first: true, predicate: ["beginCalendar"], descendants: true }, { propertyName: "endCalendar", first: true, predicate: ["endCalendar"], descendants: true }], ngImport: i0, template: "<div style=\"cursor:default;overflow: hidden;\"\
|
|
5181
|
+
], viewQueries: [{ propertyName: "calendarPopover", first: true, predicate: ["calendarPopover"], descendants: true }, { propertyName: "beginCalendar", first: true, predicate: ["beginCalendar"], descendants: true }, { propertyName: "endCalendar", first: true, predicate: ["endCalendar"], descendants: true }], ngImport: i0, template: "<div style=\"cursor:default;overflow: hidden;\"\n [ngClass]=\"inputClassList() ? '' : 'row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir'\"\n [style.filter]=\"disabled ? 'brightness(.95)' : ''\">\n <button (click)=\"openCalendar($event)\"\n type=\"button\"\n aria-haspopup=\"dialog\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"(ariaLabel() ? ariaLabel() + ', ' : '') + text().openCalendar\"\n [attr.aria-expanded]=\"calendarPopover.visible\"\n [ngClass]=\"inputClassList() ? inputClassList() : 'clear'\"\n class=\"access btnset width100 height100 center_center\"\n style=\"outline-offset: -2px;\"\n >\n <div class=\"col size_1 height100 width100 ptl_input_text_size ptl_input_padding v_center\">\n @if (valueObs$ | async; as value) {\n @if (value.start && value.end) {\n {{value.start | date: dateFormat()}} - {{value.end | date: dateFormat()}}\n } @else {\n <div class=\"ent_r2l_txt\">{{text().selectRange}}...</div>\n }\n }\n </div>\n <div class=\"col min_w50 height100 center_center\"\n [ngClass]=\"calendarButtonClassList() ? calendarButtonClassList() : 'bg_blue'\">\n <div class=\"width100 height100 center_center\">\n <i class=\"fas fa-calendar-days ptl_input_text_size\"></i>\n </div>\n </div>\n </button>\n</div>\n\n<particle-popover (closed)=\"checkState()\" #calendarPopover>\n <div class=\"width100 space_between\">\n <div>\n <div class=\"pad_10 pad_bot0\">\n <div>{{text().begin}}:</div>\n <div>\n <particle-date-picker\n inputClassList=\"access input sm content_color\"\n [inputOnly]=\"true\"\n [(ngModel)]=\"beginDate\"\n [dateRange]=\"dateRange\">\n </particle-date-picker>\n </div>\n </div>\n <particle-calendar [value]=\"beginDate\"\n [text]=\"$any(text().calendarText)\"\n [dateRange]=\"dateRange\"\n [showControls]=\"false\"\n class=\"hide_element\"\n (selected)=\"updateModel(true, $event)\"\n #beginCalendar>\n </particle-calendar>\n </div>\n <div>\n <div class=\"pad_10 pad_bot0\">\n <div>{{text().end}}:</div>\n <div>\n <particle-date-picker\n inputClassList=\"access input sm content_color\"\n [inputOnly]=\"true\"\n [dateRange]=\"endDateRange\"\n [(ngModel)]=\"endDate\">\n </particle-date-picker>\n </div>\n </div>\n <particle-calendar [value]=\"endDate\"\n [text]=\"$any(text().calendarText)\"\n [dateRange]=\"endDateRange\"\n [showControls]=\"false\"\n class=\"hide_element\"\n (selected)=\"updateModel(false, $event)\"\n #endCalendar>\n </particle-calendar>\n <div class=\"mobile_only pad_bot10\"></div>\n </div>\n </div>\n <div class=\"bg_overlay brdr hr mar_5 mar_top0\"></div>\n <div class=\"row space_between\">\n <button (click)=\"clear()\"\n class=\"access btn sm bg_overlay_rev brdr mar_5 hov_bg\"\n [attr.aria-label]=\"text().clear\">\n <i class=\"fas fa-x mar_right5\"></i><span class=\"text bold\">{{text().clear}}</span>\n </button>\n\n <button (keyup.escape)=\"calendarPopover.close()\"\n (click)=\"calendarPopover.close()\"\n [attr.data-dialog-close-override]=\"true\"\n class=\"access btn sm bg_overlay_rev brdr mar_5 hov_bg\"\n [attr.aria-label]=\"text().done\">\n <i class=\"fas fa-check mar_right5\"></i><span class=\"text bold\">{{text().done}}</span>\n </button>\n </div>\n</particle-popover>\n\n", styles: [":host{width:100%}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PopoverComponent, selector: "particle-popover", inputs: ["offset", "width", "height", "classList", "targetOverride", "openDirection", "alignment", "scaleForMobile"], outputs: ["opened", "closed", "arrowDown", "arrowUp"] }, { kind: "component", type: DatePickerComponent, selector: "particle-date-picker", inputs: ["value", "disabled", "dateRange", "inputId", "ariaLabel", "inputClassList", "calendarButtonClassList", "closeOnSelect", "placeholder", "inputOnly", "text"], outputs: ["input", "dateSelected"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: CalendarComponent, selector: "particle-calendar", inputs: ["value", "dateRange", "text", "showControls"], outputs: ["selected", "closed"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }] });
|
|
5137
5182
|
}
|
|
5138
5183
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: DateRangePickerComponent, decorators: [{
|
|
5139
5184
|
type: Component,
|
|
@@ -5143,7 +5188,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
5143
5188
|
useExisting: forwardRef(() => DateRangePickerComponent),
|
|
5144
5189
|
multi: true
|
|
5145
5190
|
}
|
|
5146
|
-
], imports: [NgClass, PopoverComponent, DatePickerComponent, FormsModule, CalendarComponent, AsyncPipe, DatePipe], template: "<div style=\"cursor:default;overflow: hidden;\"\
|
|
5191
|
+
], imports: [NgClass, PopoverComponent, DatePickerComponent, FormsModule, CalendarComponent, AsyncPipe, DatePipe], template: "<div style=\"cursor:default;overflow: hidden;\"\n [ngClass]=\"inputClassList() ? '' : 'row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir'\"\n [style.filter]=\"disabled ? 'brightness(.95)' : ''\">\n <button (click)=\"openCalendar($event)\"\n type=\"button\"\n aria-haspopup=\"dialog\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"(ariaLabel() ? ariaLabel() + ', ' : '') + text().openCalendar\"\n [attr.aria-expanded]=\"calendarPopover.visible\"\n [ngClass]=\"inputClassList() ? inputClassList() : 'clear'\"\n class=\"access btnset width100 height100 center_center\"\n style=\"outline-offset: -2px;\"\n >\n <div class=\"col size_1 height100 width100 ptl_input_text_size ptl_input_padding v_center\">\n @if (valueObs$ | async; as value) {\n @if (value.start && value.end) {\n {{value.start | date: dateFormat()}} - {{value.end | date: dateFormat()}}\n } @else {\n <div class=\"ent_r2l_txt\">{{text().selectRange}}...</div>\n }\n }\n </div>\n <div class=\"col min_w50 height100 center_center\"\n [ngClass]=\"calendarButtonClassList() ? calendarButtonClassList() : 'bg_blue'\">\n <div class=\"width100 height100 center_center\">\n <i class=\"fas fa-calendar-days ptl_input_text_size\"></i>\n </div>\n </div>\n </button>\n</div>\n\n<particle-popover (closed)=\"checkState()\" #calendarPopover>\n <div class=\"width100 space_between\">\n <div>\n <div class=\"pad_10 pad_bot0\">\n <div>{{text().begin}}:</div>\n <div>\n <particle-date-picker\n inputClassList=\"access input sm content_color\"\n [inputOnly]=\"true\"\n [(ngModel)]=\"beginDate\"\n [dateRange]=\"dateRange\">\n </particle-date-picker>\n </div>\n </div>\n <particle-calendar [value]=\"beginDate\"\n [text]=\"$any(text().calendarText)\"\n [dateRange]=\"dateRange\"\n [showControls]=\"false\"\n class=\"hide_element\"\n (selected)=\"updateModel(true, $event)\"\n #beginCalendar>\n </particle-calendar>\n </div>\n <div>\n <div class=\"pad_10 pad_bot0\">\n <div>{{text().end}}:</div>\n <div>\n <particle-date-picker\n inputClassList=\"access input sm content_color\"\n [inputOnly]=\"true\"\n [dateRange]=\"endDateRange\"\n [(ngModel)]=\"endDate\">\n </particle-date-picker>\n </div>\n </div>\n <particle-calendar [value]=\"endDate\"\n [text]=\"$any(text().calendarText)\"\n [dateRange]=\"endDateRange\"\n [showControls]=\"false\"\n class=\"hide_element\"\n (selected)=\"updateModel(false, $event)\"\n #endCalendar>\n </particle-calendar>\n <div class=\"mobile_only pad_bot10\"></div>\n </div>\n </div>\n <div class=\"bg_overlay brdr hr mar_5 mar_top0\"></div>\n <div class=\"row space_between\">\n <button (click)=\"clear()\"\n class=\"access btn sm bg_overlay_rev brdr mar_5 hov_bg\"\n [attr.aria-label]=\"text().clear\">\n <i class=\"fas fa-x mar_right5\"></i><span class=\"text bold\">{{text().clear}}</span>\n </button>\n\n <button (keyup.escape)=\"calendarPopover.close()\"\n (click)=\"calendarPopover.close()\"\n [attr.data-dialog-close-override]=\"true\"\n class=\"access btn sm bg_overlay_rev brdr mar_5 hov_bg\"\n [attr.aria-label]=\"text().done\">\n <i class=\"fas fa-check mar_right5\"></i><span class=\"text bold\">{{text().done}}</span>\n </button>\n </div>\n</particle-popover>\n\n", styles: [":host{width:100%}\n"] }]
|
|
5147
5192
|
}], propDecorators: { inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }], inputClassList: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputClassList", required: false }] }], calendarButtonClassList: [{ type: i0.Input, args: [{ isSignal: true, alias: "calendarButtonClassList", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], dateRange: [{
|
|
5148
5193
|
type: Input
|
|
5149
5194
|
}], value: [{
|
|
@@ -5194,7 +5239,10 @@ class DropdownComponent {
|
|
|
5194
5239
|
this.onAnimationStart();
|
|
5195
5240
|
}
|
|
5196
5241
|
else {
|
|
5197
|
-
setTimeout(() =>
|
|
5242
|
+
setTimeout(() => {
|
|
5243
|
+
this.render = false;
|
|
5244
|
+
this.changeDetectorRef.markForCheck();
|
|
5245
|
+
}, 300);
|
|
5198
5246
|
}
|
|
5199
5247
|
});
|
|
5200
5248
|
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
@@ -5782,7 +5830,7 @@ class DropdownComponent {
|
|
|
5782
5830
|
useExisting: forwardRef(() => DropdownComponent),
|
|
5783
5831
|
multi: true
|
|
5784
5832
|
}
|
|
5785
|
-
], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }, { propertyName: "dropdownButton", first: true, predicate: ["dropdownButton"], descendants: true }, { propertyName: "dropdownList", first: true, predicate: ["dropdownList"], descendants: true }, { propertyName: "dropdownOptions", predicate: ["dropdownOption"], descendants: true }], ngImport: i0, template: "@if (!isMobile) {\r\n <div #dropdown\r\n class=\"row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir\"\r\n [style.filter]=\"disabled() ? 'brightness(.95)' : ''\"\r\n style=\"cursor:default;overflow:hidden;\"\r\n [ngClass]=\"classList() ? classList() : ''\"\r\n >\r\n @if (tooltipData$ | async; as tooltipData) {\r\n <button #dropdownButton\r\n role=\"combobox\"\r\n [attr.aria-controls]=\"(inputId() ?? dropdownId) + '_listbox'\"\r\n aria-haspopup=\"listbox\"\r\n type=\"button\"\r\n (click)=\"openDropdown($event)\"\r\n (focus)=\"setSelectionIndex()\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"inputId() ?? dropdownId\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"text().placeholder\"\r\n [attr.aria-expanded]=\"isOpen()\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n class=\"access btnset clear center_center height100 width100\"\r\n style=\"outline-offset: -2px;\"\r\n [particleTooltip]=\"collapsedButtonTemplate() ? $any(tooltipData) : ''\"\r\n [tooltipDisabled]=\"!collapsedButtonTemplate() || !collapsedButtonTooltipEnabled()\"\r\n >\r\n @if (collapsedButtonTemplate()) {\r\n <ng-container *ngTemplateOutlet=\"collapsedButtonTemplate()\"></ng-container>\r\n }\r\n\r\n @if (!collapsedButtonTemplate()) {\r\n <div class=\"col size_1 height100 width100 v_center ptl_input_text_size ptl_input_padding border_none width100 overflow_hide\">\r\n @if (selectedDataContext$ | async; as dataContext) {\r\n @if (!!template) {\r\n <div class=\"row v_center text_ellipsis min_w0\">\r\n <ng-container *ngTemplateOutlet=\"template; context: $any(dataContext)\"></ng-container>\r\n </div>\r\n } @else {\r\n <div class=\"ent_r2l_txt\">{{dataContext['$implicit'] || dataContext.label}}</div>\r\n }\r\n } @else {\r\n <div class=\"ptl_placeholder ent_r2l_txt\">{{text().placeholder}}</div>\r\n }\r\n </div>\r\n <div class=\"col min_w50 height100 center_center\"\r\n [ngClass]=\"buttonClassList() ? buttonClassList() : ''\">\r\n <div class=\"center_center height100 width100\">\r\n <i class=\"fas fa-caret-down ptl_input_text_size\"></i>\r\n </div>\r\n </div>\r\n }\r\n </button>\r\n }\r\n </div>\r\n\r\n <div [style.display]=\"render ? '' : 'none'\"\r\n [attr.aria-hidden]=\"!render\"\r\n class=\"particle_dropdown_overlay\"\r\n >\r\n <div class=\"particle_dropdown_container\"\r\n [class.open]=\"isOpen()\"\r\n #dropdownList\r\n >\r\n <div class=\"particle_dropdown_options content_color ent_r2l_dir\" [id]=\"(inputId() ?? dropdownId) + '_listbox'\">\r\n @if (_options | async; as options) {\r\n <div class=\"particle_dropdown_list\" role=\"listbox\" tabindex=\"-1\" [attr.aria-label]=\"text().placeholder\">\r\n <!-- CUSTOM TEMPLATE -->\r\n @if (!!template) {\r\n @for (option of options; track $index; let i = $index;) {\r\n <!-- OPTION GROUP -->\r\n @if (option.type === 'group') {\r\n <div class=\"particle_dropdown_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\r\n @for (groupOption of option.options; track $index; let j = $index;) {\r\n <button #dropdownOption\r\n (click)=\"onDropdownOptionSelect(groupOption.value, groupOption.disabled!)\"\r\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i + j)\"\r\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i + j)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? dropdownId) + '-' + groupOption.value\"\r\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== groupOption.value }\"\r\n [attr.aria-selected]=\"(_internalValue | async) === groupOption.value\"\r\n [attr.data-value]=\"groupOption.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"groupOption.disabled\"\r\n type=\"button\"\r\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\"\r\n role=\"option\"\r\n tabindex=\"0\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"template; context: $any(groupOption.dataContext!)\"></ng-container>\r\n </button>\r\n }\r\n } @else if (option.type === 'option') {\r\n <!-- SINGULAR OPTION -->\r\n <button #dropdownOption\r\n (click)=\"onDropdownOptionSelect(option.value, option.disabled!)\"\r\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i)\"\r\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? dropdownId) + '-' + option.value\"\r\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== option.value }\"\r\n [attr.aria-selected]=\"(_internalValue | async) === option.value\"\r\n [attr.data-value]=\"option.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"option.disabled\"\r\n type=\"button\"\r\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\" role=\"option\" tabindex=\"0\">\r\n <ng-container *ngTemplateOutlet=\"template; context: $any(option.dataContext!)\"></ng-container>\r\n </button>\r\n }\r\n }\r\n } @else {\r\n <!-- NO CUSTOM TEMPLATE -->\r\n @for (option of options; track $index; let i = $index;) {\r\n <!-- OPTION GROUP -->\r\n @if (option.type === 'group') {\r\n <div class=\"particle_dropdown_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\r\n @for (groupOption of option.options; track $index; let j = $index;) {\r\n <button #dropdownOption\r\n (click)=\"onDropdownOptionSelect(groupOption.value, groupOption.disabled!)\"\r\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i + j)\"\r\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i + j)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? dropdownId) + '-' + groupOption.value\"\r\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== groupOption.value }\"\r\n [attr.aria-label]=\"groupOption.label\"\r\n [attr.aria-selected]=\"(_internalValue | async) === groupOption.value\"\r\n [attr.data-value]=\"groupOption.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"groupOption.disabled\"\r\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\"\r\n type=\"button\"\r\n role=\"option\"\r\n tabindex=\"0\"\r\n >\r\n {{groupOption.label}}\r\n </button>\r\n }\r\n } @else if (option.type === 'option') {\r\n <!-- SINGULAR OPTION -->\r\n <button #dropdownOption\r\n (click)=\"onDropdownOptionSelect(option.value, option.disabled!)\"\r\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i)\"\r\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? dropdownId) + '-' + option.value\"\r\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== option.value }\"\r\n [attr.aria-selected]=\"(_internalValue | async) === option.value\"\r\n [attr.data-value]=\"option.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"option.disabled\"\r\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\"\r\n type=\"button\"\r\n role=\"option\"\r\n tabindex=\"0\"\r\n >\r\n {{option.label}}\r\n </button>\r\n }\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-content select=\"template\"></ng-content>\r\n}\r\n\r\n@if (isMobile) {\r\n <select\r\n class=\"access ptl_input ptl_input_height ptl_input_text_size ptl_input_padding ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius\"\r\n [id]=\"inputId() ?? dropdownId\"\r\n [disabled]=\"disabled()\"\r\n (ngModelChange)=\"onModelChangeMobile($event)\"\r\n [(ngModel)]=\"value\"\r\n >\r\n @if (_options | async; as options) {\r\n @for (option of options; track $index) {\r\n @if (option.type === 'group') {\r\n <optgroup class=\"input_bg_color min_h50 pad_10\" [label]=\"option.groupLabel\">\r\n @for (groupOption of option.options; track $index) {\r\n <option\r\n [disabled]=\"groupOption.disabled\"\r\n class=\"input_bg_color min_h50 pad_10\"\r\n [value]=\"groupOption.value\"\r\n >\r\n {{groupOption.label}}\r\n </option>\r\n }\r\n </optgroup>\r\n } @else if (option.type === 'option') {\r\n <option\r\n [disabled]=\"option.disabled\"\r\n class=\"input_bg_color min_h50 pad_10\"\r\n [value]=\"option.value\"\r\n >\r\n {{option.label}}\r\n </option>\r\n }\r\n }\r\n }\r\n </select>\r\n}\r\n", styles: [":host{width:100%}.particle_dropdown{width:100%;min-width:150px;position:relative}.particle_dropdown:after{content:\"mm/dd/yyyy\";opacity:0;pointer-events:none}.particle_dropdown_input{position:absolute;display:flex;align-items:center;inset:0;padding:inherit;padding-right:2.25em;width:100%;-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;border:none;text-align:left;-webkit-user-select:none;user-select:none;background-color:transparent;color:inherit;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.particle_dropdown_input:not([disabled]){cursor:pointer}.particle_dropdown_input::-ms-expand{display:none}.particle_dropdown_caret{position:absolute;top:.5em;right:1em;z-index:var(--z-frame);background:transparent;pointer-events:none}.particle_dropdown_placeholder{opacity:.5;display:inline}.particle_dropdown_overlay{position:fixed;inset:0;z-index:var(--z-overlay)}.particle_dropdown_options{border-radius:3px;line-height:1.5;overflow:hidden;list-style-type:none;font-weight:400;z-index:var(--z-overlay);max-height:250px;width:100%;overflow-y:auto;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.particle_dropdown_heading{font-weight:600;opacity:.8;padding:10px 12px 4px}.particle_dropdown_list{padding:0;margin:0;outline:none}.particle_dropdown_option{padding:7px 12px;cursor:pointer;border:none;width:100%;text-align:left;display:flex;align-items:center;transition:.2s background-color ease;background-color:transparent;color:inherit}.particle_dropdown_option.unselected:focus{background-color:#8080801a}.particle_dropdown_option:not(.unselected){background-color:#80808026}.particle_dropdown_option:not(.unselected):focus{background-color:#8080803d}.particle_dropdown_option[disabled]{cursor:default}.particle_dropdown_container{position:absolute;transform:scaleY(.5);opacity:0;pointer-events:none;transition-duration:.2s;transition-property:transform,opacity}.particle_dropdown_container.open{transform:scaleY(1);opacity:1;pointer-events:auto;transition-duration:.2s;transition-property:transform,opacity}\n/*!* option hover/focus state *!*/\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: TooltipDirective, selector: "[particleTooltip]", inputs: ["particleTooltip", "tooltipPosition", "tooltipDisabled"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
5833
|
+
], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "dropdown", first: true, predicate: ["dropdown"], descendants: true }, { propertyName: "dropdownButton", first: true, predicate: ["dropdownButton"], descendants: true }, { propertyName: "dropdownList", first: true, predicate: ["dropdownList"], descendants: true }, { propertyName: "dropdownOptions", predicate: ["dropdownOption"], descendants: true }], ngImport: i0, template: "@if (!isMobile) {\n <div #dropdown\n class=\"row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir\"\n [style.filter]=\"disabled() ? 'brightness(.95)' : ''\"\n style=\"cursor:default;overflow:hidden;\"\n [ngClass]=\"classList() ? classList() : ''\"\n >\n @if (tooltipData$ | async; as tooltipData) {\n <button #dropdownButton\n role=\"combobox\"\n [attr.aria-controls]=\"(inputId() ?? dropdownId) + '_listbox'\"\n aria-haspopup=\"listbox\"\n type=\"button\"\n (click)=\"openDropdown($event)\"\n (focus)=\"setSelectionIndex()\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"inputId() ?? dropdownId\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"text().placeholder\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.data-dialog-close-override]=\"true\"\n class=\"access btnset clear center_center height100 width100\"\n style=\"outline-offset: -2px;\"\n [particleTooltip]=\"collapsedButtonTemplate() ? $any(tooltipData) : ''\"\n [tooltipDisabled]=\"!collapsedButtonTemplate() || !collapsedButtonTooltipEnabled()\"\n >\n @if (collapsedButtonTemplate()) {\n <ng-container *ngTemplateOutlet=\"collapsedButtonTemplate()\"></ng-container>\n }\n\n @if (!collapsedButtonTemplate()) {\n <div class=\"col size_1 height100 width100 v_center ptl_input_text_size ptl_input_padding border_none width100 overflow_hide\">\n @if (selectedDataContext$ | async; as dataContext) {\n @if (!!template) {\n <div class=\"row v_center text_ellipsis min_w0\">\n <ng-container *ngTemplateOutlet=\"template; context: $any(dataContext)\"></ng-container>\n </div>\n } @else {\n <div class=\"ent_r2l_txt\">{{dataContext['$implicit'] || dataContext.label}}</div>\n }\n } @else {\n <div class=\"ptl_placeholder ent_r2l_txt\">{{text().placeholder}}</div>\n }\n </div>\n <div class=\"col min_w50 height100 center_center\"\n [ngClass]=\"buttonClassList() ? buttonClassList() : ''\">\n <div class=\"center_center height100 width100\">\n <i class=\"fas fa-caret-down ptl_input_text_size\"></i>\n </div>\n </div>\n }\n </button>\n }\n </div>\n\n <div [style.display]=\"render ? '' : 'none'\"\n [attr.aria-hidden]=\"!render\"\n class=\"particle_dropdown_overlay\"\n >\n <div class=\"particle_dropdown_container\"\n [class.open]=\"isOpen()\"\n #dropdownList\n >\n <div class=\"particle_dropdown_options content_color ent_r2l_dir\" [id]=\"(inputId() ?? dropdownId) + '_listbox'\">\n @if (_options | async; as options) {\n <div class=\"particle_dropdown_list\" role=\"listbox\" tabindex=\"-1\" [attr.aria-label]=\"text().placeholder\">\n <!-- CUSTOM TEMPLATE -->\n @if (!!template) {\n @for (option of options; track $index; let i = $index;) {\n <!-- OPTION GROUP -->\n @if (option.type === 'group') {\n <div class=\"particle_dropdown_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\n @for (groupOption of option.options; track $index; let j = $index;) {\n <button #dropdownOption\n (click)=\"onDropdownOptionSelect(groupOption.value, groupOption.disabled!)\"\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i + j)\"\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i + j)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? dropdownId) + '-' + groupOption.value\"\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== groupOption.value }\"\n [attr.aria-selected]=\"(_internalValue | async) === groupOption.value\"\n [attr.data-value]=\"groupOption.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"groupOption.disabled\"\n type=\"button\"\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\"\n role=\"option\"\n tabindex=\"0\"\n >\n <ng-container *ngTemplateOutlet=\"template; context: $any(groupOption.dataContext!)\"></ng-container>\n </button>\n }\n } @else if (option.type === 'option') {\n <!-- SINGULAR OPTION -->\n <button #dropdownOption\n (click)=\"onDropdownOptionSelect(option.value, option.disabled!)\"\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i)\"\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? dropdownId) + '-' + option.value\"\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== option.value }\"\n [attr.aria-selected]=\"(_internalValue | async) === option.value\"\n [attr.data-value]=\"option.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"option.disabled\"\n type=\"button\"\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\" role=\"option\" tabindex=\"0\">\n <ng-container *ngTemplateOutlet=\"template; context: $any(option.dataContext!)\"></ng-container>\n </button>\n }\n }\n } @else {\n <!-- NO CUSTOM TEMPLATE -->\n @for (option of options; track $index; let i = $index;) {\n <!-- OPTION GROUP -->\n @if (option.type === 'group') {\n <div class=\"particle_dropdown_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\n @for (groupOption of option.options; track $index; let j = $index;) {\n <button #dropdownOption\n (click)=\"onDropdownOptionSelect(groupOption.value, groupOption.disabled!)\"\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i + j)\"\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i + j)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? dropdownId) + '-' + groupOption.value\"\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== groupOption.value }\"\n [attr.aria-label]=\"groupOption.label\"\n [attr.aria-selected]=\"(_internalValue | async) === groupOption.value\"\n [attr.data-value]=\"groupOption.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"groupOption.disabled\"\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\"\n type=\"button\"\n role=\"option\"\n tabindex=\"0\"\n >\n {{groupOption.label}}\n </button>\n }\n } @else if (option.type === 'option') {\n <!-- SINGULAR OPTION -->\n <button #dropdownOption\n (click)=\"onDropdownOptionSelect(option.value, option.disabled!)\"\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i)\"\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? dropdownId) + '-' + option.value\"\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== option.value }\"\n [attr.aria-selected]=\"(_internalValue | async) === option.value\"\n [attr.data-value]=\"option.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"option.disabled\"\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\"\n type=\"button\"\n role=\"option\"\n tabindex=\"0\"\n >\n {{option.label}}\n </button>\n }\n }\n }\n </div>\n }\n </div>\n </div>\n </div>\n\n <ng-content select=\"template\"></ng-content>\n}\n\n@if (isMobile) {\n <select\n class=\"access ptl_input ptl_input_height ptl_input_text_size ptl_input_padding ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius\"\n [id]=\"inputId() ?? dropdownId\"\n [disabled]=\"disabled()\"\n (ngModelChange)=\"onModelChangeMobile($event)\"\n [(ngModel)]=\"value\"\n >\n @if (_options | async; as options) {\n @for (option of options; track $index) {\n @if (option.type === 'group') {\n <optgroup class=\"input_bg_color min_h50 pad_10\" [label]=\"option.groupLabel\">\n @for (groupOption of option.options; track $index) {\n <option\n [disabled]=\"groupOption.disabled\"\n class=\"input_bg_color min_h50 pad_10\"\n [value]=\"groupOption.value\"\n >\n {{groupOption.label}}\n </option>\n }\n </optgroup>\n } @else if (option.type === 'option') {\n <option\n [disabled]=\"option.disabled\"\n class=\"input_bg_color min_h50 pad_10\"\n [value]=\"option.value\"\n >\n {{option.label}}\n </option>\n }\n }\n }\n </select>\n}\n", styles: [":host{width:100%}.particle_dropdown{width:100%;min-width:150px;position:relative}.particle_dropdown:after{content:\"mm/dd/yyyy\";opacity:0;pointer-events:none}.particle_dropdown_input{position:absolute;display:flex;align-items:center;inset:0;padding:inherit;padding-right:2.25em;width:100%;-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;border:none;text-align:left;-webkit-user-select:none;user-select:none;background-color:transparent;color:inherit;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.particle_dropdown_input:not([disabled]){cursor:pointer}.particle_dropdown_input::-ms-expand{display:none}.particle_dropdown_caret{position:absolute;top:.5em;right:1em;z-index:var(--z-frame);background:transparent;pointer-events:none}.particle_dropdown_placeholder{opacity:.5;display:inline}.particle_dropdown_overlay{position:fixed;inset:0;z-index:var(--z-overlay)}.particle_dropdown_options{border-radius:3px;line-height:1.5;overflow:hidden;list-style-type:none;font-weight:400;z-index:var(--z-overlay);max-height:250px;width:100%;overflow-y:auto;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.particle_dropdown_heading{font-weight:600;opacity:.8;padding:10px 12px 4px}.particle_dropdown_list{padding:0;margin:0;outline:none}.particle_dropdown_option{padding:7px 12px;cursor:pointer;border:none;width:100%;text-align:left;display:flex;align-items:center;transition:.2s background-color ease;background-color:transparent;color:inherit}.particle_dropdown_option.unselected:focus{background-color:#8080801a}.particle_dropdown_option:not(.unselected){background-color:#80808026}.particle_dropdown_option:not(.unselected):focus{background-color:#8080803d}.particle_dropdown_option[disabled]{cursor:default}.particle_dropdown_container{position:absolute;transform:scaleY(.5);opacity:0;pointer-events:none;transition-duration:.2s;transition-property:transform,opacity}.particle_dropdown_container.open{transform:scaleY(1);opacity:1;pointer-events:auto;transition-duration:.2s;transition-property:transform,opacity}\n/*!* option hover/focus state *!*/\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: TooltipDirective, selector: "[particleTooltip]", inputs: ["particleTooltip", "tooltipPosition", "tooltipDisabled"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
5786
5834
|
}
|
|
5787
5835
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
5788
5836
|
type: Component,
|
|
@@ -5792,7 +5840,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
5792
5840
|
useExisting: forwardRef(() => DropdownComponent),
|
|
5793
5841
|
multi: true
|
|
5794
5842
|
}
|
|
5795
|
-
], imports: [NgClass, NgTemplateOutlet, FormsModule, AsyncPipe, TooltipDirective], template: "@if (!isMobile) {\r\n <div #dropdown\r\n class=\"row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir\"\r\n [style.filter]=\"disabled() ? 'brightness(.95)' : ''\"\r\n style=\"cursor:default;overflow:hidden;\"\r\n [ngClass]=\"classList() ? classList() : ''\"\r\n >\r\n @if (tooltipData$ | async; as tooltipData) {\r\n <button #dropdownButton\r\n role=\"combobox\"\r\n [attr.aria-controls]=\"(inputId() ?? dropdownId) + '_listbox'\"\r\n aria-haspopup=\"listbox\"\r\n type=\"button\"\r\n (click)=\"openDropdown($event)\"\r\n (focus)=\"setSelectionIndex()\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"inputId() ?? dropdownId\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"text().placeholder\"\r\n [attr.aria-expanded]=\"isOpen()\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n class=\"access btnset clear center_center height100 width100\"\r\n style=\"outline-offset: -2px;\"\r\n [particleTooltip]=\"collapsedButtonTemplate() ? $any(tooltipData) : ''\"\r\n [tooltipDisabled]=\"!collapsedButtonTemplate() || !collapsedButtonTooltipEnabled()\"\r\n >\r\n @if (collapsedButtonTemplate()) {\r\n <ng-container *ngTemplateOutlet=\"collapsedButtonTemplate()\"></ng-container>\r\n }\r\n\r\n @if (!collapsedButtonTemplate()) {\r\n <div class=\"col size_1 height100 width100 v_center ptl_input_text_size ptl_input_padding border_none width100 overflow_hide\">\r\n @if (selectedDataContext$ | async; as dataContext) {\r\n @if (!!template) {\r\n <div class=\"row v_center text_ellipsis min_w0\">\r\n <ng-container *ngTemplateOutlet=\"template; context: $any(dataContext)\"></ng-container>\r\n </div>\r\n } @else {\r\n <div class=\"ent_r2l_txt\">{{dataContext['$implicit'] || dataContext.label}}</div>\r\n }\r\n } @else {\r\n <div class=\"ptl_placeholder ent_r2l_txt\">{{text().placeholder}}</div>\r\n }\r\n </div>\r\n <div class=\"col min_w50 height100 center_center\"\r\n [ngClass]=\"buttonClassList() ? buttonClassList() : ''\">\r\n <div class=\"center_center height100 width100\">\r\n <i class=\"fas fa-caret-down ptl_input_text_size\"></i>\r\n </div>\r\n </div>\r\n }\r\n </button>\r\n }\r\n </div>\r\n\r\n <div [style.display]=\"render ? '' : 'none'\"\r\n [attr.aria-hidden]=\"!render\"\r\n class=\"particle_dropdown_overlay\"\r\n >\r\n <div class=\"particle_dropdown_container\"\r\n [class.open]=\"isOpen()\"\r\n #dropdownList\r\n >\r\n <div class=\"particle_dropdown_options content_color ent_r2l_dir\" [id]=\"(inputId() ?? dropdownId) + '_listbox'\">\r\n @if (_options | async; as options) {\r\n <div class=\"particle_dropdown_list\" role=\"listbox\" tabindex=\"-1\" [attr.aria-label]=\"text().placeholder\">\r\n <!-- CUSTOM TEMPLATE -->\r\n @if (!!template) {\r\n @for (option of options; track $index; let i = $index;) {\r\n <!-- OPTION GROUP -->\r\n @if (option.type === 'group') {\r\n <div class=\"particle_dropdown_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\r\n @for (groupOption of option.options; track $index; let j = $index;) {\r\n <button #dropdownOption\r\n (click)=\"onDropdownOptionSelect(groupOption.value, groupOption.disabled!)\"\r\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i + j)\"\r\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i + j)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? dropdownId) + '-' + groupOption.value\"\r\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== groupOption.value }\"\r\n [attr.aria-selected]=\"(_internalValue | async) === groupOption.value\"\r\n [attr.data-value]=\"groupOption.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"groupOption.disabled\"\r\n type=\"button\"\r\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\"\r\n role=\"option\"\r\n tabindex=\"0\"\r\n >\r\n <ng-container *ngTemplateOutlet=\"template; context: $any(groupOption.dataContext!)\"></ng-container>\r\n </button>\r\n }\r\n } @else if (option.type === 'option') {\r\n <!-- SINGULAR OPTION -->\r\n <button #dropdownOption\r\n (click)=\"onDropdownOptionSelect(option.value, option.disabled!)\"\r\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i)\"\r\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? dropdownId) + '-' + option.value\"\r\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== option.value }\"\r\n [attr.aria-selected]=\"(_internalValue | async) === option.value\"\r\n [attr.data-value]=\"option.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"option.disabled\"\r\n type=\"button\"\r\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\" role=\"option\" tabindex=\"0\">\r\n <ng-container *ngTemplateOutlet=\"template; context: $any(option.dataContext!)\"></ng-container>\r\n </button>\r\n }\r\n }\r\n } @else {\r\n <!-- NO CUSTOM TEMPLATE -->\r\n @for (option of options; track $index; let i = $index;) {\r\n <!-- OPTION GROUP -->\r\n @if (option.type === 'group') {\r\n <div class=\"particle_dropdown_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\r\n @for (groupOption of option.options; track $index; let j = $index;) {\r\n <button #dropdownOption\r\n (click)=\"onDropdownOptionSelect(groupOption.value, groupOption.disabled!)\"\r\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i + j)\"\r\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i + j)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? dropdownId) + '-' + groupOption.value\"\r\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== groupOption.value }\"\r\n [attr.aria-label]=\"groupOption.label\"\r\n [attr.aria-selected]=\"(_internalValue | async) === groupOption.value\"\r\n [attr.data-value]=\"groupOption.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"groupOption.disabled\"\r\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\"\r\n type=\"button\"\r\n role=\"option\"\r\n tabindex=\"0\"\r\n >\r\n {{groupOption.label}}\r\n </button>\r\n }\r\n } @else if (option.type === 'option') {\r\n <!-- SINGULAR OPTION -->\r\n <button #dropdownOption\r\n (click)=\"onDropdownOptionSelect(option.value, option.disabled!)\"\r\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i)\"\r\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? dropdownId) + '-' + option.value\"\r\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== option.value }\"\r\n [attr.aria-selected]=\"(_internalValue | async) === option.value\"\r\n [attr.data-value]=\"option.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"option.disabled\"\r\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\"\r\n type=\"button\"\r\n role=\"option\"\r\n tabindex=\"0\"\r\n >\r\n {{option.label}}\r\n </button>\r\n }\r\n }\r\n }\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-content select=\"template\"></ng-content>\r\n}\r\n\r\n@if (isMobile) {\r\n <select\r\n class=\"access ptl_input ptl_input_height ptl_input_text_size ptl_input_padding ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius\"\r\n [id]=\"inputId() ?? dropdownId\"\r\n [disabled]=\"disabled()\"\r\n (ngModelChange)=\"onModelChangeMobile($event)\"\r\n [(ngModel)]=\"value\"\r\n >\r\n @if (_options | async; as options) {\r\n @for (option of options; track $index) {\r\n @if (option.type === 'group') {\r\n <optgroup class=\"input_bg_color min_h50 pad_10\" [label]=\"option.groupLabel\">\r\n @for (groupOption of option.options; track $index) {\r\n <option\r\n [disabled]=\"groupOption.disabled\"\r\n class=\"input_bg_color min_h50 pad_10\"\r\n [value]=\"groupOption.value\"\r\n >\r\n {{groupOption.label}}\r\n </option>\r\n }\r\n </optgroup>\r\n } @else if (option.type === 'option') {\r\n <option\r\n [disabled]=\"option.disabled\"\r\n class=\"input_bg_color min_h50 pad_10\"\r\n [value]=\"option.value\"\r\n >\r\n {{option.label}}\r\n </option>\r\n }\r\n }\r\n }\r\n </select>\r\n}\r\n", styles: [":host{width:100%}.particle_dropdown{width:100%;min-width:150px;position:relative}.particle_dropdown:after{content:\"mm/dd/yyyy\";opacity:0;pointer-events:none}.particle_dropdown_input{position:absolute;display:flex;align-items:center;inset:0;padding:inherit;padding-right:2.25em;width:100%;-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;border:none;text-align:left;-webkit-user-select:none;user-select:none;background-color:transparent;color:inherit;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.particle_dropdown_input:not([disabled]){cursor:pointer}.particle_dropdown_input::-ms-expand{display:none}.particle_dropdown_caret{position:absolute;top:.5em;right:1em;z-index:var(--z-frame);background:transparent;pointer-events:none}.particle_dropdown_placeholder{opacity:.5;display:inline}.particle_dropdown_overlay{position:fixed;inset:0;z-index:var(--z-overlay)}.particle_dropdown_options{border-radius:3px;line-height:1.5;overflow:hidden;list-style-type:none;font-weight:400;z-index:var(--z-overlay);max-height:250px;width:100%;overflow-y:auto;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.particle_dropdown_heading{font-weight:600;opacity:.8;padding:10px 12px 4px}.particle_dropdown_list{padding:0;margin:0;outline:none}.particle_dropdown_option{padding:7px 12px;cursor:pointer;border:none;width:100%;text-align:left;display:flex;align-items:center;transition:.2s background-color ease;background-color:transparent;color:inherit}.particle_dropdown_option.unselected:focus{background-color:#8080801a}.particle_dropdown_option:not(.unselected){background-color:#80808026}.particle_dropdown_option:not(.unselected):focus{background-color:#8080803d}.particle_dropdown_option[disabled]{cursor:default}.particle_dropdown_container{position:absolute;transform:scaleY(.5);opacity:0;pointer-events:none;transition-duration:.2s;transition-property:transform,opacity}.particle_dropdown_container.open{transform:scaleY(1);opacity:1;pointer-events:auto;transition-duration:.2s;transition-property:transform,opacity}\n/*!* option hover/focus state *!*/\n"] }]
|
|
5843
|
+
], imports: [NgClass, NgTemplateOutlet, FormsModule, AsyncPipe, TooltipDirective], template: "@if (!isMobile) {\n <div #dropdown\n class=\"row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir\"\n [style.filter]=\"disabled() ? 'brightness(.95)' : ''\"\n style=\"cursor:default;overflow:hidden;\"\n [ngClass]=\"classList() ? classList() : ''\"\n >\n @if (tooltipData$ | async; as tooltipData) {\n <button #dropdownButton\n role=\"combobox\"\n [attr.aria-controls]=\"(inputId() ?? dropdownId) + '_listbox'\"\n aria-haspopup=\"listbox\"\n type=\"button\"\n (click)=\"openDropdown($event)\"\n (focus)=\"setSelectionIndex()\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"inputId() ?? dropdownId\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"text().placeholder\"\n [attr.aria-expanded]=\"isOpen()\"\n [attr.data-dialog-close-override]=\"true\"\n class=\"access btnset clear center_center height100 width100\"\n style=\"outline-offset: -2px;\"\n [particleTooltip]=\"collapsedButtonTemplate() ? $any(tooltipData) : ''\"\n [tooltipDisabled]=\"!collapsedButtonTemplate() || !collapsedButtonTooltipEnabled()\"\n >\n @if (collapsedButtonTemplate()) {\n <ng-container *ngTemplateOutlet=\"collapsedButtonTemplate()\"></ng-container>\n }\n\n @if (!collapsedButtonTemplate()) {\n <div class=\"col size_1 height100 width100 v_center ptl_input_text_size ptl_input_padding border_none width100 overflow_hide\">\n @if (selectedDataContext$ | async; as dataContext) {\n @if (!!template) {\n <div class=\"row v_center text_ellipsis min_w0\">\n <ng-container *ngTemplateOutlet=\"template; context: $any(dataContext)\"></ng-container>\n </div>\n } @else {\n <div class=\"ent_r2l_txt\">{{dataContext['$implicit'] || dataContext.label}}</div>\n }\n } @else {\n <div class=\"ptl_placeholder ent_r2l_txt\">{{text().placeholder}}</div>\n }\n </div>\n <div class=\"col min_w50 height100 center_center\"\n [ngClass]=\"buttonClassList() ? buttonClassList() : ''\">\n <div class=\"center_center height100 width100\">\n <i class=\"fas fa-caret-down ptl_input_text_size\"></i>\n </div>\n </div>\n }\n </button>\n }\n </div>\n\n <div [style.display]=\"render ? '' : 'none'\"\n [attr.aria-hidden]=\"!render\"\n class=\"particle_dropdown_overlay\"\n >\n <div class=\"particle_dropdown_container\"\n [class.open]=\"isOpen()\"\n #dropdownList\n >\n <div class=\"particle_dropdown_options content_color ent_r2l_dir\" [id]=\"(inputId() ?? dropdownId) + '_listbox'\">\n @if (_options | async; as options) {\n <div class=\"particle_dropdown_list\" role=\"listbox\" tabindex=\"-1\" [attr.aria-label]=\"text().placeholder\">\n <!-- CUSTOM TEMPLATE -->\n @if (!!template) {\n @for (option of options; track $index; let i = $index;) {\n <!-- OPTION GROUP -->\n @if (option.type === 'group') {\n <div class=\"particle_dropdown_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\n @for (groupOption of option.options; track $index; let j = $index;) {\n <button #dropdownOption\n (click)=\"onDropdownOptionSelect(groupOption.value, groupOption.disabled!)\"\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i + j)\"\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i + j)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? dropdownId) + '-' + groupOption.value\"\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== groupOption.value }\"\n [attr.aria-selected]=\"(_internalValue | async) === groupOption.value\"\n [attr.data-value]=\"groupOption.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"groupOption.disabled\"\n type=\"button\"\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\"\n role=\"option\"\n tabindex=\"0\"\n >\n <ng-container *ngTemplateOutlet=\"template; context: $any(groupOption.dataContext!)\"></ng-container>\n </button>\n }\n } @else if (option.type === 'option') {\n <!-- SINGULAR OPTION -->\n <button #dropdownOption\n (click)=\"onDropdownOptionSelect(option.value, option.disabled!)\"\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i)\"\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? dropdownId) + '-' + option.value\"\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== option.value }\"\n [attr.aria-selected]=\"(_internalValue | async) === option.value\"\n [attr.data-value]=\"option.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"option.disabled\"\n type=\"button\"\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\" role=\"option\" tabindex=\"0\">\n <ng-container *ngTemplateOutlet=\"template; context: $any(option.dataContext!)\"></ng-container>\n </button>\n }\n }\n } @else {\n <!-- NO CUSTOM TEMPLATE -->\n @for (option of options; track $index; let i = $index;) {\n <!-- OPTION GROUP -->\n @if (option.type === 'group') {\n <div class=\"particle_dropdown_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\n @for (groupOption of option.options; track $index; let j = $index;) {\n <button #dropdownOption\n (click)=\"onDropdownOptionSelect(groupOption.value, groupOption.disabled!)\"\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i + j)\"\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i + j)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? dropdownId) + '-' + groupOption.value\"\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== groupOption.value }\"\n [attr.aria-label]=\"groupOption.label\"\n [attr.aria-selected]=\"(_internalValue | async) === groupOption.value\"\n [attr.data-value]=\"groupOption.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"groupOption.disabled\"\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\"\n type=\"button\"\n role=\"option\"\n tabindex=\"0\"\n >\n {{groupOption.label}}\n </button>\n }\n } @else if (option.type === 'option') {\n <!-- SINGULAR OPTION -->\n <button #dropdownOption\n (click)=\"onDropdownOptionSelect(option.value, option.disabled!)\"\n (mouseenter)=\"onDropdownOptionMouseEnter(dropdownOption, i)\"\n (mousemove)=\"onDropdownOptionMouseMove(dropdownOption, i)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? dropdownId) + '-' + option.value\"\n [ngClass]=\"{ 'unselected' : (_internalValue | async) !== option.value }\"\n [attr.aria-selected]=\"(_internalValue | async) === option.value\"\n [attr.data-value]=\"option.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"option.disabled\"\n class=\"particle_dropdown_option ptl_input_text_size ent_r2l_txt\"\n type=\"button\"\n role=\"option\"\n tabindex=\"0\"\n >\n {{option.label}}\n </button>\n }\n }\n }\n </div>\n }\n </div>\n </div>\n </div>\n\n <ng-content select=\"template\"></ng-content>\n}\n\n@if (isMobile) {\n <select\n class=\"access ptl_input ptl_input_height ptl_input_text_size ptl_input_padding ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius\"\n [id]=\"inputId() ?? dropdownId\"\n [disabled]=\"disabled()\"\n (ngModelChange)=\"onModelChangeMobile($event)\"\n [(ngModel)]=\"value\"\n >\n @if (_options | async; as options) {\n @for (option of options; track $index) {\n @if (option.type === 'group') {\n <optgroup class=\"input_bg_color min_h50 pad_10\" [label]=\"option.groupLabel\">\n @for (groupOption of option.options; track $index) {\n <option\n [disabled]=\"groupOption.disabled\"\n class=\"input_bg_color min_h50 pad_10\"\n [value]=\"groupOption.value\"\n >\n {{groupOption.label}}\n </option>\n }\n </optgroup>\n } @else if (option.type === 'option') {\n <option\n [disabled]=\"option.disabled\"\n class=\"input_bg_color min_h50 pad_10\"\n [value]=\"option.value\"\n >\n {{option.label}}\n </option>\n }\n }\n }\n </select>\n}\n", styles: [":host{width:100%}.particle_dropdown{width:100%;min-width:150px;position:relative}.particle_dropdown:after{content:\"mm/dd/yyyy\";opacity:0;pointer-events:none}.particle_dropdown_input{position:absolute;display:flex;align-items:center;inset:0;padding:inherit;padding-right:2.25em;width:100%;-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;border:none;text-align:left;-webkit-user-select:none;user-select:none;background-color:transparent;color:inherit;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.particle_dropdown_input:not([disabled]){cursor:pointer}.particle_dropdown_input::-ms-expand{display:none}.particle_dropdown_caret{position:absolute;top:.5em;right:1em;z-index:var(--z-frame);background:transparent;pointer-events:none}.particle_dropdown_placeholder{opacity:.5;display:inline}.particle_dropdown_overlay{position:fixed;inset:0;z-index:var(--z-overlay)}.particle_dropdown_options{border-radius:3px;line-height:1.5;overflow:hidden;list-style-type:none;font-weight:400;z-index:var(--z-overlay);max-height:250px;width:100%;overflow-y:auto;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.particle_dropdown_heading{font-weight:600;opacity:.8;padding:10px 12px 4px}.particle_dropdown_list{padding:0;margin:0;outline:none}.particle_dropdown_option{padding:7px 12px;cursor:pointer;border:none;width:100%;text-align:left;display:flex;align-items:center;transition:.2s background-color ease;background-color:transparent;color:inherit}.particle_dropdown_option.unselected:focus{background-color:#8080801a}.particle_dropdown_option:not(.unselected){background-color:#80808026}.particle_dropdown_option:not(.unselected):focus{background-color:#8080803d}.particle_dropdown_option[disabled]{cursor:default}.particle_dropdown_container{position:absolute;transform:scaleY(.5);opacity:0;pointer-events:none;transition-duration:.2s;transition-property:transform,opacity}.particle_dropdown_container.open{transform:scaleY(1);opacity:1;pointer-events:auto;transition-duration:.2s;transition-property:transform,opacity}\n/*!* option hover/focus state *!*/\n"] }]
|
|
5796
5844
|
}], ctorParameters: () => [], propDecorators: { value: [{
|
|
5797
5845
|
type: Input
|
|
5798
5846
|
}], options: [{
|
|
@@ -6078,7 +6126,10 @@ class MultiSelectComponent {
|
|
|
6078
6126
|
this.onAnimationStart();
|
|
6079
6127
|
}
|
|
6080
6128
|
else {
|
|
6081
|
-
setTimeout(() =>
|
|
6129
|
+
setTimeout(() => {
|
|
6130
|
+
this.render = false;
|
|
6131
|
+
this.changeDetectorRef.markForCheck();
|
|
6132
|
+
}, 300);
|
|
6082
6133
|
}
|
|
6083
6134
|
});
|
|
6084
6135
|
const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
|
|
@@ -6396,7 +6447,7 @@ class MultiSelectComponent {
|
|
|
6396
6447
|
useExisting: forwardRef(() => MultiSelectComponent),
|
|
6397
6448
|
multi: true
|
|
6398
6449
|
}
|
|
6399
|
-
], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "multiSelect", first: true, predicate: ["multiSelect"], descendants: true }, { propertyName: "multiSelectButton", first: true, predicate: ["multiSelectButton"], descendants: true }, { propertyName: "multiSelectList", first: true, predicate: ["multiSelectList"], descendants: true }, { propertyName: "multiSelectOptions", predicate: ["multiSelectOption"], descendants: true }], ngImport: i0, template: "@if (type() === 'input' || (type() === 'expanded' && maxExpandedEntries() > 0 && optionCount > maxExpandedEntries())) {\r\n <div #multiSelect\r\n class=\"row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir\"\r\n [style.filter]=\"disabled() ? 'brightness(.95)' : ''\"\r\n style=\"cursor:default;overflow:hidden;\"\r\n [ngClass]=\"classList() ? classList() : ''\">\r\n <button #multiSelectButton\r\n role=\"combobox\"\r\n [attr.aria-controls]=\"(inputId() ?? multiSelectId) + '_listbox'\"\r\n aria-haspopup=\"listbox\"\r\n type=\"button\"\r\n (click)=\"openMultiSelect($event)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"inputId() ?? multiSelectId\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"text().placeholder\"\r\n [attr.aria-expanded]=\"opened\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n class=\"access btnset clear center_center height100 width100\"\r\n style=\"outline-offset: -2px;\"\r\n >\r\n @if (collapsedButtonTemplate()) {\r\n <ng-container *ngTemplateOutlet=\"collapsedButtonTemplate()\"></ng-container>\r\n }\r\n\r\n @if (!collapsedButtonTemplate()) {\r\n <div class=\"col size_1 height100 width100 v_center ptl_input_text_size ptl_input_padding border_none width100 overflow_hide\">\r\n\r\n @if (selectionCount$ | async; as selectionCount) {\r\n @if (selectionCount > 1) {\r\n <div class=\"ptl_input_text_size ent_r2l_txt\">\r\n <span class=\"text bold\">{{selectionCount}}</span> {{text().of}} {{optionCount}} {{text().optionsSelected}}\r\n </div>\r\n } @else {\r\n @if (dataContextMap$ | async; as dataContextMap) {\r\n @if (_internalValue | async; as internalValues) {\r\n <div class=\"col overflow_hide\">\r\n @if (!!template) {\r\n @for (value of internalValues; track $index) {\r\n <div class=\"mar_tb5 pad_tb2\">\r\n <div class=\"ptl_input_text_size ent_r2l_txt\">\r\n <ng-container *ngTemplateOutlet=\"template; context: $any(dataContextMap['' + value])\"></ng-container>\r\n </div>\r\n </div>\r\n }\r\n } @else {\r\n @for (value of internalValues; track $index) {\r\n <div class=\"ptl_input_text_size mar_tb5 pad_tb2 ent_r2l_txt\">\r\n {{dataContextMap['' + value]['$implicit'] || dataContextMap['' + value]['label']}}\r\n </div>\r\n }\r\n }\r\n </div>\r\n }\r\n }\r\n }\r\n } @else {\r\n <div class=\"ptl_placeholder ent_r2l_txt\">{{text().placeholder + '...'}}</div>\r\n }\r\n </div>\r\n <div class=\"col min_w50 height100 center_center\"\r\n [ngClass]=\"buttonClassList() ? buttonClassList() : 'bg_overlay'\">\r\n <div class=\"center_center height100 width100\">\r\n <i class=\"fas fa-caret-down ptl_input_text_size\"></i>\r\n </div>\r\n </div>\r\n }\r\n </button>\r\n </div>\r\n} @else {\r\n <ng-container [ngTemplateOutlet]=\"multiSelectOptions\"></ng-container>\r\n}\r\n\r\n<div [style.display]=\"render ? '' : 'none'\"\r\n [attr.aria-hidden]=\"!render\"\r\n class=\"particle_multiselect_overlay\">\r\n <div class=\"particle_multiselect_container\"\r\n [class.open]=\"isOpen()\"\r\n #multiSelectList\r\n >\r\n <div class=\"particle_multiselect_options content_color ent_r2l_dir\">\r\n <ng-container [ngTemplateOutlet]=\"multiSelectOptions\"></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #multiSelectOptions>\r\n @if (_options | async; as options) {\r\n <div class=\"particle_multiselect_list ent_r2l_dir\"\r\n role=\"listbox\"\r\n tabindex=\"-1\"\r\n [attr.aria-label]=\"text().placeholder\"\r\n [ngClass]=\"type() === 'expanded' && expandedAsGrid() ? 'particle_multi_select_grid' : ''\"\r\n [id]=\"(inputId() ?? multiSelectId) + (type() === 'input' ? '_listbox' : '')\"\r\n >\r\n <!-- CUSTOM TEMPLATE -->\r\n @if (selectionValueMap$ | async; as selectionValueMap) {\r\n @if (!!template) {\r\n @for (option of options; track $index; let i = $index;) {\r\n <!-- OPTION GROUP -->\r\n @if (option.type === 'group') {\r\n <div class=\"particle_multiselect_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\r\n @for (groupOption of option.options; track $index; let j = $index;) {\r\n <button #multiSelectOption\r\n (click)=\"onMultiSelectOptionSelect(groupOption.value, groupOption.disabled!)\"\r\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i + j)\"\r\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i + j)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? multiSelectId) + '-' + groupOption.value\"\r\n [ngClass]=\"(!selectionValueMap['' + groupOption.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\r\n [attr.aria-selected]=\"(_internalValue | async)?.includes(groupOption.value)\"\r\n [attr.data-value]=\"groupOption.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"groupOption.disabled || disabled()\"\r\n class=\"ptl_input_text_size\"\r\n type=\"button\"\r\n role=\"option\" tabindex=\"0\">\r\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\r\n [ngClass]=\"selectionValueMap['' + groupOption.value] ? 'ok_button_color' : 'unselected'\"\r\n aria-hidden=\"true\">\r\n @if (selectionValueMap['' + groupOption.value]) {\r\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\r\n }\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"template; context: $any(groupOption.dataContext!)\"></ng-container>\r\n </button>\r\n }\r\n } @else if (option.type === 'option') {\r\n <!-- SINGULAR OPTION -->\r\n <button #multiSelectOption\r\n (click)=\"onMultiSelectOptionSelect(option.value, option.disabled!)\"\r\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i)\"\r\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? multiSelectId) + '-' + option.value\"\r\n [attr.aria-selected]=\"(_internalValue | async)?.includes(option.value)\"\r\n [attr.data-value]=\"option.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"option.disabled || disabled()\"\r\n [ngClass]=\"(!selectionValueMap['' + option.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\r\n class=\"ptl_input_text_size\"\r\n role=\"option\" type=\"button\" tabindex=\"0\"\r\n >\r\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\r\n [ngClass]=\"selectionValueMap['' + option.value] ? 'ok_button_color' : 'unselected'\"\r\n aria-hidden=\"true\"\r\n >\r\n @if (selectionValueMap['' + option.value]) {\r\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\r\n }\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"template; context: $any(option.dataContext!)\"></ng-container>\r\n </button>\r\n }\r\n }\r\n } @else {\r\n @for (option of options; track $index; let i = $index;) {\r\n <!-- OPTION GROUP -->\r\n @if (option.type === 'group') {\r\n <div class=\"particle_multiselect_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\r\n @for (groupOption of option.options; track $index; let j = $index;) {\r\n <button #multiSelectOption\r\n (click)=\"onMultiSelectOptionSelect(groupOption.value, groupOption.disabled!)\"\r\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i + j)\"\r\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i + j)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? multiSelectId) + '-' + groupOption.value\"\r\n [attr.aria-label]=\"groupOption.label\"\r\n [attr.aria-selected]=\"(_internalValue | async)?.includes(groupOption.value)\"\r\n [attr.data-value]=\"groupOption.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"groupOption.disabled || disabled()\"\r\n [ngClass]=\"(!selectionValueMap['' + groupOption.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\r\n class=\"ptl_input_text_size\"\r\n type=\"button\" role=\"option\" tabindex=\"0\"\r\n >\r\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\r\n [ngClass]=\"selectionValueMap['' + groupOption.value] ? 'ok_button_color' : 'unselected'\"\r\n aria-hidden=\"true\"\r\n >\r\n @if (selectionValueMap['' + groupOption.value]) {\r\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\r\n }\r\n </div>\r\n <div class=\"ent_r2l_txt mar_lr5\">{{groupOption.label}}</div>\r\n </button>\r\n }\r\n } @else if (option.type === 'option') {\r\n <!-- SINGULAR OPTION -->\r\n <button #multiSelectOption\r\n (click)=\"onMultiSelectOptionSelect(option.value, option.disabled!)\"\r\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i)\"\r\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? multiSelectId) + '-' + option.value\"\r\n [attr.aria-selected]=\"(_internalValue | async)?.includes(option.value)\"\r\n [attr.data-value]=\"option.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"option.disabled || disabled()\"\r\n [ngClass]=\"(!selectionValueMap['' + option.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\r\n class=\"ptl_input_text_size\"\r\n type=\"button\"\r\n role=\"option\"\r\n tabindex=\"0\"\r\n >\r\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\r\n [ngClass]=\"selectionValueMap['' + option.value] ? 'ok_button_color' : 'unselected'\"\r\n aria-hidden=\"true\"\r\n >\r\n @if (selectionValueMap['' + option.value]) {\r\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\r\n }\r\n </div>\r\n <div class=\"ent_r2l_txt mar_lr5\">{{option.label}}</div>\r\n </button>\r\n }\r\n }\r\n }\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-content select=\"template\"></ng-content>\r\n", styles: [":host{width:100%}.particle_multiselect{width:100%;min-width:150px;position:relative}.particle_multiselect:after{content:\"mm/dd/yyyy\";opacity:0;pointer-events:none}.particle_multiselect_input{display:flex;align-items:center;position:absolute;inset:0;padding:inherit;padding-top:.25em;padding-bottom:.25em;padding-right:2.25em;width:100%;-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;border:none;text-align:left;-webkit-user-select:none;user-select:none;background-color:transparent;color:inherit;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.particle_multiselect_input:not([disabled]){cursor:pointer}.particle_multiselect_input::-ms-expand{display:none}.particle_multiselect_caret{position:absolute;top:.5em;right:1em;z-index:var(--z-frame);background:transparent;pointer-events:none}.particle_multiselect_selection{font-size:.75em;margin-right:5px;border-radius:3px;padding:.3em .5em;background-color:#6464801a;display:inline-block}.particle_multiselect_placeholder{opacity:.5;display:inline}.particle_multiselect_overlay{position:fixed;inset:0;z-index:var(--z-overlay)}.particle_multiselect_options{border-radius:3px;line-height:1.5;overflow:hidden;list-style-type:none;font-weight:400;z-index:var(--z-overlay);max-height:250px;width:100%;overflow-y:auto;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.particle_multiselect_heading{font-weight:600;opacity:.8;padding:10px 12px 4px}.particle_multiselect_list{padding:0;margin:0;outline:none}.particle_multiselect_option{padding:7px 12px;cursor:pointer;border:none;width:100%;text-align:left;display:flex;align-items:center;transition:.2s background-color ease;background-color:transparent;color:inherit}.particle_multiselect_option.unselected:focus{background-color:#8080801a}.particle_multiselect_option:not(.unselected):focus{background-color:#8080803d}.particle_multiselect_option[disabled]{cursor:default}.particle_multiselect_checkbox{width:20px;min-width:20px;height:20px;min-height:20px;margin-right:10px;display:flex;align-items:center;justify-content:center;font-size:12px;transition:background-color .2s ease}.particle_multiselect_checkbox.unselected{background-color:#8080801a}.particle_multiselect_checkbox.unselected:hover{background-color:#80808033}.particle_multiselect_container{position:absolute;transform:scaleY(.5);opacity:0;pointer-events:none;transition-duration:.2s;transition-property:transform,opacity}.particle_multiselect_container.open{transform:scaleY(1);opacity:1;pointer-events:auto;transition-duration:.2s;transition-property:transform,opacity}\n/*!* option hover/focus state *!*/\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
6450
|
+
], queries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true }], viewQueries: [{ propertyName: "multiSelect", first: true, predicate: ["multiSelect"], descendants: true }, { propertyName: "multiSelectButton", first: true, predicate: ["multiSelectButton"], descendants: true }, { propertyName: "multiSelectList", first: true, predicate: ["multiSelectList"], descendants: true }, { propertyName: "multiSelectOptions", predicate: ["multiSelectOption"], descendants: true }], ngImport: i0, template: "@if (type() === 'input' || (type() === 'expanded' && maxExpandedEntries() > 0 && optionCount > maxExpandedEntries())) {\n <div #multiSelect\n class=\"row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir\"\n [style.filter]=\"disabled() ? 'brightness(.95)' : ''\"\n style=\"cursor:default;overflow:hidden;\"\n [ngClass]=\"classList() ? classList() : ''\">\n <button #multiSelectButton\n role=\"combobox\"\n [attr.aria-controls]=\"(inputId() ?? multiSelectId) + '_listbox'\"\n aria-haspopup=\"listbox\"\n type=\"button\"\n (click)=\"openMultiSelect($event)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"inputId() ?? multiSelectId\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"text().placeholder\"\n [attr.aria-expanded]=\"opened\"\n [attr.data-dialog-close-override]=\"true\"\n class=\"access btnset clear center_center height100 width100\"\n style=\"outline-offset: -2px;\"\n >\n @if (collapsedButtonTemplate()) {\n <ng-container *ngTemplateOutlet=\"collapsedButtonTemplate()\"></ng-container>\n }\n\n @if (!collapsedButtonTemplate()) {\n <div class=\"col size_1 height100 width100 v_center ptl_input_text_size ptl_input_padding border_none width100 overflow_hide\">\n\n @if (selectionCount$ | async; as selectionCount) {\n @if (selectionCount > 1) {\n <div class=\"ptl_input_text_size ent_r2l_txt\">\n <span class=\"text bold\">{{selectionCount}}</span> {{text().of}} {{optionCount}} {{text().optionsSelected}}\n </div>\n } @else {\n @if (dataContextMap$ | async; as dataContextMap) {\n @if (_internalValue | async; as internalValues) {\n <div class=\"col overflow_hide\">\n @if (!!template) {\n @for (value of internalValues; track $index) {\n <div class=\"mar_tb5 pad_tb2\">\n <div class=\"ptl_input_text_size ent_r2l_txt\">\n <ng-container *ngTemplateOutlet=\"template; context: $any(dataContextMap['' + value])\"></ng-container>\n </div>\n </div>\n }\n } @else {\n @for (value of internalValues; track $index) {\n <div class=\"ptl_input_text_size mar_tb5 pad_tb2 ent_r2l_txt\">\n {{dataContextMap['' + value]['$implicit'] || dataContextMap['' + value]['label']}}\n </div>\n }\n }\n </div>\n }\n }\n }\n } @else {\n <div class=\"ptl_placeholder ent_r2l_txt\">{{text().placeholder + '...'}}</div>\n }\n </div>\n <div class=\"col min_w50 height100 center_center\"\n [ngClass]=\"buttonClassList() ? buttonClassList() : 'bg_overlay'\">\n <div class=\"center_center height100 width100\">\n <i class=\"fas fa-caret-down ptl_input_text_size\"></i>\n </div>\n </div>\n }\n </button>\n </div>\n} @else {\n <ng-container [ngTemplateOutlet]=\"multiSelectOptions\"></ng-container>\n}\n\n<div [style.display]=\"render ? '' : 'none'\"\n [attr.aria-hidden]=\"!render\"\n class=\"particle_multiselect_overlay\">\n <div class=\"particle_multiselect_container\"\n [class.open]=\"isOpen()\"\n #multiSelectList\n >\n <div class=\"particle_multiselect_options content_color ent_r2l_dir\">\n <ng-container [ngTemplateOutlet]=\"multiSelectOptions\"></ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #multiSelectOptions>\n @if (_options | async; as options) {\n <div class=\"particle_multiselect_list ent_r2l_dir\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.aria-label]=\"text().placeholder\"\n [ngClass]=\"type() === 'expanded' && expandedAsGrid() ? 'particle_multi_select_grid' : ''\"\n [id]=\"(inputId() ?? multiSelectId) + (type() === 'input' ? '_listbox' : '')\"\n >\n <!-- CUSTOM TEMPLATE -->\n @if (selectionValueMap$ | async; as selectionValueMap) {\n @if (!!template) {\n @for (option of options; track $index; let i = $index;) {\n <!-- OPTION GROUP -->\n @if (option.type === 'group') {\n <div class=\"particle_multiselect_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\n @for (groupOption of option.options; track $index; let j = $index;) {\n <button #multiSelectOption\n (click)=\"onMultiSelectOptionSelect(groupOption.value, groupOption.disabled!)\"\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i + j)\"\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i + j)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? multiSelectId) + '-' + groupOption.value\"\n [ngClass]=\"(!selectionValueMap['' + groupOption.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\n [attr.aria-selected]=\"(_internalValue | async)?.includes(groupOption.value)\"\n [attr.data-value]=\"groupOption.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"groupOption.disabled || disabled()\"\n class=\"ptl_input_text_size\"\n type=\"button\"\n role=\"option\" tabindex=\"0\">\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\n [ngClass]=\"selectionValueMap['' + groupOption.value] ? 'ok_button_color' : 'unselected'\"\n aria-hidden=\"true\">\n @if (selectionValueMap['' + groupOption.value]) {\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\n }\n </div>\n <ng-container *ngTemplateOutlet=\"template; context: $any(groupOption.dataContext!)\"></ng-container>\n </button>\n }\n } @else if (option.type === 'option') {\n <!-- SINGULAR OPTION -->\n <button #multiSelectOption\n (click)=\"onMultiSelectOptionSelect(option.value, option.disabled!)\"\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i)\"\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? multiSelectId) + '-' + option.value\"\n [attr.aria-selected]=\"(_internalValue | async)?.includes(option.value)\"\n [attr.data-value]=\"option.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"option.disabled || disabled()\"\n [ngClass]=\"(!selectionValueMap['' + option.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\n class=\"ptl_input_text_size\"\n role=\"option\" type=\"button\" tabindex=\"0\"\n >\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\n [ngClass]=\"selectionValueMap['' + option.value] ? 'ok_button_color' : 'unselected'\"\n aria-hidden=\"true\"\n >\n @if (selectionValueMap['' + option.value]) {\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\n }\n </div>\n <ng-container *ngTemplateOutlet=\"template; context: $any(option.dataContext!)\"></ng-container>\n </button>\n }\n }\n } @else {\n @for (option of options; track $index; let i = $index;) {\n <!-- OPTION GROUP -->\n @if (option.type === 'group') {\n <div class=\"particle_multiselect_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\n @for (groupOption of option.options; track $index; let j = $index;) {\n <button #multiSelectOption\n (click)=\"onMultiSelectOptionSelect(groupOption.value, groupOption.disabled!)\"\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i + j)\"\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i + j)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? multiSelectId) + '-' + groupOption.value\"\n [attr.aria-label]=\"groupOption.label\"\n [attr.aria-selected]=\"(_internalValue | async)?.includes(groupOption.value)\"\n [attr.data-value]=\"groupOption.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"groupOption.disabled || disabled()\"\n [ngClass]=\"(!selectionValueMap['' + groupOption.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\n class=\"ptl_input_text_size\"\n type=\"button\" role=\"option\" tabindex=\"0\"\n >\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\n [ngClass]=\"selectionValueMap['' + groupOption.value] ? 'ok_button_color' : 'unselected'\"\n aria-hidden=\"true\"\n >\n @if (selectionValueMap['' + groupOption.value]) {\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\n }\n </div>\n <div class=\"ent_r2l_txt mar_lr5\">{{groupOption.label}}</div>\n </button>\n }\n } @else if (option.type === 'option') {\n <!-- SINGULAR OPTION -->\n <button #multiSelectOption\n (click)=\"onMultiSelectOptionSelect(option.value, option.disabled!)\"\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i)\"\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? multiSelectId) + '-' + option.value\"\n [attr.aria-selected]=\"(_internalValue | async)?.includes(option.value)\"\n [attr.data-value]=\"option.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"option.disabled || disabled()\"\n [ngClass]=\"(!selectionValueMap['' + option.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\n class=\"ptl_input_text_size\"\n type=\"button\"\n role=\"option\"\n tabindex=\"0\"\n >\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\n [ngClass]=\"selectionValueMap['' + option.value] ? 'ok_button_color' : 'unselected'\"\n aria-hidden=\"true\"\n >\n @if (selectionValueMap['' + option.value]) {\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\n }\n </div>\n <div class=\"ent_r2l_txt mar_lr5\">{{option.label}}</div>\n </button>\n }\n }\n }\n }\n </div>\n }\n</ng-template>\n\n<ng-content select=\"template\"></ng-content>\n", styles: [":host{width:100%}.particle_multiselect{width:100%;min-width:150px;position:relative}.particle_multiselect:after{content:\"mm/dd/yyyy\";opacity:0;pointer-events:none}.particle_multiselect_input{display:flex;align-items:center;position:absolute;inset:0;padding:inherit;padding-top:.25em;padding-bottom:.25em;padding-right:2.25em;width:100%;-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;border:none;text-align:left;-webkit-user-select:none;user-select:none;background-color:transparent;color:inherit;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.particle_multiselect_input:not([disabled]){cursor:pointer}.particle_multiselect_input::-ms-expand{display:none}.particle_multiselect_caret{position:absolute;top:.5em;right:1em;z-index:var(--z-frame);background:transparent;pointer-events:none}.particle_multiselect_selection{font-size:.75em;margin-right:5px;border-radius:3px;padding:.3em .5em;background-color:#6464801a;display:inline-block}.particle_multiselect_placeholder{opacity:.5;display:inline}.particle_multiselect_overlay{position:fixed;inset:0;z-index:var(--z-overlay)}.particle_multiselect_options{border-radius:3px;line-height:1.5;overflow:hidden;list-style-type:none;font-weight:400;z-index:var(--z-overlay);max-height:250px;width:100%;overflow-y:auto;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.particle_multiselect_heading{font-weight:600;opacity:.8;padding:10px 12px 4px}.particle_multiselect_list{padding:0;margin:0;outline:none}.particle_multiselect_option{padding:7px 12px;cursor:pointer;border:none;width:100%;text-align:left;display:flex;align-items:center;transition:.2s background-color ease;background-color:transparent;color:inherit}.particle_multiselect_option.unselected:focus{background-color:#8080801a}.particle_multiselect_option:not(.unselected):focus{background-color:#8080803d}.particle_multiselect_option[disabled]{cursor:default}.particle_multiselect_checkbox{width:20px;min-width:20px;height:20px;min-height:20px;margin-right:10px;display:flex;align-items:center;justify-content:center;font-size:12px;transition:background-color .2s ease}.particle_multiselect_checkbox.unselected{background-color:#8080801a}.particle_multiselect_checkbox.unselected:hover{background-color:#80808033}.particle_multiselect_container{position:absolute;transform:scaleY(.5);opacity:0;pointer-events:none;transition-duration:.2s;transition-property:transform,opacity}.particle_multiselect_container.open{transform:scaleY(1);opacity:1;pointer-events:auto;transition-duration:.2s;transition-property:transform,opacity}\n/*!* option hover/focus state *!*/\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
6400
6451
|
}
|
|
6401
6452
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MultiSelectComponent, decorators: [{
|
|
6402
6453
|
type: Component,
|
|
@@ -6406,7 +6457,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
6406
6457
|
useExisting: forwardRef(() => MultiSelectComponent),
|
|
6407
6458
|
multi: true
|
|
6408
6459
|
}
|
|
6409
|
-
], imports: [NgClass, NgTemplateOutlet, AsyncPipe], template: "@if (type() === 'input' || (type() === 'expanded' && maxExpandedEntries() > 0 && optionCount > maxExpandedEntries())) {\r\n <div #multiSelect\r\n class=\"row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir\"\r\n [style.filter]=\"disabled() ? 'brightness(.95)' : ''\"\r\n style=\"cursor:default;overflow:hidden;\"\r\n [ngClass]=\"classList() ? classList() : ''\">\r\n <button #multiSelectButton\r\n role=\"combobox\"\r\n [attr.aria-controls]=\"(inputId() ?? multiSelectId) + '_listbox'\"\r\n aria-haspopup=\"listbox\"\r\n type=\"button\"\r\n (click)=\"openMultiSelect($event)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"inputId() ?? multiSelectId\"\r\n [disabled]=\"disabled()\"\r\n [attr.aria-label]=\"text().placeholder\"\r\n [attr.aria-expanded]=\"opened\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n class=\"access btnset clear center_center height100 width100\"\r\n style=\"outline-offset: -2px;\"\r\n >\r\n @if (collapsedButtonTemplate()) {\r\n <ng-container *ngTemplateOutlet=\"collapsedButtonTemplate()\"></ng-container>\r\n }\r\n\r\n @if (!collapsedButtonTemplate()) {\r\n <div class=\"col size_1 height100 width100 v_center ptl_input_text_size ptl_input_padding border_none width100 overflow_hide\">\r\n\r\n @if (selectionCount$ | async; as selectionCount) {\r\n @if (selectionCount > 1) {\r\n <div class=\"ptl_input_text_size ent_r2l_txt\">\r\n <span class=\"text bold\">{{selectionCount}}</span> {{text().of}} {{optionCount}} {{text().optionsSelected}}\r\n </div>\r\n } @else {\r\n @if (dataContextMap$ | async; as dataContextMap) {\r\n @if (_internalValue | async; as internalValues) {\r\n <div class=\"col overflow_hide\">\r\n @if (!!template) {\r\n @for (value of internalValues; track $index) {\r\n <div class=\"mar_tb5 pad_tb2\">\r\n <div class=\"ptl_input_text_size ent_r2l_txt\">\r\n <ng-container *ngTemplateOutlet=\"template; context: $any(dataContextMap['' + value])\"></ng-container>\r\n </div>\r\n </div>\r\n }\r\n } @else {\r\n @for (value of internalValues; track $index) {\r\n <div class=\"ptl_input_text_size mar_tb5 pad_tb2 ent_r2l_txt\">\r\n {{dataContextMap['' + value]['$implicit'] || dataContextMap['' + value]['label']}}\r\n </div>\r\n }\r\n }\r\n </div>\r\n }\r\n }\r\n }\r\n } @else {\r\n <div class=\"ptl_placeholder ent_r2l_txt\">{{text().placeholder + '...'}}</div>\r\n }\r\n </div>\r\n <div class=\"col min_w50 height100 center_center\"\r\n [ngClass]=\"buttonClassList() ? buttonClassList() : 'bg_overlay'\">\r\n <div class=\"center_center height100 width100\">\r\n <i class=\"fas fa-caret-down ptl_input_text_size\"></i>\r\n </div>\r\n </div>\r\n }\r\n </button>\r\n </div>\r\n} @else {\r\n <ng-container [ngTemplateOutlet]=\"multiSelectOptions\"></ng-container>\r\n}\r\n\r\n<div [style.display]=\"render ? '' : 'none'\"\r\n [attr.aria-hidden]=\"!render\"\r\n class=\"particle_multiselect_overlay\">\r\n <div class=\"particle_multiselect_container\"\r\n [class.open]=\"isOpen()\"\r\n #multiSelectList\r\n >\r\n <div class=\"particle_multiselect_options content_color ent_r2l_dir\">\r\n <ng-container [ngTemplateOutlet]=\"multiSelectOptions\"></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<ng-template #multiSelectOptions>\r\n @if (_options | async; as options) {\r\n <div class=\"particle_multiselect_list ent_r2l_dir\"\r\n role=\"listbox\"\r\n tabindex=\"-1\"\r\n [attr.aria-label]=\"text().placeholder\"\r\n [ngClass]=\"type() === 'expanded' && expandedAsGrid() ? 'particle_multi_select_grid' : ''\"\r\n [id]=\"(inputId() ?? multiSelectId) + (type() === 'input' ? '_listbox' : '')\"\r\n >\r\n <!-- CUSTOM TEMPLATE -->\r\n @if (selectionValueMap$ | async; as selectionValueMap) {\r\n @if (!!template) {\r\n @for (option of options; track $index; let i = $index;) {\r\n <!-- OPTION GROUP -->\r\n @if (option.type === 'group') {\r\n <div class=\"particle_multiselect_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\r\n @for (groupOption of option.options; track $index; let j = $index;) {\r\n <button #multiSelectOption\r\n (click)=\"onMultiSelectOptionSelect(groupOption.value, groupOption.disabled!)\"\r\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i + j)\"\r\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i + j)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? multiSelectId) + '-' + groupOption.value\"\r\n [ngClass]=\"(!selectionValueMap['' + groupOption.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\r\n [attr.aria-selected]=\"(_internalValue | async)?.includes(groupOption.value)\"\r\n [attr.data-value]=\"groupOption.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"groupOption.disabled || disabled()\"\r\n class=\"ptl_input_text_size\"\r\n type=\"button\"\r\n role=\"option\" tabindex=\"0\">\r\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\r\n [ngClass]=\"selectionValueMap['' + groupOption.value] ? 'ok_button_color' : 'unselected'\"\r\n aria-hidden=\"true\">\r\n @if (selectionValueMap['' + groupOption.value]) {\r\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\r\n }\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"template; context: $any(groupOption.dataContext!)\"></ng-container>\r\n </button>\r\n }\r\n } @else if (option.type === 'option') {\r\n <!-- SINGULAR OPTION -->\r\n <button #multiSelectOption\r\n (click)=\"onMultiSelectOptionSelect(option.value, option.disabled!)\"\r\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i)\"\r\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? multiSelectId) + '-' + option.value\"\r\n [attr.aria-selected]=\"(_internalValue | async)?.includes(option.value)\"\r\n [attr.data-value]=\"option.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"option.disabled || disabled()\"\r\n [ngClass]=\"(!selectionValueMap['' + option.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\r\n class=\"ptl_input_text_size\"\r\n role=\"option\" type=\"button\" tabindex=\"0\"\r\n >\r\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\r\n [ngClass]=\"selectionValueMap['' + option.value] ? 'ok_button_color' : 'unselected'\"\r\n aria-hidden=\"true\"\r\n >\r\n @if (selectionValueMap['' + option.value]) {\r\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\r\n }\r\n </div>\r\n <ng-container *ngTemplateOutlet=\"template; context: $any(option.dataContext!)\"></ng-container>\r\n </button>\r\n }\r\n }\r\n } @else {\r\n @for (option of options; track $index; let i = $index;) {\r\n <!-- OPTION GROUP -->\r\n @if (option.type === 'group') {\r\n <div class=\"particle_multiselect_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\r\n @for (groupOption of option.options; track $index; let j = $index;) {\r\n <button #multiSelectOption\r\n (click)=\"onMultiSelectOptionSelect(groupOption.value, groupOption.disabled!)\"\r\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i + j)\"\r\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i + j)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? multiSelectId) + '-' + groupOption.value\"\r\n [attr.aria-label]=\"groupOption.label\"\r\n [attr.aria-selected]=\"(_internalValue | async)?.includes(groupOption.value)\"\r\n [attr.data-value]=\"groupOption.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"groupOption.disabled || disabled()\"\r\n [ngClass]=\"(!selectionValueMap['' + groupOption.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\r\n class=\"ptl_input_text_size\"\r\n type=\"button\" role=\"option\" tabindex=\"0\"\r\n >\r\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\r\n [ngClass]=\"selectionValueMap['' + groupOption.value] ? 'ok_button_color' : 'unselected'\"\r\n aria-hidden=\"true\"\r\n >\r\n @if (selectionValueMap['' + groupOption.value]) {\r\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\r\n }\r\n </div>\r\n <div class=\"ent_r2l_txt mar_lr5\">{{groupOption.label}}</div>\r\n </button>\r\n }\r\n } @else if (option.type === 'option') {\r\n <!-- SINGULAR OPTION -->\r\n <button #multiSelectOption\r\n (click)=\"onMultiSelectOptionSelect(option.value, option.disabled!)\"\r\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i)\"\r\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i)\"\r\n (keyup.escape)=\"onEscapeKeyUp($event)\"\r\n [id]=\"(inputId() ?? multiSelectId) + '-' + option.value\"\r\n [attr.aria-selected]=\"(_internalValue | async)?.includes(option.value)\"\r\n [attr.data-value]=\"option.value\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n [disabled]=\"option.disabled || disabled()\"\r\n [ngClass]=\"(!selectionValueMap['' + option.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\r\n class=\"ptl_input_text_size\"\r\n type=\"button\"\r\n role=\"option\"\r\n tabindex=\"0\"\r\n >\r\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\r\n [ngClass]=\"selectionValueMap['' + option.value] ? 'ok_button_color' : 'unselected'\"\r\n aria-hidden=\"true\"\r\n >\r\n @if (selectionValueMap['' + option.value]) {\r\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\r\n }\r\n </div>\r\n <div class=\"ent_r2l_txt mar_lr5\">{{option.label}}</div>\r\n </button>\r\n }\r\n }\r\n }\r\n }\r\n </div>\r\n }\r\n</ng-template>\r\n\r\n<ng-content select=\"template\"></ng-content>\r\n", styles: [":host{width:100%}.particle_multiselect{width:100%;min-width:150px;position:relative}.particle_multiselect:after{content:\"mm/dd/yyyy\";opacity:0;pointer-events:none}.particle_multiselect_input{display:flex;align-items:center;position:absolute;inset:0;padding:inherit;padding-top:.25em;padding-bottom:.25em;padding-right:2.25em;width:100%;-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;border:none;text-align:left;-webkit-user-select:none;user-select:none;background-color:transparent;color:inherit;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.particle_multiselect_input:not([disabled]){cursor:pointer}.particle_multiselect_input::-ms-expand{display:none}.particle_multiselect_caret{position:absolute;top:.5em;right:1em;z-index:var(--z-frame);background:transparent;pointer-events:none}.particle_multiselect_selection{font-size:.75em;margin-right:5px;border-radius:3px;padding:.3em .5em;background-color:#6464801a;display:inline-block}.particle_multiselect_placeholder{opacity:.5;display:inline}.particle_multiselect_overlay{position:fixed;inset:0;z-index:var(--z-overlay)}.particle_multiselect_options{border-radius:3px;line-height:1.5;overflow:hidden;list-style-type:none;font-weight:400;z-index:var(--z-overlay);max-height:250px;width:100%;overflow-y:auto;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.particle_multiselect_heading{font-weight:600;opacity:.8;padding:10px 12px 4px}.particle_multiselect_list{padding:0;margin:0;outline:none}.particle_multiselect_option{padding:7px 12px;cursor:pointer;border:none;width:100%;text-align:left;display:flex;align-items:center;transition:.2s background-color ease;background-color:transparent;color:inherit}.particle_multiselect_option.unselected:focus{background-color:#8080801a}.particle_multiselect_option:not(.unselected):focus{background-color:#8080803d}.particle_multiselect_option[disabled]{cursor:default}.particle_multiselect_checkbox{width:20px;min-width:20px;height:20px;min-height:20px;margin-right:10px;display:flex;align-items:center;justify-content:center;font-size:12px;transition:background-color .2s ease}.particle_multiselect_checkbox.unselected{background-color:#8080801a}.particle_multiselect_checkbox.unselected:hover{background-color:#80808033}.particle_multiselect_container{position:absolute;transform:scaleY(.5);opacity:0;pointer-events:none;transition-duration:.2s;transition-property:transform,opacity}.particle_multiselect_container.open{transform:scaleY(1);opacity:1;pointer-events:auto;transition-duration:.2s;transition-property:transform,opacity}\n/*!* option hover/focus state *!*/\n"] }]
|
|
6460
|
+
], imports: [NgClass, NgTemplateOutlet, AsyncPipe], template: "@if (type() === 'input' || (type() === 'expanded' && maxExpandedEntries() > 0 && optionCount > maxExpandedEntries())) {\n <div #multiSelect\n class=\"row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir\"\n [style.filter]=\"disabled() ? 'brightness(.95)' : ''\"\n style=\"cursor:default;overflow:hidden;\"\n [ngClass]=\"classList() ? classList() : ''\">\n <button #multiSelectButton\n role=\"combobox\"\n [attr.aria-controls]=\"(inputId() ?? multiSelectId) + '_listbox'\"\n aria-haspopup=\"listbox\"\n type=\"button\"\n (click)=\"openMultiSelect($event)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"inputId() ?? multiSelectId\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"text().placeholder\"\n [attr.aria-expanded]=\"opened\"\n [attr.data-dialog-close-override]=\"true\"\n class=\"access btnset clear center_center height100 width100\"\n style=\"outline-offset: -2px;\"\n >\n @if (collapsedButtonTemplate()) {\n <ng-container *ngTemplateOutlet=\"collapsedButtonTemplate()\"></ng-container>\n }\n\n @if (!collapsedButtonTemplate()) {\n <div class=\"col size_1 height100 width100 v_center ptl_input_text_size ptl_input_padding border_none width100 overflow_hide\">\n\n @if (selectionCount$ | async; as selectionCount) {\n @if (selectionCount > 1) {\n <div class=\"ptl_input_text_size ent_r2l_txt\">\n <span class=\"text bold\">{{selectionCount}}</span> {{text().of}} {{optionCount}} {{text().optionsSelected}}\n </div>\n } @else {\n @if (dataContextMap$ | async; as dataContextMap) {\n @if (_internalValue | async; as internalValues) {\n <div class=\"col overflow_hide\">\n @if (!!template) {\n @for (value of internalValues; track $index) {\n <div class=\"mar_tb5 pad_tb2\">\n <div class=\"ptl_input_text_size ent_r2l_txt\">\n <ng-container *ngTemplateOutlet=\"template; context: $any(dataContextMap['' + value])\"></ng-container>\n </div>\n </div>\n }\n } @else {\n @for (value of internalValues; track $index) {\n <div class=\"ptl_input_text_size mar_tb5 pad_tb2 ent_r2l_txt\">\n {{dataContextMap['' + value]['$implicit'] || dataContextMap['' + value]['label']}}\n </div>\n }\n }\n </div>\n }\n }\n }\n } @else {\n <div class=\"ptl_placeholder ent_r2l_txt\">{{text().placeholder + '...'}}</div>\n }\n </div>\n <div class=\"col min_w50 height100 center_center\"\n [ngClass]=\"buttonClassList() ? buttonClassList() : 'bg_overlay'\">\n <div class=\"center_center height100 width100\">\n <i class=\"fas fa-caret-down ptl_input_text_size\"></i>\n </div>\n </div>\n }\n </button>\n </div>\n} @else {\n <ng-container [ngTemplateOutlet]=\"multiSelectOptions\"></ng-container>\n}\n\n<div [style.display]=\"render ? '' : 'none'\"\n [attr.aria-hidden]=\"!render\"\n class=\"particle_multiselect_overlay\">\n <div class=\"particle_multiselect_container\"\n [class.open]=\"isOpen()\"\n #multiSelectList\n >\n <div class=\"particle_multiselect_options content_color ent_r2l_dir\">\n <ng-container [ngTemplateOutlet]=\"multiSelectOptions\"></ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #multiSelectOptions>\n @if (_options | async; as options) {\n <div class=\"particle_multiselect_list ent_r2l_dir\"\n role=\"listbox\"\n tabindex=\"-1\"\n [attr.aria-label]=\"text().placeholder\"\n [ngClass]=\"type() === 'expanded' && expandedAsGrid() ? 'particle_multi_select_grid' : ''\"\n [id]=\"(inputId() ?? multiSelectId) + (type() === 'input' ? '_listbox' : '')\"\n >\n <!-- CUSTOM TEMPLATE -->\n @if (selectionValueMap$ | async; as selectionValueMap) {\n @if (!!template) {\n @for (option of options; track $index; let i = $index;) {\n <!-- OPTION GROUP -->\n @if (option.type === 'group') {\n <div class=\"particle_multiselect_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\n @for (groupOption of option.options; track $index; let j = $index;) {\n <button #multiSelectOption\n (click)=\"onMultiSelectOptionSelect(groupOption.value, groupOption.disabled!)\"\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i + j)\"\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i + j)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? multiSelectId) + '-' + groupOption.value\"\n [ngClass]=\"(!selectionValueMap['' + groupOption.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\n [attr.aria-selected]=\"(_internalValue | async)?.includes(groupOption.value)\"\n [attr.data-value]=\"groupOption.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"groupOption.disabled || disabled()\"\n class=\"ptl_input_text_size\"\n type=\"button\"\n role=\"option\" tabindex=\"0\">\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\n [ngClass]=\"selectionValueMap['' + groupOption.value] ? 'ok_button_color' : 'unselected'\"\n aria-hidden=\"true\">\n @if (selectionValueMap['' + groupOption.value]) {\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\n }\n </div>\n <ng-container *ngTemplateOutlet=\"template; context: $any(groupOption.dataContext!)\"></ng-container>\n </button>\n }\n } @else if (option.type === 'option') {\n <!-- SINGULAR OPTION -->\n <button #multiSelectOption\n (click)=\"onMultiSelectOptionSelect(option.value, option.disabled!)\"\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i)\"\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? multiSelectId) + '-' + option.value\"\n [attr.aria-selected]=\"(_internalValue | async)?.includes(option.value)\"\n [attr.data-value]=\"option.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"option.disabled || disabled()\"\n [ngClass]=\"(!selectionValueMap['' + option.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\n class=\"ptl_input_text_size\"\n role=\"option\" type=\"button\" tabindex=\"0\"\n >\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\n [ngClass]=\"selectionValueMap['' + option.value] ? 'ok_button_color' : 'unselected'\"\n aria-hidden=\"true\"\n >\n @if (selectionValueMap['' + option.value]) {\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\n }\n </div>\n <ng-container *ngTemplateOutlet=\"template; context: $any(option.dataContext!)\"></ng-container>\n </button>\n }\n }\n } @else {\n @for (option of options; track $index; let i = $index;) {\n <!-- OPTION GROUP -->\n @if (option.type === 'group') {\n <div class=\"particle_multiselect_heading ptl_input_text_size ent_r2l_txt\" aria-hidden=\"true\">{{option.groupLabel}}</div>\n @for (groupOption of option.options; track $index; let j = $index;) {\n <button #multiSelectOption\n (click)=\"onMultiSelectOptionSelect(groupOption.value, groupOption.disabled!)\"\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i + j)\"\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i + j)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? multiSelectId) + '-' + groupOption.value\"\n [attr.aria-label]=\"groupOption.label\"\n [attr.aria-selected]=\"(_internalValue | async)?.includes(groupOption.value)\"\n [attr.data-value]=\"groupOption.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"groupOption.disabled || disabled()\"\n [ngClass]=\"(!selectionValueMap['' + groupOption.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\n class=\"ptl_input_text_size\"\n type=\"button\" role=\"option\" tabindex=\"0\"\n >\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\n [ngClass]=\"selectionValueMap['' + groupOption.value] ? 'ok_button_color' : 'unselected'\"\n aria-hidden=\"true\"\n >\n @if (selectionValueMap['' + groupOption.value]) {\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\n }\n </div>\n <div class=\"ent_r2l_txt mar_lr5\">{{groupOption.label}}</div>\n </button>\n }\n } @else if (option.type === 'option') {\n <!-- SINGULAR OPTION -->\n <button #multiSelectOption\n (click)=\"onMultiSelectOptionSelect(option.value, option.disabled!)\"\n (mouseenter)=\"onMultiSelectOptionMouseEnter(multiSelectOption, i)\"\n (mousemove)=\"onMultiSelectOptionMouseMove(multiSelectOption, i)\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n [id]=\"(inputId() ?? multiSelectId) + '-' + option.value\"\n [attr.aria-selected]=\"(_internalValue | async)?.includes(option.value)\"\n [attr.data-value]=\"option.value\"\n [attr.data-dialog-close-override]=\"true\"\n [disabled]=\"option.disabled || disabled()\"\n [ngClass]=\"(!selectionValueMap['' + option.value] ? 'unselected' : '') + (entryClassList() ? ' ' + entryClassList() : ' particle_multiselect_option')\"\n class=\"ptl_input_text_size\"\n type=\"button\"\n role=\"option\"\n tabindex=\"0\"\n >\n <div class=\"particle_multiselect_checkbox ptl_brdr_radius bg_overlay brdr\"\n [ngClass]=\"selectionValueMap['' + option.value] ? 'ok_button_color' : 'unselected'\"\n aria-hidden=\"true\"\n >\n @if (selectionValueMap['' + option.value]) {\n <div><i class=\"fas fa-check ent_r2l_ico\"></i></div>\n }\n </div>\n <div class=\"ent_r2l_txt mar_lr5\">{{option.label}}</div>\n </button>\n }\n }\n }\n }\n </div>\n }\n</ng-template>\n\n<ng-content select=\"template\"></ng-content>\n", styles: [":host{width:100%}.particle_multiselect{width:100%;min-width:150px;position:relative}.particle_multiselect:after{content:\"mm/dd/yyyy\";opacity:0;pointer-events:none}.particle_multiselect_input{display:flex;align-items:center;position:absolute;inset:0;padding:inherit;padding-top:.25em;padding-bottom:.25em;padding-right:2.25em;width:100%;-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;border:none;text-align:left;-webkit-user-select:none;user-select:none;background-color:transparent;color:inherit;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.particle_multiselect_input:not([disabled]){cursor:pointer}.particle_multiselect_input::-ms-expand{display:none}.particle_multiselect_caret{position:absolute;top:.5em;right:1em;z-index:var(--z-frame);background:transparent;pointer-events:none}.particle_multiselect_selection{font-size:.75em;margin-right:5px;border-radius:3px;padding:.3em .5em;background-color:#6464801a;display:inline-block}.particle_multiselect_placeholder{opacity:.5;display:inline}.particle_multiselect_overlay{position:fixed;inset:0;z-index:var(--z-overlay)}.particle_multiselect_options{border-radius:3px;line-height:1.5;overflow:hidden;list-style-type:none;font-weight:400;z-index:var(--z-overlay);max-height:250px;width:100%;overflow-y:auto;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.particle_multiselect_heading{font-weight:600;opacity:.8;padding:10px 12px 4px}.particle_multiselect_list{padding:0;margin:0;outline:none}.particle_multiselect_option{padding:7px 12px;cursor:pointer;border:none;width:100%;text-align:left;display:flex;align-items:center;transition:.2s background-color ease;background-color:transparent;color:inherit}.particle_multiselect_option.unselected:focus{background-color:#8080801a}.particle_multiselect_option:not(.unselected):focus{background-color:#8080803d}.particle_multiselect_option[disabled]{cursor:default}.particle_multiselect_checkbox{width:20px;min-width:20px;height:20px;min-height:20px;margin-right:10px;display:flex;align-items:center;justify-content:center;font-size:12px;transition:background-color .2s ease}.particle_multiselect_checkbox.unselected{background-color:#8080801a}.particle_multiselect_checkbox.unselected:hover{background-color:#80808033}.particle_multiselect_container{position:absolute;transform:scaleY(.5);opacity:0;pointer-events:none;transition-duration:.2s;transition-property:transform,opacity}.particle_multiselect_container.open{transform:scaleY(1);opacity:1;pointer-events:auto;transition-duration:.2s;transition-property:transform,opacity}\n/*!* option hover/focus state *!*/\n"] }]
|
|
6410
6461
|
}], ctorParameters: () => [], propDecorators: { value: [{
|
|
6411
6462
|
type: Input
|
|
6412
6463
|
}], options: [{
|
|
@@ -6555,11 +6606,11 @@ class NotificationComponent {
|
|
|
6555
6606
|
this.notificationService.deleteNotification(id);
|
|
6556
6607
|
}
|
|
6557
6608
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: NotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6558
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: NotificationComponent, isStandalone: true, selector: "particle-notification", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<!-- toast -->\
|
|
6609
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: NotificationComponent, isStandalone: true, selector: "particle-notification", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<!-- toast -->\n<div class=\"particle_notification_overlay ent_r2l_row\">\n <!-- spacer -->\n <!-- container -->\n <div class=\"row min_w280 pad_right5\" style=\"max-width:400px;\">\n <div class=\"row_block width100 notification_list\">\n <!-- item -->\n @for (notification of notifications$ | async; track notification.id; let i = $index;) {\n <div class=\"row ent_r2l_row v_center content_color pad_10 mar_10 shadow ptl_brdr_radius item\"\n animate.leave=\"notification_leave\" style=\"--index: {{i}}\"\n >\n <div class=\"col pad_5\">\n <div class=\"circle_36px\" [ngClass]=\"severityColorMap[notification.severity]\">\n <i class=\"fas {{severityIconMap[notification.severity]}} fa-lg ent_r2l_ico\"></i>\n </div>\n </div>\n <div class=\"col size_1 pad_5 ent_r2l_dir rc_gap\">\n <div class=\"col ptl_brdr_color border_right\"></div>\n <div class=\"col\">\n <div class=\"row_block width100\">\n <div class=\"text lg text_left text_wrap bold ent_r2l_txt\">{{notification.summary}}</div>\n <div class=\"text md text_left text_wrap ent_r2l_txt\">{{notification.detail}}</div>\n </div>\n </div>\n </div>\n <div class=\"col\" style=\"pointer-events: all;\">\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"text().dismiss\"\n (click)=\"deleteNotification($any(notification.id))\"\n >\n <div class=\"circle_20px ptl_brdr_color ptl_brdr_size ptl_input_bg_color\">\n <i class=\"fas fa-times\"></i>\n </div>\n </button>\n </div>\n </div>\n }\n </div>\n </div>\n</div>\n", styles: [".particle_notification_overlay{display:flex;position:fixed;justify-content:flex-end;inset:0;z-index:var(--z-notification);pointer-events:none}.notification_list{list-style:none;padding:0;margin:0}.notification_list .item{transform:scale(1);opacity:1;transition-property:opacity,transform;transition-timing-function:cubic-bezier(.8,-.6,.2,1.5);transition-duration:.65s;transition-delay:calc(.3s * var(--index))}@starting-style{.notification_list .item{opacity:0;transform:scale(.5)}}.notification_leave{animation:slideOut .65s ease-in forwards}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
6559
6610
|
}
|
|
6560
6611
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: NotificationComponent, decorators: [{
|
|
6561
6612
|
type: Component,
|
|
6562
|
-
args: [{ selector: 'particle-notification', imports: [NgClass, AsyncPipe], template: "<!-- toast -->\
|
|
6613
|
+
args: [{ selector: 'particle-notification', imports: [NgClass, AsyncPipe], template: "<!-- toast -->\n<div class=\"particle_notification_overlay ent_r2l_row\">\n <!-- spacer -->\n <!-- container -->\n <div class=\"row min_w280 pad_right5\" style=\"max-width:400px;\">\n <div class=\"row_block width100 notification_list\">\n <!-- item -->\n @for (notification of notifications$ | async; track notification.id; let i = $index;) {\n <div class=\"row ent_r2l_row v_center content_color pad_10 mar_10 shadow ptl_brdr_radius item\"\n animate.leave=\"notification_leave\" style=\"--index: {{i}}\"\n >\n <div class=\"col pad_5\">\n <div class=\"circle_36px\" [ngClass]=\"severityColorMap[notification.severity]\">\n <i class=\"fas {{severityIconMap[notification.severity]}} fa-lg ent_r2l_ico\"></i>\n </div>\n </div>\n <div class=\"col size_1 pad_5 ent_r2l_dir rc_gap\">\n <div class=\"col ptl_brdr_color border_right\"></div>\n <div class=\"col\">\n <div class=\"row_block width100\">\n <div class=\"text lg text_left text_wrap bold ent_r2l_txt\">{{notification.summary}}</div>\n <div class=\"text md text_left text_wrap ent_r2l_txt\">{{notification.detail}}</div>\n </div>\n </div>\n </div>\n <div class=\"col\" style=\"pointer-events: all;\">\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"text().dismiss\"\n (click)=\"deleteNotification($any(notification.id))\"\n >\n <div class=\"circle_20px ptl_brdr_color ptl_brdr_size ptl_input_bg_color\">\n <i class=\"fas fa-times\"></i>\n </div>\n </button>\n </div>\n </div>\n }\n </div>\n </div>\n</div>\n", styles: [".particle_notification_overlay{display:flex;position:fixed;justify-content:flex-end;inset:0;z-index:var(--z-notification);pointer-events:none}.notification_list{list-style:none;padding:0;margin:0}.notification_list .item{transform:scale(1);opacity:1;transition-property:opacity,transform;transition-timing-function:cubic-bezier(.8,-.6,.2,1.5);transition-duration:.65s;transition-delay:calc(.3s * var(--index))}@starting-style{.notification_list .item{opacity:0;transform:scale(.5)}}.notification_leave{animation:slideOut .65s ease-in forwards}@keyframes slideOut{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}\n"] }]
|
|
6563
6614
|
}], propDecorators: { text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }] } });
|
|
6564
6615
|
|
|
6565
6616
|
/**
|
|
@@ -7029,7 +7080,7 @@ class WeekPickerComponent {
|
|
|
7029
7080
|
useExisting: forwardRef(() => WeekPickerComponent),
|
|
7030
7081
|
multi: true
|
|
7031
7082
|
}
|
|
7032
|
-
], viewQueries: [{ propertyName: "calendarPopover", first: true, predicate: ["calendarPopover"], descendants: true }], ngImport: i0, template: "<div style=\"cursor:default;overflow: hidden;\"\r\n [ngClass]=\"inputClassList() ? '' : 'row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir'\"\r\n [style.filter]=\"disabled ? 'brightness(.95)' : ''\">\r\n <button (click)=\"openCalendar($event)\"\r\n aria-haspopup=\"dialog\"\r\n [disabled]=\"disabled\"\r\n [attr.aria-label]=\"ariaLabel() + ', ' + text().openCalendar\"\r\n [attr.aria-expanded]=\"calendarPopover.visible\"\r\n [ngClass]=\"inputClassList() ? inputClassList() : 'clear'\"\r\n type=\"button\"\r\n class=\"access btnset width100 height100 center_center\"\r\n style=\"outline-offset: -2px;\"\r\n >\r\n <div class=\"col size_1 height100 width100 ptl_input_text_size ptl_input_padding v_center\">\r\n @if (_internalValue | async; as internalValue) {\r\n {{internalValue.start | date: dateFormat()}} - {{internalValue.end | date: dateFormat()}}\r\n } @else {\r\n <div class=\"ent_r2l_txt\">{{text().selectWeek}}...</div>\r\n }\r\n </div>\r\n <div class=\"col min_w50 height100 center_center\"\r\n [ngClass]=\"calendarButtonClassList() ? calendarButtonClassList() : 'bg_blue'\">\r\n <div class=\"width100 height100 center_center\">\r\n <i class=\"fas fa-calendar-week ptl_input_text_size\"></i>\r\n </div>\r\n </div>\r\n </button>\r\n</div>\r\n\r\n<!-- TODO: instead of offset 1, attach to wwp_container -->\r\n<!-- calendar widget -->\r\n<particle-popover [offset]=\"1\" #calendarPopover>\r\n <!-- month / year select -->\r\n <div class=\"wwp_options\">\r\n <div class=\"content_color pad_5 pad_bot0\">\r\n <div class=\"row space_between\">\r\n <div class=\"col size_1 mar_5\">\r\n <select #yearSelect\r\n [ngModel]=\"_selectedYear | async\"\r\n [attr.data-dialog-close-override]=\"true\"\r\n (change)=\"_selectedYear.next(+yearSelect.value)\"\r\n class=\"access input sm content_color\"\r\n [attr.aria-label]=\"text().selectYear\">\r\n @for (year of validYearRange$ | async; track $index) {\r\n <option\r\n [value]=\"year\">\r\n {{year}}\r\n </option>\r\n }\r\n </select>\r\n </div>\r\n <div class=\"col size_2 mar_5\">\r\n <select #monthSelect\r\n [ngModel]=\"_selectedMonth | async\"\r\n (change)=\"_selectedMonth.next(+monthSelect.value)\"\r\n class=\"access input sm content_color\"\r\n [attr.aria-label]=\"text().selectMonth\">\r\n <option value=\"0\">{{text().january}}</option>\r\n <option value=\"1\">{{text().february}}</option>\r\n <option value=\"2\">{{text().march}}</option>\r\n <option value=\"3\">{{text().april}}</option>\r\n <option value=\"4\">{{text().may}}</option>\r\n <option value=\"5\">{{text().june}}</option>\r\n <option value=\"6\">{{text().july}}</option>\r\n <option value=\"7\">{{text().august}}</option>\r\n <option value=\"8\">{{text().september}}</option>\r\n <option value=\"9\">{{text().october}}</option>\r\n <option value=\"10\">{{text().november}}</option>\r\n <option value=\"11\">{{text().december}}</option>\r\n </select>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"content_color pad_5\">\r\n <!-- weekdays -->\r\n <div class=\"mar_5 mar_bot10\">\r\n <div class=\"row wrap space_between ptl_input_bg_color ptl_brdr_color border_bottom brad_3 mar_bot5\">\r\n <div class=\"wwp_weekday\">{{text().sundayAbbr}}</div>\r\n <div class=\"wwp_weekday\">{{text().mondayAbbr}}</div>\r\n <div class=\"wwp_weekday\">{{text().tuesdayAbbr}}</div>\r\n <div class=\"wwp_weekday\">{{text().wednesdayAbbr}}</div>\r\n <div class=\"wwp_weekday\">{{text().thursdayAbbr}}</div>\r\n <div class=\"wwp_weekday\">{{text().fridayAbbr}}</div>\r\n <div class=\"wwp_weekday\">{{text().saturdayAbbr}}</div>\r\n </div>\r\n <!-- days -->\r\n @if (fullMonth$ | async; as fullMonth) {\r\n @for (week of fullMonth; track $index) {\r\n <div class=\"wwp_week\"\r\n [ngClass]=\"{ 'currentWeek': week.week === currentDate.week && week.year === currentDate.year }\">\r\n <button (click)=\"onWeekSelect(week.week, week.selectable)\"\r\n [disabled]=\"!week.selectable\"\r\n [ngClass]=\"((selectedWeek$ | async) === week.week) && ((selectedYear$ | async) === week.year)\r\n ? 'ok_button_color'\r\n : 'bg_overlay_rev brdr hov_bg'\"\r\n class=\"access wwp_week_btn\">\r\n @for (date of week.dates; track $index) {\r\n <div class=\"wwp_day\">\r\n {{date}}\r\n </div>\r\n }\r\n </button>\r\n </div>\r\n }\r\n }\r\n </div>\r\n <div class=\"bg_overlay brdr hr mar_5\"></div>\r\n <div class=\"row space_between\">\r\n @if (canSelectLastWeek$ | async) {\r\n <button\r\n (click)=\"selectLastWeek()\"\r\n class=\"access btn sm bg_overlay_rev brdr mar_5 hov_bg\"\r\n [attr.aria-label]=\"text().selectLastWeek\">\r\n <i class=\"fas fa-chevron-left mar_right5\"></i><span class=\"text bold\">{{text().lastWeek}}</span>\r\n </button>\r\n } @else {\r\n <button disabled\r\n class=\"access btn sm mar_5\"\r\n [attr.aria-label]=\"text().selectLastWeek\">\r\n <i class=\"fas fa-chevron-left mar_right5\"></i><span class=\"text bold\">{{text().lastWeek}}</span>\r\n </button>\r\n }\r\n @if (currentDate.selectable) {\r\n @if (((selectedWeek$ | async) === currentDate.week) && ((selectedYear$ | async) === currentDate.year)) {\r\n <button\r\n disabled\r\n class=\"access btn sm mar_5\"\r\n [attr.aria-label]=\"text().resetWeekSelection\">\r\n <i class=\"fas fa-undo-alt\"></i>\r\n </button>\r\n } @else {\r\n <button (click)=\"selectCurrentWeek()\"\r\n particleTooltip=\"Reset to Current Week\"\r\n class=\"access btn sm bg_overlay_rev brdr hov_bg mar_5\"\r\n [attr.aria-label]=\"text().resetWeekSelection\">\r\n <i class=\"fas fa-undo-alt\"></i>\r\n </button>\r\n }\r\n }\r\n @if (canSelectNextWeek$ | async) {\r\n <button\r\n (click)=\"selectNextWeek()\"\r\n class=\"access btn sm bg_overlay_rev brdr mar_5 hov_bg\"\r\n [attr.aria-label]=\"text().selectNextWeek\">\r\n <span class=\"text bold\">{{text().nextWeek}}</span><i class=\"fas fa-chevron-right mar_left5\"></i>\r\n </button>\r\n } @else {\r\n <button disabled\r\n class=\"access btn sm mar_5\"\r\n [attr.aria-label]=\"text().selectNextWeek\">\r\n <span class=\"text bold\">{{text().nextWeek}}</span><i class=\"fas fa-chevron-right mar_left5\"></i>\r\n </button>\r\n }\r\n </div>\r\n </div>\r\n </div>\r\n</particle-popover>\r\n", styles: [":host{width:100%}.wwp_container{width:100%;min-width:150px;position:relative}.wwp_container:after{content:\"mm/dd/yyyy\";opacity:0;pointer-events:none}.wwp_input{position:absolute;inset:0;padding:inherit;padding-right:2.25em;width:100%;-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;border:none;text-align:left;-webkit-user-select:none;user-select:none;background-color:transparent;color:inherit;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.wwp_input:not([disabled]){cursor:pointer}.wwp_input::-ms-expand{display:none}.wwp_button{position:absolute;height:calc(100% + 2px);width:2.25em;top:0;right:0;z-index:var(--z-frame);border-top-left-radius:0!important;border-bottom-left-radius:0!important;font-size:inherit;margin:-1px;-webkit-user-select:none;user-select:none;pointer-events:none;display:flex;align-items:center;justify-content:center}.wwp_button>svg{transition:all .2s ease}.wwp_container:hover .wwp_button>svg{transform:scale(1.2)}.wwp_placeholder{opacity:.5;display:inline}.wwp_options{border-radius:3px;line-height:1.5;overflow:hidden;font-weight:400;z-index:var(--z-overlay);width:300px;background:#fff0;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.wwp_weekday{font-size:12px;font-weight:900;min-width:30px;height:32px;display:flex;flex:1;align-items:center;justify-content:center;opacity:.8;-webkit-user-select:none;user-select:none}.wwp_week.currentWeek{border-radius:3px;background-color:#8080801a}.wwp_week_btn{display:flex;align-items:center;width:100%;border:none;padding:0;cursor:pointer}.wwp_week_btn:disabled{cursor:default}.wwp_day{font-size:12px;font-weight:400;min-width:14%;height:32px;display:flex;flex:1;border-radius:3px;-webkit-user-select:none;user-select:none;background-color:transparent;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PopoverComponent, selector: "particle-popover", inputs: ["offset", "width", "height", "classList", "targetOverride", "openDirection", "alignment", "scaleForMobile"], outputs: ["opened", "closed"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: TooltipDirective, selector: "[particleTooltip]", inputs: ["particleTooltip", "tooltipPosition", "tooltipDisabled"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }] });
|
|
7083
|
+
], viewQueries: [{ propertyName: "calendarPopover", first: true, predicate: ["calendarPopover"], descendants: true }], ngImport: i0, template: "<div style=\"cursor:default;overflow: hidden;\"\n [ngClass]=\"inputClassList() ? '' : 'row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir'\"\n [style.filter]=\"disabled ? 'brightness(.95)' : ''\">\n <button (click)=\"openCalendar($event)\"\n aria-haspopup=\"dialog\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel() + ', ' + text().openCalendar\"\n [attr.aria-expanded]=\"calendarPopover.visible\"\n [ngClass]=\"inputClassList() ? inputClassList() : 'clear'\"\n type=\"button\"\n class=\"access btnset width100 height100 center_center\"\n style=\"outline-offset: -2px;\"\n >\n <div class=\"col size_1 height100 width100 ptl_input_text_size ptl_input_padding v_center\">\n @if (_internalValue | async; as internalValue) {\n {{internalValue.start | date: dateFormat()}} - {{internalValue.end | date: dateFormat()}}\n } @else {\n <div class=\"ent_r2l_txt\">{{text().selectWeek}}...</div>\n }\n </div>\n <div class=\"col min_w50 height100 center_center\"\n [ngClass]=\"calendarButtonClassList() ? calendarButtonClassList() : 'bg_blue'\">\n <div class=\"width100 height100 center_center\">\n <i class=\"fas fa-calendar-week ptl_input_text_size\"></i>\n </div>\n </div>\n </button>\n</div>\n\n<!-- TODO: instead of offset 1, attach to wwp_container -->\n<!-- calendar widget -->\n<particle-popover [offset]=\"1\" #calendarPopover>\n <!-- month / year select -->\n <div class=\"wwp_options\">\n <div class=\"content_color pad_5 pad_bot0\">\n <div class=\"row space_between\">\n <div class=\"col size_1 mar_5\">\n <select #yearSelect\n [ngModel]=\"_selectedYear | async\"\n [attr.data-dialog-close-override]=\"true\"\n (change)=\"_selectedYear.next(+yearSelect.value)\"\n class=\"access input sm content_color\"\n [attr.aria-label]=\"text().selectYear\">\n @for (year of validYearRange$ | async; track $index) {\n <option\n [value]=\"year\">\n {{year}}\n </option>\n }\n </select>\n </div>\n <div class=\"col size_2 mar_5\">\n <select #monthSelect\n [ngModel]=\"_selectedMonth | async\"\n (change)=\"_selectedMonth.next(+monthSelect.value)\"\n class=\"access input sm content_color\"\n [attr.aria-label]=\"text().selectMonth\">\n <option value=\"0\">{{text().january}}</option>\n <option value=\"1\">{{text().february}}</option>\n <option value=\"2\">{{text().march}}</option>\n <option value=\"3\">{{text().april}}</option>\n <option value=\"4\">{{text().may}}</option>\n <option value=\"5\">{{text().june}}</option>\n <option value=\"6\">{{text().july}}</option>\n <option value=\"7\">{{text().august}}</option>\n <option value=\"8\">{{text().september}}</option>\n <option value=\"9\">{{text().october}}</option>\n <option value=\"10\">{{text().november}}</option>\n <option value=\"11\">{{text().december}}</option>\n </select>\n </div>\n </div>\n </div>\n <div class=\"content_color pad_5\">\n <!-- weekdays -->\n <div class=\"mar_5 mar_bot10\">\n <div class=\"row wrap space_between ptl_input_bg_color ptl_brdr_color border_bottom brad_3 mar_bot5\">\n <div class=\"wwp_weekday\">{{text().sundayAbbr}}</div>\n <div class=\"wwp_weekday\">{{text().mondayAbbr}}</div>\n <div class=\"wwp_weekday\">{{text().tuesdayAbbr}}</div>\n <div class=\"wwp_weekday\">{{text().wednesdayAbbr}}</div>\n <div class=\"wwp_weekday\">{{text().thursdayAbbr}}</div>\n <div class=\"wwp_weekday\">{{text().fridayAbbr}}</div>\n <div class=\"wwp_weekday\">{{text().saturdayAbbr}}</div>\n </div>\n <!-- days -->\n @if (fullMonth$ | async; as fullMonth) {\n @for (week of fullMonth; track $index) {\n <div class=\"wwp_week\"\n [ngClass]=\"{ 'currentWeek': week.week === currentDate.week && week.year === currentDate.year }\">\n <button (click)=\"onWeekSelect(week.week, week.selectable)\"\n [disabled]=\"!week.selectable\"\n [ngClass]=\"((selectedWeek$ | async) === week.week) && ((selectedYear$ | async) === week.year)\n ? 'ok_button_color'\n : 'bg_overlay_rev brdr hov_bg'\"\n class=\"access wwp_week_btn\">\n @for (date of week.dates; track $index) {\n <div class=\"wwp_day\">\n {{date}}\n </div>\n }\n </button>\n </div>\n }\n }\n </div>\n <div class=\"bg_overlay brdr hr mar_5\"></div>\n <div class=\"row space_between\">\n @if (canSelectLastWeek$ | async) {\n <button\n (click)=\"selectLastWeek()\"\n class=\"access btn sm bg_overlay_rev brdr mar_5 hov_bg\"\n [attr.aria-label]=\"text().selectLastWeek\">\n <i class=\"fas fa-chevron-left mar_right5\"></i><span class=\"text bold\">{{text().lastWeek}}</span>\n </button>\n } @else {\n <button disabled\n class=\"access btn sm mar_5\"\n [attr.aria-label]=\"text().selectLastWeek\">\n <i class=\"fas fa-chevron-left mar_right5\"></i><span class=\"text bold\">{{text().lastWeek}}</span>\n </button>\n }\n @if (currentDate.selectable) {\n @if (((selectedWeek$ | async) === currentDate.week) && ((selectedYear$ | async) === currentDate.year)) {\n <button\n disabled\n class=\"access btn sm mar_5\"\n [attr.aria-label]=\"text().resetWeekSelection\">\n <i class=\"fas fa-undo-alt\"></i>\n </button>\n } @else {\n <button (click)=\"selectCurrentWeek()\"\n particleTooltip=\"Reset to Current Week\"\n class=\"access btn sm bg_overlay_rev brdr hov_bg mar_5\"\n [attr.aria-label]=\"text().resetWeekSelection\">\n <i class=\"fas fa-undo-alt\"></i>\n </button>\n }\n }\n @if (canSelectNextWeek$ | async) {\n <button\n (click)=\"selectNextWeek()\"\n class=\"access btn sm bg_overlay_rev brdr mar_5 hov_bg\"\n [attr.aria-label]=\"text().selectNextWeek\">\n <span class=\"text bold\">{{text().nextWeek}}</span><i class=\"fas fa-chevron-right mar_left5\"></i>\n </button>\n } @else {\n <button disabled\n class=\"access btn sm mar_5\"\n [attr.aria-label]=\"text().selectNextWeek\">\n <span class=\"text bold\">{{text().nextWeek}}</span><i class=\"fas fa-chevron-right mar_left5\"></i>\n </button>\n }\n </div>\n </div>\n </div>\n</particle-popover>\n", styles: [":host{width:100%}.wwp_container{width:100%;min-width:150px;position:relative}.wwp_container:after{content:\"mm/dd/yyyy\";opacity:0;pointer-events:none}.wwp_input{position:absolute;inset:0;padding:inherit;padding-right:2.25em;width:100%;-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;border:none;text-align:left;-webkit-user-select:none;user-select:none;background-color:transparent;color:inherit;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.wwp_input:not([disabled]){cursor:pointer}.wwp_input::-ms-expand{display:none}.wwp_button{position:absolute;height:calc(100% + 2px);width:2.25em;top:0;right:0;z-index:var(--z-frame);border-top-left-radius:0!important;border-bottom-left-radius:0!important;font-size:inherit;margin:-1px;-webkit-user-select:none;user-select:none;pointer-events:none;display:flex;align-items:center;justify-content:center}.wwp_button>svg{transition:all .2s ease}.wwp_container:hover .wwp_button>svg{transform:scale(1.2)}.wwp_placeholder{opacity:.5;display:inline}.wwp_options{border-radius:3px;line-height:1.5;overflow:hidden;font-weight:400;z-index:var(--z-overlay);width:300px;background:#fff0;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.wwp_weekday{font-size:12px;font-weight:900;min-width:30px;height:32px;display:flex;flex:1;align-items:center;justify-content:center;opacity:.8;-webkit-user-select:none;user-select:none}.wwp_week.currentWeek{border-radius:3px;background-color:#8080801a}.wwp_week_btn{display:flex;align-items:center;width:100%;border:none;padding:0;cursor:pointer}.wwp_week_btn:disabled{cursor:default}.wwp_day{font-size:12px;font-weight:400;min-width:14%;height:32px;display:flex;flex:1;border-radius:3px;-webkit-user-select:none;user-select:none;background-color:transparent;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PopoverComponent, selector: "particle-popover", inputs: ["offset", "width", "height", "classList", "targetOverride", "openDirection", "alignment", "scaleForMobile"], outputs: ["opened", "closed", "arrowDown", "arrowUp"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: TooltipDirective, selector: "[particleTooltip]", inputs: ["particleTooltip", "tooltipPosition", "tooltipDisabled"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "pipe", type: DatePipe, name: "date" }] });
|
|
7033
7084
|
}
|
|
7034
7085
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: WeekPickerComponent, decorators: [{
|
|
7035
7086
|
type: Component,
|
|
@@ -7039,7 +7090,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
7039
7090
|
useExisting: forwardRef(() => WeekPickerComponent),
|
|
7040
7091
|
multi: true
|
|
7041
7092
|
}
|
|
7042
|
-
], imports: [NgClass, PopoverComponent, FormsModule, TooltipDirective, AsyncPipe, DatePipe], template: "<div style=\"cursor:default;overflow: hidden;\"\
|
|
7093
|
+
], imports: [NgClass, PopoverComponent, FormsModule, TooltipDirective, AsyncPipe, DatePipe], template: "<div style=\"cursor:default;overflow: hidden;\"\n [ngClass]=\"inputClassList() ? '' : 'row ptl_input ptl_input_height ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ent_r2l_dir'\"\n [style.filter]=\"disabled ? 'brightness(.95)' : ''\">\n <button (click)=\"openCalendar($event)\"\n aria-haspopup=\"dialog\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel() + ', ' + text().openCalendar\"\n [attr.aria-expanded]=\"calendarPopover.visible\"\n [ngClass]=\"inputClassList() ? inputClassList() : 'clear'\"\n type=\"button\"\n class=\"access btnset width100 height100 center_center\"\n style=\"outline-offset: -2px;\"\n >\n <div class=\"col size_1 height100 width100 ptl_input_text_size ptl_input_padding v_center\">\n @if (_internalValue | async; as internalValue) {\n {{internalValue.start | date: dateFormat()}} - {{internalValue.end | date: dateFormat()}}\n } @else {\n <div class=\"ent_r2l_txt\">{{text().selectWeek}}...</div>\n }\n </div>\n <div class=\"col min_w50 height100 center_center\"\n [ngClass]=\"calendarButtonClassList() ? calendarButtonClassList() : 'bg_blue'\">\n <div class=\"width100 height100 center_center\">\n <i class=\"fas fa-calendar-week ptl_input_text_size\"></i>\n </div>\n </div>\n </button>\n</div>\n\n<!-- TODO: instead of offset 1, attach to wwp_container -->\n<!-- calendar widget -->\n<particle-popover [offset]=\"1\" #calendarPopover>\n <!-- month / year select -->\n <div class=\"wwp_options\">\n <div class=\"content_color pad_5 pad_bot0\">\n <div class=\"row space_between\">\n <div class=\"col size_1 mar_5\">\n <select #yearSelect\n [ngModel]=\"_selectedYear | async\"\n [attr.data-dialog-close-override]=\"true\"\n (change)=\"_selectedYear.next(+yearSelect.value)\"\n class=\"access input sm content_color\"\n [attr.aria-label]=\"text().selectYear\">\n @for (year of validYearRange$ | async; track $index) {\n <option\n [value]=\"year\">\n {{year}}\n </option>\n }\n </select>\n </div>\n <div class=\"col size_2 mar_5\">\n <select #monthSelect\n [ngModel]=\"_selectedMonth | async\"\n (change)=\"_selectedMonth.next(+monthSelect.value)\"\n class=\"access input sm content_color\"\n [attr.aria-label]=\"text().selectMonth\">\n <option value=\"0\">{{text().january}}</option>\n <option value=\"1\">{{text().february}}</option>\n <option value=\"2\">{{text().march}}</option>\n <option value=\"3\">{{text().april}}</option>\n <option value=\"4\">{{text().may}}</option>\n <option value=\"5\">{{text().june}}</option>\n <option value=\"6\">{{text().july}}</option>\n <option value=\"7\">{{text().august}}</option>\n <option value=\"8\">{{text().september}}</option>\n <option value=\"9\">{{text().october}}</option>\n <option value=\"10\">{{text().november}}</option>\n <option value=\"11\">{{text().december}}</option>\n </select>\n </div>\n </div>\n </div>\n <div class=\"content_color pad_5\">\n <!-- weekdays -->\n <div class=\"mar_5 mar_bot10\">\n <div class=\"row wrap space_between ptl_input_bg_color ptl_brdr_color border_bottom brad_3 mar_bot5\">\n <div class=\"wwp_weekday\">{{text().sundayAbbr}}</div>\n <div class=\"wwp_weekday\">{{text().mondayAbbr}}</div>\n <div class=\"wwp_weekday\">{{text().tuesdayAbbr}}</div>\n <div class=\"wwp_weekday\">{{text().wednesdayAbbr}}</div>\n <div class=\"wwp_weekday\">{{text().thursdayAbbr}}</div>\n <div class=\"wwp_weekday\">{{text().fridayAbbr}}</div>\n <div class=\"wwp_weekday\">{{text().saturdayAbbr}}</div>\n </div>\n <!-- days -->\n @if (fullMonth$ | async; as fullMonth) {\n @for (week of fullMonth; track $index) {\n <div class=\"wwp_week\"\n [ngClass]=\"{ 'currentWeek': week.week === currentDate.week && week.year === currentDate.year }\">\n <button (click)=\"onWeekSelect(week.week, week.selectable)\"\n [disabled]=\"!week.selectable\"\n [ngClass]=\"((selectedWeek$ | async) === week.week) && ((selectedYear$ | async) === week.year)\n ? 'ok_button_color'\n : 'bg_overlay_rev brdr hov_bg'\"\n class=\"access wwp_week_btn\">\n @for (date of week.dates; track $index) {\n <div class=\"wwp_day\">\n {{date}}\n </div>\n }\n </button>\n </div>\n }\n }\n </div>\n <div class=\"bg_overlay brdr hr mar_5\"></div>\n <div class=\"row space_between\">\n @if (canSelectLastWeek$ | async) {\n <button\n (click)=\"selectLastWeek()\"\n class=\"access btn sm bg_overlay_rev brdr mar_5 hov_bg\"\n [attr.aria-label]=\"text().selectLastWeek\">\n <i class=\"fas fa-chevron-left mar_right5\"></i><span class=\"text bold\">{{text().lastWeek}}</span>\n </button>\n } @else {\n <button disabled\n class=\"access btn sm mar_5\"\n [attr.aria-label]=\"text().selectLastWeek\">\n <i class=\"fas fa-chevron-left mar_right5\"></i><span class=\"text bold\">{{text().lastWeek}}</span>\n </button>\n }\n @if (currentDate.selectable) {\n @if (((selectedWeek$ | async) === currentDate.week) && ((selectedYear$ | async) === currentDate.year)) {\n <button\n disabled\n class=\"access btn sm mar_5\"\n [attr.aria-label]=\"text().resetWeekSelection\">\n <i class=\"fas fa-undo-alt\"></i>\n </button>\n } @else {\n <button (click)=\"selectCurrentWeek()\"\n particleTooltip=\"Reset to Current Week\"\n class=\"access btn sm bg_overlay_rev brdr hov_bg mar_5\"\n [attr.aria-label]=\"text().resetWeekSelection\">\n <i class=\"fas fa-undo-alt\"></i>\n </button>\n }\n }\n @if (canSelectNextWeek$ | async) {\n <button\n (click)=\"selectNextWeek()\"\n class=\"access btn sm bg_overlay_rev brdr mar_5 hov_bg\"\n [attr.aria-label]=\"text().selectNextWeek\">\n <span class=\"text bold\">{{text().nextWeek}}</span><i class=\"fas fa-chevron-right mar_left5\"></i>\n </button>\n } @else {\n <button disabled\n class=\"access btn sm mar_5\"\n [attr.aria-label]=\"text().selectNextWeek\">\n <span class=\"text bold\">{{text().nextWeek}}</span><i class=\"fas fa-chevron-right mar_left5\"></i>\n </button>\n }\n </div>\n </div>\n </div>\n</particle-popover>\n", styles: [":host{width:100%}.wwp_container{width:100%;min-width:150px;position:relative}.wwp_container:after{content:\"mm/dd/yyyy\";opacity:0;pointer-events:none}.wwp_input{position:absolute;inset:0;padding:inherit;padding-right:2.25em;width:100%;-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;border:none;text-align:left;-webkit-user-select:none;user-select:none;background-color:transparent;color:inherit;margin:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.wwp_input:not([disabled]){cursor:pointer}.wwp_input::-ms-expand{display:none}.wwp_button{position:absolute;height:calc(100% + 2px);width:2.25em;top:0;right:0;z-index:var(--z-frame);border-top-left-radius:0!important;border-bottom-left-radius:0!important;font-size:inherit;margin:-1px;-webkit-user-select:none;user-select:none;pointer-events:none;display:flex;align-items:center;justify-content:center}.wwp_button>svg{transition:all .2s ease}.wwp_container:hover .wwp_button>svg{transform:scale(1.2)}.wwp_placeholder{opacity:.5;display:inline}.wwp_options{border-radius:3px;line-height:1.5;overflow:hidden;font-weight:400;z-index:var(--z-overlay);width:300px;background:#fff0;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.wwp_weekday{font-size:12px;font-weight:900;min-width:30px;height:32px;display:flex;flex:1;align-items:center;justify-content:center;opacity:.8;-webkit-user-select:none;user-select:none}.wwp_week.currentWeek{border-radius:3px;background-color:#8080801a}.wwp_week_btn{display:flex;align-items:center;width:100%;border:none;padding:0;cursor:pointer}.wwp_week_btn:disabled{cursor:default}.wwp_day{font-size:12px;font-weight:400;min-width:14%;height:32px;display:flex;flex:1;border-radius:3px;-webkit-user-select:none;user-select:none;background-color:transparent;align-items:center;justify-content:center}\n"] }]
|
|
7043
7094
|
}], ctorParameters: () => [], propDecorators: { value: [{
|
|
7044
7095
|
type: Input
|
|
7045
7096
|
}], disabled: [{
|
|
@@ -7319,7 +7370,7 @@ class ColorPickerComponent {
|
|
|
7319
7370
|
useExisting: forwardRef(() => ColorPickerComponent),
|
|
7320
7371
|
multi: true
|
|
7321
7372
|
}
|
|
7322
|
-
], viewQueries: [{ propertyName: "colorInput", first: true, predicate: ["colorInput"], descendants: true }], ngImport: i0, template: "@if (render) {\
|
|
7373
|
+
], viewQueries: [{ propertyName: "colorInput", first: true, predicate: ["colorInput"], descendants: true }], ngImport: i0, template: "@if (render) {\n <div [style.filter]=\"_disabled ? 'brightness(.95)' : ''\"\n class=\"cp_container\"\n [ngClass]=\"classList ? classList : 'input md bg_overlay brdr content_color'\"\n >\n @if (colorPickerSupported) {\n <input #colorPicker\n type=\"color\"\n class=\"access cp_color\"\n [value]=\"'#' + _value\"\n [disabled]=\"_disabled\"\n [attr.aria-label]=\"text.chooseColor\"\n (input)=\"updateModel(colorPicker.value)\"\n (change)=\"updateModel(colorPicker.value); colorSelected.emit(colorPicker.value)\"/>\n <i class=\"fas fa-caret-down cp_caret\"></i>\n } @else {\n <div class=\"cp_swatch\">\n <div class=\"width100 height100 bg_overlay brdr\" style=\"border-radius:inherit;\"\n [style.background-color]=\"'#' + (_value || '000000')\"></div>\n </div>\n }\n <div class=\"bg_overlay brdr vr cp_divider\"></div>\n <div class=\"cp_hashtag\">#</div>\n <input #colorInput\n type=\"text\"\n class=\"access cp_input\"\n placeholder=\"000000\"\n maxlength=\"6\"\n [attr.aria-label]=\"text.enterHexCode\"\n [ngModel]=\"_value\"\n [disabled]=\"_disabled\"\n (input)=\"input.emit(colorInput.value)\"\n (paste)=\"handlePaste($event)\"\n (keydown)=\"handleKeyDown($event)\"\n (ngModelChange)=\"updateModel($event, true)\"\n (blur)=\"handleBlur(colorInput.value)\"/>\n </div>\n }\n", styles: [":host{width:100%}.cp_container{width:100%;min-width:120px;position:relative}.cp_container:after{content:\"#\";opacity:0;pointer-events:none}.cp_color{width:4em;padding:3px 1.5em 3px 3px;height:inherit;cursor:pointer;position:absolute;inset:0;border:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;background-color:transparent;color:inherit}.cp_color:disabled{cursor:not-allowed}.cp_caret{position:absolute;left:2.75em;top:50%;margin-top:-.5em;pointer-events:none;opacity:.8}.cp_swatch{width:4em;padding:5px;height:inherit;border-radius:inherit;position:absolute;inset:0;border:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;outline:none}.cp_divider{position:absolute;left:4em;top:0;width:1px;height:100%}.cp_hashtag{position:absolute;left:4.8em}.cp_input{position:absolute;inset:0 0 0 4em;padding:inherit;padding-left:1.8em;border:none;width:calc(100% - 4em);-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;background-color:transparent;color:inherit}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
7323
7374
|
}
|
|
7324
7375
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ColorPickerComponent, decorators: [{
|
|
7325
7376
|
type: Component,
|
|
@@ -7329,7 +7380,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
7329
7380
|
useExisting: forwardRef(() => ColorPickerComponent),
|
|
7330
7381
|
multi: true
|
|
7331
7382
|
}
|
|
7332
|
-
], standalone: true, imports: [NgClass, FormsModule], template: "@if (render) {\
|
|
7383
|
+
], standalone: true, imports: [NgClass, FormsModule], template: "@if (render) {\n <div [style.filter]=\"_disabled ? 'brightness(.95)' : ''\"\n class=\"cp_container\"\n [ngClass]=\"classList ? classList : 'input md bg_overlay brdr content_color'\"\n >\n @if (colorPickerSupported) {\n <input #colorPicker\n type=\"color\"\n class=\"access cp_color\"\n [value]=\"'#' + _value\"\n [disabled]=\"_disabled\"\n [attr.aria-label]=\"text.chooseColor\"\n (input)=\"updateModel(colorPicker.value)\"\n (change)=\"updateModel(colorPicker.value); colorSelected.emit(colorPicker.value)\"/>\n <i class=\"fas fa-caret-down cp_caret\"></i>\n } @else {\n <div class=\"cp_swatch\">\n <div class=\"width100 height100 bg_overlay brdr\" style=\"border-radius:inherit;\"\n [style.background-color]=\"'#' + (_value || '000000')\"></div>\n </div>\n }\n <div class=\"bg_overlay brdr vr cp_divider\"></div>\n <div class=\"cp_hashtag\">#</div>\n <input #colorInput\n type=\"text\"\n class=\"access cp_input\"\n placeholder=\"000000\"\n maxlength=\"6\"\n [attr.aria-label]=\"text.enterHexCode\"\n [ngModel]=\"_value\"\n [disabled]=\"_disabled\"\n (input)=\"input.emit(colorInput.value)\"\n (paste)=\"handlePaste($event)\"\n (keydown)=\"handleKeyDown($event)\"\n (ngModelChange)=\"updateModel($event, true)\"\n (blur)=\"handleBlur(colorInput.value)\"/>\n </div>\n }\n", styles: [":host{width:100%}.cp_container{width:100%;min-width:120px;position:relative}.cp_container:after{content:\"#\";opacity:0;pointer-events:none}.cp_color{width:4em;padding:3px 1.5em 3px 3px;height:inherit;cursor:pointer;position:absolute;inset:0;border:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;background-color:transparent;color:inherit}.cp_color:disabled{cursor:not-allowed}.cp_caret{position:absolute;left:2.75em;top:50%;margin-top:-.5em;pointer-events:none;opacity:.8}.cp_swatch{width:4em;padding:5px;height:inherit;border-radius:inherit;position:absolute;inset:0;border:none;-moz-appearance:none;-webkit-appearance:none;appearance:none;outline:none}.cp_divider{position:absolute;left:4em;top:0;width:1px;height:100%}.cp_hashtag{position:absolute;left:4.8em}.cp_input{position:absolute;inset:0 0 0 4em;padding:inherit;padding-left:1.8em;border:none;width:calc(100% - 4em);-moz-appearance:none;-webkit-appearance:none;appearance:none;font-size:inherit;outline:none;background-color:transparent;color:inherit}\n"] }]
|
|
7333
7384
|
}], propDecorators: { value: [{
|
|
7334
7385
|
type: Input
|
|
7335
7386
|
}], disabled: [{
|
|
@@ -7535,7 +7586,7 @@ class SliderComponent {
|
|
|
7535
7586
|
useExisting: forwardRef(() => SliderComponent),
|
|
7536
7587
|
multi: true
|
|
7537
7588
|
}
|
|
7538
|
-
], viewQueries: [{ propertyName: "sliderInput", first: true, predicate: ["sliderInput"], descendants: true }], ngImport: i0, template: "<div class=\"row wrap v_center\">\
|
|
7589
|
+
], viewQueries: [{ propertyName: "sliderInput", first: true, predicate: ["sliderInput"], descendants: true }], ngImport: i0, template: "<div class=\"row wrap v_center\">\n <!-- range slider -->\n <div class=\"col size_1 min_w100 v_center position_relative\" style=\"margin:0 12px 0 -3px;\">\n <div class=\"ws_track_container v_center position_absolute\">\n <div class=\"ws_track bg_overlay_rev brdr width100 position_absolute\"></div>\n <div class=\"ws_track_fill ent_r2l_slider ok_button_color position_absolute\"\n [style.width]=\"sliderWidth + '%'\">\n </div>\n </div>\n <input #slider\n type=\"range\"\n [ngModel]=\"_value\"\n [min]=\"_min\" [max]=\"_max\" [step]=\"_step\"\n [disabled]=\"_disabled\"\n [attr.aria-label]=\"text().selectAValue + (ariaLabel() ? ' - ' + ariaLabel() : '')\"\n (input)=\"handleInput(+slider.value); input.emit(+slider.value)\"\n (change)=\"handleInput(+slider.value); input.emit(+slider.value)\"\n class=\"access\" style=\"width:100%; z-index: var(--z-frame); margin:10px 0;\" />\n </div>\n <div class=\"col v_center\">\n <!-- slider value input -->\n <input #sliderInput\n type=\"number\"\n [ngModel]=\"_value\"\n [ngClass]=\"_inputClassList\"\n [min]=\"_min\" [max]=\"_max\" [step]=\"_step\"\n [size]=\"(_max + '').length\"\n [disabled]=\"_disabled\"\n [attr.aria-label]=\"text().enterAValue + (ariaLabel() ? ' - ' + ariaLabel() : '')\"\n (input)=\"handleInput(+sliderInput.value); input.emit(+sliderInput.value)\"\n (blur)=\"handleInput(+sliderInput.value)\"\n (paste)=\"preventPaste($event)\"\n class=\"access\"\n style=\"width:auto;\" />\n <div class=\"text ptl_input_text_size mar_lr10\">{{unit()}}</div>\n </div>\n</div>\n", styles: [":host{width:100%}input[type=range]{-webkit-appearance:none;width:100%;background:transparent;border:none;padding:0;margin:0}input[type=range]:focus{outline:none}input[type=range]::-ms-track{width:100%;cursor:pointer;background:transparent;border:none;color:transparent}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid rgba(0,0,0,.2);height:24px;width:24px;border-radius:50px;background:#fff;cursor:grab;margin-top:-8px;box-shadow:0 1px 4px #00000026}input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}input[type=range]:disabled::-webkit-slider-thumb{cursor:not-allowed}input[type=range]::-moz-range-thumb{border:1px solid rgba(0,0,0,.2);height:24px;width:24px;border-radius:50px;background:#fff;cursor:grab;box-shadow:0 1px 4px #00000026}input[type=range]::-moz-range-thumb:active{cursor:grabbing}input[type=range]:disabled::-moz-range-thumb{cursor:not-allowed}input[type=range]::-ms-thumb{border:1px solid rgba(0,0,0,.2);height:8px;width:30px;border-radius:5px;background:#fff;cursor:grab;box-shadow:0 1px 4px #00000026}input[type=range]::-ms-thumb:active{cursor:grabbing}input[type=range]:disabled::-ms-thumb{cursor:not-allowed}input[type=range]::-webkit-slider-runnable-track{width:100%;height:10px;cursor:pointer;border-radius:50px}input[type=range]:disabled::-webkit-slider-runnable-track{cursor:default}input[type=range]::-moz-range-track{width:100%;height:10px;cursor:pointer;border-radius:50px}input[type=range]:disabled::-moz-range-track{cursor:default}input[type=range]::-ms-track{width:100%;height:10px;cursor:pointer;border-radius:50px;background:transparent;border:none;color:transparent}input[type=range]:disabled::-ms-track{cursor:default}input[type=range]::-ms-fill-lower{background:transparent;border:none}.ws_track_container{z-index:var(--z-base);margin:10px 0 10px 3px;width:calc(100% - 6px);top:0;border-radius:25px;height:10px;overflow:hidden}.ws_track{height:10px;z-index:var(--z-base);border-radius:25px;inset:0}.ws_track_fill{height:10px;z-index:var(--z-frame);border-radius:25px 0 0 25px;top:0;left:0;bottom:0}@-moz-document url-prefix(){.ws_track_container{top:4px!important}}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.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: i1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
7539
7590
|
}
|
|
7540
7591
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: SliderComponent, decorators: [{
|
|
7541
7592
|
type: Component,
|
|
@@ -7545,7 +7596,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
7545
7596
|
useExisting: forwardRef(() => SliderComponent),
|
|
7546
7597
|
multi: true
|
|
7547
7598
|
}
|
|
7548
|
-
], imports: [FormsModule, NgClass], template: "<div class=\"row wrap v_center\">\
|
|
7599
|
+
], imports: [FormsModule, NgClass], template: "<div class=\"row wrap v_center\">\n <!-- range slider -->\n <div class=\"col size_1 min_w100 v_center position_relative\" style=\"margin:0 12px 0 -3px;\">\n <div class=\"ws_track_container v_center position_absolute\">\n <div class=\"ws_track bg_overlay_rev brdr width100 position_absolute\"></div>\n <div class=\"ws_track_fill ent_r2l_slider ok_button_color position_absolute\"\n [style.width]=\"sliderWidth + '%'\">\n </div>\n </div>\n <input #slider\n type=\"range\"\n [ngModel]=\"_value\"\n [min]=\"_min\" [max]=\"_max\" [step]=\"_step\"\n [disabled]=\"_disabled\"\n [attr.aria-label]=\"text().selectAValue + (ariaLabel() ? ' - ' + ariaLabel() : '')\"\n (input)=\"handleInput(+slider.value); input.emit(+slider.value)\"\n (change)=\"handleInput(+slider.value); input.emit(+slider.value)\"\n class=\"access\" style=\"width:100%; z-index: var(--z-frame); margin:10px 0;\" />\n </div>\n <div class=\"col v_center\">\n <!-- slider value input -->\n <input #sliderInput\n type=\"number\"\n [ngModel]=\"_value\"\n [ngClass]=\"_inputClassList\"\n [min]=\"_min\" [max]=\"_max\" [step]=\"_step\"\n [size]=\"(_max + '').length\"\n [disabled]=\"_disabled\"\n [attr.aria-label]=\"text().enterAValue + (ariaLabel() ? ' - ' + ariaLabel() : '')\"\n (input)=\"handleInput(+sliderInput.value); input.emit(+sliderInput.value)\"\n (blur)=\"handleInput(+sliderInput.value)\"\n (paste)=\"preventPaste($event)\"\n class=\"access\"\n style=\"width:auto;\" />\n <div class=\"text ptl_input_text_size mar_lr10\">{{unit()}}</div>\n </div>\n</div>\n", styles: [":host{width:100%}input[type=range]{-webkit-appearance:none;width:100%;background:transparent;border:none;padding:0;margin:0}input[type=range]:focus{outline:none}input[type=range]::-ms-track{width:100%;cursor:pointer;background:transparent;border:none;color:transparent}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:1px solid rgba(0,0,0,.2);height:24px;width:24px;border-radius:50px;background:#fff;cursor:grab;margin-top:-8px;box-shadow:0 1px 4px #00000026}input[type=range]::-webkit-slider-thumb:active{cursor:grabbing}input[type=range]:disabled::-webkit-slider-thumb{cursor:not-allowed}input[type=range]::-moz-range-thumb{border:1px solid rgba(0,0,0,.2);height:24px;width:24px;border-radius:50px;background:#fff;cursor:grab;box-shadow:0 1px 4px #00000026}input[type=range]::-moz-range-thumb:active{cursor:grabbing}input[type=range]:disabled::-moz-range-thumb{cursor:not-allowed}input[type=range]::-ms-thumb{border:1px solid rgba(0,0,0,.2);height:8px;width:30px;border-radius:5px;background:#fff;cursor:grab;box-shadow:0 1px 4px #00000026}input[type=range]::-ms-thumb:active{cursor:grabbing}input[type=range]:disabled::-ms-thumb{cursor:not-allowed}input[type=range]::-webkit-slider-runnable-track{width:100%;height:10px;cursor:pointer;border-radius:50px}input[type=range]:disabled::-webkit-slider-runnable-track{cursor:default}input[type=range]::-moz-range-track{width:100%;height:10px;cursor:pointer;border-radius:50px}input[type=range]:disabled::-moz-range-track{cursor:default}input[type=range]::-ms-track{width:100%;height:10px;cursor:pointer;border-radius:50px;background:transparent;border:none;color:transparent}input[type=range]:disabled::-ms-track{cursor:default}input[type=range]::-ms-fill-lower{background:transparent;border:none}.ws_track_container{z-index:var(--z-base);margin:10px 0 10px 3px;width:calc(100% - 6px);top:0;border-radius:25px;height:10px;overflow:hidden}.ws_track{height:10px;z-index:var(--z-base);border-radius:25px;inset:0}.ws_track_fill{height:10px;z-index:var(--z-frame);border-radius:25px 0 0 25px;top:0;left:0;bottom:0}@-moz-document url-prefix(){.ws_track_container{top:4px!important}}\n"] }]
|
|
7549
7600
|
}], propDecorators: { sliderInput: [{
|
|
7550
7601
|
type: ViewChild,
|
|
7551
7602
|
args: ['sliderInput']
|
|
@@ -7631,11 +7682,11 @@ class AccordionComponent {
|
|
|
7631
7682
|
}
|
|
7632
7683
|
};
|
|
7633
7684
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: AccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7634
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: AccordionComponent, isStandalone: true, selector: "particle-accordion", inputs: { multiple: "multiple", height: "height", headerClass: "headerClass", textClass: "textClass", iconCollapsed: "iconCollapsed", iconExpanded: "iconExpanded", showIcon: "showIcon", text: "text" }, queries: [{ propertyName: "items", predicate: AccordionItemDirective }], viewQueries: [{ propertyName: "contentDivs", predicate: ["ref"], descendants: true }], ngImport: i0, template: "@for (item of items; track $index; let i = $index) {\
|
|
7685
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: AccordionComponent, isStandalone: true, selector: "particle-accordion", inputs: { multiple: "multiple", height: "height", headerClass: "headerClass", textClass: "textClass", iconCollapsed: "iconCollapsed", iconExpanded: "iconExpanded", showIcon: "showIcon", text: "text" }, queries: [{ propertyName: "items", predicate: AccordionItemDirective }], viewQueries: [{ propertyName: "contentDivs", predicate: ["ref"], descendants: true }], ngImport: i0, template: "@for (item of items; track $index; let i = $index) {\n <div class=\"particle_accordion_item\" [class.disabled]=\"item.disabled\" [class.active]=\"expanded.has(i)\">\n <button type=\"button\" class=\"particle_accordion_header width100\"\n [ngClass]=\"(item.headerClass ? item.headerClass : headerClass) + (!item.disabled ? ' access' : '')\"\n [style.height]=\"height\"\n (click)=\"!item.disabled ? toggleState(i) : {}\"\n [attr.aria-label]=\"!expanded.has(i) ? text.expand : text.collapse\"\n >\n @if (item.headerTemplate) {\n <ng-container *ngTemplateOutlet=\"item.headerTemplate.templateRef\"></ng-container>\n }\n @if (!item.headerTemplate) {\n @if (showIcon) {\n <div class=\"text\" [ngClass]=\"textClass\">\n @if (!expanded.has(i)) {\n <span><i [ngClass]=\"iconCollapsed + ' fa-fw'\"></i></span>\n }\n @if (expanded.has(i)) {\n <span><i [ngClass]=\"iconExpanded + ' fa-fw'\"></i></span>\n }\n {{item?.header}}\n </div>\n }\n @if (!showIcon) {\n <div class=\"text\" [ngClass]=\"textClass\">\n <span>{{item?.header}}</span>\n </div>\n }\n }\n </button>\n <div class=\"particle_accordion_content\" #ref>\n <ng-container *ngTemplateOutlet=\"$any(item?.content?.templateRef)\"></ng-container>\n </div>\n </div>\n}\n", styles: [":host{--accordion-disabled: rgb(159, 159, 161)}.particle_accordion_header{display:flex;justify-content:flex-start;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.particle_accordion_toggle_button{border:none;transition:transform .2s ease-in;background:none}.particle_accordion_item.disabled .particle_accordion_header{color:var(--accordion-disabled);cursor:auto}.particle_accordion_toggle_button:disabled{cursor:auto}.particle_accordion_toggle_button:disabled svg path:nth-child(2){fill:var(--accordion-disabled)}.particle_accordion_toggle_button:focus{outline:none}.particle_accordion_content{-webkit-user-select:text;user-select:text;overflow:hidden;transition:max-height .2s ease-out}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7635
7686
|
}
|
|
7636
7687
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: AccordionComponent, decorators: [{
|
|
7637
7688
|
type: Component,
|
|
7638
|
-
args: [{ selector: 'particle-accordion', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass, NgTemplateOutlet, AccordionItemDirective], template: "@for (item of items; track $index; let i = $index) {\
|
|
7689
|
+
args: [{ selector: 'particle-accordion', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [NgClass, NgTemplateOutlet, AccordionItemDirective], template: "@for (item of items; track $index; let i = $index) {\n <div class=\"particle_accordion_item\" [class.disabled]=\"item.disabled\" [class.active]=\"expanded.has(i)\">\n <button type=\"button\" class=\"particle_accordion_header width100\"\n [ngClass]=\"(item.headerClass ? item.headerClass : headerClass) + (!item.disabled ? ' access' : '')\"\n [style.height]=\"height\"\n (click)=\"!item.disabled ? toggleState(i) : {}\"\n [attr.aria-label]=\"!expanded.has(i) ? text.expand : text.collapse\"\n >\n @if (item.headerTemplate) {\n <ng-container *ngTemplateOutlet=\"item.headerTemplate.templateRef\"></ng-container>\n }\n @if (!item.headerTemplate) {\n @if (showIcon) {\n <div class=\"text\" [ngClass]=\"textClass\">\n @if (!expanded.has(i)) {\n <span><i [ngClass]=\"iconCollapsed + ' fa-fw'\"></i></span>\n }\n @if (expanded.has(i)) {\n <span><i [ngClass]=\"iconExpanded + ' fa-fw'\"></i></span>\n }\n {{item?.header}}\n </div>\n }\n @if (!showIcon) {\n <div class=\"text\" [ngClass]=\"textClass\">\n <span>{{item?.header}}</span>\n </div>\n }\n }\n </button>\n <div class=\"particle_accordion_content\" #ref>\n <ng-container *ngTemplateOutlet=\"$any(item?.content?.templateRef)\"></ng-container>\n </div>\n </div>\n}\n", styles: [":host{--accordion-disabled: rgb(159, 159, 161)}.particle_accordion_header{display:flex;justify-content:flex-start;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.particle_accordion_toggle_button{border:none;transition:transform .2s ease-in;background:none}.particle_accordion_item.disabled .particle_accordion_header{color:var(--accordion-disabled);cursor:auto}.particle_accordion_toggle_button:disabled{cursor:auto}.particle_accordion_toggle_button:disabled svg path:nth-child(2){fill:var(--accordion-disabled)}.particle_accordion_toggle_button:focus{outline:none}.particle_accordion_content{-webkit-user-select:text;user-select:text;overflow:hidden;transition:max-height .2s ease-out}\n"] }]
|
|
7639
7690
|
}], propDecorators: { multiple: [{
|
|
7640
7691
|
type: Input
|
|
7641
7692
|
}], height: [{
|
|
@@ -7707,6 +7758,7 @@ class SlideoverComponent {
|
|
|
7707
7758
|
this.opened.emit(null);
|
|
7708
7759
|
}
|
|
7709
7760
|
close() {
|
|
7761
|
+
document.activeElement?.blur();
|
|
7710
7762
|
this.removeModalMask();
|
|
7711
7763
|
this.slideoverOpen = false;
|
|
7712
7764
|
this.closed.emit(null);
|
|
@@ -7741,11 +7793,11 @@ class SlideoverComponent {
|
|
|
7741
7793
|
}, 100);
|
|
7742
7794
|
}
|
|
7743
7795
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: SlideoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7744
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: SlideoverComponent, isStandalone: true, selector: "particle-slideover", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: false, isRequired: false, transformFunction: null }, modal: { classPropertyName: "modal", publicName: "modal", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, bgClass: { classPropertyName: "bgClass", publicName: "bgClass", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: true, isRequired: false, transformFunction: null }, hideCloseButton: { classPropertyName: "hideCloseButton", publicName: "hideCloseButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "opened", closed: "closed" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "overlay", first: true, predicate: ["overlay"], descendants: true }], ngImport: i0, template: "<div #overlay (click)=\"close()\"></div>\
|
|
7796
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: SlideoverComponent, isStandalone: true, selector: "particle-slideover", inputs: { position: { classPropertyName: "position", publicName: "position", isSignal: false, isRequired: false, transformFunction: null }, modal: { classPropertyName: "modal", publicName: "modal", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, bgClass: { classPropertyName: "bgClass", publicName: "bgClass", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: true, isRequired: false, transformFunction: null }, hideCloseButton: { classPropertyName: "hideCloseButton", publicName: "hideCloseButton", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { opened: "opened", closed: "closed" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "overlay", first: true, predicate: ["overlay"], descendants: true }], ngImport: i0, template: "<div #overlay (click)=\"close()\"></div>\n<div\n [ngClass]=\"bgClass() + ' ' + (slideoverOpen ? 'slideover_active_' + position : 'slideover_inactive_' + position) + ' slideover-panel ' + position\"\n [style.width]=\"position === 'right' || position === 'left' ? (breakpointExceeded ? '100%' : width()) : null\"\n [style.height]=\"position === 'top' || position === 'bottom' ? (breakpointExceeded ? '100%' : height()) : null\"\n [style.left]=\"position === 'left' && !slideoverOpen ? '-' + (breakpointExceeded ? '100%' : width()) : null\"\n [style.right]=\"position === 'right' && !slideoverOpen ? '-' + (breakpointExceeded ? '100%' : width()) : null\"\n [style.bottom]=\"position === 'bottom' && !slideoverOpen ? '-' + (breakpointExceeded ? '100%' : height()) : null\"\n [style.top]=\"position === 'top' && !slideoverOpen ? '-' + (breakpointExceeded ? '100%' : height()) : null\"\n [style.visibility]=\"!visible ? 'hidden': 'visible'\"\n [attr.aria-hidden]=\"!slideoverOpen\"\n >\n @if (!hideCloseButton()) {\n <div class=\"push_close_bar\">\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"text().close\"\n (click)=\"close()\">\n <div class=\"circle_20px ptl_brdr_color ptl_brdr_size ptl_input_bg_color\">\n <i class=\"fas fa-times\"></i>\n </div>\n </button>\n </div>\n }\n <ng-content></ng-content>\n</div>\n", styles: [".slideover-panel{position:fixed;transition:transform .3s;display:flex;flex-direction:column;z-index:var(--z-dialog)}.slideover-panel.left{top:0;left:0;height:100%}.slideover-panel.right{top:0;right:0;height:100%}.slideover-panel.top{top:0;left:0;width:100%}.slideover-panel.bottom{bottom:0;left:0;width:100%}.slideover_inactive_left,.slideover_active_left{transition:left .2s ease-in-out}.slideover_inactive_right,.slideover_active_right{transition:right .2s ease-in-out}.slideover_inactive_top,.slideover_active_top{transition:top .2s ease-in-out}.slideover_inactive_bottom,.slideover_active_bottom{transition:bottom .2s ease-in-out}.push_close_bar{position:absolute;right:0;top:0;width:45px;height:45px;z-index:var(--z-dialog);display:flex;justify-content:center;align-items:center}.data_hide_button{float:right;display:flex;align-items:center;justify-content:center;font-size:9pt;min-height:20px;height:20px;min-width:20px;width:20px;border-radius:50%;cursor:pointer;padding:0;transition:all .2s ease-in-out;background-color:#ffffffe6;color:#0006;border:1px solid rgba(0,0,0,.1)}.data_hide_button:hover{background-color:#0000004d;color:#fffc;border:1px solid rgba(0,0,0,.1)}.particle_dialog_overlay{position:fixed;display:block;width:100%;height:100%;inset:0;background-color:#78787866;z-index:var(--z-dialog)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
7745
7797
|
}
|
|
7746
7798
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: SlideoverComponent, decorators: [{
|
|
7747
7799
|
type: Component,
|
|
7748
|
-
args: [{ selector: 'particle-slideover', imports: [NgClass], template: "<div #overlay (click)=\"close()\"></div>\
|
|
7800
|
+
args: [{ selector: 'particle-slideover', imports: [NgClass], template: "<div #overlay (click)=\"close()\"></div>\n<div\n [ngClass]=\"bgClass() + ' ' + (slideoverOpen ? 'slideover_active_' + position : 'slideover_inactive_' + position) + ' slideover-panel ' + position\"\n [style.width]=\"position === 'right' || position === 'left' ? (breakpointExceeded ? '100%' : width()) : null\"\n [style.height]=\"position === 'top' || position === 'bottom' ? (breakpointExceeded ? '100%' : height()) : null\"\n [style.left]=\"position === 'left' && !slideoverOpen ? '-' + (breakpointExceeded ? '100%' : width()) : null\"\n [style.right]=\"position === 'right' && !slideoverOpen ? '-' + (breakpointExceeded ? '100%' : width()) : null\"\n [style.bottom]=\"position === 'bottom' && !slideoverOpen ? '-' + (breakpointExceeded ? '100%' : height()) : null\"\n [style.top]=\"position === 'top' && !slideoverOpen ? '-' + (breakpointExceeded ? '100%' : height()) : null\"\n [style.visibility]=\"!visible ? 'hidden': 'visible'\"\n [attr.aria-hidden]=\"!slideoverOpen\"\n >\n @if (!hideCloseButton()) {\n <div class=\"push_close_bar\">\n <button class=\"access btnset clear\"\n [attr.aria-label]=\"text().close\"\n (click)=\"close()\">\n <div class=\"circle_20px ptl_brdr_color ptl_brdr_size ptl_input_bg_color\">\n <i class=\"fas fa-times\"></i>\n </div>\n </button>\n </div>\n }\n <ng-content></ng-content>\n</div>\n", styles: [".slideover-panel{position:fixed;transition:transform .3s;display:flex;flex-direction:column;z-index:var(--z-dialog)}.slideover-panel.left{top:0;left:0;height:100%}.slideover-panel.right{top:0;right:0;height:100%}.slideover-panel.top{top:0;left:0;width:100%}.slideover-panel.bottom{bottom:0;left:0;width:100%}.slideover_inactive_left,.slideover_active_left{transition:left .2s ease-in-out}.slideover_inactive_right,.slideover_active_right{transition:right .2s ease-in-out}.slideover_inactive_top,.slideover_active_top{transition:top .2s ease-in-out}.slideover_inactive_bottom,.slideover_active_bottom{transition:bottom .2s ease-in-out}.push_close_bar{position:absolute;right:0;top:0;width:45px;height:45px;z-index:var(--z-dialog);display:flex;justify-content:center;align-items:center}.data_hide_button{float:right;display:flex;align-items:center;justify-content:center;font-size:9pt;min-height:20px;height:20px;min-width:20px;width:20px;border-radius:50%;cursor:pointer;padding:0;transition:all .2s ease-in-out;background-color:#ffffffe6;color:#0006;border:1px solid rgba(0,0,0,.1)}.data_hide_button:hover{background-color:#0000004d;color:#fffc;border:1px solid rgba(0,0,0,.1)}.particle_dialog_overlay{position:fixed;display:block;width:100%;height:100%;inset:0;background-color:#78787866;z-index:var(--z-dialog)}\n"] }]
|
|
7749
7801
|
}], propDecorators: { position: [{
|
|
7750
7802
|
type: Input
|
|
7751
7803
|
}], modal: [{ type: i0.Input, args: [{ isSignal: true, alias: "modal", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], bgClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "bgClass", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], breakpoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "breakpoint", required: false }] }], hideCloseButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "hideCloseButton", required: false }] }], opened: [{ type: i0.Output, args: ["opened"] }], closed: [{ type: i0.Output, args: ["closed"] }], overlay: [{
|
|
@@ -7882,11 +7934,11 @@ class IdleTimeoutComponent {
|
|
|
7882
7934
|
}
|
|
7883
7935
|
}
|
|
7884
7936
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: IdleTimeoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7885
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.5", type: IdleTimeoutComponent, isStandalone: true, selector: "particle-idle-timeout", inputs: { borderRadius: "borderRadius", timeoutInSeconds: "timeoutInSeconds", text: "text" }, outputs: { timerEnd: "timerEnd" }, viewQueries: [{ propertyName: "timeoutDialog", first: true, predicate: ["timeoutDialog"], descendants: true }], ngImport: i0, template: "<!-- timeout dialog -->\
|
|
7937
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.5", type: IdleTimeoutComponent, isStandalone: true, selector: "particle-idle-timeout", inputs: { borderRadius: "borderRadius", timeoutInSeconds: "timeoutInSeconds", text: "text" }, outputs: { timerEnd: "timerEnd" }, viewQueries: [{ propertyName: "timeoutDialog", first: true, predicate: ["timeoutDialog"], descendants: true }], ngImport: i0, template: "<!-- timeout dialog -->\n<particle-dialog\n [title]=\"text.sessionExpiring\"\n [object]=\"showDialog\"\n (closed)=\"resetTimer()\"\n width=\"350px\" height=\"150px\"\n #timeoutDialog\n>\n <div class=\"row column center_center height100\">\n <div class=\"header sm bold center mar_bot10\">{{ count }} {{ count !== 1 ? text.seconds : text.second }}</div>\n <button class=\"access btn md bg_overlay brdr ok_button_color\" [attr.aria-label]=\"text.stayLoggedIn\"\n (click)=\"resetTimer()\">\n <span class=\"text\">{{ text.stayLoggedIn }}</span>\n </button>\n </div>\n</particle-dialog>\n", dependencies: [{ kind: "component", type: DialogComponent, selector: "particle-dialog", inputs: ["object", "title", "titleClass", "showTitle", "allowClose", "bodyClass", "height", "width", "borderRadius", "text"], outputs: ["closed", "closeAttempt", "opened"] }] });
|
|
7886
7938
|
}
|
|
7887
7939
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: IdleTimeoutComponent, decorators: [{
|
|
7888
7940
|
type: Component,
|
|
7889
|
-
args: [{ selector: 'particle-idle-timeout', standalone: true, imports: [DialogComponent], template: "<!-- timeout dialog -->\
|
|
7941
|
+
args: [{ selector: 'particle-idle-timeout', standalone: true, imports: [DialogComponent], template: "<!-- timeout dialog -->\n<particle-dialog\n [title]=\"text.sessionExpiring\"\n [object]=\"showDialog\"\n (closed)=\"resetTimer()\"\n width=\"350px\" height=\"150px\"\n #timeoutDialog\n>\n <div class=\"row column center_center height100\">\n <div class=\"header sm bold center mar_bot10\">{{ count }} {{ count !== 1 ? text.seconds : text.second }}</div>\n <button class=\"access btn md bg_overlay brdr ok_button_color\" [attr.aria-label]=\"text.stayLoggedIn\"\n (click)=\"resetTimer()\">\n <span class=\"text\">{{ text.stayLoggedIn }}</span>\n </button>\n </div>\n</particle-dialog>\n" }]
|
|
7890
7942
|
}], propDecorators: { borderRadius: [{
|
|
7891
7943
|
type: Input
|
|
7892
7944
|
}], timeoutInSeconds: [{
|
|
@@ -7928,11 +7980,11 @@ class ScrollToTopComponent {
|
|
|
7928
7980
|
}
|
|
7929
7981
|
}
|
|
7930
7982
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScrollToTopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7931
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ScrollToTopComponent, isStandalone: true, selector: "particle-scroll-to-top", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, scrollDistance: { classPropertyName: "scrollDistance", publicName: "scrollDistance", isSignal: true, isRequired: false, transformFunction: null }, bottomOffset: { classPropertyName: "bottomOffset", publicName: "bottomOffset", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if ($scrollTop | async; as scrollTop) {\
|
|
7983
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ScrollToTopComponent, isStandalone: true, selector: "particle-scroll-to-top", inputs: { content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, scrollDistance: { classPropertyName: "scrollDistance", publicName: "scrollDistance", isSignal: true, isRequired: false, transformFunction: null }, bottomOffset: { classPropertyName: "bottomOffset", publicName: "bottomOffset", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if ($scrollTop | async; as scrollTop) {\n <div [style.visibility]=\"scrollTop > scrollDistance() ? 'visible' : 'hidden'\"\n [style.opacity]=\"scrollTop > scrollDistance() ? '1' : '0'\"\n [style.bottom]=\"bottomOffset() + 'px'\"\n class=\"particle_scroll_button mar_right10 mar_bot15\">\n <button (click)=\"scrollToTop()\"\n class=\"access btn pad_10 brad_3 brdr content_color\"\n type=\"button\"\n [attr.aria-label]=\"text().scrollToTop\">\n <span class=\"icon slide_up\"><i class=\"fas fa-chevron-up\"></i></span>\n </button>\n </div>\n}\n", dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
7932
7984
|
}
|
|
7933
7985
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScrollToTopComponent, decorators: [{
|
|
7934
7986
|
type: Component,
|
|
7935
|
-
args: [{ selector: 'particle-scroll-to-top', imports: [AsyncPipe], template: "@if ($scrollTop | async; as scrollTop) {\
|
|
7987
|
+
args: [{ selector: 'particle-scroll-to-top', imports: [AsyncPipe], template: "@if ($scrollTop | async; as scrollTop) {\n <div [style.visibility]=\"scrollTop > scrollDistance() ? 'visible' : 'hidden'\"\n [style.opacity]=\"scrollTop > scrollDistance() ? '1' : '0'\"\n [style.bottom]=\"bottomOffset() + 'px'\"\n class=\"particle_scroll_button mar_right10 mar_bot15\">\n <button (click)=\"scrollToTop()\"\n class=\"access btn pad_10 brad_3 brdr content_color\"\n type=\"button\"\n [attr.aria-label]=\"text().scrollToTop\">\n <span class=\"icon slide_up\"><i class=\"fas fa-chevron-up\"></i></span>\n </button>\n </div>\n}\n" }]
|
|
7936
7988
|
}], propDecorators: { content: [{ type: i0.Input, args: [{ isSignal: true, alias: "content", required: false }] }], scrollDistance: [{ type: i0.Input, args: [{ isSignal: true, alias: "scrollDistance", required: false }] }], bottomOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "bottomOffset", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }] } });
|
|
7937
7989
|
|
|
7938
7990
|
class LayoutFullwidthSidebarComponent {
|
|
@@ -7961,11 +8013,11 @@ class LayoutFullwidthSidebarComponent {
|
|
|
7961
8013
|
return `calc(100vh - ${offset}px)`;
|
|
7962
8014
|
}
|
|
7963
8015
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: LayoutFullwidthSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7964
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: LayoutFullwidthSidebarComponent, isStandalone: true, selector: "particle-layout-fullwidth-sidebar", inputs: { mainContent: { classPropertyName: "mainContent", publicName: "mainContent", isSignal: true, isRequired: false, transformFunction: null }, rightSidebar: { classPropertyName: "rightSidebar", publicName: "rightSidebar", isSignal: true, isRequired: false, transformFunction: null }, mainContentContainerClassList: { classPropertyName: "mainContentContainerClassList", publicName: "mainContentContainerClassList", isSignal: true, isRequired: false, transformFunction: null }, rightSidebarContainerClassList: { classPropertyName: "rightSidebarContainerClassList", publicName: "rightSidebarContainerClassList", isSignal: true, isRequired: false, transformFunction: null }, rightSidebarSticky: { classPropertyName: "rightSidebarSticky", publicName: "rightSidebarSticky", isSignal: true, isRequired: false, transformFunction: null }, headerHeight: { classPropertyName: "headerHeight", publicName: "headerHeight", isSignal: true, isRequired: false, transformFunction: null }, footerHeight: { classPropertyName: "footerHeight", publicName: "footerHeight", isSignal: true, isRequired: false, transformFunction: null }, rightSidebarWidth: { classPropertyName: "rightSidebarWidth", publicName: "rightSidebarWidth", isSignal: true, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: true, isRequired: false, transformFunction: null }, rightSidebarCollapsedTabOffset: { classPropertyName: "rightSidebarCollapsedTabOffset", publicName: "rightSidebarCollapsedTabOffset", isSignal: true, isRequired: false, transformFunction: null }, collapsedClassList: { classPropertyName: "collapsedClassList", publicName: "collapsedClassList", isSignal: true, isRequired: false, transformFunction: null }, mobileSidebarEnabled: { classPropertyName: "mobileSidebarEnabled", publicName: "mobileSidebarEnabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "slideover", first: true, predicate: ["slideover"], descendants: true }], ngImport: i0, template: "<!-- setup for a side column -->\
|
|
8016
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: LayoutFullwidthSidebarComponent, isStandalone: true, selector: "particle-layout-fullwidth-sidebar", inputs: { mainContent: { classPropertyName: "mainContent", publicName: "mainContent", isSignal: true, isRequired: false, transformFunction: null }, rightSidebar: { classPropertyName: "rightSidebar", publicName: "rightSidebar", isSignal: true, isRequired: false, transformFunction: null }, mainContentContainerClassList: { classPropertyName: "mainContentContainerClassList", publicName: "mainContentContainerClassList", isSignal: true, isRequired: false, transformFunction: null }, rightSidebarContainerClassList: { classPropertyName: "rightSidebarContainerClassList", publicName: "rightSidebarContainerClassList", isSignal: true, isRequired: false, transformFunction: null }, rightSidebarSticky: { classPropertyName: "rightSidebarSticky", publicName: "rightSidebarSticky", isSignal: true, isRequired: false, transformFunction: null }, headerHeight: { classPropertyName: "headerHeight", publicName: "headerHeight", isSignal: true, isRequired: false, transformFunction: null }, footerHeight: { classPropertyName: "footerHeight", publicName: "footerHeight", isSignal: true, isRequired: false, transformFunction: null }, rightSidebarWidth: { classPropertyName: "rightSidebarWidth", publicName: "rightSidebarWidth", isSignal: true, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: true, isRequired: false, transformFunction: null }, rightSidebarCollapsedTabOffset: { classPropertyName: "rightSidebarCollapsedTabOffset", publicName: "rightSidebarCollapsedTabOffset", isSignal: true, isRequired: false, transformFunction: null }, collapsedClassList: { classPropertyName: "collapsedClassList", publicName: "collapsedClassList", isSignal: true, isRequired: false, transformFunction: null }, mobileSidebarEnabled: { classPropertyName: "mobileSidebarEnabled", publicName: "mobileSidebarEnabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "slideover", first: true, predicate: ["slideover"], descendants: true }], ngImport: i0, template: "<!-- setup for a side column -->\n<div class=\"row height100 ent_r2l_row\">\n <div class=\"row column space_between height100\"\n [ngClass]=\"mainContentContainerClassList()\">\n <ng-template [ngTemplateOutlet]=\"mainContent()\"></ng-template>\n </div>\n\n @if (!rightSidebarSticky()) {\n <div class=\"particle_layout_sidebar height100\"\n [ngClass]=\"rightSidebarContainerClassList()\"\n [style.display]=\"window.innerWidth <= breakpoint() ? 'none' : ''\"\n [style.width]=\"rightSidebarWidth()\">\n <ng-template [ngTemplateOutlet]=\"rightSidebar()\"></ng-template>\n </div>\n }\n\n @if (rightSidebarSticky()) {\n <div class=\"particle_layout_sidebar height100\"\n [style.display]=\"window.innerWidth <= breakpoint() ? 'none' : ''\"\n [style.width]=\"rightSidebarWidth()\">\n <div class=\"row column sticky_sidebar\"\n [ngClass]=\"rightSidebarContainerClassList()\"\n [style.height]=\"stickySidebarHeight\">\n <ng-template [ngTemplateOutlet]=\"rightSidebar()\"></ng-template>\n </div>\n </div>\n }\n</div>\n\n@if (mobileSidebarEnabled() && rightSidebarCollapsedTabOffset() >= 0) {\n <div [style.visibility]=\"window.innerWidth <= breakpoint() ? 'visible' : 'hidden'\"\n [style.opacity]=\"window.innerWidth <= breakpoint() ? '1' : '0'\"\n [style.top]=\"rightSidebarCollapsedTabOffset() + 'px'\"\n style=\"z-index: var(--z-frame);\"\n class=\"particle_scroll_button mar_right10 mar_bot15\">\n <button\n (click)=\"slideover.open()\"\n class=\"access btn pad_10 brad_3 brdr content_color\"\n type=\"button\">\n <span class=\"icon slide_left\"><i class=\"fas fa-chevron-left\"></i></span>\n </button>\n </div>\n <particle-slideover\n position=\"right\"\n [width]=\"rightSidebarWidth()\"\n [breakpoint]=\"1\"\n #slideover\n >\n <div class=\"min_h40 header_color\">\n </div>\n <div class=\"particle_layout_sidebar height100\"\n [ngClass]=\"rightSidebarContainerClassList() + ' ' + collapsedClassList()\">\n <ng-template [ngTemplateOutlet]=\"rightSidebar()\"></ng-template>\n </div>\n </particle-slideover>\n}\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SlideoverComponent, selector: "particle-slideover", inputs: ["position", "modal", "width", "height", "bgClass", "text", "breakpoint", "hideCloseButton"], outputs: ["opened", "closed"] }] });
|
|
7965
8017
|
}
|
|
7966
8018
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: LayoutFullwidthSidebarComponent, decorators: [{
|
|
7967
8019
|
type: Component,
|
|
7968
|
-
args: [{ selector: 'particle-layout-fullwidth-sidebar', imports: [NgClass, NgTemplateOutlet, SlideoverComponent], template: "<!-- setup for a side column -->\
|
|
8020
|
+
args: [{ selector: 'particle-layout-fullwidth-sidebar', imports: [NgClass, NgTemplateOutlet, SlideoverComponent], template: "<!-- setup for a side column -->\n<div class=\"row height100 ent_r2l_row\">\n <div class=\"row column space_between height100\"\n [ngClass]=\"mainContentContainerClassList()\">\n <ng-template [ngTemplateOutlet]=\"mainContent()\"></ng-template>\n </div>\n\n @if (!rightSidebarSticky()) {\n <div class=\"particle_layout_sidebar height100\"\n [ngClass]=\"rightSidebarContainerClassList()\"\n [style.display]=\"window.innerWidth <= breakpoint() ? 'none' : ''\"\n [style.width]=\"rightSidebarWidth()\">\n <ng-template [ngTemplateOutlet]=\"rightSidebar()\"></ng-template>\n </div>\n }\n\n @if (rightSidebarSticky()) {\n <div class=\"particle_layout_sidebar height100\"\n [style.display]=\"window.innerWidth <= breakpoint() ? 'none' : ''\"\n [style.width]=\"rightSidebarWidth()\">\n <div class=\"row column sticky_sidebar\"\n [ngClass]=\"rightSidebarContainerClassList()\"\n [style.height]=\"stickySidebarHeight\">\n <ng-template [ngTemplateOutlet]=\"rightSidebar()\"></ng-template>\n </div>\n </div>\n }\n</div>\n\n@if (mobileSidebarEnabled() && rightSidebarCollapsedTabOffset() >= 0) {\n <div [style.visibility]=\"window.innerWidth <= breakpoint() ? 'visible' : 'hidden'\"\n [style.opacity]=\"window.innerWidth <= breakpoint() ? '1' : '0'\"\n [style.top]=\"rightSidebarCollapsedTabOffset() + 'px'\"\n style=\"z-index: var(--z-frame);\"\n class=\"particle_scroll_button mar_right10 mar_bot15\">\n <button\n (click)=\"slideover.open()\"\n class=\"access btn pad_10 brad_3 brdr content_color\"\n type=\"button\">\n <span class=\"icon slide_left\"><i class=\"fas fa-chevron-left\"></i></span>\n </button>\n </div>\n <particle-slideover\n position=\"right\"\n [width]=\"rightSidebarWidth()\"\n [breakpoint]=\"1\"\n #slideover\n >\n <div class=\"min_h40 header_color\">\n </div>\n <div class=\"particle_layout_sidebar height100\"\n [ngClass]=\"rightSidebarContainerClassList() + ' ' + collapsedClassList()\">\n <ng-template [ngTemplateOutlet]=\"rightSidebar()\"></ng-template>\n </div>\n </particle-slideover>\n}\n" }]
|
|
7969
8021
|
}], propDecorators: { mainContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainContent", required: false }] }], rightSidebar: [{ type: i0.Input, args: [{ isSignal: true, alias: "rightSidebar", required: false }] }], mainContentContainerClassList: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainContentContainerClassList", required: false }] }], rightSidebarContainerClassList: [{ type: i0.Input, args: [{ isSignal: true, alias: "rightSidebarContainerClassList", required: false }] }], rightSidebarSticky: [{ type: i0.Input, args: [{ isSignal: true, alias: "rightSidebarSticky", required: false }] }], headerHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerHeight", required: false }] }], footerHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "footerHeight", required: false }] }], rightSidebarWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "rightSidebarWidth", required: false }] }], breakpoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "breakpoint", required: false }] }], rightSidebarCollapsedTabOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "rightSidebarCollapsedTabOffset", required: false }] }], collapsedClassList: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsedClassList", required: false }] }], mobileSidebarEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileSidebarEnabled", required: false }] }], slideover: [{
|
|
7970
8022
|
type: ViewChild,
|
|
7971
8023
|
args: ['slideover']
|
|
@@ -8008,11 +8060,11 @@ class LayoutFullFramingComponent {
|
|
|
8008
8060
|
return `calc(100% - ${offset}px)`;
|
|
8009
8061
|
}
|
|
8010
8062
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: LayoutFullFramingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8011
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: LayoutFullFramingComponent, isStandalone: true, selector: "particle-layout-full-framing", inputs: { mainContent: { classPropertyName: "mainContent", publicName: "mainContent", isSignal: true, isRequired: false, transformFunction: null }, rightSidebar: { classPropertyName: "rightSidebar", publicName: "rightSidebar", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, footer: { classPropertyName: "footer", publicName: "footer", isSignal: true, isRequired: false, transformFunction: null }, mainContentContainerClassList: { classPropertyName: "mainContentContainerClassList", publicName: "mainContentContainerClassList", isSignal: true, isRequired: false, transformFunction: null }, rightSidebarContainerClassList: { classPropertyName: "rightSidebarContainerClassList", publicName: "rightSidebarContainerClassList", isSignal: true, isRequired: false, transformFunction: null }, headerClassList: { classPropertyName: "headerClassList", publicName: "headerClassList", isSignal: true, isRequired: false, transformFunction: null }, footerClassList: { classPropertyName: "footerClassList", publicName: "footerClassList", isSignal: true, isRequired: false, transformFunction: null }, headerHeight: { classPropertyName: "headerHeight", publicName: "headerHeight", isSignal: true, isRequired: false, transformFunction: null }, footerHeight: { classPropertyName: "footerHeight", publicName: "footerHeight", isSignal: true, isRequired: false, transformFunction: null }, rightSidebarWidth: { classPropertyName: "rightSidebarWidth", publicName: "rightSidebarWidth", isSignal: true, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: true, isRequired: false, transformFunction: null }, rightSidebarCollapsedTabOffset: { classPropertyName: "rightSidebarCollapsedTabOffset", publicName: "rightSidebarCollapsedTabOffset", isSignal: true, isRequired: false, transformFunction: null }, collapsedClassList: { classPropertyName: "collapsedClassList", publicName: "collapsedClassList", isSignal: true, isRequired: false, transformFunction: null }, mobileSidebarEnabled: { classPropertyName: "mobileSidebarEnabled", publicName: "mobileSidebarEnabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "slideover", first: true, predicate: ["slideover"], descendants: true }], ngImport: i0, template: "<div class=\"width100 height100\">\
|
|
8063
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: LayoutFullFramingComponent, isStandalone: true, selector: "particle-layout-full-framing", inputs: { mainContent: { classPropertyName: "mainContent", publicName: "mainContent", isSignal: true, isRequired: false, transformFunction: null }, rightSidebar: { classPropertyName: "rightSidebar", publicName: "rightSidebar", isSignal: true, isRequired: false, transformFunction: null }, header: { classPropertyName: "header", publicName: "header", isSignal: true, isRequired: false, transformFunction: null }, footer: { classPropertyName: "footer", publicName: "footer", isSignal: true, isRequired: false, transformFunction: null }, mainContentContainerClassList: { classPropertyName: "mainContentContainerClassList", publicName: "mainContentContainerClassList", isSignal: true, isRequired: false, transformFunction: null }, rightSidebarContainerClassList: { classPropertyName: "rightSidebarContainerClassList", publicName: "rightSidebarContainerClassList", isSignal: true, isRequired: false, transformFunction: null }, headerClassList: { classPropertyName: "headerClassList", publicName: "headerClassList", isSignal: true, isRequired: false, transformFunction: null }, footerClassList: { classPropertyName: "footerClassList", publicName: "footerClassList", isSignal: true, isRequired: false, transformFunction: null }, headerHeight: { classPropertyName: "headerHeight", publicName: "headerHeight", isSignal: true, isRequired: false, transformFunction: null }, footerHeight: { classPropertyName: "footerHeight", publicName: "footerHeight", isSignal: true, isRequired: false, transformFunction: null }, rightSidebarWidth: { classPropertyName: "rightSidebarWidth", publicName: "rightSidebarWidth", isSignal: true, isRequired: false, transformFunction: null }, breakpoint: { classPropertyName: "breakpoint", publicName: "breakpoint", isSignal: true, isRequired: false, transformFunction: null }, rightSidebarCollapsedTabOffset: { classPropertyName: "rightSidebarCollapsedTabOffset", publicName: "rightSidebarCollapsedTabOffset", isSignal: true, isRequired: false, transformFunction: null }, collapsedClassList: { classPropertyName: "collapsedClassList", publicName: "collapsedClassList", isSignal: true, isRequired: false, transformFunction: null }, mobileSidebarEnabled: { classPropertyName: "mobileSidebarEnabled", publicName: "mobileSidebarEnabled", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "slideover", first: true, predicate: ["slideover"], descendants: true }], ngImport: i0, template: "<div class=\"width100 height100\">\n <div class=\"width100 header_sticky\" [ngClass]=\"headerClassList()\" [style.height]=\"headerHeight()\">\n <ng-template [ngTemplateOutlet]=\"header()\"></ng-template>\n </div>\n\n <div class=\"row ent_r2l_row\" [style.height]=\"contentSidebarHeight\">\n <div class=\"row column space_between height100\"\n [ngClass]=\"mainContentContainerClassList()\">\n <ng-template [ngTemplateOutlet]=\"mainContent()\"></ng-template>\n </div>\n\n <div class=\"col particle_layout_sidebar height100\"\n [style.width]=\"rightSidebarWidth()\"\n [style.display]=\"window.innerWidth <= breakpoint() ? 'none' : ''\"\n >\n <div class=\"row column sticky_sidebar height100\"\n [ngClass]=\"rightSidebarContainerClassList()\"\n [style.height]=\"stickySidebarHeight\"\n [style.top]=\"headerHeight()\">\n <ng-template [ngTemplateOutlet]=\"rightSidebar()\"></ng-template>\n </div>\n </div>\n </div>\n\n <div class=\"width100 footer_sticky\" [ngClass]=\"footerClassList()\" [style.height]=\"footerHeight()\">\n <ng-template [ngTemplateOutlet]=\"footer()\"></ng-template>\n </div>\n</div>\n\n@if (mobileSidebarEnabled() && rightSidebarCollapsedTabOffset() >= 0) {\n <div [style.visibility]=\"window.innerWidth <= breakpoint() ? 'visible' : 'hidden'\"\n [style.opacity]=\"window.innerWidth <= breakpoint() ? '1' : '0'\"\n [style.top]=\"rightSidebarCollapsedTabOffset() + 'px'\"\n style=\"z-index: var(--z-frame);\"\n class=\"particle_scroll_button mar_right10 mar_bot15\">\n <button\n (click)=\"slideover.open()\"\n class=\"access btn pad_10 brad_3 brdr content_color\"\n type=\"button\">\n <span class=\"icon slide_left\"><i class=\"fas fa-chevron-left\"></i></span>\n </button>\n </div>\n <particle-slideover\n position=\"right\"\n [width]=\"rightSidebarWidth()\"\n [breakpoint]=\"1\"\n #slideover\n >\n <div class=\"min_h40 header_color\">\n </div>\n <div class=\"particle_layout_sidebar height100\"\n [ngClass]=\"rightSidebarContainerClassList() + ' ' + collapsedClassList()\">\n <ng-template [ngTemplateOutlet]=\"rightSidebar()\"></ng-template>\n </div>\n </particle-slideover>\n}\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: SlideoverComponent, selector: "particle-slideover", inputs: ["position", "modal", "width", "height", "bgClass", "text", "breakpoint", "hideCloseButton"], outputs: ["opened", "closed"] }] });
|
|
8012
8064
|
}
|
|
8013
8065
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: LayoutFullFramingComponent, decorators: [{
|
|
8014
8066
|
type: Component,
|
|
8015
|
-
args: [{ selector: 'particle-layout-full-framing', imports: [NgClass, NgTemplateOutlet, SlideoverComponent], template: "<div class=\"width100 height100\">\
|
|
8067
|
+
args: [{ selector: 'particle-layout-full-framing', imports: [NgClass, NgTemplateOutlet, SlideoverComponent], template: "<div class=\"width100 height100\">\n <div class=\"width100 header_sticky\" [ngClass]=\"headerClassList()\" [style.height]=\"headerHeight()\">\n <ng-template [ngTemplateOutlet]=\"header()\"></ng-template>\n </div>\n\n <div class=\"row ent_r2l_row\" [style.height]=\"contentSidebarHeight\">\n <div class=\"row column space_between height100\"\n [ngClass]=\"mainContentContainerClassList()\">\n <ng-template [ngTemplateOutlet]=\"mainContent()\"></ng-template>\n </div>\n\n <div class=\"col particle_layout_sidebar height100\"\n [style.width]=\"rightSidebarWidth()\"\n [style.display]=\"window.innerWidth <= breakpoint() ? 'none' : ''\"\n >\n <div class=\"row column sticky_sidebar height100\"\n [ngClass]=\"rightSidebarContainerClassList()\"\n [style.height]=\"stickySidebarHeight\"\n [style.top]=\"headerHeight()\">\n <ng-template [ngTemplateOutlet]=\"rightSidebar()\"></ng-template>\n </div>\n </div>\n </div>\n\n <div class=\"width100 footer_sticky\" [ngClass]=\"footerClassList()\" [style.height]=\"footerHeight()\">\n <ng-template [ngTemplateOutlet]=\"footer()\"></ng-template>\n </div>\n</div>\n\n@if (mobileSidebarEnabled() && rightSidebarCollapsedTabOffset() >= 0) {\n <div [style.visibility]=\"window.innerWidth <= breakpoint() ? 'visible' : 'hidden'\"\n [style.opacity]=\"window.innerWidth <= breakpoint() ? '1' : '0'\"\n [style.top]=\"rightSidebarCollapsedTabOffset() + 'px'\"\n style=\"z-index: var(--z-frame);\"\n class=\"particle_scroll_button mar_right10 mar_bot15\">\n <button\n (click)=\"slideover.open()\"\n class=\"access btn pad_10 brad_3 brdr content_color\"\n type=\"button\">\n <span class=\"icon slide_left\"><i class=\"fas fa-chevron-left\"></i></span>\n </button>\n </div>\n <particle-slideover\n position=\"right\"\n [width]=\"rightSidebarWidth()\"\n [breakpoint]=\"1\"\n #slideover\n >\n <div class=\"min_h40 header_color\">\n </div>\n <div class=\"particle_layout_sidebar height100\"\n [ngClass]=\"rightSidebarContainerClassList() + ' ' + collapsedClassList()\">\n <ng-template [ngTemplateOutlet]=\"rightSidebar()\"></ng-template>\n </div>\n </particle-slideover>\n}\n" }]
|
|
8016
8068
|
}], propDecorators: { mainContent: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainContent", required: false }] }], rightSidebar: [{ type: i0.Input, args: [{ isSignal: true, alias: "rightSidebar", required: false }] }], header: [{ type: i0.Input, args: [{ isSignal: true, alias: "header", required: false }] }], footer: [{ type: i0.Input, args: [{ isSignal: true, alias: "footer", required: false }] }], mainContentContainerClassList: [{ type: i0.Input, args: [{ isSignal: true, alias: "mainContentContainerClassList", required: false }] }], rightSidebarContainerClassList: [{ type: i0.Input, args: [{ isSignal: true, alias: "rightSidebarContainerClassList", required: false }] }], headerClassList: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerClassList", required: false }] }], footerClassList: [{ type: i0.Input, args: [{ isSignal: true, alias: "footerClassList", required: false }] }], headerHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "headerHeight", required: false }] }], footerHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "footerHeight", required: false }] }], rightSidebarWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "rightSidebarWidth", required: false }] }], breakpoint: [{ type: i0.Input, args: [{ isSignal: true, alias: "breakpoint", required: false }] }], rightSidebarCollapsedTabOffset: [{ type: i0.Input, args: [{ isSignal: true, alias: "rightSidebarCollapsedTabOffset", required: false }] }], collapsedClassList: [{ type: i0.Input, args: [{ isSignal: true, alias: "collapsedClassList", required: false }] }], mobileSidebarEnabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "mobileSidebarEnabled", required: false }] }], slideover: [{
|
|
8017
8069
|
type: ViewChild,
|
|
8018
8070
|
args: ['slideover']
|
|
@@ -8100,7 +8152,7 @@ class ToggleSwitchComponent {
|
|
|
8100
8152
|
provide: NG_VALUE_ACCESSOR,
|
|
8101
8153
|
useExisting: forwardRef(() => ToggleSwitchComponent),
|
|
8102
8154
|
multi: true
|
|
8103
|
-
}], ngImport: i0, template: "@if (options$ | async; as options) {\
|
|
8155
|
+
}], ngImport: i0, template: "@if (options$ | async; as options) {\n <button\n (click)=\"handleClick()\"\n [attr.aria-label]=\"options.accessibilityLabel\"\n [disabled]=\"disabled()\"\n [ngClass]=\"value ? options.affirmativeColorClass : options.negativeColorClass\"\n class=\"access btn sm v_center hov_glow p_toggle_button\"\n >\n @if (value) {\n <ng-container [ngTemplateOutlet]=\"affirmativeSelected\"></ng-container>\n } @else {\n <div class=\"content_color p_toggle_shadow p_toggle_status\" [style.min-width]=\"options.toggleSwitchWidth + 'px'\">\n <i [ngClass]=\"options.negativeIcon\" class=\"fa-fw\"></i>\n </div>\n <div class=\"opac_50 p_toggle_status\" [style.min-width]=\"(options.toggleTrackWidth - options.toggleSwitchWidth) + 'px'\">\n {{options.negativeLabel}}\n </div>\n }\n </button>\n <ng-template #affirmativeSelected>\n <div class=\"opac_50 p_toggle_status\" [style.min-width]=\"(options.toggleTrackWidth - options.toggleSwitchWidth) + 'px'\">\n {{options.affirmativeLabel}}\n </div>\n <div class=\"content_color p_toggle_shadow p_toggle_status\" [style.min-width]=\"options.toggleSwitchWidth + 'px'\">\n <i [ngClass]=\"options.affirmativeIcon\" class=\"fa-fw mar_right5\"></i>\n </div>\n </ng-template>\n}\n", styles: [".p_toggle_button{padding:2px;border-radius:50px}.p_toggle_status{min-width:65px;border-radius:50px;padding:5px 3px;transition:all .4s ease-in-out}.p_toggle_shadow{box-shadow:0 0 10px #323232bf}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
8104
8156
|
}
|
|
8105
8157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ToggleSwitchComponent, decorators: [{
|
|
8106
8158
|
type: Component,
|
|
@@ -8108,7 +8160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
8108
8160
|
provide: NG_VALUE_ACCESSOR,
|
|
8109
8161
|
useExisting: forwardRef(() => ToggleSwitchComponent),
|
|
8110
8162
|
multi: true
|
|
8111
|
-
}], imports: [NgClass, NgTemplateOutlet, AsyncPipe], template: "@if (options$ | async; as options) {\
|
|
8163
|
+
}], imports: [NgClass, NgTemplateOutlet, AsyncPipe], template: "@if (options$ | async; as options) {\n <button\n (click)=\"handleClick()\"\n [attr.aria-label]=\"options.accessibilityLabel\"\n [disabled]=\"disabled()\"\n [ngClass]=\"value ? options.affirmativeColorClass : options.negativeColorClass\"\n class=\"access btn sm v_center hov_glow p_toggle_button\"\n >\n @if (value) {\n <ng-container [ngTemplateOutlet]=\"affirmativeSelected\"></ng-container>\n } @else {\n <div class=\"content_color p_toggle_shadow p_toggle_status\" [style.min-width]=\"options.toggleSwitchWidth + 'px'\">\n <i [ngClass]=\"options.negativeIcon\" class=\"fa-fw\"></i>\n </div>\n <div class=\"opac_50 p_toggle_status\" [style.min-width]=\"(options.toggleTrackWidth - options.toggleSwitchWidth) + 'px'\">\n {{options.negativeLabel}}\n </div>\n }\n </button>\n <ng-template #affirmativeSelected>\n <div class=\"opac_50 p_toggle_status\" [style.min-width]=\"(options.toggleTrackWidth - options.toggleSwitchWidth) + 'px'\">\n {{options.affirmativeLabel}}\n </div>\n <div class=\"content_color p_toggle_shadow p_toggle_status\" [style.min-width]=\"options.toggleSwitchWidth + 'px'\">\n <i [ngClass]=\"options.affirmativeIcon\" class=\"fa-fw mar_right5\"></i>\n </div>\n </ng-template>\n}\n", styles: [".p_toggle_button{padding:2px;border-radius:50px}.p_toggle_status{min-width:65px;border-radius:50px;padding:5px 3px;transition:all .4s ease-in-out}.p_toggle_shadow{box-shadow:0 0 10px #323232bf}\n"] }]
|
|
8112
8164
|
}], propDecorators: { options: [{
|
|
8113
8165
|
type: Input
|
|
8114
8166
|
}], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], changed: [{ type: i0.Output, args: ["changed"] }] } });
|
|
@@ -8192,7 +8244,7 @@ class CheckboxComponent {
|
|
|
8192
8244
|
useExisting: forwardRef(() => CheckboxComponent),
|
|
8193
8245
|
multi: true
|
|
8194
8246
|
}
|
|
8195
|
-
], ngImport: i0, template: "<div class=\"access ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius\"\
|
|
8247
|
+
], ngImport: i0, template: "<div class=\"access ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius\"\n [style.height]=\"size() + 'px'\"\n [style.width]=\"size() + 'px'\"\n [style.min-width]=\"size() + 'px'\"\n [style.min-height]=\"size() + 'px'\"\n >\n <button class=\"access btn clear width100 height100\"\n tabindex=\"0\"\n role=\"checkbox\"\n type=\"button\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"_value ? text().uncheck : text().check\"\n [attr.aria-checked]=\"_value\"\n (click)=\"click()\"\n >\n <!-- show if checked state -->\n @if (_value) {\n <div><i class=\"fas fa-check fa-fw\" [style.font-size]=\"(size() / 2) + 'px'\"></i></div>\n }\n </button>\n\n <input type=\"hidden\" [id]=\"inputId()\" [value]=\"value\" #hiddenInput/>\n</div>\n\n", styles: [""] });
|
|
8196
8248
|
}
|
|
8197
8249
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
8198
8250
|
type: Component,
|
|
@@ -8202,7 +8254,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
8202
8254
|
useExisting: forwardRef(() => CheckboxComponent),
|
|
8203
8255
|
multi: true
|
|
8204
8256
|
}
|
|
8205
|
-
], imports: [], template: "<div class=\"access ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius\"\
|
|
8257
|
+
], imports: [], template: "<div class=\"access ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius\"\n [style.height]=\"size() + 'px'\"\n [style.width]=\"size() + 'px'\"\n [style.min-width]=\"size() + 'px'\"\n [style.min-height]=\"size() + 'px'\"\n >\n <button class=\"access btn clear width100 height100\"\n tabindex=\"0\"\n role=\"checkbox\"\n type=\"button\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"_value ? text().uncheck : text().check\"\n [attr.aria-checked]=\"_value\"\n (click)=\"click()\"\n >\n <!-- show if checked state -->\n @if (_value) {\n <div><i class=\"fas fa-check fa-fw\" [style.font-size]=\"(size() / 2) + 'px'\"></i></div>\n }\n </button>\n\n <input type=\"hidden\" [id]=\"inputId()\" [value]=\"value\" #hiddenInput/>\n</div>\n\n" }]
|
|
8206
8258
|
}], propDecorators: { disabled: [{
|
|
8207
8259
|
type: Input
|
|
8208
8260
|
}], value: [{
|
|
@@ -8728,20 +8780,20 @@ class InputMaskComponent {
|
|
|
8728
8780
|
this.inputViewChild.nativeElement.focus();
|
|
8729
8781
|
}
|
|
8730
8782
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: InputMaskComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8731
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.5", type: InputMaskComponent, isStandalone: true, selector: "particle-input-mask", inputs: { type: "type", slotChar: "slotChar", autoClear: "autoClear", style: "style", inputId: "inputId", styleClass: "styleClass", placeholder: "placeholder", size: "size", maxlength: "maxlength", tabindex: "tabindex", ariaLabel: "ariaLabel", ariaRequired: "ariaRequired", disabled: "disabled", readonly: "readonly", unmask: "unmask", name: "name", required: "required", characterPattern: "characterPattern", autoFocus: "autoFocus", autocomplete: "autocomplete", mask: "mask" }, outputs: { onComplete: "onComplete", onFocus: "onFocus", onBlur: "onBlur", onInput: "onInput" }, host: { properties: { "class.ui-inputwrapper-filled": "filled", "class.ui-inputwrapper-focus": "focus" } }, providers: [INPUTMASK_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: `<input #input [attr.id]="inputId" [attr.type]="type" [attr.name]="name" [ngStyle]="style" [ngClass]="styleClass" [attr.placeholder]="placeholder"
|
|
8732
|
-
[attr.size]="size" [attr.autocomplete]="autocomplete" [attr.maxlength]="maxlength" [attr.tabindex]="tabindex" [attr.aria-label]="ariaLabel"
|
|
8733
|
-
[attr.aria-required]="ariaRequired" [disabled]="disabled" [readonly]="readonly" [attr.required]="required"
|
|
8734
|
-
(focus)="onInputFocus($event)" (blur)="onInputBlur($event)" (keydown)="onKeyDown($event)"
|
|
8783
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.5", type: InputMaskComponent, isStandalone: true, selector: "particle-input-mask", inputs: { type: "type", slotChar: "slotChar", autoClear: "autoClear", style: "style", inputId: "inputId", styleClass: "styleClass", placeholder: "placeholder", size: "size", maxlength: "maxlength", tabindex: "tabindex", ariaLabel: "ariaLabel", ariaRequired: "ariaRequired", disabled: "disabled", readonly: "readonly", unmask: "unmask", name: "name", required: "required", characterPattern: "characterPattern", autoFocus: "autoFocus", autocomplete: "autocomplete", mask: "mask" }, outputs: { onComplete: "onComplete", onFocus: "onFocus", onBlur: "onBlur", onInput: "onInput" }, host: { properties: { "class.ui-inputwrapper-filled": "filled", "class.ui-inputwrapper-focus": "focus" } }, providers: [INPUTMASK_VALUE_ACCESSOR], viewQueries: [{ propertyName: "inputViewChild", first: true, predicate: ["input"], descendants: true, static: true }], ngImport: i0, template: `<input #input [attr.id]="inputId" [attr.type]="type" [attr.name]="name" [ngStyle]="style" [ngClass]="styleClass" [attr.placeholder]="placeholder"
|
|
8784
|
+
[attr.size]="size" [attr.autocomplete]="autocomplete" [attr.maxlength]="maxlength" [attr.tabindex]="tabindex" [attr.aria-label]="ariaLabel"
|
|
8785
|
+
[attr.aria-required]="ariaRequired" [disabled]="disabled" [readonly]="readonly" [attr.required]="required"
|
|
8786
|
+
(focus)="onInputFocus($event)" (blur)="onInputBlur($event)" (keydown)="onKeyDown($event)"
|
|
8735
8787
|
(input)="onInputChange($event)" (paste)="handleInputChange($event)" (click)="onClick()">`, isInline: true, dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
8736
8788
|
}
|
|
8737
8789
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: InputMaskComponent, decorators: [{
|
|
8738
8790
|
type: Component,
|
|
8739
8791
|
args: [{
|
|
8740
8792
|
selector: 'particle-input-mask',
|
|
8741
|
-
template: `<input #input [attr.id]="inputId" [attr.type]="type" [attr.name]="name" [ngStyle]="style" [ngClass]="styleClass" [attr.placeholder]="placeholder"
|
|
8742
|
-
[attr.size]="size" [attr.autocomplete]="autocomplete" [attr.maxlength]="maxlength" [attr.tabindex]="tabindex" [attr.aria-label]="ariaLabel"
|
|
8743
|
-
[attr.aria-required]="ariaRequired" [disabled]="disabled" [readonly]="readonly" [attr.required]="required"
|
|
8744
|
-
(focus)="onInputFocus($event)" (blur)="onInputBlur($event)" (keydown)="onKeyDown($event)"
|
|
8793
|
+
template: `<input #input [attr.id]="inputId" [attr.type]="type" [attr.name]="name" [ngStyle]="style" [ngClass]="styleClass" [attr.placeholder]="placeholder"
|
|
8794
|
+
[attr.size]="size" [attr.autocomplete]="autocomplete" [attr.maxlength]="maxlength" [attr.tabindex]="tabindex" [attr.aria-label]="ariaLabel"
|
|
8795
|
+
[attr.aria-required]="ariaRequired" [disabled]="disabled" [readonly]="readonly" [attr.required]="required"
|
|
8796
|
+
(focus)="onInputFocus($event)" (blur)="onInputBlur($event)" (keydown)="onKeyDown($event)"
|
|
8745
8797
|
(input)="onInputChange($event)" (paste)="handleInputChange($event)" (click)="onClick()">`,
|
|
8746
8798
|
host: {
|
|
8747
8799
|
'[class.ui-inputwrapper-filled]': 'filled',
|
|
@@ -8822,11 +8874,11 @@ class ProgressBarComponent {
|
|
|
8822
8874
|
showBorder = input(true, ...(ngDevMode ? [{ debugName: "showBorder" }] : []));
|
|
8823
8875
|
showMovement = input(false, ...(ngDevMode ? [{ debugName: "showMovement" }] : []));
|
|
8824
8876
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8825
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ProgressBarComponent, isStandalone: true, selector: "particle-progress-bar", inputs: { percentComplete: { classPropertyName: "percentComplete", publicName: "percentComplete", isSignal: false, isRequired: false, transformFunction: null }, backgroundColorClass: { classPropertyName: "backgroundColorClass", publicName: "backgroundColorClass", isSignal: true, isRequired: false, transformFunction: null }, progressColorClass: { classPropertyName: "progressColorClass", publicName: "progressColorClass", isSignal: true, isRequired: false, transformFunction: null }, showPercentComplete: { classPropertyName: "showPercentComplete", publicName: "showPercentComplete", isSignal: true, isRequired: false, transformFunction: null }, borderRadius: { classPropertyName: "borderRadius", publicName: "borderRadius", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, showBorder: { classPropertyName: "showBorder", publicName: "showBorder", isSignal: true, isRequired: false, transformFunction: null }, showMovement: { classPropertyName: "showMovement", publicName: "showMovement", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div [ngClass]=\"showBorder() ? backgroundColorClass() + ' brdr' : backgroundColorClass()\"\
|
|
8877
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: ProgressBarComponent, isStandalone: true, selector: "particle-progress-bar", inputs: { percentComplete: { classPropertyName: "percentComplete", publicName: "percentComplete", isSignal: false, isRequired: false, transformFunction: null }, backgroundColorClass: { classPropertyName: "backgroundColorClass", publicName: "backgroundColorClass", isSignal: true, isRequired: false, transformFunction: null }, progressColorClass: { classPropertyName: "progressColorClass", publicName: "progressColorClass", isSignal: true, isRequired: false, transformFunction: null }, showPercentComplete: { classPropertyName: "showPercentComplete", publicName: "showPercentComplete", isSignal: true, isRequired: false, transformFunction: null }, borderRadius: { classPropertyName: "borderRadius", publicName: "borderRadius", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, showBorder: { classPropertyName: "showBorder", publicName: "showBorder", isSignal: true, isRequired: false, transformFunction: null }, showMovement: { classPropertyName: "showMovement", publicName: "showMovement", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div [ngClass]=\"showBorder() ? backgroundColorClass() + ' brdr' : backgroundColorClass()\"\n [style.border-radius]=\"borderRadius() + 'px'\"\n [style.height]=\"height() ? height() + 'px' : ''\"\n >\n <div class=\"container_progress\"\n [ngClass]=\"progressColorClass() + (showMovement() ? ' progress_movement' : '')\"\n [style.width]=\"percentComplete + '%'\"\n [style.border-radius]=\"borderRadius() + 'px'\"\n [style.height]=\"height() ? (showBorder() ? (height() - 2) : height()) + 'px' : ''\"\n [style.font-size]=\"height() < 20 ? '65%' : ''\"\n >\n @if ((showPercentComplete() && height() >= 10)) {\n {{percentComplete}}%\n } @else {\n \n }\n </div>\n</div>\n", styles: [".container_progress{align-items:center;display:flex;justify-content:center}.progress_movement{animation:progress 10s linear infinite;background-image:url(data:image/png;base64,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)}@keyframes progress{0%{background-position:0% 0%}to{background-position:0% -100%}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
8826
8878
|
}
|
|
8827
8879
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ProgressBarComponent, decorators: [{
|
|
8828
8880
|
type: Component,
|
|
8829
|
-
args: [{ selector: 'particle-progress-bar', imports: [NgClass], template: "<div [ngClass]=\"showBorder() ? backgroundColorClass() + ' brdr' : backgroundColorClass()\"\
|
|
8881
|
+
args: [{ selector: 'particle-progress-bar', imports: [NgClass], template: "<div [ngClass]=\"showBorder() ? backgroundColorClass() + ' brdr' : backgroundColorClass()\"\n [style.border-radius]=\"borderRadius() + 'px'\"\n [style.height]=\"height() ? height() + 'px' : ''\"\n >\n <div class=\"container_progress\"\n [ngClass]=\"progressColorClass() + (showMovement() ? ' progress_movement' : '')\"\n [style.width]=\"percentComplete + '%'\"\n [style.border-radius]=\"borderRadius() + 'px'\"\n [style.height]=\"height() ? (showBorder() ? (height() - 2) : height()) + 'px' : ''\"\n [style.font-size]=\"height() < 20 ? '65%' : ''\"\n >\n @if ((showPercentComplete() && height() >= 10)) {\n {{percentComplete}}%\n } @else {\n \n }\n </div>\n</div>\n", styles: [".container_progress{align-items:center;display:flex;justify-content:center}.progress_movement{animation:progress 10s linear infinite;background-image:url(data:image/png;base64,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)}@keyframes progress{0%{background-position:0% 0%}to{background-position:0% -100%}}\n"] }]
|
|
8830
8882
|
}], propDecorators: { percentComplete: [{
|
|
8831
8883
|
type: Input
|
|
8832
8884
|
}], backgroundColorClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "backgroundColorClass", required: false }] }], progressColorClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "progressColorClass", required: false }] }], showPercentComplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "showPercentComplete", required: false }] }], borderRadius: [{ type: i0.Input, args: [{ isSignal: true, alias: "borderRadius", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], showBorder: [{ type: i0.Input, args: [{ isSignal: true, alias: "showBorder", required: false }] }], showMovement: [{ type: i0.Input, args: [{ isSignal: true, alias: "showMovement", required: false }] }] } });
|
|
@@ -8845,11 +8897,11 @@ class LoaderComponent {
|
|
|
8845
8897
|
}
|
|
8846
8898
|
}
|
|
8847
8899
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8848
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: LoaderComponent, isStandalone: true, selector: "particle-loader", inputs: { text: "text", disableText: "disableText", colors: "colors" }, ngImport: i0, template: "<div class=\"row column center_center height100\" style=\"max-width: 250px;\">\
|
|
8900
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: LoaderComponent, isStandalone: true, selector: "particle-loader", inputs: { text: "text", disableText: "disableText", colors: "colors" }, ngImport: i0, template: "<div class=\"row column center_center height100\" style=\"max-width: 250px;\">\n <div class=\"ptl_loader\">\n <div class=\"ptl_loader__progress\" [style.background]=\"backgroundStyle ?? ''\"></div>\n </div>\n @if (!disableText) {\n @if (text.loadingText) {\n <div class=\"text md bold text_center mar_top15 ent_r2l_txt\" style=\"user-select: none;text-align: center !important;\">\n {{text.loadingText}}<span class=\"one\">.</span><span class=\"two\">.</span><span class=\"three\">.</span>\n </div>\n }\n @if (text.loadingSubtext) {\n <div class=\"text sm text_center mar_top5 ent_r2l_txt\" style=\"user-select: none;text-align: center !important;\">\n {{text.loadingSubtext}}\n </div>\n }\n }\n</div>\n", styles: [".ptl_loader{height:2px;position:relative;overflow:hidden;width:100%}.ptl_loader__progress{background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--bg-purple-color) 33%,var(--bg-blue-color) 50%,var(--bg-green-color) 66%,rgba(0,0,0,0) 100%);position:absolute;bottom:0;top:0;width:100%;animation-duration:2s;animation-iteration-count:infinite;animation-name:ptl_loader}@keyframes ptl_loader{0%{left:-100%}to{left:100%}}.endpoint_fadein{animation:fadeInAnimation ease 1s;animation-iteration-count:1;animation-fill-mode:forwards}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}.endpoint_shape{height:7px;width:7px;min-width:7px;min-height:7px;border-radius:7px}.endpoint_spin{animation:spin 3s linear infinite;opacity:1;z-index:var(--z-frame)}@keyframes spin{to{transform:rotate(360deg)}}.endpoint_spin_rev{animation:spin_rev 3s linear infinite;opacity:1;z-index:var(--z-frame)}@keyframes spin_rev{to{transform:rotate(-360deg)}}.bars_vertical{height:60px;width:60px;display:flex;align-items:center;justify-content:center}.bars_vertical .bar1,.bars_vertical .bar2,.bars_vertical .bar3,.bars_vertical .bar4,.bars_vertical .bar5{animation-duration:1s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-direction:alternate;transform-origin:center center;margin:0 5px}.bars_vertical .bar1{animation-name:bars_vertical_grow;animation-delay:.2s}.bars_vertical .bar2{animation-name:bars_vertical_grow;animation-delay:.4s}.bars_vertical .bar3{animation-name:bars_vertical_grow;animation-delay:.6s}.bars_vertical .bar4{animation-name:bars_vertical_grow;animation-delay:.8s}.bars_vertical .bar5{animation-name:bars_vertical_grow;animation-delay:1s}@keyframes bars_vertical_grow{0%{transform:scale(.2);opacity:0}to{transform:scale(2);opacity:1}}@keyframes fadein{0%{opacity:0}to{opacity:.5}}.one{opacity:0;-webkit-animation:dot 1.3s infinite;-webkit-animation-delay:0s;animation:dot 1.3s infinite;animation-delay:0s}.two{opacity:0;-webkit-animation:dot 1.3s infinite;-webkit-animation-delay:.2s;animation:dot 1.3s infinite;animation-delay:.2s}.three{opacity:0;-webkit-animation:dot 1.3s infinite;-webkit-animation-delay:.3s;animation:dot 1.3s infinite;animation-delay:.3s}@-webkit-keyframes dot{0%{opacity:0}50%{opacity:0}to{opacity:1}}@keyframes dot{0%{opacity:0}50%{opacity:0}to{opacity:1}}\n"] });
|
|
8849
8901
|
}
|
|
8850
8902
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: LoaderComponent, decorators: [{
|
|
8851
8903
|
type: Component,
|
|
8852
|
-
args: [{ selector: 'particle-loader', standalone: true, imports: [], template: "<div class=\"row column center_center height100\" style=\"max-width: 250px;\">\
|
|
8904
|
+
args: [{ selector: 'particle-loader', standalone: true, imports: [], template: "<div class=\"row column center_center height100\" style=\"max-width: 250px;\">\n <div class=\"ptl_loader\">\n <div class=\"ptl_loader__progress\" [style.background]=\"backgroundStyle ?? ''\"></div>\n </div>\n @if (!disableText) {\n @if (text.loadingText) {\n <div class=\"text md bold text_center mar_top15 ent_r2l_txt\" style=\"user-select: none;text-align: center !important;\">\n {{text.loadingText}}<span class=\"one\">.</span><span class=\"two\">.</span><span class=\"three\">.</span>\n </div>\n }\n @if (text.loadingSubtext) {\n <div class=\"text sm text_center mar_top5 ent_r2l_txt\" style=\"user-select: none;text-align: center !important;\">\n {{text.loadingSubtext}}\n </div>\n }\n }\n</div>\n", styles: [".ptl_loader{height:2px;position:relative;overflow:hidden;width:100%}.ptl_loader__progress{background:linear-gradient(to right,rgba(0,0,0,0) 0%,var(--bg-purple-color) 33%,var(--bg-blue-color) 50%,var(--bg-green-color) 66%,rgba(0,0,0,0) 100%);position:absolute;bottom:0;top:0;width:100%;animation-duration:2s;animation-iteration-count:infinite;animation-name:ptl_loader}@keyframes ptl_loader{0%{left:-100%}to{left:100%}}.endpoint_fadein{animation:fadeInAnimation ease 1s;animation-iteration-count:1;animation-fill-mode:forwards}@keyframes fadeInAnimation{0%{opacity:0}to{opacity:1}}.endpoint_shape{height:7px;width:7px;min-width:7px;min-height:7px;border-radius:7px}.endpoint_spin{animation:spin 3s linear infinite;opacity:1;z-index:var(--z-frame)}@keyframes spin{to{transform:rotate(360deg)}}.endpoint_spin_rev{animation:spin_rev 3s linear infinite;opacity:1;z-index:var(--z-frame)}@keyframes spin_rev{to{transform:rotate(-360deg)}}.bars_vertical{height:60px;width:60px;display:flex;align-items:center;justify-content:center}.bars_vertical .bar1,.bars_vertical .bar2,.bars_vertical .bar3,.bars_vertical .bar4,.bars_vertical .bar5{animation-duration:1s;animation-iteration-count:infinite;animation-timing-function:ease-in-out;animation-direction:alternate;transform-origin:center center;margin:0 5px}.bars_vertical .bar1{animation-name:bars_vertical_grow;animation-delay:.2s}.bars_vertical .bar2{animation-name:bars_vertical_grow;animation-delay:.4s}.bars_vertical .bar3{animation-name:bars_vertical_grow;animation-delay:.6s}.bars_vertical .bar4{animation-name:bars_vertical_grow;animation-delay:.8s}.bars_vertical .bar5{animation-name:bars_vertical_grow;animation-delay:1s}@keyframes bars_vertical_grow{0%{transform:scale(.2);opacity:0}to{transform:scale(2);opacity:1}}@keyframes fadein{0%{opacity:0}to{opacity:.5}}.one{opacity:0;-webkit-animation:dot 1.3s infinite;-webkit-animation-delay:0s;animation:dot 1.3s infinite;animation-delay:0s}.two{opacity:0;-webkit-animation:dot 1.3s infinite;-webkit-animation-delay:.2s;animation:dot 1.3s infinite;animation-delay:.2s}.three{opacity:0;-webkit-animation:dot 1.3s infinite;-webkit-animation-delay:.3s;animation:dot 1.3s infinite;animation-delay:.3s}@-webkit-keyframes dot{0%{opacity:0}50%{opacity:0}to{opacity:1}}@keyframes dot{0%{opacity:0}50%{opacity:0}to{opacity:1}}\n"] }]
|
|
8853
8905
|
}], propDecorators: { text: [{
|
|
8854
8906
|
type: Input
|
|
8855
8907
|
}], disableText: [{
|
|
@@ -8913,7 +8965,7 @@ class RadioButtonsComponent {
|
|
|
8913
8965
|
useExisting: forwardRef(() => RadioButtonsComponent),
|
|
8914
8966
|
multi: true
|
|
8915
8967
|
}
|
|
8916
|
-
], ngImport: i0, template: "<div class=\"row rc_gap wrap\" [ngClass]=\"isDisplayColumn() ? 'column' : ''\">\
|
|
8968
|
+
], ngImport: i0, template: "<div class=\"row rc_gap wrap\" [ngClass]=\"isDisplayColumn() ? 'column' : ''\">\n @for (option of options(); track $index) {\n <div class=\"col\">\n <button class=\"access btnset clear\"\n style=\"cursor:default;\"\n (click)=\"handleInput(option.value)\"\n [disabled]=\"disabled() || option.disabled\"\n [attr.aria-label]=\"option.label\"\n [id]=\"$index === 0 && inputId() ? inputId() : ''\"\n >\n <div class=\"row rc_gap v_center ent_r2l_dir\">\n <div class=\"col\">\n <div class=\"circle_30px ptl_input_bg_color ptl_brdr_color ptl_brdr_size\">\n <div class=\"circle_20px\"\n [ngClass]=\"option.value === value() ? colorClass() : 'ptl_input_bg_color'\"\n ></div>\n </div>\n </div>\n <div class=\"col ptl_input_text_size ent_r2l_txt text text_wrap\">\n {{option.label}}\n </div>\n </div>\n </button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
8917
8969
|
}
|
|
8918
8970
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: RadioButtonsComponent, decorators: [{
|
|
8919
8971
|
type: Component,
|
|
@@ -8925,9 +8977,184 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
8925
8977
|
useExisting: forwardRef(() => RadioButtonsComponent),
|
|
8926
8978
|
multi: true
|
|
8927
8979
|
}
|
|
8928
|
-
], template: "<div class=\"row rc_gap wrap\" [ngClass]=\"isDisplayColumn() ? 'column' : ''\">\
|
|
8980
|
+
], template: "<div class=\"row rc_gap wrap\" [ngClass]=\"isDisplayColumn() ? 'column' : ''\">\n @for (option of options(); track $index) {\n <div class=\"col\">\n <button class=\"access btnset clear\"\n style=\"cursor:default;\"\n (click)=\"handleInput(option.value)\"\n [disabled]=\"disabled() || option.disabled\"\n [attr.aria-label]=\"option.label\"\n [id]=\"$index === 0 && inputId() ? inputId() : ''\"\n >\n <div class=\"row rc_gap v_center ent_r2l_dir\">\n <div class=\"col\">\n <div class=\"circle_30px ptl_input_bg_color ptl_brdr_color ptl_brdr_size\">\n <div class=\"circle_20px\"\n [ngClass]=\"option.value === value() ? colorClass() : 'ptl_input_bg_color'\"\n ></div>\n </div>\n </div>\n <div class=\"col ptl_input_text_size ent_r2l_txt text text_wrap\">\n {{option.label}}\n </div>\n </div>\n </button>\n </div>\n }\n</div>\n" }]
|
|
8929
8981
|
}], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], colorClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "colorClass", required: false }] }], isDisplayColumn: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDisplayColumn", required: false }] }], inputId: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputId", required: false }] }] } });
|
|
8930
8982
|
|
|
8983
|
+
class AutoCompleteInput {
|
|
8984
|
+
placeholder = input('Begin typing to find...', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
|
|
8985
|
+
classList = input('access ptl_input_height ptl_input ptl_input_bg_color ptl_brdr_color ptl_brdr_size ptl_brdr_radius ptl_input_text_size ptl_input_padding', ...(ngDevMode ? [{ debugName: "classList" }] : []));
|
|
8986
|
+
searchString = output();
|
|
8987
|
+
popover = null;
|
|
8988
|
+
inputField = null;
|
|
8989
|
+
_search$ = new BehaviorSubject(null);
|
|
8990
|
+
search$ = this._search$.asObservable().pipe(debounceTime(350), tap$1(val => this.searchString.emit(val)));
|
|
8991
|
+
searchText = '';
|
|
8992
|
+
preventFocus = false;
|
|
8993
|
+
doSearch() {
|
|
8994
|
+
this._search$.next(this.searchText);
|
|
8995
|
+
}
|
|
8996
|
+
openPopover() {
|
|
8997
|
+
if (!this.popover.isOpen()) {
|
|
8998
|
+
this.popover.toggle();
|
|
8999
|
+
}
|
|
9000
|
+
}
|
|
9001
|
+
closePopover(preventFocus) {
|
|
9002
|
+
this.preventFocus = !!preventFocus;
|
|
9003
|
+
if (this.popover.isOpen()) {
|
|
9004
|
+
this.popover.toggle();
|
|
9005
|
+
}
|
|
9006
|
+
}
|
|
9007
|
+
resetSearchText() {
|
|
9008
|
+
this.searchText = '';
|
|
9009
|
+
this._search$.next('');
|
|
9010
|
+
}
|
|
9011
|
+
onEscapeKeyUp(event) {
|
|
9012
|
+
if (this.popover.isOpen()) {
|
|
9013
|
+
event.stopImmediatePropagation();
|
|
9014
|
+
this.inputField.nativeElement.focus();
|
|
9015
|
+
setTimeout(() => this.popover.close(), 0);
|
|
9016
|
+
}
|
|
9017
|
+
}
|
|
9018
|
+
handlePopoverClose() {
|
|
9019
|
+
if (!this.preventFocus) {
|
|
9020
|
+
this.inputField.nativeElement.focus();
|
|
9021
|
+
}
|
|
9022
|
+
}
|
|
9023
|
+
onArrowUpDown() {
|
|
9024
|
+
if (this.popover.isOpen()) {
|
|
9025
|
+
this.popover.focusOnFirstElement();
|
|
9026
|
+
}
|
|
9027
|
+
}
|
|
9028
|
+
tabNext() {
|
|
9029
|
+
this.popover.focusOnNextElement();
|
|
9030
|
+
}
|
|
9031
|
+
tabPrevious() {
|
|
9032
|
+
this.popover.focusOnPreviousElement();
|
|
9033
|
+
}
|
|
9034
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: AutoCompleteInput, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9035
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: AutoCompleteInput, isStandalone: true, selector: "particle-auto-complete-input", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, classList: { classPropertyName: "classList", publicName: "classList", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { searchString: "searchString" }, viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }, { propertyName: "inputField", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<input type=\"text\"\n [placeholder]=\"placeholder()\"\n [ngClass]=\"classList()\"\n [(ngModel)]=\"searchText\"\n (ngModelChange)=\"doSearch()\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n (keyup.arrowUp)=\"onArrowUpDown()\"\n (keyup.arrowDown)=\"onArrowUpDown()\"\n #input\n/>\n<particle-popover\n height=\"150\"\n width=\"{{input?.getBoundingClientRect()?.width ?? 200}}\"\n openDirection=\"below\"\n alignment=\"center\"\n classList=\"body_color particle_popover_shadow\"\n [targetOverride]=\"input\"\n (closed)=\"handlePopoverClose()\"\n (arrowDown)=\"tabNext()\"\n (arrowUp)=\"tabPrevious()\"\n #popover\n>\n @if (search$ | async) {\n <div role=\"listbox\" tabindex=\"-1\">\n <ng-content></ng-content>\n </div>\n }\n</particle-popover>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.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: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: PopoverComponent, selector: "particle-popover", inputs: ["offset", "width", "height", "classList", "targetOverride", "openDirection", "alignment", "scaleForMobile"], outputs: ["opened", "closed", "arrowDown", "arrowUp"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] });
|
|
9036
|
+
}
|
|
9037
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: AutoCompleteInput, decorators: [{
|
|
9038
|
+
type: Component,
|
|
9039
|
+
args: [{ selector: 'particle-auto-complete-input', imports: [
|
|
9040
|
+
ReactiveFormsModule,
|
|
9041
|
+
FormsModule,
|
|
9042
|
+
NgClass,
|
|
9043
|
+
PopoverComponent,
|
|
9044
|
+
AsyncPipe
|
|
9045
|
+
], template: "<input type=\"text\"\n [placeholder]=\"placeholder()\"\n [ngClass]=\"classList()\"\n [(ngModel)]=\"searchText\"\n (ngModelChange)=\"doSearch()\"\n (keyup.escape)=\"onEscapeKeyUp($event)\"\n (keyup.arrowUp)=\"onArrowUpDown()\"\n (keyup.arrowDown)=\"onArrowUpDown()\"\n #input\n/>\n<particle-popover\n height=\"150\"\n width=\"{{input?.getBoundingClientRect()?.width ?? 200}}\"\n openDirection=\"below\"\n alignment=\"center\"\n classList=\"body_color particle_popover_shadow\"\n [targetOverride]=\"input\"\n (closed)=\"handlePopoverClose()\"\n (arrowDown)=\"tabNext()\"\n (arrowUp)=\"tabPrevious()\"\n #popover\n>\n @if (search$ | async) {\n <div role=\"listbox\" tabindex=\"-1\">\n <ng-content></ng-content>\n </div>\n }\n</particle-popover>\n" }]
|
|
9046
|
+
}], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], classList: [{ type: i0.Input, args: [{ isSignal: true, alias: "classList", required: false }] }], searchString: [{ type: i0.Output, args: ["searchString"] }], popover: [{
|
|
9047
|
+
type: ViewChild,
|
|
9048
|
+
args: ['popover']
|
|
9049
|
+
}], inputField: [{
|
|
9050
|
+
type: ViewChild,
|
|
9051
|
+
args: ['input']
|
|
9052
|
+
}] } });
|
|
9053
|
+
|
|
9054
|
+
class ConfirmationDialog {
|
|
9055
|
+
_item;
|
|
9056
|
+
message = '';
|
|
9057
|
+
isOpen;
|
|
9058
|
+
title = null;
|
|
9059
|
+
iconClass = input('fas fa-circle-question', ...(ngDevMode ? [{ debugName: "iconClass" }] : []));
|
|
9060
|
+
width = input('400px', ...(ngDevMode ? [{ debugName: "width" }] : []));
|
|
9061
|
+
height = input('180px', ...(ngDevMode ? [{ debugName: "height" }] : []));
|
|
9062
|
+
text = input({
|
|
9063
|
+
defaultTitle: 'Please Confirm',
|
|
9064
|
+
yes: 'Yes',
|
|
9065
|
+
no: 'No',
|
|
9066
|
+
close: 'Close'
|
|
9067
|
+
}, ...(ngDevMode ? [{ debugName: "text" }] : []));
|
|
9068
|
+
confirmed = output();
|
|
9069
|
+
closed = output();
|
|
9070
|
+
open(item, message, title) {
|
|
9071
|
+
this._item = item;
|
|
9072
|
+
this.message = message;
|
|
9073
|
+
this.title = title ?? this.text().defaultTitle;
|
|
9074
|
+
this.isOpen = {};
|
|
9075
|
+
}
|
|
9076
|
+
close() {
|
|
9077
|
+
this.message = '';
|
|
9078
|
+
this.title = this.text().defaultTitle;
|
|
9079
|
+
this.isOpen = null;
|
|
9080
|
+
this.closed.emit(false);
|
|
9081
|
+
}
|
|
9082
|
+
handleOk() {
|
|
9083
|
+
this.closed.emit(true);
|
|
9084
|
+
this.confirmed.emit(this._item);
|
|
9085
|
+
this.close();
|
|
9086
|
+
}
|
|
9087
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ConfirmationDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9088
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.1.5", type: ConfirmationDialog, isStandalone: true, selector: "particle-confirmation-dialog", inputs: { iconClass: { classPropertyName: "iconClass", publicName: "iconClass", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { confirmed: "confirmed", closed: "closed" }, ngImport: i0, template: "<particle-dialog\n [object]=\"isOpen\"\n [showTitle]=\"false\"\n [allowClose]=\"true\"\n [width]=\"width()\"\n [height]=\"height()\"\n (closed)=\"close()\"\n>\n <div class=\"row_block width100 height100 body_color\">\n <div class=\"row column height100\">\n <div class=\"col\">\n <div class=\"row header_color ptl_brdr_color border_bottom min_h50 v_center pad_lr10\">\n <div class=\"col size_1 v_center\">\n <div class=\"square_40px\" innerHTML=\"<i class='{{iconClass()}}'></i>\">\n </div>\n <div class=\"row_block mar_lr5\">\n <div class=\"min_h10 min_w2 bg_logo_1\"></div>\n <div class=\"min_h10 min_w2 bg_logo_2\"></div>\n <div class=\"min_h10 min_w2 bg_logo_3\"></div>\n </div>\n <div class=\"text lg text_left\" style=\"white-space: break-spaces;line-height: 1\">\n {{title}}\n </div>\n </div>\n <div class=\"col min_w30 top_center\">\n <button class=\"access btn clear\" [attr.aria-label]=\"text().close\" (click)=\"close()\" >\n <div class=\"circle_26px cancel_button_color ptl_brdr_color ptl_brdr_size hov_glow\"><i class=\"fas fa-xmark\"></i></div>\n </button>\n </div>\n </div>\n </div>\n <!-- CONTENT -->\n <div class=\"col size_1 scroll_yauto\">\n <div class=\"row column pad_10 body_color\">\n <div class=\"row column center_center rc_gap width100 pad_10 content_color ptl_brdr_radius ptl_brdr_color ptl_brdr_size\">\n <div class=\"col\">\n <div class=\"row center_center\">\n <div class=\"text md bold text_center text_wrap\">{{message}}</div>\n </div>\n </div>\n <div class=\"col\">\n <div class=\"row center_center rc_gap\">\n <button\n class=\"access btnset clear\" (click)=\"close()\"\n [attr.aria-label]=\"text().no\"\n >\n <div class=\"row v_center rc_meta_gap pad_lr15 pad_tb5 cancel_button_color ptl_brdr_radius hov_glow\">\n <div class=\"col\">\n <div class=\"text lg\">{{text().no}}</div>\n </div>\n <div class=\"col\">\n <i class=\"fas fa-xmark\"></i>\n </div>\n </div>\n </button>\n <div class=\"min_h20 ptl_brdr_color border_right\"></div>\n <button\n class=\"access btnset clear\"\n (click)=\"handleOk()\"\n [attr.aria-label]=\"text().yes\"\n >\n <div class=\"row v_center rc_meta_gap pad_lr15 pad_tb5 ok_button_color ptl_brdr_radius hov_glow\">\n <div class=\"col\">\n <div class=\"text lg\">{{text().yes}}</div>\n </div>\n <div class=\"col\">\n <i class=\"fas fa-check\"></i>\n </div>\n </div>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</particle-dialog>\n", dependencies: [{ kind: "component", type: DialogComponent, selector: "particle-dialog", inputs: ["object", "title", "titleClass", "showTitle", "allowClose", "bodyClass", "height", "width", "borderRadius", "text"], outputs: ["closed", "closeAttempt", "opened"] }] });
|
|
9089
|
+
}
|
|
9090
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ConfirmationDialog, decorators: [{
|
|
9091
|
+
type: Component,
|
|
9092
|
+
args: [{ selector: 'particle-confirmation-dialog', imports: [
|
|
9093
|
+
DialogComponent,
|
|
9094
|
+
], template: "<particle-dialog\n [object]=\"isOpen\"\n [showTitle]=\"false\"\n [allowClose]=\"true\"\n [width]=\"width()\"\n [height]=\"height()\"\n (closed)=\"close()\"\n>\n <div class=\"row_block width100 height100 body_color\">\n <div class=\"row column height100\">\n <div class=\"col\">\n <div class=\"row header_color ptl_brdr_color border_bottom min_h50 v_center pad_lr10\">\n <div class=\"col size_1 v_center\">\n <div class=\"square_40px\" innerHTML=\"<i class='{{iconClass()}}'></i>\">\n </div>\n <div class=\"row_block mar_lr5\">\n <div class=\"min_h10 min_w2 bg_logo_1\"></div>\n <div class=\"min_h10 min_w2 bg_logo_2\"></div>\n <div class=\"min_h10 min_w2 bg_logo_3\"></div>\n </div>\n <div class=\"text lg text_left\" style=\"white-space: break-spaces;line-height: 1\">\n {{title}}\n </div>\n </div>\n <div class=\"col min_w30 top_center\">\n <button class=\"access btn clear\" [attr.aria-label]=\"text().close\" (click)=\"close()\" >\n <div class=\"circle_26px cancel_button_color ptl_brdr_color ptl_brdr_size hov_glow\"><i class=\"fas fa-xmark\"></i></div>\n </button>\n </div>\n </div>\n </div>\n <!-- CONTENT -->\n <div class=\"col size_1 scroll_yauto\">\n <div class=\"row column pad_10 body_color\">\n <div class=\"row column center_center rc_gap width100 pad_10 content_color ptl_brdr_radius ptl_brdr_color ptl_brdr_size\">\n <div class=\"col\">\n <div class=\"row center_center\">\n <div class=\"text md bold text_center text_wrap\">{{message}}</div>\n </div>\n </div>\n <div class=\"col\">\n <div class=\"row center_center rc_gap\">\n <button\n class=\"access btnset clear\" (click)=\"close()\"\n [attr.aria-label]=\"text().no\"\n >\n <div class=\"row v_center rc_meta_gap pad_lr15 pad_tb5 cancel_button_color ptl_brdr_radius hov_glow\">\n <div class=\"col\">\n <div class=\"text lg\">{{text().no}}</div>\n </div>\n <div class=\"col\">\n <i class=\"fas fa-xmark\"></i>\n </div>\n </div>\n </button>\n <div class=\"min_h20 ptl_brdr_color border_right\"></div>\n <button\n class=\"access btnset clear\"\n (click)=\"handleOk()\"\n [attr.aria-label]=\"text().yes\"\n >\n <div class=\"row v_center rc_meta_gap pad_lr15 pad_tb5 ok_button_color ptl_brdr_radius hov_glow\">\n <div class=\"col\">\n <div class=\"text lg\">{{text().yes}}</div>\n </div>\n <div class=\"col\">\n <i class=\"fas fa-check\"></i>\n </div>\n </div>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</particle-dialog>\n" }]
|
|
9095
|
+
}], propDecorators: { iconClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconClass", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], confirmed: [{ type: i0.Output, args: ["confirmed"] }], closed: [{ type: i0.Output, args: ["closed"] }] } });
|
|
9096
|
+
|
|
9097
|
+
class TemplatedDialog {
|
|
9098
|
+
_data = null;
|
|
9099
|
+
_originalData = null;
|
|
9100
|
+
dialogOpen;
|
|
9101
|
+
set data(t) {
|
|
9102
|
+
this._data = t;
|
|
9103
|
+
this._originalData = _.cloneDeep(this._data);
|
|
9104
|
+
}
|
|
9105
|
+
get data() {
|
|
9106
|
+
return this._data;
|
|
9107
|
+
}
|
|
9108
|
+
text = input({
|
|
9109
|
+
unsavedChanges: 'You have unsaved changes, are you sure you want to continue?',
|
|
9110
|
+
continue: 'Continue?',
|
|
9111
|
+
close: 'Close',
|
|
9112
|
+
maximize: 'Toggle Maximize',
|
|
9113
|
+
}, ...(ngDevMode ? [{ debugName: "text" }] : []));
|
|
9114
|
+
height = input('480px', ...(ngDevMode ? [{ debugName: "height" }] : []));
|
|
9115
|
+
width = input('854px', ...(ngDevMode ? [{ debugName: "width" }] : []));
|
|
9116
|
+
icon = input('fas fa-cog', ...(ngDevMode ? [{ debugName: "icon" }] : []));
|
|
9117
|
+
title = input(null, ...(ngDevMode ? [{ debugName: "title" }] : []));
|
|
9118
|
+
description = input(null, ...(ngDevMode ? [{ debugName: "description" }] : []));
|
|
9119
|
+
checkUnsavedChanges = input(false, ...(ngDevMode ? [{ debugName: "checkUnsavedChanges" }] : []));
|
|
9120
|
+
showMaximize = input(true, ...(ngDevMode ? [{ debugName: "showMaximize" }] : []));
|
|
9121
|
+
subheaderTemplate = input(null, ...(ngDevMode ? [{ debugName: "subheaderTemplate" }] : []));
|
|
9122
|
+
contentTemplate = input(null, ...(ngDevMode ? [{ debugName: "contentTemplate" }] : []));
|
|
9123
|
+
footerTemplate = input(null, ...(ngDevMode ? [{ debugName: "footerTemplate" }] : []));
|
|
9124
|
+
closed = output();
|
|
9125
|
+
confirmationDialog = null;
|
|
9126
|
+
open() {
|
|
9127
|
+
this.dialogOpen = {};
|
|
9128
|
+
}
|
|
9129
|
+
close() {
|
|
9130
|
+
this.closed.emit();
|
|
9131
|
+
this.dialogOpen = null;
|
|
9132
|
+
}
|
|
9133
|
+
checkClose() {
|
|
9134
|
+
if (this.checkUnsavedChanges() && !_.isEqual(JSON.stringify(this._data), JSON.stringify(this._originalData))) {
|
|
9135
|
+
this.confirmationDialog.open(null, this.text().unsavedChanges);
|
|
9136
|
+
}
|
|
9137
|
+
else {
|
|
9138
|
+
this.close();
|
|
9139
|
+
}
|
|
9140
|
+
}
|
|
9141
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: TemplatedDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9142
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.5", type: TemplatedDialog, isStandalone: true, selector: "particle-templated-dialog", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: false, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, title: { classPropertyName: "title", publicName: "title", isSignal: true, isRequired: false, transformFunction: null }, description: { classPropertyName: "description", publicName: "description", isSignal: true, isRequired: false, transformFunction: null }, checkUnsavedChanges: { classPropertyName: "checkUnsavedChanges", publicName: "checkUnsavedChanges", isSignal: true, isRequired: false, transformFunction: null }, showMaximize: { classPropertyName: "showMaximize", publicName: "showMaximize", isSignal: true, isRequired: false, transformFunction: null }, subheaderTemplate: { classPropertyName: "subheaderTemplate", publicName: "subheaderTemplate", isSignal: true, isRequired: false, transformFunction: null }, contentTemplate: { classPropertyName: "contentTemplate", publicName: "contentTemplate", isSignal: true, isRequired: false, transformFunction: null }, footerTemplate: { classPropertyName: "footerTemplate", publicName: "footerTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { closed: "closed" }, viewQueries: [{ propertyName: "confirmationDialog", first: true, predicate: ["confirmationDialog"], descendants: true }], ngImport: i0, template: "<particle-dialog\n [object]=\"dialogOpen\"\n [showTitle]=\"false\"\n [allowClose]=\"false\"\n [width]=\"width()\"\n [height]=\"height()\"\n (closed)=\"checkClose()\"\n (closeAttempt)=\"checkClose()\"\n #dialog\n>\n <div class=\"row_block width100 height100 body_color\">\n <div class=\"row column height100\">\n <div class=\"col\">\n <div class=\"row header_color ptl_brdr_color border_bottom min_h50 v_center pad_right10 pad_left5 hide_element\">\n <div class=\"col size_1 v_center pad_lr5\">\n <div class=\"square_40px\" innerHTML=\"<i class='{{icon()}}'></i>\"></div>\n <div class=\"row_block mar_lr5\">\n <div class=\"min_h10 min_w2 bg_logo_1\"></div>\n <div class=\"min_h10 min_w2 bg_logo_2\"></div>\n <div class=\"min_h10 min_w2 bg_logo_3\"></div>\n </div>\n <div class=\"text lg text_left text_wrap bold pad_lr5\">\n {{title()}}\n </div>\n </div>\n <div class=\"col row rc_gap min_w30 top_center\">\n @if (showMaximize()) {\n <button class=\"access btn clear\"\n [attr.aria-label]=\"text().maximize\"\n (click)=\"dialog.toggleMaximize()\"\n >\n <div class=\"circle_26px cancel_button_color ptl_brdr_color ptl_brdr_size\"><i class=\"fas fa-expand\"></i></div>\n </button>\n }\n <button class=\"access btn clear\" [attr.aria-label]=\"text().close\" (click)=\"checkClose()\" >\n <div class=\"circle_26px cancel_button_color ptl_brdr_color ptl_brdr_size\"><i class=\"fas fa-xmark\"></i></div>\n </button>\n </div>\n </div>\n <div class=\"row header_color min_h50 v_center pad_right10 pad_tb5 pad_left5 mobile_only_flex\">\n <div class=\"col size_1 v_center pad_lr5\">\n <div class=\"square_30px\" innerHTML=\"<i class='{{icon()}}'></i>\"></div>\n <div class=\"row_block mar_lr5\">\n <div class=\"min_h5 min_w2 bg_logo_1\"></div>\n <div class=\"min_h5 min_w2 bg_logo_2\"></div>\n <div class=\"min_h5 min_w2 bg_logo_3\"></div>\n </div>\n <div class=\"text md text_left text_wrap bold pad_lr5\">\n {{title()}}\n </div>\n </div>\n <div class=\"col row rc_gap min_w30 top_center\">\n <button class=\"access btn clear\" [attr.aria-label]=\"text().close\" (click)=\"checkClose()\" >\n <div class=\"circle_30px cancel_button_color ptl_brdr_color ptl_brdr_size\"><i class=\"fas fa-xmark\"></i></div>\n </button>\n </div>\n </div>\n </div>\n\n <!-- CONTENT -->\n <div class=\"col size_1 body_color\" style=\"height: calc(100% - 50px);\">\n <div class=\"row_block width100 height100\">\n <div class=\"row_block width100 body_color height100\">\n <div class=\"row column content_color height100\">\n <div class=\"col ptl_brdr_color border_bottom pad_10 body_color_dark_2 min_h25 v_center\">\n @if (subheaderTemplate()) {\n <ng-container *ngTemplateOutlet=\"subheaderTemplate()\"></ng-container>\n } @else {\n <div class=\"text md text_left text_wrap\">\n {{description()}}\n </div>\n }\n </div>\n <div class=\"col size_1 column scroll_yauto body_color pad_10\">\n <div class=\"col size_1 column rc_gap ptl_brdr_color ptl_brdr_radius ptl_brdr_size pad_10 content_color\">\n <ng-container *ngTemplateOutlet=\"contentTemplate()\"></ng-container>\n </div>\n </div>\n <div class=\"col min_h50 ptl_brdr_color border_top pad_tb5 pad_lr10 footer_color\">\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</particle-dialog>\n\n<particle-confirmation-dialog (confirmed)=\"close()\" #confirmationDialog></particle-confirmation-dialog>\n", dependencies: [{ kind: "component", type: ConfirmationDialog, selector: "particle-confirmation-dialog", inputs: ["iconClass", "width", "height", "text"], outputs: ["confirmed", "closed"] }, { kind: "component", type: DialogComponent, selector: "particle-dialog", inputs: ["object", "title", "titleClass", "showTitle", "allowClose", "bodyClass", "height", "width", "borderRadius", "text"], outputs: ["closed", "closeAttempt", "opened"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
9143
|
+
}
|
|
9144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: TemplatedDialog, decorators: [{
|
|
9145
|
+
type: Component,
|
|
9146
|
+
args: [{ selector: 'particle-templated-dialog', imports: [
|
|
9147
|
+
ConfirmationDialog,
|
|
9148
|
+
DialogComponent,
|
|
9149
|
+
NgTemplateOutlet
|
|
9150
|
+
], template: "<particle-dialog\n [object]=\"dialogOpen\"\n [showTitle]=\"false\"\n [allowClose]=\"false\"\n [width]=\"width()\"\n [height]=\"height()\"\n (closed)=\"checkClose()\"\n (closeAttempt)=\"checkClose()\"\n #dialog\n>\n <div class=\"row_block width100 height100 body_color\">\n <div class=\"row column height100\">\n <div class=\"col\">\n <div class=\"row header_color ptl_brdr_color border_bottom min_h50 v_center pad_right10 pad_left5 hide_element\">\n <div class=\"col size_1 v_center pad_lr5\">\n <div class=\"square_40px\" innerHTML=\"<i class='{{icon()}}'></i>\"></div>\n <div class=\"row_block mar_lr5\">\n <div class=\"min_h10 min_w2 bg_logo_1\"></div>\n <div class=\"min_h10 min_w2 bg_logo_2\"></div>\n <div class=\"min_h10 min_w2 bg_logo_3\"></div>\n </div>\n <div class=\"text lg text_left text_wrap bold pad_lr5\">\n {{title()}}\n </div>\n </div>\n <div class=\"col row rc_gap min_w30 top_center\">\n @if (showMaximize()) {\n <button class=\"access btn clear\"\n [attr.aria-label]=\"text().maximize\"\n (click)=\"dialog.toggleMaximize()\"\n >\n <div class=\"circle_26px cancel_button_color ptl_brdr_color ptl_brdr_size\"><i class=\"fas fa-expand\"></i></div>\n </button>\n }\n <button class=\"access btn clear\" [attr.aria-label]=\"text().close\" (click)=\"checkClose()\" >\n <div class=\"circle_26px cancel_button_color ptl_brdr_color ptl_brdr_size\"><i class=\"fas fa-xmark\"></i></div>\n </button>\n </div>\n </div>\n <div class=\"row header_color min_h50 v_center pad_right10 pad_tb5 pad_left5 mobile_only_flex\">\n <div class=\"col size_1 v_center pad_lr5\">\n <div class=\"square_30px\" innerHTML=\"<i class='{{icon()}}'></i>\"></div>\n <div class=\"row_block mar_lr5\">\n <div class=\"min_h5 min_w2 bg_logo_1\"></div>\n <div class=\"min_h5 min_w2 bg_logo_2\"></div>\n <div class=\"min_h5 min_w2 bg_logo_3\"></div>\n </div>\n <div class=\"text md text_left text_wrap bold pad_lr5\">\n {{title()}}\n </div>\n </div>\n <div class=\"col row rc_gap min_w30 top_center\">\n <button class=\"access btn clear\" [attr.aria-label]=\"text().close\" (click)=\"checkClose()\" >\n <div class=\"circle_30px cancel_button_color ptl_brdr_color ptl_brdr_size\"><i class=\"fas fa-xmark\"></i></div>\n </button>\n </div>\n </div>\n </div>\n\n <!-- CONTENT -->\n <div class=\"col size_1 body_color\" style=\"height: calc(100% - 50px);\">\n <div class=\"row_block width100 height100\">\n <div class=\"row_block width100 body_color height100\">\n <div class=\"row column content_color height100\">\n <div class=\"col ptl_brdr_color border_bottom pad_10 body_color_dark_2 min_h25 v_center\">\n @if (subheaderTemplate()) {\n <ng-container *ngTemplateOutlet=\"subheaderTemplate()\"></ng-container>\n } @else {\n <div class=\"text md text_left text_wrap\">\n {{description()}}\n </div>\n }\n </div>\n <div class=\"col size_1 column scroll_yauto body_color pad_10\">\n <div class=\"col size_1 column rc_gap ptl_brdr_color ptl_brdr_radius ptl_brdr_size pad_10 content_color\">\n <ng-container *ngTemplateOutlet=\"contentTemplate()\"></ng-container>\n </div>\n </div>\n <div class=\"col min_h50 ptl_brdr_color border_top pad_tb5 pad_lr10 footer_color\">\n <ng-container *ngTemplateOutlet=\"footerTemplate()\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n</particle-dialog>\n\n<particle-confirmation-dialog (confirmed)=\"close()\" #confirmationDialog></particle-confirmation-dialog>\n" }]
|
|
9151
|
+
}], propDecorators: { data: [{
|
|
9152
|
+
type: Input
|
|
9153
|
+
}], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], width: [{ type: i0.Input, args: [{ isSignal: true, alias: "width", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }], title: [{ type: i0.Input, args: [{ isSignal: true, alias: "title", required: false }] }], description: [{ type: i0.Input, args: [{ isSignal: true, alias: "description", required: false }] }], checkUnsavedChanges: [{ type: i0.Input, args: [{ isSignal: true, alias: "checkUnsavedChanges", required: false }] }], showMaximize: [{ type: i0.Input, args: [{ isSignal: true, alias: "showMaximize", required: false }] }], subheaderTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "subheaderTemplate", required: false }] }], contentTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentTemplate", required: false }] }], footerTemplate: [{ type: i0.Input, args: [{ isSignal: true, alias: "footerTemplate", required: false }] }], closed: [{ type: i0.Output, args: ["closed"] }], confirmationDialog: [{
|
|
9154
|
+
type: ViewChild,
|
|
9155
|
+
args: ['confirmationDialog']
|
|
9156
|
+
}] } });
|
|
9157
|
+
|
|
8931
9158
|
/**
|
|
8932
9159
|
* This interceptor will force the Content-Type header to application/json so that each http call doesn't have to.
|
|
8933
9160
|
*/
|
|
@@ -9728,5 +9955,5 @@ class ObservableContainer {
|
|
|
9728
9955
|
* Generated bundle index. Do not edit.
|
|
9729
9956
|
*/
|
|
9730
9957
|
|
|
9731
|
-
export { AccordionComponent, AccordionContentDirective, AccordionHeaderDirective, AccordionItemDirective, BackgroundCarouselDirective, BaseDataService, CalendarComponent, CheckboxComponent, ColorPickerComponent, DatePickerComponent, DateRangePickerComponent, DialogComponent, DialogService, DropdownComponent, INPUTMASK_VALUE_ACCESSOR, IconSelectComponent, IdleTimeoutComponent, InputMaskComponent, JsonInterceptor, KeyfilterDirective, LayoutFullFramingComponent, LayoutFullwidthSidebarComponent, LoaderComponent, LocalStorageService, MultiSelectComponent, NotificationComponent, NotificationService, ObservableContainer, OrdinalNumberPipe, PaginatorComponent, ParticleIconsModule, PopoverComponent, ProfilePicComponent, ProgressBarComponent, RICH_TEXT_VALUE_ACCESSOR, RadioButtonsComponent, RichTextComponent, ScrollToTopComponent, SlideoverComponent, SliderComponent, ThemeChangeDetectionService, ThemingService, ToggleSwitchComponent, TooltipDirective, WeekPickerComponent, Z_INDEX_LAYERS };
|
|
9958
|
+
export { AccordionComponent, AccordionContentDirective, AccordionHeaderDirective, AccordionItemDirective, AutoCompleteInput, BackgroundCarouselDirective, BaseDataService, CalendarComponent, CheckboxComponent, ColorPickerComponent, ConfirmationDialog, DatePickerComponent, DateRangePickerComponent, DialogComponent, DialogService, DropdownComponent, INPUTMASK_VALUE_ACCESSOR, IconSelectComponent, IdleTimeoutComponent, InputMaskComponent, JsonInterceptor, KeyfilterDirective, LayoutFullFramingComponent, LayoutFullwidthSidebarComponent, LoaderComponent, LocalStorageService, MultiSelectComponent, NotificationComponent, NotificationService, ObservableContainer, OrdinalNumberPipe, PaginatorComponent, ParticleIconsModule, PopoverComponent, ProfilePicComponent, ProgressBarComponent, RICH_TEXT_VALUE_ACCESSOR, RadioButtonsComponent, RichTextComponent, ScrollToTopComponent, SlideoverComponent, SliderComponent, TemplatedDialog, ThemeChangeDetectionService, ThemingService, ToggleSwitchComponent, TooltipDirective, WeekPickerComponent, Z_INDEX_LAYERS };
|
|
9732
9959
|
//# sourceMappingURL=entake-particle.mjs.map
|