@entake/particle 21.0.2 → 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 +312 -95
- package/fesm2022/entake-particle.mjs.map +1 -1
- package/package.json +2 -1
- package/particle.css +1 -1
- package/types/entake-particle.d.ts +100 -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
|
|
@@ -3179,6 +3174,8 @@ class PopoverComponent {
|
|
|
3179
3174
|
* Event emitted on popover close
|
|
3180
3175
|
*/
|
|
3181
3176
|
closed = output();
|
|
3177
|
+
arrowDown = output();
|
|
3178
|
+
arrowUp = output();
|
|
3182
3179
|
container = null;
|
|
3183
3180
|
/**
|
|
3184
3181
|
* Whether the popover should render
|
|
@@ -3206,6 +3203,7 @@ class PopoverComponent {
|
|
|
3206
3203
|
* @private
|
|
3207
3204
|
*/
|
|
3208
3205
|
escapeKeyUpUnlisteners = [];
|
|
3206
|
+
_elements = [];
|
|
3209
3207
|
isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : []));
|
|
3210
3208
|
constructor() {
|
|
3211
3209
|
effect(() => {
|
|
@@ -3291,6 +3289,7 @@ class PopoverComponent {
|
|
|
3291
3289
|
* Handle animation end
|
|
3292
3290
|
*/
|
|
3293
3291
|
onAnimationDone() {
|
|
3292
|
+
document.activeElement?.blur();
|
|
3294
3293
|
this.render = false;
|
|
3295
3294
|
this.removeEventListeners();
|
|
3296
3295
|
this.closed.emit();
|
|
@@ -3376,6 +3375,7 @@ class PopoverComponent {
|
|
|
3376
3375
|
*/
|
|
3377
3376
|
addEventListeners() {
|
|
3378
3377
|
const focusableElements = this.getFocusableElements(this.container.nativeElement);
|
|
3378
|
+
this._elements = focusableElements;
|
|
3379
3379
|
for (const element of focusableElements) {
|
|
3380
3380
|
this.renderer.setAttribute(element, 'data-dialog-close-override', 'true');
|
|
3381
3381
|
this.escapeKeyUpUnlisteners.push(this.renderer.listen(element, 'keyup', (event) => {
|
|
@@ -3385,6 +3385,12 @@ class PopoverComponent {
|
|
|
3385
3385
|
if (key === 'Esc' || key === 'Escape') {
|
|
3386
3386
|
this.close();
|
|
3387
3387
|
}
|
|
3388
|
+
if (key === 'ArrowDown') {
|
|
3389
|
+
this.arrowDown.emit();
|
|
3390
|
+
}
|
|
3391
|
+
if (key === 'ArrowUp') {
|
|
3392
|
+
this.arrowUp.emit();
|
|
3393
|
+
}
|
|
3388
3394
|
}
|
|
3389
3395
|
}));
|
|
3390
3396
|
}
|
|
@@ -3429,17 +3435,52 @@ class PopoverComponent {
|
|
|
3429
3435
|
toggleOpen() {
|
|
3430
3436
|
this.isOpen.update((isOpen) => !isOpen);
|
|
3431
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
|
+
}
|
|
3432
3473
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: PopoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3433
|
-
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"] }] });
|
|
3434
3475
|
}
|
|
3435
3476
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: PopoverComponent, decorators: [{
|
|
3436
3477
|
type: Component,
|
|
3437
|
-
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"] }]
|
|
3438
3479
|
}], ctorParameters: () => [], propDecorators: { offset: [{ type: i0.Input, args: [{ isSignal: true, alias: "offset", required: false }] }], width: [{
|
|
3439
3480
|
type: Input
|
|
3440
3481
|
}], height: [{
|
|
3441
3482
|
type: Input
|
|
3442
|
-
}], 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: [{
|
|
3443
3484
|
type: ViewChild,
|
|
3444
3485
|
args: ['container']
|
|
3445
3486
|
}], onClick: [{
|
|
@@ -3646,11 +3687,11 @@ class PaginatorComponent {
|
|
|
3646
3687
|
this.pageJumpInput = '';
|
|
3647
3688
|
}
|
|
3648
3689
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: PaginatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3649
|
-
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"] }] });
|
|
3650
3691
|
}
|
|
3651
3692
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: PaginatorComponent, decorators: [{
|
|
3652
3693
|
type: Component,
|
|
3653
|
-
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"] }]
|
|
3654
3695
|
}], propDecorators: { pageSizeOptions: [{ type: i0.Input, args: [{ isSignal: true, alias: "pageSizeOptions", required: false }] }], pageSize: [{
|
|
3655
3696
|
type: Input
|
|
3656
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"] }] } });
|
|
@@ -3691,28 +3732,28 @@ class ProfilePicComponent {
|
|
|
3691
3732
|
}
|
|
3692
3733
|
url = null;
|
|
3693
3734
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ProfilePicComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3694
|
-
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: `
|
|
3695
|
-
<div class="ptl_profile_pic"
|
|
3696
|
-
[style.height]="size"
|
|
3697
|
-
[style.width]="size"
|
|
3698
|
-
[style.margin]="margin"
|
|
3699
|
-
[style.background-image]="url"
|
|
3700
|
-
[particleTooltip]="toolTip"
|
|
3701
|
-
[tooltipDisabled]="tooltipDisabled"
|
|
3702
|
-
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">
|
|
3703
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"] }] });
|
|
3704
3745
|
}
|
|
3705
3746
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ProfilePicComponent, decorators: [{
|
|
3706
3747
|
type: Component,
|
|
3707
|
-
args: [{ selector: 'particle-profile-pic', template: `
|
|
3708
|
-
<div class="ptl_profile_pic"
|
|
3709
|
-
[style.height]="size"
|
|
3710
|
-
[style.width]="size"
|
|
3711
|
-
[style.margin]="margin"
|
|
3712
|
-
[style.background-image]="url"
|
|
3713
|
-
[particleTooltip]="toolTip"
|
|
3714
|
-
[tooltipDisabled]="tooltipDisabled"
|
|
3715
|
-
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">
|
|
3716
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"] }]
|
|
3717
3758
|
}], propDecorators: { size: [{
|
|
3718
3759
|
type: Input
|
|
@@ -3917,11 +3958,11 @@ class RichTextComponent {
|
|
|
3917
3958
|
this.editor.commands.focus(position);
|
|
3918
3959
|
}
|
|
3919
3960
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: RichTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3920
|
-
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 });
|
|
3921
3962
|
}
|
|
3922
3963
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: RichTextComponent, decorators: [{
|
|
3923
3964
|
type: Component,
|
|
3924
|
-
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"] }]
|
|
3925
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: [{
|
|
3926
3967
|
type: Input
|
|
3927
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"] }] } });
|
|
@@ -4417,11 +4458,11 @@ class CalendarComponent {
|
|
|
4417
4458
|
this.selectedDate = null;
|
|
4418
4459
|
}
|
|
4419
4460
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4420
|
-
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" }] });
|
|
4421
4462
|
}
|
|
4422
4463
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
4423
4464
|
type: Component,
|
|
4424
|
-
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"] }]
|
|
4425
4466
|
}], ctorParameters: () => [], propDecorators: { calendarWidgetDiv: [{
|
|
4426
4467
|
type: ViewChild,
|
|
4427
4468
|
args: ['calendarWidgetDiv']
|
|
@@ -4902,7 +4943,7 @@ class DatePickerComponent {
|
|
|
4902
4943
|
useExisting: forwardRef(() => DatePickerComponent),
|
|
4903
4944
|
multi: true
|
|
4904
4945
|
}
|
|
4905
|
-
], 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"] }] });
|
|
4906
4947
|
}
|
|
4907
4948
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
4908
4949
|
type: Component,
|
|
@@ -4912,7 +4953,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
4912
4953
|
useExisting: forwardRef(() => DatePickerComponent),
|
|
4913
4954
|
multi: true
|
|
4914
4955
|
}
|
|
4915
|
-
], 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"] }]
|
|
4916
4957
|
}], propDecorators: { value: [{
|
|
4917
4958
|
type: Input
|
|
4918
4959
|
}], disabled: [{
|
|
@@ -5137,7 +5178,7 @@ class DateRangePickerComponent {
|
|
|
5137
5178
|
useExisting: forwardRef(() => DateRangePickerComponent),
|
|
5138
5179
|
multi: true
|
|
5139
5180
|
}
|
|
5140
|
-
], 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" }] });
|
|
5141
5182
|
}
|
|
5142
5183
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: DateRangePickerComponent, decorators: [{
|
|
5143
5184
|
type: Component,
|
|
@@ -5147,7 +5188,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
5147
5188
|
useExisting: forwardRef(() => DateRangePickerComponent),
|
|
5148
5189
|
multi: true
|
|
5149
5190
|
}
|
|
5150
|
-
], 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"] }]
|
|
5151
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: [{
|
|
5152
5193
|
type: Input
|
|
5153
5194
|
}], value: [{
|
|
@@ -5789,7 +5830,7 @@ class DropdownComponent {
|
|
|
5789
5830
|
useExisting: forwardRef(() => DropdownComponent),
|
|
5790
5831
|
multi: true
|
|
5791
5832
|
}
|
|
5792
|
-
], 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" }] });
|
|
5793
5834
|
}
|
|
5794
5835
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
5795
5836
|
type: Component,
|
|
@@ -5799,7 +5840,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
5799
5840
|
useExisting: forwardRef(() => DropdownComponent),
|
|
5800
5841
|
multi: true
|
|
5801
5842
|
}
|
|
5802
|
-
], 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"] }]
|
|
5803
5844
|
}], ctorParameters: () => [], propDecorators: { value: [{
|
|
5804
5845
|
type: Input
|
|
5805
5846
|
}], options: [{
|
|
@@ -6406,7 +6447,7 @@ class MultiSelectComponent {
|
|
|
6406
6447
|
useExisting: forwardRef(() => MultiSelectComponent),
|
|
6407
6448
|
multi: true
|
|
6408
6449
|
}
|
|
6409
|
-
], 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" }] });
|
|
6410
6451
|
}
|
|
6411
6452
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: MultiSelectComponent, decorators: [{
|
|
6412
6453
|
type: Component,
|
|
@@ -6416,7 +6457,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
6416
6457
|
useExisting: forwardRef(() => MultiSelectComponent),
|
|
6417
6458
|
multi: true
|
|
6418
6459
|
}
|
|
6419
|
-
], 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"] }]
|
|
6420
6461
|
}], ctorParameters: () => [], propDecorators: { value: [{
|
|
6421
6462
|
type: Input
|
|
6422
6463
|
}], options: [{
|
|
@@ -6565,11 +6606,11 @@ class NotificationComponent {
|
|
|
6565
6606
|
this.notificationService.deleteNotification(id);
|
|
6566
6607
|
}
|
|
6567
6608
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: NotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6568
|
-
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" }] });
|
|
6569
6610
|
}
|
|
6570
6611
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: NotificationComponent, decorators: [{
|
|
6571
6612
|
type: Component,
|
|
6572
|
-
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"] }]
|
|
6573
6614
|
}], propDecorators: { text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }] } });
|
|
6574
6615
|
|
|
6575
6616
|
/**
|
|
@@ -7039,7 +7080,7 @@ class WeekPickerComponent {
|
|
|
7039
7080
|
useExisting: forwardRef(() => WeekPickerComponent),
|
|
7040
7081
|
multi: true
|
|
7041
7082
|
}
|
|
7042
|
-
], 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" }] });
|
|
7043
7084
|
}
|
|
7044
7085
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: WeekPickerComponent, decorators: [{
|
|
7045
7086
|
type: Component,
|
|
@@ -7049,7 +7090,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
7049
7090
|
useExisting: forwardRef(() => WeekPickerComponent),
|
|
7050
7091
|
multi: true
|
|
7051
7092
|
}
|
|
7052
|
-
], 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"] }]
|
|
7053
7094
|
}], ctorParameters: () => [], propDecorators: { value: [{
|
|
7054
7095
|
type: Input
|
|
7055
7096
|
}], disabled: [{
|
|
@@ -7329,7 +7370,7 @@ class ColorPickerComponent {
|
|
|
7329
7370
|
useExisting: forwardRef(() => ColorPickerComponent),
|
|
7330
7371
|
multi: true
|
|
7331
7372
|
}
|
|
7332
|
-
], 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"] }] });
|
|
7333
7374
|
}
|
|
7334
7375
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ColorPickerComponent, decorators: [{
|
|
7335
7376
|
type: Component,
|
|
@@ -7339,7 +7380,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
7339
7380
|
useExisting: forwardRef(() => ColorPickerComponent),
|
|
7340
7381
|
multi: true
|
|
7341
7382
|
}
|
|
7342
|
-
], 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"] }]
|
|
7343
7384
|
}], propDecorators: { value: [{
|
|
7344
7385
|
type: Input
|
|
7345
7386
|
}], disabled: [{
|
|
@@ -7545,7 +7586,7 @@ class SliderComponent {
|
|
|
7545
7586
|
useExisting: forwardRef(() => SliderComponent),
|
|
7546
7587
|
multi: true
|
|
7547
7588
|
}
|
|
7548
|
-
], 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"] }] });
|
|
7549
7590
|
}
|
|
7550
7591
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: SliderComponent, decorators: [{
|
|
7551
7592
|
type: Component,
|
|
@@ -7555,7 +7596,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
7555
7596
|
useExisting: forwardRef(() => SliderComponent),
|
|
7556
7597
|
multi: true
|
|
7557
7598
|
}
|
|
7558
|
-
], 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"] }]
|
|
7559
7600
|
}], propDecorators: { sliderInput: [{
|
|
7560
7601
|
type: ViewChild,
|
|
7561
7602
|
args: ['sliderInput']
|
|
@@ -7641,11 +7682,11 @@ class AccordionComponent {
|
|
|
7641
7682
|
}
|
|
7642
7683
|
};
|
|
7643
7684
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: AccordionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7644
|
-
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 });
|
|
7645
7686
|
}
|
|
7646
7687
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: AccordionComponent, decorators: [{
|
|
7647
7688
|
type: Component,
|
|
7648
|
-
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"] }]
|
|
7649
7690
|
}], propDecorators: { multiple: [{
|
|
7650
7691
|
type: Input
|
|
7651
7692
|
}], height: [{
|
|
@@ -7717,6 +7758,7 @@ class SlideoverComponent {
|
|
|
7717
7758
|
this.opened.emit(null);
|
|
7718
7759
|
}
|
|
7719
7760
|
close() {
|
|
7761
|
+
document.activeElement?.blur();
|
|
7720
7762
|
this.removeModalMask();
|
|
7721
7763
|
this.slideoverOpen = false;
|
|
7722
7764
|
this.closed.emit(null);
|
|
@@ -7751,11 +7793,11 @@ class SlideoverComponent {
|
|
|
7751
7793
|
}, 100);
|
|
7752
7794
|
}
|
|
7753
7795
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: SlideoverComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7754
|
-
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"] }] });
|
|
7755
7797
|
}
|
|
7756
7798
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: SlideoverComponent, decorators: [{
|
|
7757
7799
|
type: Component,
|
|
7758
|
-
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"] }]
|
|
7759
7801
|
}], propDecorators: { position: [{
|
|
7760
7802
|
type: Input
|
|
7761
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: [{
|
|
@@ -7892,11 +7934,11 @@ class IdleTimeoutComponent {
|
|
|
7892
7934
|
}
|
|
7893
7935
|
}
|
|
7894
7936
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: IdleTimeoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7895
|
-
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"] }] });
|
|
7896
7938
|
}
|
|
7897
7939
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: IdleTimeoutComponent, decorators: [{
|
|
7898
7940
|
type: Component,
|
|
7899
|
-
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" }]
|
|
7900
7942
|
}], propDecorators: { borderRadius: [{
|
|
7901
7943
|
type: Input
|
|
7902
7944
|
}], timeoutInSeconds: [{
|
|
@@ -7938,11 +7980,11 @@ class ScrollToTopComponent {
|
|
|
7938
7980
|
}
|
|
7939
7981
|
}
|
|
7940
7982
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScrollToTopComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7941
|
-
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" }] });
|
|
7942
7984
|
}
|
|
7943
7985
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ScrollToTopComponent, decorators: [{
|
|
7944
7986
|
type: Component,
|
|
7945
|
-
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" }]
|
|
7946
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 }] }] } });
|
|
7947
7989
|
|
|
7948
7990
|
class LayoutFullwidthSidebarComponent {
|
|
@@ -7971,11 +8013,11 @@ class LayoutFullwidthSidebarComponent {
|
|
|
7971
8013
|
return `calc(100vh - ${offset}px)`;
|
|
7972
8014
|
}
|
|
7973
8015
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: LayoutFullwidthSidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7974
|
-
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"] }] });
|
|
7975
8017
|
}
|
|
7976
8018
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: LayoutFullwidthSidebarComponent, decorators: [{
|
|
7977
8019
|
type: Component,
|
|
7978
|
-
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" }]
|
|
7979
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: [{
|
|
7980
8022
|
type: ViewChild,
|
|
7981
8023
|
args: ['slideover']
|
|
@@ -8018,11 +8060,11 @@ class LayoutFullFramingComponent {
|
|
|
8018
8060
|
return `calc(100% - ${offset}px)`;
|
|
8019
8061
|
}
|
|
8020
8062
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: LayoutFullFramingComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8021
|
-
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"] }] });
|
|
8022
8064
|
}
|
|
8023
8065
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: LayoutFullFramingComponent, decorators: [{
|
|
8024
8066
|
type: Component,
|
|
8025
|
-
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" }]
|
|
8026
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: [{
|
|
8027
8069
|
type: ViewChild,
|
|
8028
8070
|
args: ['slideover']
|
|
@@ -8110,7 +8152,7 @@ class ToggleSwitchComponent {
|
|
|
8110
8152
|
provide: NG_VALUE_ACCESSOR,
|
|
8111
8153
|
useExisting: forwardRef(() => ToggleSwitchComponent),
|
|
8112
8154
|
multi: true
|
|
8113
|
-
}], 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" }] });
|
|
8114
8156
|
}
|
|
8115
8157
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ToggleSwitchComponent, decorators: [{
|
|
8116
8158
|
type: Component,
|
|
@@ -8118,7 +8160,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
8118
8160
|
provide: NG_VALUE_ACCESSOR,
|
|
8119
8161
|
useExisting: forwardRef(() => ToggleSwitchComponent),
|
|
8120
8162
|
multi: true
|
|
8121
|
-
}], 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"] }]
|
|
8122
8164
|
}], propDecorators: { options: [{
|
|
8123
8165
|
type: Input
|
|
8124
8166
|
}], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], changed: [{ type: i0.Output, args: ["changed"] }] } });
|
|
@@ -8202,7 +8244,7 @@ class CheckboxComponent {
|
|
|
8202
8244
|
useExisting: forwardRef(() => CheckboxComponent),
|
|
8203
8245
|
multi: true
|
|
8204
8246
|
}
|
|
8205
|
-
], 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: [""] });
|
|
8206
8248
|
}
|
|
8207
8249
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
8208
8250
|
type: Component,
|
|
@@ -8212,7 +8254,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
8212
8254
|
useExisting: forwardRef(() => CheckboxComponent),
|
|
8213
8255
|
multi: true
|
|
8214
8256
|
}
|
|
8215
|
-
], 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" }]
|
|
8216
8258
|
}], propDecorators: { disabled: [{
|
|
8217
8259
|
type: Input
|
|
8218
8260
|
}], value: [{
|
|
@@ -8738,20 +8780,20 @@ class InputMaskComponent {
|
|
|
8738
8780
|
this.inputViewChild.nativeElement.focus();
|
|
8739
8781
|
}
|
|
8740
8782
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: InputMaskComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8741
|
-
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"
|
|
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)"
|
|
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)"
|
|
8745
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"] }] });
|
|
8746
8788
|
}
|
|
8747
8789
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: InputMaskComponent, decorators: [{
|
|
8748
8790
|
type: Component,
|
|
8749
8791
|
args: [{
|
|
8750
8792
|
selector: 'particle-input-mask',
|
|
8751
|
-
template: `<input #input [attr.id]="inputId" [attr.type]="type" [attr.name]="name" [ngStyle]="style" [ngClass]="styleClass" [attr.placeholder]="placeholder"
|
|
8752
|
-
[attr.size]="size" [attr.autocomplete]="autocomplete" [attr.maxlength]="maxlength" [attr.tabindex]="tabindex" [attr.aria-label]="ariaLabel"
|
|
8753
|
-
[attr.aria-required]="ariaRequired" [disabled]="disabled" [readonly]="readonly" [attr.required]="required"
|
|
8754
|
-
(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)"
|
|
8755
8797
|
(input)="onInputChange($event)" (paste)="handleInputChange($event)" (click)="onClick()">`,
|
|
8756
8798
|
host: {
|
|
8757
8799
|
'[class.ui-inputwrapper-filled]': 'filled',
|
|
@@ -8832,11 +8874,11 @@ class ProgressBarComponent {
|
|
|
8832
8874
|
showBorder = input(true, ...(ngDevMode ? [{ debugName: "showBorder" }] : []));
|
|
8833
8875
|
showMovement = input(false, ...(ngDevMode ? [{ debugName: "showMovement" }] : []));
|
|
8834
8876
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8835
|
-
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"] }] });
|
|
8836
8878
|
}
|
|
8837
8879
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: ProgressBarComponent, decorators: [{
|
|
8838
8880
|
type: Component,
|
|
8839
|
-
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"] }]
|
|
8840
8882
|
}], propDecorators: { percentComplete: [{
|
|
8841
8883
|
type: Input
|
|
8842
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 }] }] } });
|
|
@@ -8855,11 +8897,11 @@ class LoaderComponent {
|
|
|
8855
8897
|
}
|
|
8856
8898
|
}
|
|
8857
8899
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: LoaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
8858
|
-
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"] });
|
|
8859
8901
|
}
|
|
8860
8902
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: LoaderComponent, decorators: [{
|
|
8861
8903
|
type: Component,
|
|
8862
|
-
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"] }]
|
|
8863
8905
|
}], propDecorators: { text: [{
|
|
8864
8906
|
type: Input
|
|
8865
8907
|
}], disableText: [{
|
|
@@ -8923,7 +8965,7 @@ class RadioButtonsComponent {
|
|
|
8923
8965
|
useExisting: forwardRef(() => RadioButtonsComponent),
|
|
8924
8966
|
multi: true
|
|
8925
8967
|
}
|
|
8926
|
-
], 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"] }] });
|
|
8927
8969
|
}
|
|
8928
8970
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImport: i0, type: RadioButtonsComponent, decorators: [{
|
|
8929
8971
|
type: Component,
|
|
@@ -8935,9 +8977,184 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.5", ngImpor
|
|
|
8935
8977
|
useExisting: forwardRef(() => RadioButtonsComponent),
|
|
8936
8978
|
multi: true
|
|
8937
8979
|
}
|
|
8938
|
-
], 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" }]
|
|
8939
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 }] }] } });
|
|
8940
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
|
+
|
|
8941
9158
|
/**
|
|
8942
9159
|
* This interceptor will force the Content-Type header to application/json so that each http call doesn't have to.
|
|
8943
9160
|
*/
|
|
@@ -9738,5 +9955,5 @@ class ObservableContainer {
|
|
|
9738
9955
|
* Generated bundle index. Do not edit.
|
|
9739
9956
|
*/
|
|
9740
9957
|
|
|
9741
|
-
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 };
|
|
9742
9959
|
//# sourceMappingURL=entake-particle.mjs.map
|